cxml-ruby 0.5.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -0
  3. data/.rubocop.yml +4 -0
  4. data/CHANGELOG.md +22 -0
  5. data/cxml-ruby.gemspec +1 -0
  6. data/lib/cxml-ruby.rb +1 -1
  7. data/lib/cxml/address.rb +4 -1
  8. data/lib/cxml/comment.rb +9 -0
  9. data/lib/cxml/contact.rb +4 -1
  10. data/lib/cxml/country_code.rb +9 -0
  11. data/lib/cxml/credential.rb +1 -1
  12. data/lib/cxml/deposit_amount.rb +9 -0
  13. data/lib/cxml/document.rb +4 -4
  14. data/lib/cxml/document_node.rb +11 -5
  15. data/lib/cxml/invoice_detail_item.rb +11 -11
  16. data/lib/cxml/invoice_detail_item_reference.rb +3 -1
  17. data/lib/cxml/invoice_detail_request_header.rb +5 -5
  18. data/lib/cxml/invoice_detail_summary.rb +6 -4
  19. data/lib/cxml/item_detail.rb +5 -1
  20. data/lib/cxml/order_request_header.rb +11 -10
  21. data/lib/cxml/parser.rb +7 -2
  22. data/lib/cxml/phone.rb +13 -0
  23. data/lib/cxml/postal_address.rb +1 -1
  24. data/lib/cxml/punch_out_setup_request.rb +3 -2
  25. data/lib/cxml/telephone_number.rb +11 -0
  26. data/lib/cxml/version.rb +1 -1
  27. data/spec/document_spec.rb +39 -1
  28. data/spec/fixtures/1.2.014-cXML.dtd +4184 -0
  29. data/spec/fixtures/1.2.020-InvoiceDetail.dtd +4590 -0
  30. data/spec/fixtures/1.2.020-cXML.dtd +4917 -0
  31. data/spec/fixtures/1.2.037-InvoiceDetail.dtd +7287 -0
  32. data/spec/fixtures/document_node_with_unknown_attribute.xml +7 -0
  33. data/spec/fixtures/invoice_taxes_at_line_multiple_taxes.xml +1 -3
  34. data/spec/fixtures/item_in.xml +2 -1
  35. data/spec/fixtures/{order_request.cxml → order_request.xml} +0 -0
  36. data/spec/fixtures/punch_out_order_message_doc.xml +1 -1
  37. data/spec/fixtures/punch_out_setup_request_doc_with_ship_to.xml +7 -0
  38. data/spec/fixtures/response_status_200.xml +1 -1
  39. data/spec/fixtures/response_status_400.xml +2 -2
  40. data/spec/invoice_detail_request_spec.rb +21 -1
  41. data/spec/item_in_spec.rb +5 -0
  42. data/spec/output/.gitkeep +0 -0
  43. data/spec/punch_out_order_message_spec.rb +5 -0
  44. data/spec/punch_out_setup_request_spec.rb +2 -0
  45. data/spec/purchase_order_request_spec.rb +6 -1
  46. data/spec/sender_spec.rb +6 -0
  47. data/spec/spec_helper.rb +27 -0
  48. metadata +22 -5
@@ -0,0 +1,4917 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ For cXML license agreement information, please see
4
+ http://www.cxml.org/home/license.asp
5
+
6
+ $Id: //ariba/cxml/modules/Common.mod#6 $
7
+ -->
8
+
9
+ <!--
10
+ A few character entities the XML recommendation says should be defined
11
+ "for interoperability" with existing SGML parsers. By default, these
12
+ are not included to avoid warnings (about entity redefinition) from
13
+ many XML parsers.
14
+ -->
15
+ <!ENTITY % SGML-help "IGNORE">
16
+ <![%SGML-help;[
17
+ <!ENTITY lt "&#38;#60;">
18
+ <!ENTITY gt "&#62;">
19
+ <!ENTITY amp "&#38;#38;">
20
+ <!ENTITY apos "&#39;">
21
+ <!ENTITY quot "&#34;">
22
+ ]]>
23
+
24
+ <!--
25
+ Common types used throughout the cXML definition.
26
+
27
+ The types try to follow the XML DATA definition submitted to the W3C. See
28
+ the following for more information,
29
+
30
+ http://msdn.microsoft.com/xml/reference/schema/datatypes.asp
31
+ http://www.w3c.org/TR/1998/NOTE-XML-data-0105/
32
+
33
+ -->
34
+
35
+ <!-- Atomic-level Types -->
36
+ <!ENTITY % bin.base64 "CDATA">
37
+ <!ENTITY % bin.hex "CDATA">
38
+ <!ENTITY % boolean "(0 | 1)"> <!-- 0 is false, 1 is true -->
39
+ <!ENTITY % char "CDATA">
40
+ <!ENTITY % date "CDATA">
41
+ <!ENTITY % datetime.tz "CDATA"> <!-- Time zone is required -->
42
+ <!ENTITY % fixed.14.4 "CDATA">
43
+ <!ENTITY % i8 "CDATA">
44
+ <!ENTITY % int "%i8;">
45
+ <!ENTITY % r8 "CDATA">
46
+ <!ENTITY % number "CDATA"> <!-- No limit on number of digits, unlike
47
+ %r8; -->
48
+ <!ENTITY % string "CDATA">
49
+ <!ENTITY % time.tz "CDATA"> <!-- Time zone is required -->
50
+ <!ENTITY % duration "CDATA"> <!--ISO8601 duration http://www.w3.org/TR/xmlschema-2/#duration -->
51
+ <!ENTITY % ui8 "CDATA">
52
+ <!ENTITY % uint "%ui8;"> <!-- Unique to this specification -->
53
+ <!ENTITY % uri "CDATA">
54
+ <!ENTITY % uuid "CDATA">
55
+
56
+ <!-- Higher-level Types -->
57
+ <!--
58
+ NOTE: The following is a temporary *hack* to allow empty values for
59
+ some attributes with these types. The nmtoken entity should resolve to
60
+ NMTOKEN.
61
+ -->
62
+ <!ENTITY % nmtoken "CDATA"> <!-- Any combination of XML name chars. -->
63
+ <!ENTITY % isoLangCode "%nmtoken;"> <!-- ISO 639 Language Code -->
64
+ <!ENTITY % isoCountryCode "%nmtoken;"> <!-- ISO 3166 Country Code -->
65
+ <!ENTITY % isoCurrencyCode "%nmtoken;"> <!-- ISO 4217 Currency Code -->
66
+ <!ENTITY % xmlLangCode "%nmtoken;"> <!-- Language code as defined by XML
67
+ recommendation: Language and
68
+ country. -->
69
+ <!ENTITY % URL "%uri;">
70
+ <!--
71
+ For cXML license agreement information, please see
72
+ http://www.cxml.org/home/license.asp
73
+
74
+ $Id: //ariba/cxml/schema/Modules/Base.mod#8 $
75
+ -->
76
+
77
+ <!--
78
+ This file defines the basic elements used to build higher level
79
+ constructs in cXML.
80
+ -->
81
+
82
+ <!-- Basic Name/Data Elements -->
83
+ <!--
84
+ Name is used to provide an identifier for other elements.
85
+
86
+ xml:lang
87
+ The language in which the name is written.
88
+ -->
89
+ <!ELEMENT Name (#PCDATA)> <!-- string -->
90
+ <!ATTLIST Name
91
+ xml:lang %xmlLangCode; #REQUIRED
92
+ >
93
+
94
+ <!--
95
+ An Extrinsic is an element which can be used to extend the data
96
+ associated with known elements.
97
+
98
+ Since this Element is of type ANY, it could contain any arbitrary XML
99
+ document within itself, or a binary ![CDATA[]] document.
100
+
101
+ name
102
+ Name used to identify this extrinsic.
103
+ -->
104
+ <!ELEMENT Extrinsic ANY>
105
+ <!ATTLIST Extrinsic
106
+ name %string; #REQUIRED
107
+ >
108
+
109
+ <!--
110
+ Description is a string which describes something.
111
+ Though text may be interspersed with ShortName elements in this content
112
+ model, placing the ShortName at the beginning or end of the element is
113
+ much preferred. At most one ShortName element is allowed per
114
+ Description. The intended content model would be more like
115
+ (( ShortName, #PCDATA ) | ( #PCDATA | ShortName? )) if DTD syntax
116
+ supported it.
117
+
118
+ xml:lang
119
+ The language in which the description is written.
120
+ -->
121
+ <!ELEMENT Description ( #PCDATA | ShortName )* > <!-- mixed: string and
122
+ ShortName -->
123
+ <!ATTLIST Description
124
+ xml:lang %xmlLangCode; #REQUIRED
125
+ >
126
+
127
+ <!--
128
+ A short string which describes something in fewer characters than the
129
+ entire Description. This should be used when limited space is available.
130
+ For example, a table of elements might show the ShortName's of each. A
131
+ linked "details" view would show the entire Description (including the
132
+ ShortName). Without a ShortName, the user interface must default to a
133
+ truncation of the Description.
134
+ This element does not require an xml:lang attribute since it appears only
135
+ within a Description element. The language of the ShortName must match
136
+ that of the surrounding Description.
137
+ -->
138
+ <!ELEMENT ShortName (#PCDATA)> <!-- string -->
139
+
140
+ <!-- Telephone Number Elements -->
141
+ <!--
142
+ International ITU dial code for the country code in question. This
143
+ code would be entered after any escape code necessary to begin
144
+ International dialing. That is, the escape code does not appear in the
145
+ content of this element.
146
+
147
+ isoCountryCode
148
+ The ISO 3166 2-letter country code for the dial code in question.
149
+ -->
150
+ <!ELEMENT CountryCode (#PCDATA)> <!-- uint -->
151
+ <!ATTLIST CountryCode
152
+ isoCountryCode %isoCountryCode; #REQUIRED
153
+ >
154
+
155
+ <!--
156
+ The areacode or city code within a CountryCode.
157
+ -->
158
+ <!ELEMENT AreaOrCityCode (#PCDATA)> <!-- uint -->
159
+
160
+ <!--
161
+ The local number part of a telephone number.
162
+ -->
163
+ <!ELEMENT Number (#PCDATA)> <!-- string -->
164
+
165
+ <!--
166
+ An extension within relative to the Number element. This element has no
167
+ meaning without an associated Number element.
168
+ -->
169
+ <!ELEMENT Extension (#PCDATA)> <!-- uint -->
170
+
171
+ <!--
172
+ TelephoneNumber represents international telephone numbers.
173
+ -->
174
+ <!ELEMENT TelephoneNumber (CountryCode, AreaOrCityCode, Number, Extension?)>
175
+
176
+ <!--
177
+ Phone is a "named" TelephoneNumber.
178
+
179
+ name
180
+ specifies an identifier which indicates the type of phone number.
181
+ US examples would include "work","home", etc.
182
+ -->
183
+ <!ELEMENT Phone (TelephoneNumber)>
184
+ <!ATTLIST Phone
185
+ name %string; #IMPLIED
186
+ >
187
+
188
+ <!--
189
+ Fax number.
190
+ -->
191
+ <!ELEMENT Fax (TelephoneNumber | URL | Email)>
192
+ <!ATTLIST Fax
193
+ name %string; #IMPLIED
194
+ >
195
+
196
+ <!-- Addressing Elements -->
197
+ <!--
198
+ URL. A string which represents a URL
199
+ -->
200
+ <!ELEMENT URL (#PCDATA)> <!-- URL -->
201
+ <!ATTLIST URL
202
+ name %string; #IMPLIED
203
+ >
204
+
205
+ <!--
206
+ An email address. Address must conform to RFC 821 (SMTP Standard).
207
+
208
+ preferredLang
209
+ optional language that the email owner prefers to receive
210
+ emails in. Refer to the definition of xmlLangCode entity.
211
+
212
+ -->
213
+ <!ELEMENT Email (#PCDATA)> <!-- string -->
214
+ <!ATTLIST Email
215
+ name %string; #IMPLIED
216
+ preferredLang %xmlLangCode; #IMPLIED
217
+ >
218
+
219
+ <!--
220
+ Contact represents an entity at a location. The nature of this
221
+ element is that it represents a communication "end point" for a
222
+ location.
223
+
224
+ role
225
+ Position this person or group plays in the procurement process.
226
+ Likely values include endUser, administrator, purchasingAgent,
227
+ technicalSupport, customerService, sales,
228
+ supplierCorporate, supplierMasterAccount, supplierAccount,
229
+ buyerCorporate, buyerMasterAccount, buyerAccount, buyer,
230
+ subsequentBuyer. Other values may be allowed in some cases.
231
+
232
+ from and to roles are reserved for future use.
233
+
234
+ addressID
235
+ An id for the address. Needed to support address codes for
236
+ relationships that require id references.
237
+ -->
238
+ <!ELEMENT Contact (Name, PostalAddress*, Email*, Phone*, Fax*, URL*)>
239
+ <!ATTLIST Contact
240
+ role NMTOKEN #IMPLIED
241
+ addressID %string; #IMPLIED
242
+ >
243
+
244
+ <!--
245
+ The DeliverTo part of an Address. This would be internal to the actual
246
+ address know to the outside world. Similar to what an extension is to a
247
+ TelephoneNumber.
248
+ -->
249
+ <!ELEMENT DeliverTo (#PCDATA)> <!-- string -->
250
+
251
+ <!--
252
+ Street is a single line of an Address' location.
253
+ -->
254
+ <!ELEMENT Street (#PCDATA)> <!-- string -->
255
+
256
+ <!--
257
+ City is the name of the city in an Address' location.
258
+ -->
259
+ <!ELEMENT City (#PCDATA)> <!-- string -->
260
+
261
+ <!--
262
+ State is an optional state identifier in an Address' location.
263
+ -->
264
+ <!ELEMENT State (#PCDATA)> <!-- string -->
265
+
266
+ <!--
267
+ PostalCode (I have no idea how to describe it)
268
+ -->
269
+ <!ELEMENT PostalCode (#PCDATA)> <!-- string -->
270
+
271
+ <!--
272
+ Country is the name of the country in an Address' location. The
273
+ content of this element is a string which may (for example) be printed
274
+ directly to a shipping label. The content is the human-readable
275
+ equivalent of the isoCountryCode used by applications.
276
+
277
+ isoCountryCode
278
+ The ISO 3166 2-letter country code for this country.
279
+ -->
280
+ <!ELEMENT Country (#PCDATA)> <!-- string -->
281
+ <!ATTLIST Country
282
+ isoCountryCode %isoCountryCode; #REQUIRED
283
+ >
284
+
285
+ <!--
286
+ PostalAddress is a real-world location for a business or person.
287
+ -->
288
+ <!ELEMENT PostalAddress (DeliverTo*, Street+, City, State?,
289
+ PostalCode?, Country)>
290
+ <!ATTLIST PostalAddress
291
+ name %string; #IMPLIED
292
+ >
293
+
294
+ <!--
295
+ Address is the association of a Contact and an Location.
296
+
297
+ isoCountryCode
298
+ The ISO 3166 2-letter country code for the country containing this
299
+ location.
300
+
301
+ addressID
302
+ An id for the address. Needed to support address codes for
303
+ relationships that require id references. An example would be a
304
+ shipping code.
305
+ -->
306
+ <!ELEMENT Address (Name, PostalAddress?, Email?, Phone?, Fax?, URL?)>
307
+ <!ATTLIST Address
308
+ isoCountryCode %isoCountryCode; #IMPLIED
309
+ addressID %string; #IMPLIED
310
+ >
311
+
312
+ <!-- Financial Elements -->
313
+ <!--
314
+ Money is the representation of the object used to pay for items.
315
+
316
+ currency
317
+ specifies the currency in which amount is stated, must conform to ISO
318
+ 4217 currency codes.
319
+
320
+ alternateAmount
321
+ the amount of money in the alternateCurrency. Optional and used to
322
+ support dual-currency requirements such as the Euro.
323
+
324
+ alternateCurrency
325
+ specifies the currency in which the alternateAmount is stated, must
326
+ conform to ISO 4217 currency codes.
327
+ -->
328
+ <!ELEMENT Money (#PCDATA)> <!-- number -->
329
+ <!ATTLIST Money
330
+ currency %isoCurrencyCode; #REQUIRED
331
+ alternateAmount %number; #IMPLIED
332
+ alternateCurrency %isoCurrencyCode; #IMPLIED
333
+ >
334
+
335
+ <!--
336
+ Optional textual child for communicating arbitrary comments or
337
+ description along with the parent.
338
+ Though text may be interspersed with Attachment elements in this content
339
+ model, grouping the Attachment list at the begging or end of the element
340
+ is much preferred. The intended content model would be more like
341
+ (( Attachment+, #PCDATA ) | ( #PCDATA | Attachment* )) if the DTD syntax
342
+ supported it.
343
+
344
+ xml:lang
345
+ The language in which the Comments are written. This attribute
346
+ will be required in a future version of cXML. (Leaving it out is
347
+ deprecated.)
348
+ -->
349
+ <!ELEMENT Comments ( #PCDATA | Attachment )* > <!-- mixed: string and
350
+ opt. Attachment list -->
351
+ <!ATTLIST Comments
352
+ xml:lang %xmlLangCode; #IMPLIED
353
+ >
354
+
355
+ <!--
356
+ Optional child of Comments element referencing a part in a multipart MIME
357
+ transmission.
358
+
359
+ The contained URL must use the scheme "cid:". This is the identifier for
360
+ the referenced attachment within the larger transmission. Must match the
361
+ Content-ID header of one (and only one) part of the MIME transmission
362
+ containing this cXML document. May also be used to retrieve the
363
+ attachment file separately.
364
+ -->
365
+ <!ELEMENT Attachment (URL)>
366
+
367
+ <!---
368
+ Reference to a remote attachment.
369
+
370
+ AttachmentReference is used inside Extrinsic elements that have a
371
+ predefined name of "Attachments".
372
+
373
+ In the context of AttachmentReference, the domain attribute of
374
+ InternalID is currently optional. However, as a way to prevent
375
+ circular request paths, the sending application may use a
376
+ predefined value of "local" to indicate that the attachment
377
+ requested is local to the other application.
378
+
379
+ length
380
+ length of the attachment in bytes.
381
+ -->
382
+ <!ELEMENT AttachmentReference (Name, Description, InternalID)>
383
+ <!ATTLIST AttachmentReference
384
+ length %uint; #IMPLIED
385
+ >
386
+
387
+ <!--
388
+ Price per unit of item.
389
+ -->
390
+ <!ELEMENT UnitPrice (Money)>
391
+
392
+ <!--
393
+ Reference to an earlier document (for example, OrderRequest). In a
394
+ StatusUpdateRequest, this element identifies the purchase order to be
395
+ updated.
396
+
397
+ payloadID
398
+ A unique identifier for the document. Copied directly from the
399
+ cXML element of the original document.
400
+ -->
401
+ <!ELEMENT DocumentReference EMPTY>
402
+ <!ATTLIST DocumentReference
403
+ payloadID %string; #REQUIRED
404
+ >
405
+
406
+ <!ELEMENT InternalID (#PCDATA)> <!-- string -->
407
+ <!ATTLIST InternalID
408
+ domain %string; #IMPLIED
409
+ >
410
+
411
+ <!-- ====
412
+ Common to most variants of the PunchOut transaction set. Defined here
413
+ to be easily shared between multiple DTD files without requiring
414
+ inclusion of Transaction.mod in all of them.
415
+
416
+ All of the PunchOut transaction sets include an originating Request
417
+ (ProviderSetupRequest for example), relatively simple Response
418
+ (PunchOutSetupResponse for example) and final Message
419
+ (ProviderDoneMessage or PunchOutOrderMessage). The Request and
420
+ Response comprise a back-end transaction between two cooperating
421
+ applications that wish to extend an interactive session from one to the
422
+ other. The Request provides the destination application with
423
+ authentication, identification and other setup information. The
424
+ Response provides the originating application with a unique starting
425
+ location for the interactive (HTML) session at the destination system.
426
+
427
+ After receiving a Response of this type, the originating application
428
+ redirects the user's browser to the provided location. (For some
429
+ non-HTML applications, opening a new browser window at that location
430
+ may be more appropriate.) The destination system eventually provides
431
+ an HTML form to the user's browser. This form submits the final
432
+ Message to close the remote session, return that user to the
433
+ originating application and carry any required information back to the
434
+ originating application.
435
+ ==== -->
436
+
437
+ <!--
438
+ OriginatorCookie - Identification of a specific PunchOut session. Used
439
+ in both originating Request and later Message that returns user to
440
+ originating application.
441
+
442
+ Note: The BuyerCookie element used in a 'regular' PunchOut transaction
443
+ (defined in Transaction.mod) is of type ANY. That does not seem
444
+ useful. The string required below better matches the needs for this
445
+ element. Future transactions similar to the PunchOut transaction will
446
+ use this element.
447
+ -->
448
+ <!ELEMENT OriginatorCookie (#PCDATA)>
449
+
450
+ <!--
451
+ BrowserFormPost - Location to which the user's browser must submit the
452
+ final Message. This location (carried in the originating Request) does
453
+ not need to be specific to a PunchOut session since the
454
+ OriginatorCookie is returned in the Message.
455
+ -->
456
+ <!ELEMENT BrowserFormPost (URL)>
457
+
458
+ <!--
459
+ SelectedService - Identification of a service offered by this provider
460
+ and requested in this transaction. Used only in the originating
461
+ Request.
462
+ -->
463
+ <!ELEMENT SelectedService (#PCDATA)>
464
+
465
+ <!--
466
+ StartPage - Location to which the user's browser must be redirected to
467
+ begin the interactive portion of the session at the remote site. The
468
+ destination system returns this information in the Response document.
469
+ This location must be specific to a particular session. It is
470
+ effectively a one time key, providing authenticated entry into the
471
+ destination system.
472
+ -->
473
+ <!ELEMENT StartPage (URL)>
474
+
475
+ <!--
476
+ ReturnData - Any information the originator must know about the
477
+ completed operation at the provider site. The ReturnValue is for
478
+ applications; the Name is for human consumption (direct presentation in
479
+ the User Interface of the application). Where appropriate for the
480
+ possible services, this element may appear in the final Message for a
481
+ PunchOut session.
482
+
483
+ name
484
+ An identifier for the data returned. Provides a meaning for the
485
+ contents of a ReturnData element.
486
+ -->
487
+ <!ELEMENT ReturnData (ReturnValue, Name)>
488
+ <!ATTLIST ReturnData
489
+ name %string; #IMPLIED
490
+ >
491
+
492
+ <!ELEMENT ReturnValue (#PCDATA)>
493
+
494
+ <!--
495
+ Defines a time range. The start and end can be unbounded
496
+ startDate
497
+ The starting date of the time range
498
+ endDate
499
+ The ending date of the range
500
+ -->
501
+ <!ELEMENT TimeRange EMPTY>
502
+ <!ATTLIST TimeRange
503
+ startDate %datetime.tz; #IMPLIED
504
+ endDate %datetime.tz; #IMPLIED
505
+ >
506
+
507
+ <!--
508
+ Defines a period in time.
509
+
510
+ startDate
511
+ The starting date of the period
512
+
513
+ endDate
514
+ The ending date of the period
515
+ -->
516
+ <!ELEMENT Period EMPTY>
517
+ <!ATTLIST Period
518
+ startDate %datetime.tz; #REQUIRED
519
+ endDate %datetime.tz; #REQUIRED
520
+ >
521
+
522
+ <!--
523
+ Must be a UN/CEFACT (Recommendation 20) unit of measure code.
524
+ -->
525
+ <!ELEMENT UnitOfMeasure (#PCDATA)> <!-- nmtoken -->
526
+
527
+ <!--
528
+ Defines a reference to a term which is defined
529
+ in another document.
530
+
531
+ termName
532
+ The name of the ID attribute containing the term.
533
+
534
+ term
535
+ The value of that attribute (i.e., the term itself).
536
+
537
+ -->
538
+ <!ELEMENT TermReference EMPTY>
539
+ <!ATTLIST TermReference
540
+ termName %string; #REQUIRED
541
+ term %string; #REQUIRED
542
+ >
543
+
544
+ <!--
545
+ Defines an optionally named monetary rate at which goods or services are
546
+ charged or paid.
547
+
548
+ Money
549
+ The amount of Money per UnitOfMeasure to be charged or paid.
550
+
551
+ UnitOfMeasure
552
+ Unit of measure.
553
+
554
+ TermReference
555
+ Identifies the definition of this UnitRate
556
+ (found, for example, in contracts, master agreements, and other documents
557
+ which may or may not be cXML documents).
558
+ -->
559
+ <!ELEMENT UnitRate (
560
+ Money,
561
+ UnitOfMeasure,
562
+ TermReference?
563
+ )>
564
+
565
+ <!--
566
+ The rate information used to define the rate of a purchase. For
567
+ example, this could be the total room rate for 4 nights of stay
568
+ at a hotel.
569
+
570
+ Total
571
+ The total amount for the rate. The total amount must equal
572
+ to quantity x UnitRate.
573
+
574
+ UnitRate
575
+ The single unit rate.
576
+
577
+ Description
578
+ Textual description for the rate. For example, hotel nightly rate.
579
+
580
+ Quantity
581
+ The quantity. For example, a 4 nights stay at a hotel will
582
+ have quantity set to 4 with UnitofMesure in UnitRate set to Day.
583
+ -->
584
+ <!ELEMENT Rate (Total, UnitRate, Description?)>
585
+ <!ATTLIST Rate
586
+ quantity %r8; #REQUIRED
587
+ >
588
+
589
+ <!--
590
+ The total for something.
591
+ -->
592
+ <!ELEMENT Total (Money)>
593
+
594
+ <!--
595
+ For cXML license agreement information, please see
596
+ http://www.cxml.org/home/license.asp
597
+
598
+ $Id: //ariba/cxml/modules/Version.mod#4 $
599
+ -->
600
+
601
+ <!--
602
+ Another top-level entity used in Transport.mod. Defined here to allow
603
+ easy updates to the release version of cXML without opening
604
+ Transport.mod. This should also provide an easy file to search for
605
+ the current release version string.
606
+ -->
607
+
608
+ <!-- cxml.version
609
+ Current default string for the cXML@version attribute. Corresponds to
610
+ the final directory of the SYSTEM identifier used in all up-to-date
611
+ cXML documents.
612
+ For easy parsing of this file, do not remove whitespace surrounding the
613
+ actual version string.
614
+ -->
615
+ <!ENTITY cxml.version "1.2.020" >
616
+ <!--
617
+ For cXML license agreement information, please see
618
+ http://www.cxml.org/home/license.asp
619
+
620
+ $Id: //ariba/cxml/schema/Modules/Supplier.mod#1 $
621
+ -->
622
+
623
+ <!--
624
+ Supplier of goods and services. Includes a list of SupplierIDs which
625
+ identify the Supplier.
626
+
627
+ corporateURL
628
+ URL to web site about the supplier
629
+
630
+ storeFrontURL
631
+ URL to web site where a user can shop or browse
632
+ -->
633
+ <!ELEMENT Supplier (Name, Comments?, SupplierID+, SupplierLocation*)>
634
+ <!ATTLIST Supplier
635
+ corporateURL %URL; #IMPLIED
636
+ storeFrontURL %URL; #IMPLIED
637
+ >
638
+
639
+ <!--
640
+ One of the locations for a supplier. Supplier location is
641
+ generally a physical location.
642
+ -->
643
+ <!ELEMENT SupplierLocation (Address, OrderMethods)>
644
+
645
+ <!--
646
+ OrderMethods is the list of methods by which one can order
647
+ from a supplier. The contact element is the technical contact
648
+ who should be able to assist with order processing issues.
649
+ The list is to be ordered by supplier preference, the first
650
+ element having the highest degree of preference.
651
+ -->
652
+ <!ELEMENT OrderMethods (OrderMethod+, Contact?)>
653
+
654
+ <!--
655
+ OrderMethod is a method for ordering. It is comprised of a
656
+ target address for the order and the protocol expected by
657
+ the address.
658
+ -->
659
+ <!ELEMENT OrderMethod (OrderTarget, OrderProtocol?)>
660
+
661
+ <!--
662
+ OrderTarget represents an address to which orders can be
663
+ sent.
664
+ -->
665
+ <!ELEMENT OrderTarget (Phone | Email | Fax | URL | OtherOrderTarget)>
666
+
667
+ <!--
668
+ OrderProtocol is the communication method to be used when
669
+ communicating an order to a supplier. An example would be "cXML".
670
+ -->
671
+ <!ELEMENT OrderProtocol (#PCDATA)> <!-- string -->
672
+
673
+ <!--
674
+ OtherOrderTarget represents an address which is not enumerated by
675
+ default in the OrderTarget Element. This may contain address targets
676
+ beyond the ability of this document to describe.
677
+
678
+ name
679
+ Optional name for target.
680
+ -->
681
+ <!ELEMENT OtherOrderTarget ANY>
682
+ <!ATTLIST OtherOrderTarget
683
+ name %string; #IMPLIED
684
+ >
685
+
686
+ <!--
687
+ Definition of a supplier id. A supplier id is a (domain, value)
688
+ pair so that suppliers have the flexibility to define their id's
689
+ according to an arbitrary convention (e.g., (DUNS, 12345),
690
+ (TaxID, 88888888)).
691
+
692
+ domain
693
+ the domain of the id
694
+ -->
695
+
696
+ <!ELEMENT SupplierID (#PCDATA)> <!-- string -->
697
+ <!ATTLIST SupplierID
698
+ domain %string; #REQUIRED
699
+ >
700
+ <!--
701
+ Defines a List of Suppliers that might be associated with a quote Item. Used in
702
+ ItemOut.
703
+ -->
704
+ <!ELEMENT SupplierList (Supplier+)>
705
+ <!--
706
+ For cXML license agreement information, please see
707
+ http://www.cxml.org/home/license.asp
708
+
709
+ $Id: //ariba/cxml/modules/Item.mod#6 $
710
+ -->
711
+
712
+ <!--
713
+ ID with which the item's manufacturer identifies the item.
714
+ -->
715
+ <!ELEMENT ManufacturerPartID (#PCDATA)> <!-- string -->
716
+
717
+ <!--
718
+ Name of the item's manufacturer.
719
+
720
+ xml:lang
721
+ The language in which the ManufacturerName is written. This
722
+ attribute will be required in a future version of cXML. (Leaving it
723
+ out is deprecated.)
724
+ -->
725
+ <!ELEMENT ManufacturerName (#PCDATA)> <!-- string -->
726
+ <!ATTLIST ManufacturerName
727
+ xml:lang %xmlLangCode; #IMPLIED
728
+ >
729
+
730
+ <!--
731
+ Classification is used to group items into similar categories.
732
+
733
+ domain
734
+ "name" of classification, ie., SPSC
735
+ -->
736
+ <!ELEMENT Classification (#PCDATA)> <!-- string -->
737
+ <!ATTLIST Classification
738
+ domain %string; #REQUIRED
739
+ >
740
+
741
+ <!--
742
+ LeadTime specifies, in days, the amount of time required to
743
+ receive the item.
744
+ -->
745
+ <!ELEMENT LeadTime (#PCDATA)> <!-- uint -->
746
+
747
+ <!--
748
+ How the supplier identifies an item they sell.
749
+
750
+ If SupplierPartID does not provide a unique key to identify the item,
751
+ then the supplier should generate a key which identifies the part
752
+ uniquely when combined with the SupplierID and SupplierPartID. The
753
+ key is called SupplierPartAuxiliaryID.
754
+
755
+
756
+ An example is where a Supplier would use the same PartID for an
757
+ item but have a different price for units of "EA" versus "BOX".
758
+ In this case, the ItemIDs should be:
759
+ <ItemID>
760
+ <SupplierPartID>pn12345</SupplierPartID>
761
+ <SupplierPartAuxiliaryID>EA</SupplierPartAuxiliaryID>
762
+ </ItemID>
763
+ <ItemID>
764
+ <SupplierPartID>pn12345</SupplierPartID>
765
+ <SupplierPartAuxiliaryID>
766
+ <foo>well formed XML here</foo>
767
+ </SupplierPartAuxiliaryID>
768
+ </ItemID>
769
+ In this case, the "foo" element must be defined in an internal subset
770
+ sent with the cXML document. Otherwise, parsers will not be able to
771
+ validate that document.
772
+
773
+ In a preferred approach, the sending application may escape the contained
774
+ XML using CDATA sections. This would appear as:
775
+ ...
776
+ <SupplierPartAuxiliaryID>
777
+ <![CDATA[<foo>well formed XML here</foo>]]>
778
+ </SupplierPartAuxiliaryID>
779
+ ...
780
+
781
+ Finally, the angle brackets could be escaped using XML character
782
+ entities. This might be a bit harder for humans to read. For example:
783
+ ...
784
+ <SupplierPartAuxiliaryID>
785
+ &lt;foo&gt;well formed XML here&lt;/foo&gt;
786
+ </SupplierPartAuxiliaryID>
787
+ ...
788
+
789
+
790
+ -->
791
+ <!ELEMENT SupplierPartID (#PCDATA)> <!-- string -->
792
+
793
+ <!ELEMENT SupplierPartAuxiliaryID ANY>
794
+
795
+ <!--
796
+ A unique identification of an item. SupplierID is not required since
797
+ ItemIDs never travel alone.
798
+
799
+ ItemIDs used to define a Supplier/Commodity level Blanket Order Item should
800
+ use Empty SupplierPartID tag. These type of items do not have specific part numbers
801
+ at the time of placing the Blanket Order. There will be subsequent release orders
802
+ or invoices that will define the SupplierID.
803
+ -->
804
+ <!ELEMENT ItemID (SupplierPartID, SupplierPartAuxiliaryID?)>
805
+
806
+ <!--
807
+ ItemDetail contains detailed information about an item. All the data that
808
+ a user would want to see about an item instead of the bare essentials
809
+ that are represented in the ItemID.
810
+
811
+ LeadTime
812
+ time in days to receive the item
813
+ -->
814
+ <!ELEMENT ItemDetail (UnitPrice, Description+, UnitOfMeasure,
815
+ Classification+, ManufacturerPartID?,
816
+ ManufacturerName?, URL?, LeadTime?, Extrinsic*)>
817
+
818
+
819
+ <!--
820
+ Item details specific for items that describe blanket purchase order items.
821
+ This element should only be used for items in a purchase order of
822
+ type "blanket"
823
+ -->
824
+ <!ELEMENT BlanketItemDetail (Description+, MaxAmount?, MinAmount?,
825
+ MaxQuantity?, MinQuantity?,
826
+ UnitPrice?, UnitOfMeasure?,
827
+ Classification*, Extrinsic*)>
828
+ <!--
829
+ For cXML license agreement information, please see
830
+ http://www.cxml.org/home/license.asp
831
+
832
+ $Id$
833
+ -->
834
+
835
+ <!--
836
+ This element captures travel information. It could be one of four
837
+ types: air, car rental, hotel or rail.
838
+
839
+ AirDetail
840
+ Air travel detail.
841
+
842
+ CarRentalDetail
843
+ Car rental detail.
844
+
845
+ HotelDetail
846
+ Hotel detail.
847
+
848
+ RailDetail
849
+ Rail detail.
850
+
851
+ PolicyViolation
852
+ List of policy violations (if any) associated with this
853
+ travel line item.
854
+
855
+ Comments
856
+ Top level comments for this travel line item (if any). This
857
+ is not the policy violation comment but a top level comment
858
+ given by the user for this travel line item while in Travel
859
+ Booking Provider's web site.
860
+
861
+ TermsAndConditions
862
+ List of Terms and conditions (if any) associated with this
863
+ travel line item.
864
+
865
+ confirmationNumber
866
+ A unique confirmation number that is useful to both the
867
+ traveler and the vendor who is providing the service for this
868
+ travel line item. For example, hotel reservation number or
869
+ e-ticket number from the airline.
870
+
871
+ pnrLocator
872
+ Passenger Name Record (PNR) Locator that is useful to the
873
+ Travel Booking Provider.
874
+
875
+ quoteExpirationTime
876
+ Date and time that this quote will expire. This value is
877
+ normally supplied in the PunchoutOrderMessage. If no value is
878
+ supplied, it is assumed that there is no expiration time or
879
+ date for this quote.
880
+ -->
881
+ <!ELEMENT TravelDetail ((AirDetail | CarRentalDetail | HotelDetail | RailDetail),
882
+ PolicyViolation*,
883
+ Comments?,
884
+ TermsAndConditions?)>
885
+ <!ATTLIST TravelDetail
886
+ confirmationNumber %string; #REQUIRED
887
+ pnrLocator %string; #IMPLIED
888
+ quoteExpirationTime %datetime.tz; #IMPLIED
889
+ >
890
+
891
+ <!-- Air -->
892
+
893
+ <!--
894
+ Air detail information for the air trip.
895
+
896
+ TripType
897
+ Round Trip, One Way, or Multi Leg
898
+
899
+ AirLeg
900
+ Different air leg that makes up this air detail.
901
+ For example a round trip from SFO -> TPE with no stops
902
+ will have two air legs. One air leg from SFO -> TPE
903
+ and another from TPE -> SFO.
904
+
905
+ AvailablePrice
906
+ Other available airfare prices that the user did not pick.
907
+
908
+ Penalty
909
+ Penalty amount (if any). This is normally due to changes or
910
+ cancelation of the ticket.
911
+ -->
912
+ <!ELEMENT AirDetail (TripType,
913
+ AirLeg+,
914
+ AvailablePrice*,
915
+ Penalty?)>
916
+
917
+ <!--
918
+ Define a single leg in the air travel.
919
+
920
+ Vendor
921
+ Airline vendor name and information.
922
+
923
+ AirLegOrigin
924
+ Originating airport for this air leg.
925
+
926
+ AirLegDestination
927
+ Destination airport for this air leg.
928
+
929
+ BookingClassCode
930
+ Airline booking class code. This is the de-facto
931
+ airline standard. For example,
932
+
933
+ F, FN, P, R, A - first class
934
+ C, CN, D, J, I, Z - business class.
935
+ Y, YN, B, BN, M, H, V, VN, O, Q, QN, S,
936
+ K, KN, L, U, T, W - coach class.
937
+
938
+ Rate
939
+ Rate for this particular air leg. If specify, the total
940
+ of all the rate for the different air legs must add up
941
+ to the total the line item level.
942
+
943
+ Meal
944
+ Meal information for this air leg (if any)
945
+
946
+ travelSegment
947
+ Textual information to identify this travel segment.
948
+ This information is specific to the Travel Booking Provider.
949
+
950
+ departureTime
951
+ Departure date and time for this air leg
952
+
953
+ arrivalTime
954
+ Arrival date and time for this air leg
955
+
956
+ flightNumber
957
+ Flight number for this air leg
958
+
959
+ seatNumber
960
+ Seat number for this air leg
961
+
962
+ seatType
963
+ Seat type
964
+ aisle - Aisle
965
+ window - Window
966
+ middle - Middle
967
+
968
+ upgrade
969
+ Is this ticket an upgrade?
970
+
971
+ stops
972
+ The number of stop for this air leg.
973
+ 0 if it is a direct flight. If no information is supplied
974
+ it is defaulted to 0.
975
+
976
+ equipment
977
+ The plane equipment information for this air leg
978
+ -->
979
+ <!ELEMENT AirLeg (Vendor,
980
+ AirLegOrigin,
981
+ AirLegDestination,
982
+ BookingClassCode?,
983
+ Rate?,
984
+ Meal*)>
985
+ <!ATTLIST AirLeg
986
+ travelSegment %string; #REQUIRED
987
+ departureTime %datetime.tz; #REQUIRED
988
+ arrivalTime %datetime.tz; #REQUIRED
989
+ flightNumber %string; #REQUIRED
990
+ seatNumber %string; #IMPLIED
991
+ seatType (window | aisle | middle) #IMPLIED
992
+ upgrade (yes) #IMPLIED
993
+ stops %r8; #IMPLIED
994
+ equipment %string; #IMPLIED
995
+ >
996
+
997
+ <!--
998
+ Originating airport for this Air Leg.
999
+
1000
+ Airport
1001
+ Originating airport
1002
+ -->
1003
+ <!ELEMENT AirLegOrigin (Airport)>
1004
+
1005
+ <!--
1006
+ Destination airport for this Air Leg.
1007
+
1008
+ Airport
1009
+ Destination airport
1010
+ -->
1011
+ <!ELEMENT AirLegDestination (Airport)>
1012
+
1013
+ <!--
1014
+ Airport information that includes the iso airport code
1015
+
1016
+ Address
1017
+ Physical adress of the airport.
1018
+
1019
+ airportCode
1020
+ The 3 letter IATA airport code.
1021
+ -->
1022
+ <!ELEMENT Airport (Address?)>
1023
+ <!ATTLIST Airport airportCode %string; #REQUIRED>
1024
+
1025
+ <!---
1026
+ Meal information used by air, hotel and rail.
1027
+
1028
+ BookingClassCode
1029
+ Code for the meal. For example, airlines use
1030
+ B - Breakfast
1031
+ C - Complimentary liquor
1032
+ D - Dinner
1033
+ F - Food for purchase
1034
+ G - Food and beverage for purchase
1035
+ H - Hot meal
1036
+ K - Continental breakfast
1037
+ L - Lunch
1038
+ M - Meal
1039
+ N - No meal service
1040
+ O - Cold meal
1041
+ P - Liquor for purchase
1042
+ R - Refreshments
1043
+ S - Snack or brunch
1044
+ V - Refreshments for purchase
1045
+
1046
+ Description
1047
+ Textual description of the meal, including any special needs
1048
+ such as vegetarian or dairy-free.
1049
+ -->
1050
+ <!ELEMENT Meal (BookingClassCode?, Description?)>
1051
+
1052
+ <!-- Car Rental -->
1053
+
1054
+ <!--
1055
+ Car rental information.
1056
+
1057
+ Vendor
1058
+ Car rental vendor information.
1059
+
1060
+ CarRentalPickup
1061
+ Pickup location for the rental car.
1062
+
1063
+ CarRentalDropoff
1064
+ Drop off location for the rental car.
1065
+
1066
+ BookingClassCode
1067
+ 4 letter code for car.
1068
+
1069
+ 1st Letter - M (Mini), E (Economy), C (Compact), S (Standard),
1070
+ I (Intermediate), F (Full size), P (Premium), L (Luxury)
1071
+ V (MiniVan), X (Special)
1072
+ 2nd Letter - B (2 door), C (2/4 door), D (4 door), T (Convertible),
1073
+ F (Four wheel drive), V (Van), W (Wagon), S (Sport)
1074
+ X (Special)
1075
+ 3rd Letter - A (Automatic), M (Manual)
1076
+ 4th Letter - R (A/c), N (No A/C)
1077
+
1078
+ CarRentalFee
1079
+ Mutliple car rental fee can be specified to capture the
1080
+ break down of different fees. The total of these fees must
1081
+ add up to the total at the line item level.
1082
+
1083
+ LimitedMileage
1084
+ Mileage limit information
1085
+
1086
+ AvailablePrice
1087
+ Other available prices for car rental that the user did not pick.
1088
+
1089
+ travelSegment
1090
+ Textual information to identify this travel segment.
1091
+ This information is specific to the Travel Booking Provider.
1092
+
1093
+ pickupTime
1094
+ The intended pickup date and time
1095
+
1096
+ dropoffTime
1097
+ The intended dropoff date and time
1098
+ -->
1099
+ <!ELEMENT CarRentalDetail (Vendor,
1100
+ CarRentalPickup,
1101
+ CarRentalDropoff,
1102
+ BookingClassCode?,
1103
+ CarRentalFee+,
1104
+ LimitedMileage?,
1105
+ AvailablePrice*)>
1106
+ <!ATTLIST CarRentalDetail
1107
+ travelSegment %string; #REQUIRED
1108
+ pickupTime %datetime.tz; #REQUIRED
1109
+ dropoffTime %datetime.tz; #REQUIRED
1110
+ >
1111
+
1112
+ <!--
1113
+ Physical location where the rental car should be picked up. This
1114
+ is either an Airport or off airport car rental location.
1115
+
1116
+ Airport
1117
+ An airport location.
1118
+
1119
+ Address
1120
+ Physical address of the car rental location
1121
+ -->
1122
+ <!ELEMENT CarRentalPickup (Airport | Address)>
1123
+
1124
+ <!--
1125
+ Physical location where the rental car should be dropped off.
1126
+ This is either an Airport or off-airport car rental location.
1127
+
1128
+ Airport
1129
+ An airport location.
1130
+
1131
+ Address
1132
+ Physical address of the car rental location
1133
+ -->
1134
+ <!ELEMENT CarRentalDropoff (Airport | Address)>
1135
+
1136
+ <!--
1137
+ This specifies the quantity and the unit of measure of the mileage
1138
+ limit.
1139
+
1140
+ UnitOfMeasure
1141
+ Unit of measure either miles or kilometers.
1142
+
1143
+ quantity
1144
+ The mileage limit amount.
1145
+ -->
1146
+ <!ELEMENT LimitedMileage (UnitOfMeasure)>
1147
+ <!ATTLIST LimitedMileage
1148
+ quantity %r8; #REQUIRED
1149
+ >
1150
+
1151
+ <!--
1152
+ Car rental fee information. CarRentalFee captures the actual
1153
+ charges and fee that applies to this rental. Conditional charges
1154
+ such as extra mileages that are over the mileage limit should not
1155
+ be specified here but rather in the TermsAndConditions text.
1156
+
1157
+ Total
1158
+ Total amount for this car rental fee. All the total for the rates
1159
+ must add up to this amount.
1160
+
1161
+ Rate
1162
+ The individual broken-down fee information.
1163
+
1164
+ type
1165
+ Type of rate
1166
+ baseRate - Base rental rate
1167
+ additionalDriver - Additional driver fee
1168
+ airportAccessFee - Airport Access fee
1169
+ dropOffCharge - Drop off charge
1170
+ vehicleLicensingFee - Vehicle lincensing fee
1171
+ touristTax - Tourist tax
1172
+ prepaidGasoline - Prepaid gasoline charge
1173
+ navigationSystem - Navigation system
1174
+ childSeat - Child seat charge
1175
+ luggageRack - Luggage rack charge
1176
+ collisionDamageInsurance - Collision damage insurance
1177
+ liabilityInsurance - Liability insurance
1178
+ mobilePhone - Mobile phone base charge
1179
+ other - Other charges.
1180
+ -->
1181
+ <!ELEMENT CarRentalFee (Total, Rate*)>
1182
+ <!ATTLIST CarRentalFee
1183
+ type (baseRate | additionalDriver | airportAccessFee | dropOffCharge |
1184
+ vehicleLicensingFee | touristTax | prepaidGasoline |
1185
+ navigationSystem | childSeat | luggageRack | collisionDamageInsurance |
1186
+ liabilityInsurance | mobilePhone | other) "baseRate"
1187
+ >
1188
+
1189
+ <!-- Hotel -->
1190
+
1191
+ <!--
1192
+ Hotel detail information.
1193
+
1194
+ Vendor
1195
+ Hotel vendor information.
1196
+
1197
+ Address
1198
+ Physical address of the hotel. This is might be different
1199
+ from the address specified in the Vendor field as the vendor
1200
+ address might be the head quarter address.
1201
+
1202
+ RoomType
1203
+ The type of room reserved.
1204
+
1205
+ BookingClassCode
1206
+ Hotel booking class code.
1207
+
1208
+ Meal
1209
+ Any complementary meals that are included with the room. For
1210
+ example, complementary continental breakfast.
1211
+
1212
+ Rate
1213
+ Hotel rate information. Multiple rates can be specified. For
1214
+ example, the night rate, valet parking rate, and other rates.
1215
+
1216
+ AvailablePrice
1217
+ Other available prices that user did not pick. Available
1218
+ prices can be from the same vendor or different vendor.
1219
+
1220
+ travelSegment
1221
+ Textual information to identify this travel segment. This
1222
+ information is specific to the Travel Booking Provider.
1223
+
1224
+ arrivalTime
1225
+ Date and time of arrival at the hotel. This is used as an
1226
+ advisory to the hotel vendor for the arrival time.
1227
+
1228
+ departureTime
1229
+ Date and time of departure from the hotel. This is used as an
1230
+ advisory to the hotel vendor for the departure time.
1231
+
1232
+ checkinTime
1233
+ The official checkin time. For example, most hotel checkin
1234
+ time is 3:00 PM.
1235
+
1236
+ checkoutTime
1237
+ The official checkout time. For example, most hotel checkout
1238
+ time is 12:00 PM (noon).
1239
+
1240
+ earlyCheckinAllowed
1241
+ Does the hotel allow early checkin?
1242
+
1243
+ lateCheckoutAllowed
1244
+ Does the hotel allow late checkout?
1245
+ -->
1246
+ <!ELEMENT HotelDetail (Vendor,
1247
+ Address,
1248
+ RoomType,
1249
+ BookingClassCode?,
1250
+ Meal*,
1251
+ Rate*,
1252
+ AvailablePrice*)>
1253
+ <!ATTLIST HotelDetail
1254
+ travelSegment %string; #REQUIRED
1255
+ arrivalTime %datetime.tz; #REQUIRED
1256
+ departureTime %datetime.tz; #REQUIRED
1257
+ checkinTime %time.tz; #REQUIRED
1258
+ checkoutTime %time.tz; #REQUIRED
1259
+ earlyCheckinAllowed (yes) #IMPLIED
1260
+ lateCheckoutAllowed (yes) #IMPLIED
1261
+ >
1262
+
1263
+ <!--
1264
+ Information about a hotel room.
1265
+
1266
+ Description
1267
+ Textual description of the hotel room.
1268
+
1269
+ Amenities
1270
+ List of amenities for this hotel room.
1271
+
1272
+ smoking
1273
+ Is the room a smoking or non-smoking room
1274
+
1275
+ numberOfBed
1276
+ The number of beds in this room
1277
+
1278
+ bedType
1279
+ The bed type in this room.
1280
+ -->
1281
+ <!ELEMENT RoomType (Description?, Amenities*)>
1282
+ <!ATTLIST RoomType
1283
+ smoking (yes | no) #REQUIRED
1284
+ numberOfBed %r8; #IMPLIED
1285
+ bedType (king | queen | full | double | single | other) #IMPLIED
1286
+ >
1287
+
1288
+ <!--
1289
+ Textual description of the amenities for the hotel room.
1290
+
1291
+ Description
1292
+ Text description of this amenities. For example,
1293
+ DSL connection, two telephone lines, and other information
1294
+ about a hotel room.
1295
+ -->
1296
+ <!ELEMENT Amenities (Description)>
1297
+
1298
+ <!-- Rail -->
1299
+
1300
+ <!--
1301
+ Rail detail information. A rail detail can have multiple legs.
1302
+
1303
+ TripType
1304
+ Trip type for this rail.
1305
+
1306
+ Rail leg
1307
+ The different rail legs that make up this rail detail.
1308
+
1309
+ AvailablePrice
1310
+ Other available prices that the user did not pick for for this
1311
+ rail trip.
1312
+
1313
+ Penalty
1314
+ Penalty (if any) associated with this rail trip.
1315
+ -->
1316
+ <!ELEMENT RailDetail (TripType,
1317
+ RailLeg+,
1318
+ AvailablePrice*,
1319
+ Penalty?)>
1320
+
1321
+ <!--
1322
+ Rail leg is used to express information regarding a single leg for
1323
+ a rail travel.
1324
+
1325
+ Vendor
1326
+ Rail vendor information.
1327
+
1328
+ RailLegOrigin
1329
+ Rail originating location.
1330
+
1331
+ RailLegDestination
1332
+ Rail Destination location.
1333
+
1334
+ BookingClassCode
1335
+ Rail booking class code.
1336
+
1337
+ Rate
1338
+ Rate information (if any) for this rail leg. If specified,
1339
+ all the rates in all rail legs must add up to the total at the
1340
+ travel line item level.
1341
+
1342
+ Meal
1343
+ Meal served for this leg (if any).
1344
+
1345
+ travelSegment
1346
+ Textual information to identify this travel segment. This
1347
+ information is specific to the Travel Booking Provider.
1348
+
1349
+ departureTime
1350
+ Date and time of departure at the originating location.
1351
+
1352
+ arrivalTime
1353
+ Date and time of arrival at the destination location.
1354
+
1355
+ trainNumber
1356
+ Train number for this rail leg.
1357
+
1358
+ seatNumber
1359
+ Seat number.
1360
+
1361
+ carType
1362
+ Type of the rail car.
1363
+ -->
1364
+ <!ELEMENT RailLeg (Vendor,
1365
+ RailLegOrigin,
1366
+ RailLegDestination,
1367
+ BookingClassCode?,
1368
+ Rate?,
1369
+ Meal*)>
1370
+ <!ATTLIST RailLeg
1371
+ travelSegment %string; #REQUIRED
1372
+ departureTime %datetime.tz; #REQUIRED
1373
+ arrivalTime %datetime.tz; #REQUIRED
1374
+ trainNumber %string; #REQUIRED
1375
+ seatNumber %string; #IMPLIED
1376
+ carType (sleeper | seat) #IMPLIED
1377
+ >
1378
+
1379
+ <!--
1380
+ The origin of a particular rail leg. This can be an airport or a
1381
+ physical address of a rail station.
1382
+
1383
+ Airport
1384
+ An airport location
1385
+
1386
+ Address
1387
+ A physical address of a rail station
1388
+ -->
1389
+ <!ELEMENT RailLegOrigin (Airport | Address)>
1390
+
1391
+ <!--
1392
+ The destination of a particular rail leg. This can be an airport
1393
+ or a physical address of a rail station.
1394
+
1395
+ Airport
1396
+ An airport location
1397
+
1398
+ Address
1399
+ A physical address of a rail station
1400
+ -->
1401
+ <!ELEMENT RailLegDestination (Airport | Address)>
1402
+
1403
+ <!-- Travel/Expense common definitions -->
1404
+
1405
+ <!--
1406
+ The type of the trip. This is used by Air and Rail to indicate
1407
+ round trip, one way or multi-leg trip.
1408
+
1409
+ type
1410
+ Type of the trip
1411
+ round - a round trip
1412
+ oneWay - a one way trip
1413
+ multiLeg - a multi leg or open jaw trip
1414
+ -->
1415
+ <!ELEMENT TripType EMPTY>
1416
+ <!ATTLIST TripType
1417
+ type (round | oneWay | multiLeg) #REQUIRED
1418
+ >
1419
+
1420
+ <!--
1421
+ Information about a vendor that is providing this service.
1422
+
1423
+ Address
1424
+ The physical address of the vendor. This address normally is
1425
+ the business or head quarter address of the vendor.
1426
+
1427
+ SupplierID
1428
+ Supplier id for this vendor. This is just a (domain, value)
1429
+ pair so that Travel Booking Providers have the flexibility to
1430
+ define their id's according to an arbitrary convention (e.g.,
1431
+ (DUNS, 12345), (TaxID, 88888888)).
1432
+
1433
+ Note that multiple supplier id can be specified. This is so
1434
+ that Travel Booking Provider can have a single implementation
1435
+ that works with different Buyer implementations that use
1436
+ different supplier id domain.
1437
+
1438
+ preferred
1439
+ Is this vendor a preferred vendor?
1440
+ -->
1441
+ <!ELEMENT Vendor (Address, SupplierID*)>
1442
+ <!ATTLIST Vendor
1443
+ preferred (yes | no) #REQUIRED
1444
+ >
1445
+
1446
+ <!--
1447
+ Textual terms and conditions associated with an air fare, car
1448
+ rental, hotel, or rail. For example, a car rental terms and
1449
+ conditions normally include boundary limit, additional mileage
1450
+ charges, gasoline charge and other restriction information.
1451
+
1452
+ Multiple terms and conditions can be attached to a single travel
1453
+ line item.
1454
+
1455
+ Description
1456
+ Textual terms and conditions.
1457
+ -->
1458
+ <!ELEMENT TermsAndConditions (Description+)>
1459
+
1460
+ <!--
1461
+ Policy violation (if any) that results from the user picking this
1462
+ particular travel. Policy violations are associated with an
1463
+ individual line item of travel and not associated at the header
1464
+ level. This allows for clear identification of the violation with
1465
+ the individual line item.
1466
+
1467
+ Description
1468
+ Textual description of this violation.
1469
+
1470
+ PolicyViolationJustification
1471
+ Justification for this violation given by user normally picked
1472
+ from a standard list of justifications at the Travel Booking
1473
+ Provider web site.
1474
+
1475
+ Comments
1476
+ Additional comments to further clarify the justification given
1477
+ by user.
1478
+
1479
+ level
1480
+ Violation level.
1481
+ warning - a non serious violation.
1482
+ violation - a serious violation of company policy.
1483
+ -->
1484
+ <!ELEMENT PolicyViolation (Description,
1485
+ PolicyViolationJustification,
1486
+ Comments?)>
1487
+ <!ATTLIST PolicyViolation
1488
+ level (warning | violation) #REQUIRED
1489
+ >
1490
+
1491
+ <!--
1492
+ Justification given by the user why they violate the company
1493
+ travel policy. This justification value is normally picked from a
1494
+ pick list at the Travel Booking Provider web site.
1495
+
1496
+ Description
1497
+ The justification of the violation picked from a standard list
1498
+ at the Travel Booking Provider web site.
1499
+ -->
1500
+ <!ELEMENT PolicyViolationJustification (Description)>
1501
+
1502
+ <!--
1503
+ Penalty (if any) for this travel segment
1504
+
1505
+ Money
1506
+ The penalty amount
1507
+
1508
+ Description
1509
+ Textual description of the cause of the penalty. For example,
1510
+ change fee associated with air ticket.
1511
+ -->
1512
+ <!ELEMENT Penalty (Money, Description)>
1513
+
1514
+ <!--
1515
+ Other avaible price. AvailablePrice is used to express what other
1516
+ prices are available that the traveler did not pick.
1517
+ AvailablePrice is can be used to capture the lowest price, the
1518
+ highest price, the lowest compliant price, and the hight compliant
1519
+ price.
1520
+
1521
+ Money
1522
+ The amount of the other available price.
1523
+
1524
+ Description
1525
+ Textual description of the available price. It explain
1526
+ how this price was derived at. For example, a non direct flight
1527
+ exists with the flight number can be put here.
1528
+
1529
+ Type
1530
+ Type of available price. Currently we capture four
1531
+ different type.
1532
+ lowest - The lowest price possible regardless of the
1533
+ traveling policies
1534
+ lowestCompliant - The lowest price that still complies with
1535
+ the travel policies
1536
+ highestCompliant - The highest price that still complies with
1537
+ the travel policies
1538
+ highest - The highest price possible regardless of the travel
1539
+ policies
1540
+ other - Other, specify in the description
1541
+ -->
1542
+ <!ELEMENT AvailablePrice (Money, Description?)>
1543
+ <!ATTLIST AvailablePrice
1544
+ type (lowest | lowestCompliant | highestCompliant | highest | other) #REQUIRED
1545
+ >
1546
+
1547
+ <!--
1548
+ Booking class code used by airfare, car rental, hotel, and rail to
1549
+ indicate the class.
1550
+
1551
+ Description
1552
+ Textual description of the code
1553
+
1554
+ code
1555
+ code
1556
+ -->
1557
+ <!ELEMENT BookingClassCode (Description?)>
1558
+ <!ATTLIST BookingClassCode
1559
+ domain %string; #REQUIRED
1560
+ code %string; #REQUIRED
1561
+ >
1562
+
1563
+ <!--
1564
+ Define a physical location and its address. This can be used to
1565
+ describe places such as airport, bus station, ferry dock, railway
1566
+ station and so on.
1567
+
1568
+ Address
1569
+ Indicates the address of the place
1570
+
1571
+ code
1572
+ Indicates the code the may represent the place. For example,
1573
+ airport can have an airport code.
1574
+
1575
+ domain
1576
+ Qualifier or domain for the code. For example, airport code
1577
+ is IATA standard, the domain value would be "IATA"; however
1578
+ bus station code may be local specific.
1579
+ -->
1580
+ <!ELEMENT Place (Address?)>
1581
+ <!ATTLIST Place
1582
+ code %string; #IMPLIED
1583
+ domain %string; #IMPLIED
1584
+ >
1585
+
1586
+ <!--
1587
+ Defines places such as city, airport or railway where trip or leg originated.
1588
+ -->
1589
+ <!ELEMENT LegOrigin (Place)>
1590
+
1591
+ <!--
1592
+ Defines places such as city, airport or railway code where trip or leg ended.
1593
+ -->
1594
+ <!ELEMENT LegDestination (Place)>
1595
+ <!--
1596
+ For cXML license agreement information, please see
1597
+ http://www.cxml.org/home/license.asp
1598
+
1599
+ $Id: //ariba/cxml/schema/Modules/Transaction.mod#23 $
1600
+ -->
1601
+
1602
+ <!--
1603
+ For better definitions of these Elements/Entities, refer to the cXML
1604
+ Transaction Specification documents.
1605
+ -->
1606
+ <!--
1607
+ Detailed per-unit asset information for a line item.
1608
+
1609
+ Extrinsic
1610
+ Additional per-unit asset information
1611
+
1612
+ serialNumber
1613
+ Manufacturer's serial number for the unit
1614
+
1615
+ tagNumber
1616
+ Asset tag number for the unit
1617
+
1618
+ location
1619
+ location of the unit
1620
+ -->
1621
+ <!ELEMENT AssetInfo (Extrinsic*)>
1622
+ <!ATTLIST AssetInfo
1623
+ tagNumber %string; #IMPLIED
1624
+ serialNumber %string; #IMPLIED
1625
+ location %string; #IMPLIED
1626
+ >
1627
+
1628
+ <!-- Basic transactional elements used throughout -->
1629
+
1630
+ <!--
1631
+ Defines gross amount in posted currency.
1632
+ -->
1633
+ <!ELEMENT TotalAmountInPostedCurrency (Money)>
1634
+
1635
+ <!--
1636
+ Defines gross amount in billing currency. If specified, customer
1637
+ needs to pay this amount.
1638
+ -->
1639
+ <!ELEMENT TotalAmountInBillingCurrency (Money)>
1640
+
1641
+ <!--
1642
+ The bill to for an item.
1643
+ -->
1644
+ <!ELEMENT BillTo (Address)>
1645
+
1646
+ <!--
1647
+ The ship to for a item.
1648
+ -->
1649
+ <!ELEMENT ShipTo (Address)>
1650
+
1651
+ <!--
1652
+ Definition of a cXML Shipping item. Represents a shipping cost in the
1653
+ shopping basket (PunchOutOrderMessage) or an order to the supplier
1654
+ (OrderRequest). There could be one of these for the entire order, or one
1655
+ per lineitem.
1656
+
1657
+ trackingDomain
1658
+ represents the logistics supplier, I.E., "FedEx", "UPS", etc.
1659
+
1660
+ trackingId
1661
+ an optional element value that represents the logistics supplier
1662
+ tracking number
1663
+
1664
+ tracking
1665
+ Deprecated - Do Not Use
1666
+ -->
1667
+ <!ELEMENT Shipping (Money, Description)>
1668
+ <!ATTLIST Shipping
1669
+ trackingDomain %string; #IMPLIED
1670
+ trackingId %string; #IMPLIED
1671
+ tracking %string; #IMPLIED
1672
+ >
1673
+
1674
+ <!--
1675
+ Defines discount applied.
1676
+
1677
+ DiscountAmount
1678
+ The discount expressed as a flat amount with currency.
1679
+
1680
+ DiscountPercent
1681
+ The discount rate expressed as a percentage.
1682
+ -->
1683
+ <!ELEMENT Discount (DiscountPercent | DiscountAmount)>
1684
+
1685
+ <!--
1686
+ Defines the discount rate
1687
+
1688
+ percent
1689
+ The discount rate expressed as a percentage. A negative discount percent
1690
+ represents a penalty.
1691
+ -->
1692
+ <!ELEMENT DiscountPercent EMPTY>
1693
+ <!ATTLIST DiscountPercent
1694
+ percent %r8; #REQUIRED
1695
+ >
1696
+
1697
+ <!--
1698
+ Defines a payment term in an invoice or order. This deprecates the
1699
+ InvoiceDetailPaymentTerm previously defined. Payment term can be the
1700
+ net term (without discount) or discount term (with discount).
1701
+
1702
+ payInNumberOfDays
1703
+ The number of days after invoice effective date for the invoice to be paid.
1704
+
1705
+ Discount
1706
+ The percentage or amount of the discount term. This element should be omitted
1707
+ if the payment term is a net term.
1708
+ -->
1709
+ <!ELEMENT PaymentTerm (Discount?)>
1710
+ <!ATTLIST PaymentTerm
1711
+ payInNumberOfDays %uint; #REQUIRED
1712
+ >
1713
+
1714
+ <!--
1715
+ The list of valid payment types.
1716
+ -->
1717
+ <!ENTITY % cxml.payment "PCard">
1718
+ <!ELEMENT Payment (%cxml.payment;)>
1719
+
1720
+ <!--
1721
+ Defines an accounting segment. Segment is an older, deprecated way to
1722
+ transport this information.
1723
+
1724
+ type
1725
+ The accounting type of this segment.
1726
+
1727
+ id
1728
+ The unique key of this Segment against the type.
1729
+
1730
+ description
1731
+ Textual description of the Segment. For human readability.
1732
+ -->
1733
+ <!ELEMENT Segment EMPTY>
1734
+ <!ATTLIST Segment
1735
+ type %string; #REQUIRED
1736
+ id %string; #REQUIRED
1737
+ description %string; #REQUIRED
1738
+ >
1739
+
1740
+ <!--
1741
+ Defines an accounting segment. AccountingSegment is the newer, better
1742
+ way to transport this information. Name corresponds to the type
1743
+ attribute of Segment; Description corresponds to description. Both add
1744
+ required locale attributes to the strings.
1745
+
1746
+ id
1747
+ The unique key of this Segment against the type.
1748
+ -->
1749
+ <!ELEMENT AccountingSegment ( Name, Description )>
1750
+ <!ATTLIST AccountingSegment
1751
+ id %string; #REQUIRED
1752
+ >
1753
+
1754
+ <!--
1755
+ An accounting object. Use of the Segment element here is deprecated.
1756
+
1757
+ name
1758
+ The name of the object containing the specified accounting segments.
1759
+ -->
1760
+ <!ENTITY % cxml.accounting "( Segment+ | AccountingSegment+ )">
1761
+ <!ELEMENT Accounting (%cxml.accounting;)>
1762
+ <!ATTLIST Accounting
1763
+ name %string; #REQUIRED
1764
+ >
1765
+
1766
+ <!--
1767
+ A charge against an Accounting element.
1768
+ -->
1769
+ <!ELEMENT Charge (Money)>
1770
+
1771
+ <!--
1772
+ The combination of a Charge against an Accounting Element. A distribution
1773
+ represents the breakdown of one overall amount into sub-amounts.
1774
+ -->
1775
+ <!ELEMENT Distribution (Accounting, Charge)>
1776
+
1777
+ <!ELEMENT TaxAmount (Money)>
1778
+
1779
+ <!ELEMENT TaxableAmount (Money)>
1780
+
1781
+ <!--
1782
+ One language-specific string for the location of tax,
1783
+ e.g. London, Canada, California, etc.
1784
+
1785
+ xml:lang
1786
+ The language or locale in which the location of tax is written.
1787
+ -->
1788
+ <!ELEMENT TaxLocation (#PCDATA)> <!-- string -->
1789
+ <!ATTLIST TaxLocation
1790
+ xml:lang %xmlLangCode; #REQUIRED
1791
+ >
1792
+
1793
+ <!--
1794
+
1795
+ TriangularTransactionLawReference indicates the relevant law as
1796
+ titled for the local jurisdiction in the scenario of a triangular
1797
+ transaction. ex: Triangulation, article 28c,E paragraph 3 of the
1798
+ 6th EU VAT Directive
1799
+
1800
+ xml:lang
1801
+ the language in which the law reference is written.
1802
+ -->
1803
+ <!ELEMENT TriangularTransactionLawReference (#PCDATA)>
1804
+ <!ATTLIST TriangularTransactionLawReference
1805
+ xml:lang %xmlLangCode; #REQUIRED
1806
+ >
1807
+
1808
+ <!--
1809
+ Defines details of one type of tax.
1810
+
1811
+ TaxableAmount
1812
+ The taxable amount.
1813
+
1814
+ TaxAmount
1815
+ The tax amount.
1816
+
1817
+ TaxLocation
1818
+ The tax location.
1819
+
1820
+ Description
1821
+ The textual description of the current type of tax.
1822
+
1823
+ TriangularTransactionLawReference
1824
+ The law reference for transactions where isTriangularTransaction is True
1825
+
1826
+ purpose
1827
+ The purpose of the tax, e.g., tax (tax), custom duty, shippingTax,
1828
+ specialHandlingTax, etc.
1829
+
1830
+ category
1831
+ The tax category, Sales tax (sales), Use tax (usage), VAT (vat),
1832
+ GST (gst) are defined categories. Other values are permitted.
1833
+
1834
+ percentageRate
1835
+ The tax rate in number of percentage.
1836
+
1837
+ isVatRecoverable
1838
+ True if the VAT is recoverable. Default is false.
1839
+
1840
+ taxPointDate
1841
+ refers to the date on which VAT becomes due.
1842
+
1843
+ paymentDate
1844
+ indicate the date when payment must be made.
1845
+
1846
+ isTriangularTransaction
1847
+ True if the transaction is triangular. Default is false.
1848
+ -->
1849
+ <!ELEMENT TaxDetail (TaxableAmount?, TaxAmount, TaxLocation?, Description?,
1850
+ TriangularTransactionLawReference?)>
1851
+ <!ATTLIST TaxDetail
1852
+ purpose %string; #IMPLIED
1853
+ category %string; #REQUIRED
1854
+ percentageRate %r8; #IMPLIED
1855
+ isVatRecoverable (yes) #IMPLIED
1856
+ taxPointDate %datetime.tz; #IMPLIED
1857
+ paymentDate %datetime.tz; #IMPLIED
1858
+ isTriangularTransaction (yes) #IMPLIED
1859
+ >
1860
+
1861
+ <!--
1862
+ Definition of a cXML Tax item. This represents what a Tax element should
1863
+ be in the classic notion of a line on a PO or Invoice. It can also
1864
+ represent a per-lineitem tax element depending on where it appears
1865
+ (inside of a item ELEMENT or inside of a something like a supplierOrder
1866
+ ELEMENT).
1867
+
1868
+ Represents a tax item in the shopping basket. There could be one of these
1869
+ for the entire order, or one per lineitem.
1870
+
1871
+ The total amount of taxes for the line item or order should be reflected
1872
+ in the Money element. The breakdown of taxes, for example, tax on shipping
1873
+ or tax on goods should be represented in separate TaxDetail elements.
1874
+ -->
1875
+ <!ELEMENT Tax (Money, Description, TaxDetail*)>
1876
+
1877
+ <!-- Item Elements -->
1878
+ <!--
1879
+ The representation of a line item as it needs to be for sending to a
1880
+ supplier.
1881
+
1882
+ quantity
1883
+ How many items are desired. Supplier and Commodity level items in an order of type
1884
+ "blanket" will use a default value of "1". The quantity in this case will not be
1885
+ used to compute the sub total. The MaxAmount in the BlanketItemDetail will be
1886
+ used to indicate any line level amounts.
1887
+ lineNumber
1888
+ Position (counting from 1) of this item in an order. Used to
1889
+ maintain a reference between items in create and update OrderRequest
1890
+ documents.
1891
+ requisitionID
1892
+ The buyers system requisition id for this line item. It might be the
1893
+ same as orderID, and it might not be included at all. Must not be
1894
+ included if requisitionID is specified in the OrderRequestHeader.
1895
+ requestedDeliveryDate
1896
+ The date this item was requested for delivery.
1897
+ agreementItemNumber
1898
+ The corresponding Item Number of the Item in the Master Agreement if this is
1899
+ a 'release' order item.
1900
+ -->
1901
+ <!ELEMENT ItemOut (ItemID, Path?, (ItemDetail|BlanketItemDetail)?, (SupplierID | SupplierList)?, ShipTo?, Shipping?,
1902
+ Tax?, SpendDetail?, Distribution*, Contact*, Comments?)>
1903
+ <!ATTLIST ItemOut
1904
+ quantity %r8; #REQUIRED
1905
+ lineNumber %uint; #IMPLIED
1906
+ requisitionID %string; #IMPLIED
1907
+ agreementItemNumber %string; #IMPLIED
1908
+ requestedDeliveryDate %date; #IMPLIED
1909
+ isAdHoc (yes) #IMPLIED
1910
+ >
1911
+
1912
+ <!--
1913
+ The representation of a line item as it needs to be for sending to a
1914
+ buyer.
1915
+
1916
+ quantity
1917
+ How many items are desired.
1918
+ lineNumber
1919
+ Position (counting from 1) of this item in an order. Used to
1920
+ maintain a reference between items in create and update OrderRequest
1921
+ documents.
1922
+ -->
1923
+ <!ELEMENT ItemIn (ItemID, Path?, ItemDetail, SupplierID?, ShipTo?, Shipping?, Tax?, SpendDetail?)>
1924
+ <!ATTLIST ItemIn
1925
+ quantity %r8; #REQUIRED
1926
+ lineNumber %uint; #IMPLIED
1927
+ >
1928
+
1929
+ <!--
1930
+ StatusUpdate for Confirmation (type=RequestToPay) request.
1931
+
1932
+ transactionTimestamp
1933
+ time when the XMLPay transaction was submitted
1934
+
1935
+ transactionID
1936
+ an identifier assisgned to the transaction by the payment processing gateway
1937
+
1938
+ authorizationID
1939
+ the authorization code for the transaction provided by the bank
1940
+
1941
+ isFailed
1942
+ should have a status code greater than zero. Zero implies a successful transaction.
1943
+ -->
1944
+ <!ELEMENT PaymentStatus (PCard, Total, Shipping?, Tax?, Extrinsic*)>
1945
+ <!ATTLIST PaymentStatus
1946
+ orderID %string; #REQUIRED
1947
+ transactionTimestamp %datetime.tz; #REQUIRED
1948
+ type (Authorization| Settlement| Sale| Credit) #REQUIRED
1949
+ isFailed (yes) #IMPLIED
1950
+ transactionID %string; #IMPLIED
1951
+ authorizationID %string; #IMPLIED
1952
+ >
1953
+
1954
+ <!--
1955
+ Partial amount paid against an InvoiceDetail request. Used in InvoiceStatus.
1956
+ If this element exists in an InvoiceStatus element, it should mean that the buyer
1957
+ does not pay the full amount as the InvoiceDetail request specified.
1958
+ -->
1959
+ <!ELEMENT PartialAmount (Money)>
1960
+
1961
+ <!--
1962
+ StatusUpdate for InvoiceDetail request.
1963
+
1964
+ InvoiceIDInfo
1965
+ ID of an invoice known to the supplier system. This attribute is used to reference an invoice in StatusUpdateRequest when DocumentReference is omitted.
1966
+
1967
+ PartialAmount
1968
+ The partial amount paid against the InvoiceDetail document. This attribute is
1969
+ only relevant when the status type is "paid".
1970
+
1971
+ Comments
1972
+ Comments associated with the status update.
1973
+
1974
+ type
1975
+ Type of the invoice status.
1976
+ processing - The invoice is received and being processed.
1977
+ canceled - The invoice has been canceled.
1978
+ reconciled - The invoice is reconciled.
1979
+ rejected - The invoice is rejected.
1980
+ paying - The invoice is being paid.
1981
+ paid - The InvoiceDetail request is paid.
1982
+ -->
1983
+
1984
+ <!ELEMENT InvoiceStatus (InvoiceIDInfo?, PartialAmount?, Comments*)>
1985
+ <!ATTLIST InvoiceStatus
1986
+ type (processing | canceled | reconciled | rejected | paying | paid) #REQUIRED
1987
+ >
1988
+
1989
+ <!-- OrderRequest* Elements -->
1990
+ <!--
1991
+ Definition of an order. This is the data that is sent to the supplier
1992
+ to have them place an order in their order management system. The new
1993
+ world order equivalent of a PO.
1994
+ -->
1995
+ <!ELEMENT OrderRequest (OrderRequestHeader, ItemOut+)>
1996
+
1997
+ <!--
1998
+ Header of an order. This is the data that is sent to the supplier
1999
+ to have them place an order in their order management system. Money
2000
+ represents the total amount of this order.
2001
+
2002
+ orderID
2003
+ The buyer system orderID for this request. This is an internal
2004
+ Buyer unique number.
2005
+
2006
+ orderVersion
2007
+ The buyer system order version number for this request. Relevant when
2008
+ the OrderRequest represents a change order request. The version number
2009
+ for the original document should be 1 and should be incremented by 1 for
2010
+ each subsequent version (2,3,4...).
2011
+
2012
+ isInternalVersion
2013
+ A value of yes indicates that this OrderRequest is a version whose changes from
2014
+ the previous version are deemed internal to the buyer system. Relevant when the
2015
+ version being sent to the supplier is not the first version.
2016
+
2017
+ orderDate
2018
+ The date and time the order request was created.
2019
+
2020
+ type
2021
+ The type of the order request. Defaults to "new".
2022
+
2023
+ requisitionID
2024
+ The buyers system requisition id for this entire order. It might be
2025
+ the same as orderID, and it might not be included at all. Must not
2026
+ be included if requisitionID is specified in any ItemOut elements.
2027
+
2028
+ shipComplete
2029
+ Optional preference for "hold until complete" processing. Defaults
2030
+ to shipping when available if not specified. Future versions of the
2031
+ protocol may extend the datatype of this attribute to include
2032
+ additional possible values (such as "unlessGreatlyBackOrdered"?).
2033
+ orderType
2034
+ "release", indicates that this is a Release Order from an existing
2035
+ Master Agreement/ Contract. Default is regular. Type "blanket" indicates
2036
+ that this order is a Blanket Order.
2037
+ releaseRequired
2038
+ "yes" if the blanket order allows released. Currently used only if
2039
+ orderType is "blanket".
2040
+ effectiveDate
2041
+ Date the order is available for ordering. If orderType is "blanket",
2042
+ effectiveDate is required. Otherwise it is optional. Currently only
2043
+ used with blanket orders.
2044
+ expirationDate
2045
+ Date the order is no longer available. If not defined, end date is open
2046
+ ended. Currently only used with blanket orders.
2047
+ agreementID
2048
+ Identifies associated agreement corresponding to the Release Order.
2049
+ At an implementation level it has to be validated that if the orderType
2050
+ is 'release' then the appropriate agreementID is also provided.
2051
+ agreementPayloadID
2052
+ Optional PayloadID for the corresponding Master Agreement.
2053
+
2054
+ parentAgreementID
2055
+ Used only in the context of a Order of type "blanket". This identifies the
2056
+ parent blanket order if the current order is part of an hierarchy.
2057
+
2058
+ parentAgreementPayloadID
2059
+ Optional PayloadID for the corresponding Master Agreement.
2060
+
2061
+ Total
2062
+ If the Order is of type "blanket", the Total element is not used to compute
2063
+ the sum of the item level subtotals. The total is used to indicate the maximum
2064
+ commitment with the supplier. The total will not add upto the individual item
2065
+ level sub total or MaxAmounts. The item level MaxAmounts should not exceed the
2066
+ header level total. If the item level MaxAmount is not specified it is assumed
2067
+ that the Item level maximum amount is the same as the Total.
2068
+
2069
+ The contained DocumentReference element would appear in a document only
2070
+ when the type is "update" or "delete". In that case, the
2071
+ DocumentReference would reference the most recent OrderRequest document
2072
+ for the order. For example when an order is created, updated and then
2073
+ deleted, the final document should contain a DocumentReference
2074
+ referring to the OrderRequest with type="update". That document would,
2075
+ in turn, refer to the original (type="new") OrderRequest document.
2076
+ -->
2077
+ <!ELEMENT OrderRequestHeader (Total, ShipTo?, BillTo, Shipping?, Tax?,
2078
+ Payment?, PaymentTerm*, Contact*, Comments?, Followup?,
2079
+ DocumentReference?, SupplierOrderInfo?, Extrinsic*)>
2080
+ <!ATTLIST OrderRequestHeader
2081
+ orderID %string; #REQUIRED
2082
+ orderDate %datetime.tz; #REQUIRED
2083
+ orderType (release| regular | blanket) "regular"
2084
+ releaseRequired (yes) #IMPLIED
2085
+ type (new | update | delete) "new"
2086
+ orderVersion %number; #IMPLIED
2087
+ isInternalVersion (yes) #IMPLIED
2088
+ parentAgreementID %string; #IMPLIED
2089
+ parentAgreementPayloadID %string; #IMPLIED
2090
+ effectiveDate %datetime.tz; #IMPLIED
2091
+ expirationDate %datetime.tz; #IMPLIED
2092
+ agreementID %string; #IMPLIED
2093
+ agreementPayloadID %string; #IMPLIED
2094
+ requisitionID %string; #IMPLIED
2095
+ shipComplete (yes) #IMPLIED
2096
+ >
2097
+ <!--
2098
+ Definition of a Master Agreement. This is the electronic document representing the
2099
+ Master Agreement that was created and agreed upon in the Buying organizations.
2100
+ -->
2101
+ <!ELEMENT MasterAgreementRequest (MasterAgreementRequestHeader, AgreementItemOut*)>
2102
+
2103
+ <!--
2104
+ Header of an Agreement. This is the header level information in the Agreement.
2105
+ agreementID
2106
+ The buyer system agreementID for this request. the Master Agreement Number in Buyer.
2107
+ agreementDate
2108
+ The date and time the agreement request was created.
2109
+ This is different from the effective and expiry date of the agreement.
2110
+ agreementType
2111
+ Identifies if this is a Value based agreement or quantity based Agreement.
2112
+ requestType
2113
+ The type of the agreement request. Defaults to "new".
2114
+ effectiveDate
2115
+ Date the Master Agreement is available for ordering/releases.
2116
+ expirationDate
2117
+ Date the Master Agreement is no longer available.
2118
+ parentAgreementPayloadID
2119
+ PayloadID for the corresponding parent document that this agreement is derived from.
2120
+ operation:
2121
+ "delete" operation will be used to cancel an existing Master Agreement, the
2122
+ assumption here is that the delete request will be an exact replica of the
2123
+ original request.
2124
+ "new" operation identifies a new MasterAgreement transaction.
2125
+ "update" operation identified an update to an existing transaction.
2126
+ the DocumentReference attribute should be used to indicate the Orignal
2127
+ Document information.
2128
+ Note:
2129
+ Use "Contact" element to supply any additional Address or Location information.
2130
+ -->
2131
+
2132
+ <!ELEMENT MasterAgreementRequestHeader (MaxAmount?, MinAmount?,
2133
+ MaxReleaseAmount?, MinReleaseAmount?,
2134
+ Contact*,Comments?, DocumentReference?, Extrinsic*)>
2135
+ <!ATTLIST MasterAgreementRequestHeader
2136
+ agreementID %string; #REQUIRED
2137
+ agreementDate %datetime.tz; #REQUIRED
2138
+ type (value | quantity) "value"
2139
+ effectiveDate %datetime.tz; #REQUIRED
2140
+ expirationDate %datetime.tz; #REQUIRED
2141
+ parentAgreementPayloadID %string; #IMPLIED
2142
+ operation (new | update | delete) "new"
2143
+ >
2144
+
2145
+ <!--
2146
+ The representation of a agreement line item as it needs to be for sending to a
2147
+ supplier.
2148
+ maxQuantity
2149
+ maximum quantity for this particular lineItem
2150
+ minQuantity
2151
+ minimum quantity for this particular lineItem
2152
+ maxReleaseQuantity
2153
+ maximum quantity per release for this particular lineItem
2154
+ minReleaseQuantity
2155
+ minimum quantity per release for this particular lineItem
2156
+
2157
+ Note :
2158
+ The #lineNumber attribute in the <ItemOut> will be used to specify the corresponding
2159
+ lineNumber on the Master Agreement in the Procurement Application.
2160
+ At an implementation, level checks should be made to validate this.
2161
+ Note :
2162
+ The quantity attribute in the ItemOut tag should be set to one and ignored at
2163
+ the Mater Agreement implementation processing stage.
2164
+ Note :
2165
+ The MaxReleaseAmount/Quantity and MinReleaseAmount/Quantity at an item level i
2166
+ indicate the ItemLevel amounts and quantities per release.
2167
+ -->
2168
+ <!ELEMENT AgreementItemOut (MaxAmount?, MinAmount?, MaxReleaseAmount?, MinReleaseAmount?, ItemOut)>
2169
+ <!ATTLIST AgreementItemOut
2170
+ maxQuantity %r8; #IMPLIED
2171
+ minQuantity %r8; #IMPLIED
2172
+ maxReleaseQuantity %r8; #IMPLIED
2173
+ minReleaseQuantity %r8; #IMPLIED
2174
+ >
2175
+
2176
+ <!--
2177
+ The maximum amount for something.
2178
+ -->
2179
+ <!ELEMENT MaxAmount (Money)>
2180
+
2181
+ <!--
2182
+ The minimum amount for something.
2183
+ -->
2184
+ <!ELEMENT MinAmount (Money)>
2185
+
2186
+ <!--
2187
+ The contractual maximum amount per Release of this Master Agreement.
2188
+ -->
2189
+ <!ELEMENT MaxReleaseAmount (Money)>
2190
+
2191
+ <!--
2192
+ The contractual minimum amount per Release of this Master Agreement
2193
+ -->
2194
+ <!ELEMENT MinReleaseAmount (Money)>
2195
+
2196
+
2197
+ <!--
2198
+ The maximum quantity for something.
2199
+ -->
2200
+ <!ELEMENT MaxQuantity (#PCDATA)> <!-- number -->
2201
+
2202
+ <!--
2203
+ The minimum quantity for something.
2204
+ -->
2205
+ <!ELEMENT MinQuantity (#PCDATA)> <!-- number -->
2206
+
2207
+
2208
+ <!-- Followup
2209
+
2210
+ Location to which future StatusUpdateRequest documents should be
2211
+ posted. In general, this is the input location for any later
2212
+ documents which reference the current OrderRequest document.
2213
+ -->
2214
+ <!ELEMENT Followup (URL)>
2215
+
2216
+ <!-- PunchOut* Elements -->
2217
+ <!--
2218
+ Definition of a PunchOut Setup Request. This is the data that is sent
2219
+ to the external system that the procurement application is going to
2220
+ extract catalog data from.
2221
+
2222
+ The BrowserFormPost element contains the URL we would like the browser
2223
+ re-directed to when the PunchOut shopping experience is finished (where
2224
+ the PunchOutOrder message should be returned).
2225
+ -->
2226
+ <!ELEMENT PunchOutSetupRequest (BuyerCookie, Extrinsic*, BrowserFormPost?,
2227
+ Contact*, SupplierSetup?, ShipTo?,
2228
+ SelectedItem?, ItemOut*)>
2229
+ <!ATTLIST PunchOutSetupRequest
2230
+ operation (create | inspect | edit | source) #REQUIRED
2231
+ >
2232
+
2233
+ <!ELEMENT BuyerCookie ANY> <!-- any valid XML data -->
2234
+
2235
+ <!ELEMENT SelectedItem (ItemID)>
2236
+ <!ELEMENT SupplierSetup (URL)>
2237
+
2238
+ <!ELEMENT PunchOutSetupResponse (StartPage)>
2239
+
2240
+ <!--
2241
+ Definition of a PunchOut Order Message. This is the data that is sent
2242
+ back to the procurement application from the external system that the
2243
+ PunchOut Request was targeted at.
2244
+ -->
2245
+ <!ELEMENT PunchOutOrderMessage (BuyerCookie, PunchOutOrderMessageHeader,
2246
+ ItemIn*)>
2247
+
2248
+ <!--
2249
+ Header of a PunchOut Order Request. This is the data that is sent from
2250
+ the supplier to transfer the supplier acquired shopping basket back to
2251
+ the buyer system.
2252
+
2253
+ operationAllowed
2254
+ Highest operation allowed on the PunchOut shopping basket.
2255
+ "create" allows only later OrderRequest operations on these items.
2256
+ "inspect" adds a PunchOutSetupRequest with operation="inspect".
2257
+ And, "edit" allows operation="edit" in that later Setup request.
2258
+
2259
+ quoteStatus
2260
+ "pending" - Identifies that the transaction is still pending
2261
+ "final" - Identifies that the transaction is complete
2262
+ -->
2263
+ <!ELEMENT PunchOutOrderMessageHeader (SourcingStatus?, Total, ShipTo?, Shipping?, Tax?, SupplierOrderInfo?)>
2264
+ <!ATTLIST PunchOutOrderMessageHeader
2265
+ operationAllowed (create | inspect | edit) #REQUIRED
2266
+ quoteStatus (pending|final) "final"
2267
+ >
2268
+
2269
+ <!-- ====
2270
+ Other small Request elements.
2271
+ ==== -->
2272
+
2273
+ <!--
2274
+ Request to update the status of an earlier transaction.
2275
+
2276
+ DocumentReference
2277
+ A reference by payloadID to a cXML document to be updated. This
2278
+ element can be omitted only when InvoiceStatus is specified and
2279
+ the InvoiceStatus contains InvoiceIDInfo.
2280
+
2281
+ -->
2282
+ <!ENTITY % cxml.statuses "(PaymentStatus |
2283
+ SourcingStatus | InvoiceStatus)">
2284
+ <!ELEMENT StatusUpdateRequest (DocumentReference?, Status, (%cxml.statuses;)?)>
2285
+
2286
+ <!--
2287
+ A reference to an attachment containing cXML document.
2288
+
2289
+ Attachment
2290
+ A reference to the attachment containing a cXML document. The
2291
+ attachment must be either a single, complete cXML document or another
2292
+ MIME envelope containing a single, complete cXML document with
2293
+ attachments.
2294
+ -->
2295
+ <!ELEMENT cXMLAttachment (Attachment)>
2296
+
2297
+ <!--
2298
+ Request to forward a cXML document to another party. This Request
2299
+ occurs in multiple DTD files and is used depending on where (in which
2300
+ DTD) the forwarded message resides.
2301
+
2302
+ cXMLAttachment
2303
+ A reference to the attachment containing the cXML document being
2304
+ forwarded. Refer to cXMLAttachment for more details.
2305
+
2306
+ cXML
2307
+ Deprecated - Do Not Use.
2308
+ -->
2309
+ <!ELEMENT CopyRequest (cXMLAttachment | cXML)>
2310
+
2311
+ <!--
2312
+ Status for a pre-existing sourcing transaction. The textual content indicates
2313
+ the display information. "action" attribute defines the context of this message
2314
+ based on the value.
2315
+
2316
+ approve : Approve the pending transaction
2317
+ deny : deny pending transaction
2318
+ cancel : cancel any preexisting transaction.
2319
+
2320
+ -->
2321
+ <!ELEMENT SourcingStatus (#PCDATA)>
2322
+ <!ATTLIST SourcingStatus
2323
+ action (approve | cancel | deny ) #IMPLIED
2324
+ xml:lang %xmlLangCode; #REQUIRED>
2325
+ <!--
2326
+ For cXML license agreement information, please see
2327
+ http://www.cxml.org/home/license.asp
2328
+
2329
+ $Id: //ariba/cxml/schema/Modules/Transaction.mod#5 $
2330
+ -->
2331
+
2332
+ <!--
2333
+ For better definitions of these Elements/Entities, refer to the cXML
2334
+ Transaction Specification documents.
2335
+ -->
2336
+
2337
+ <!-- Basic financial elements used throughout -->
2338
+
2339
+ <!--
2340
+ The following defines a list of money amounts.
2341
+
2342
+ DepositAmount
2343
+ The amount of deposit or prepayment.
2344
+
2345
+ SubtotalAmount
2346
+ The subtotal amount.
2347
+
2348
+ DiscountAmount
2349
+ Defines the discount amount
2350
+
2351
+ SpecialHandlingAmount
2352
+ The special handling amount.
2353
+
2354
+ ShippingAmount
2355
+ The shipping amount.
2356
+
2357
+ GrossAmount
2358
+ The gross amount.
2359
+
2360
+ NetAmount
2361
+ The net amount.
2362
+
2363
+ DueAmount
2364
+ The due amount.
2365
+
2366
+ FeeAmount
2367
+ Defines gross amount of the fee associated with a purchase
2368
+ in original currency.
2369
+ -->
2370
+ <!ELEMENT DepositAmount (Money)>
2371
+
2372
+ <!ELEMENT SubtotalAmount (Money)>
2373
+
2374
+ <!ELEMENT SpecialHandlingAmount (Money, Description?)>
2375
+
2376
+ <!ELEMENT ShippingAmount (Money)>
2377
+
2378
+ <!ELEMENT GrossAmount (Money)>
2379
+
2380
+ <!ELEMENT NetAmount (Money)>
2381
+
2382
+ <!ELEMENT DueAmount (Money)>
2383
+
2384
+ <!ELEMENT DiscountAmount (Money)>
2385
+
2386
+ <!ELEMENT FeeAmount (Money)>
2387
+
2388
+ <!--
2389
+ Defines a Purchasing Card element used for payment
2390
+ -->
2391
+ <!ELEMENT PCard (PostalAddress?)>
2392
+ <!ATTLIST PCard
2393
+ number %number; #REQUIRED
2394
+ expiration %date; #REQUIRED
2395
+ name %string; #IMPLIED
2396
+ >
2397
+
2398
+ <!--
2399
+ For cXML license agreement information, please see
2400
+ http://www.cxml.org/home/license.asp
2401
+
2402
+ $Id$
2403
+ -->
2404
+
2405
+ <!--
2406
+ This element captures spend detail information. SpendDetail can
2407
+ be used in the ItemIn and ItemOut and for the following types of
2408
+ messages:
2409
+
2410
+ PunchOutSetupRequest
2411
+ PunchOutOrderMessage
2412
+ OrderRequest
2413
+ ConfirmationRequest
2414
+
2415
+ But not for:
2416
+
2417
+ MasterAgreementRequest
2418
+
2419
+ TravelDetail
2420
+ Travel details for the current travel line item.
2421
+
2422
+ LaborDetail
2423
+ Labor details for the current temporary labor line item.
2424
+
2425
+ FeeDetail
2426
+ Fee details for the current fee line item.
2427
+
2428
+ Extrinsic
2429
+ Detail information for the any undefined spend category. The name
2430
+ attribute of the Extrinsic element should specify the type of the
2431
+ spend category (e.g., (PrintDetail, ProjectLaborDetail))
2432
+
2433
+ -->
2434
+ <!ELEMENT SpendDetail (TravelDetail | FeeDetail | LaborDetail | Extrinsic)>
2435
+
2436
+ <!--
2437
+ FeeDetail contains additional information about a line item for a fee,
2438
+ which may or may not be recurring.
2439
+
2440
+ UnitRate
2441
+ The amount(s) to be paid per unit (of time or other measure).
2442
+ In the case of multiple UnitRates (i.e., a "rate schedule"), it is
2443
+ customary and expected that each UnitRate will include a
2444
+ TermReference to distinguish them.
2445
+
2446
+ Period
2447
+ The Period of time over which the fee is charged, if applicable.
2448
+
2449
+ isRecurring
2450
+ Indicates that the fee is recurring (charged more than once).
2451
+ -->
2452
+ <!ELEMENT FeeDetail (UnitRate+, Period?) >
2453
+ <!ATTLIST FeeDetail
2454
+ isRecurring (yes) #IMPLIED
2455
+ >
2456
+ <!--
2457
+ For cXML license agreement information, please see
2458
+ http://www.cxml.org/home/license.asp
2459
+
2460
+ $Id: $
2461
+ -->
2462
+
2463
+ <!--
2464
+ LaborDetail contains information about an item for a temporary
2465
+ labor engagement.
2466
+
2467
+ UnitRate
2468
+ The amount(s) to be paid per unit (of time or other measure).
2469
+ In the case of multiple UnitRates (i.e., a "rate schedule"), it is
2470
+ customary and expected that each UnitRate will include a
2471
+ TermReference to distinguish them.
2472
+
2473
+ Period
2474
+ The Period of time over which the service occurs.
2475
+
2476
+ Contractor
2477
+ Identifies the contractor being engaged
2478
+
2479
+ JobDescription
2480
+ Description of the job or work to be performed.
2481
+
2482
+ Supervisor
2483
+ The person who is expected to supervise the contractor.
2484
+
2485
+ WorkLocation
2486
+ Place where the work is expected to be performed.
2487
+
2488
+ supplierReferenceCode
2489
+ The supplier's quote or proposal id, for cross-reference.
2490
+ -->
2491
+ <!ELEMENT LaborDetail (UnitRate+, Period, Contractor?, JobDescription?, Supervisor?, WorkLocation?, Extrinsic*)>
2492
+ <!ATTLIST LaborDetail
2493
+ supplierReferenceCode %string; #IMPLIED
2494
+ >
2495
+ <!-- Text description of a job (service)-->
2496
+ <!ELEMENT JobDescription (Description)>
2497
+ <!-- Contact information for the person supervising a job (service)-->
2498
+ <!ELEMENT Supervisor (Contact)>
2499
+ <!-- Address of the location where a service is to be performed-->
2500
+ <!ELEMENT WorkLocation (Address)>
2501
+ <!--
2502
+ Definition of a Contractor used in the context of temp labor.
2503
+ The contractor is uniquely identified by a contractor identifier.
2504
+ The piece of identification for a contractor is exchanged between
2505
+ the buyer and the supplier prior to sending out order/timecards.
2506
+ -->
2507
+ <!--
2508
+ Definition of a Contractor used in the context of temp labor.
2509
+ The contractor is uniquely identified by a contractor identifier.
2510
+ The piece of identification for a contractor is exchanged between
2511
+ the buyer and the supplier prior to sending out order/timecards.
2512
+ -->
2513
+ <!ELEMENT Contractor (ContractorIdentifier, Contact)>
2514
+
2515
+ <!--
2516
+ Definition of a ContractorIdentifier. uniquely identifies a contractor.
2517
+
2518
+ domain
2519
+ in what domain the identity is represented. This is for the
2520
+ end systems to know who assigned the id. buyerReferenceID
2521
+ implies that it is something generated by the buyer system
2522
+ and supplierReferenceID implies that it is something generated
2523
+ by the supplier system/entered by the supplier.
2524
+ -->
2525
+ <!ELEMENT ContractorIdentifier (#PCDATA)>
2526
+ <!ATTLIST ContractorIdentifier
2527
+ domain (supplierReferenceID|buyerReferenceID) #REQUIRED
2528
+ >
2529
+
2530
+ <!--
2531
+ For cXML license agreement information, please see
2532
+ http://www.cxml.org/home/license.asp
2533
+
2534
+ $Id: //ariba/cxml/schema/Modules/Reference.mod#6 $
2535
+ -->
2536
+
2537
+ <!--
2538
+ For better definitions of these Elements/Entities, refer to the cXML
2539
+ User's Guide and related documents.
2540
+ -->
2541
+
2542
+ <!--
2543
+ The OrderReference element provides a clear reference to a prior
2544
+ OrderRequest document. While the contained DocumentReference provides
2545
+ an unambiguous reference, the additional attributes of the
2546
+ OrderReference may allow the ConfirmationRequest and ShipNoticeRequest
2547
+ to be viewed independently.
2548
+
2549
+ orderID
2550
+ The buyer system orderID for this request. Basically, what the PO
2551
+ number is today. If present, must be copied directly from the
2552
+ referenced OrderRequest document's OrderRequestHeader.
2553
+ orderDate
2554
+ The date and time the order request was created. If present, must
2555
+ be copied directly from the referenced OrderRequest document's
2556
+ OrderRequestHeader.
2557
+ -->
2558
+ <!ELEMENT OrderReference (DocumentReference)>
2559
+ <!ATTLIST OrderReference
2560
+ orderID %string; #IMPLIED
2561
+ orderDate %datetime.tz; #IMPLIED
2562
+ >
2563
+
2564
+ <!--
2565
+ Defines the ID of an order known to the buyer system.
2566
+
2567
+ orderID
2568
+ The id of an order known to the buyer system. Basically,
2569
+ what the PO number is today.
2570
+
2571
+ orderDate
2572
+ The date and time the order was created.
2573
+ -->
2574
+ <!ELEMENT OrderIDInfo EMPTY>
2575
+ <!ATTLIST OrderIDInfo
2576
+ orderID %string; #REQUIRED
2577
+ orderDate %datetime.tz; #IMPLIED
2578
+ >
2579
+
2580
+ <!--
2581
+ Defines information related to an order.
2582
+
2583
+ OrderReference
2584
+ The reference to the order being paid.
2585
+
2586
+ OrderIDInfo
2587
+ The buyer system order id of the order.
2588
+ -->
2589
+ <!ELEMENT OrderInfo (OrderReference | OrderIDInfo)>
2590
+
2591
+
2592
+ <!--
2593
+ The InvoiceReference element provides a clear reference to a prior
2594
+ InvoiceDetailRequest document.
2595
+
2596
+ invoiceID
2597
+ The suplier system invoiceID for this request. Basically, what
2598
+ the Invoice number is today. If present, must be copied
2599
+ directly from the referenced InvoiceDetailRequest document's
2600
+ InvoiceDetailRequestHeader.
2601
+
2602
+ invoiceDate
2603
+ The invoice date.
2604
+ -->
2605
+ <!ELEMENT InvoiceReference (DocumentReference)>
2606
+ <!ATTLIST InvoiceReference
2607
+ invoiceID %string; #IMPLIED
2608
+ invoiceDate %datetime.tz; #IMPLIED
2609
+ >
2610
+
2611
+ <!--
2612
+ Defines the ID of an invoice known to the supplier system.
2613
+
2614
+ invoiceID
2615
+ The id of an invoice known to the supplier system.
2616
+
2617
+ invoiceDate
2618
+ The invoice date.
2619
+ -->
2620
+ <!ELEMENT InvoiceIDInfo EMPTY>
2621
+ <!ATTLIST InvoiceIDInfo
2622
+ invoiceID %string; #REQUIRED
2623
+ invoiceDate %datetime.tz; #IMPLIED
2624
+ >
2625
+
2626
+ <!--
2627
+ Defines the ID of a master agreement known to the buyer system.
2628
+ In InvoiceDetailRequest, this element identifies the master agreement
2629
+ of the release order to be invoiced.
2630
+
2631
+ agreementID
2632
+ The id of a master agreement known to the buyer system. Basically,
2633
+ what the master agreement number is today.
2634
+
2635
+ agreementDate
2636
+ The date and time the master agreement request was created.
2637
+ -->
2638
+ <!ELEMENT MasterAgreementIDInfo EMPTY>
2639
+ <!ATTLIST MasterAgreementIDInfo
2640
+ agreementID %string; #REQUIRED
2641
+ agreementDate %datetime.tz; #IMPLIED
2642
+ >
2643
+
2644
+ <!--
2645
+ Defines a reference to an earlier MasterAgreementRequest document.
2646
+ In InvoiceDetailRequest, this element identifies the master agreement
2647
+ of the release order to be invoiced.
2648
+
2649
+ DocumentReference
2650
+ The reference to an earlier MasterAgreementRequest document.
2651
+
2652
+ agreementID
2653
+ The id of a master agreement known to the buyer system. Basically,
2654
+ what the master agreement number is today.
2655
+
2656
+ agreementDate
2657
+ The date and time the master agreement request was created.
2658
+ -->
2659
+ <!ELEMENT MasterAgreementReference (DocumentReference)>
2660
+ <!ATTLIST MasterAgreementReference
2661
+ agreementID %string; #IMPLIED
2662
+ agreementDate %datetime.tz; #IMPLIED
2663
+ >
2664
+
2665
+ <!--
2666
+ Identifies the carrier who will transport a shipment.
2667
+
2668
+ domain
2669
+ Domain in which this value has meaning. Recognized domains
2670
+ include:
2671
+ companyName - The legal name for this company. In some cases, this
2672
+ could also be provided in a Contact element with role
2673
+ "carrierCorporate". That option should be reserved for cases
2674
+ in which additional detail about the carrier appears in this
2675
+ element.
2676
+ SCAC - Standard Carrier Alpha Code (see
2677
+ http://users.erols.com/nmfta/Codes.htm)
2678
+ IATA - International Air Transport Association (see
2679
+ http://www.iata.org)
2680
+ AAR - Association of American Railroads (see http://www.aar.org/)
2681
+ UIC - International Union of Railways (see
2682
+ http://www.uic.asso.fr/)
2683
+ EAN - European Article Numbering (see http://www.ean-ucc.org/)
2684
+ DUNS - D&B's Data Universal Numbering System (see
2685
+ http://www.dnb.com/dnbhome.htm)
2686
+ -->
2687
+ <!ELEMENT CarrierIdentifier (#PCDATA)> <!-- string -->
2688
+ <!ATTLIST CarrierIdentifier
2689
+ domain %string; #REQUIRED
2690
+ >
2691
+
2692
+ <!--
2693
+ Identifier that appears on a shipment and through which additional
2694
+ detail about the shipment may be retrieved. Defined by the carrier.
2695
+ Has meaning in the domain described by the CarrierIdentifier values.
2696
+ Therefore, CarrierIdentifier and ShipmentIdentifier should normally
2697
+ be used together.
2698
+
2699
+ Conceptually, this is a tracking number. Different carriers have
2700
+ different names for shipment identifiers. Some call it a way bill
2701
+ number, others call it a pro number, and still others call it a bill of
2702
+ lading. They all represent tracking numbers.
2703
+ -->
2704
+ <!ELEMENT ShipmentIdentifier (#PCDATA)> <!-- string -->
2705
+
2706
+
2707
+ <!--
2708
+ One language-specific string for the creator of an IdReference,
2709
+ e.g. IRS, BofA, UPS, Cisco, etc.
2710
+
2711
+ xml:lang
2712
+ The language or locale in which the name of the creator is written.
2713
+ -->
2714
+ <!ELEMENT Creator (#PCDATA)> <!-- string -->
2715
+ <!ATTLIST Creator
2716
+ xml:lang %xmlLangCode; #REQUIRED
2717
+ >
2718
+
2719
+ <!--
2720
+ Defines an ID reference. Within the application context (for example,
2721
+ a certain pair of buyer and supplier), the (identifier, domain) pair
2722
+ should be unique.
2723
+
2724
+ Creator
2725
+ The creator of this IdReference, e.g. BofA, UPS, Cisco, etc.
2726
+
2727
+ Description
2728
+ Textual description of the IdReference. For human readability.
2729
+
2730
+ identifier
2731
+ The unique identifier of the IdReference within the domain.
2732
+
2733
+ domain
2734
+ The domain of the IdReference. It should be one of the
2735
+ following:
2736
+ accountID, bankRoutingID, accountPayableID,
2737
+ accountReceivableID, bankAccountID, ibanID, abaRoutingNumber,
2738
+ bankNationalID, isoBicID, swiftID, bankBranchID, federalTaxID,
2739
+ stateTaxID, provincialTaxID, vatID, gstID, and taxExemptionID.
2740
+ supplierTaxID is deprecated and will be treated as federalTaxID.
2741
+ Other possible values could be 1099ID, courtRegisterID, etc.
2742
+ -->
2743
+ <!ELEMENT IdReference (Creator?, Description?)>
2744
+ <!ATTLIST IdReference
2745
+ identifier %string; #REQUIRED
2746
+ domain %string; #REQUIRED
2747
+ >
2748
+
2749
+ <!--
2750
+ Defines supplier sales order information related to an order.
2751
+
2752
+ This is also used in PunchOutOrderMessage to indicate that the
2753
+ supplier has created an order associated with the punchout order message.
2754
+ The buyer can later cancel the sales order by sending an OrderRequest
2755
+ of type "delete" that refers to the sales order by including the
2756
+ SupplierOrderInfo element in the OrderRequestHeader
2757
+
2758
+ orderID
2759
+ Supplier sales order id of this order.
2760
+ -->
2761
+ <!ELEMENT SupplierOrderInfo EMPTY>
2762
+ <!ATTLIST SupplierOrderInfo
2763
+ orderID %string; #REQUIRED
2764
+ >
2765
+
2766
+
2767
+ <!--
2768
+ The ShipNoticeReference element provides a clear reference to a prior
2769
+ ShipNoticeRequest document. While the contained DocumentReference provides
2770
+ an unambiguous reference, the additional attributes of the
2771
+ ShipNoticeReference may allow the ReceiptRequest to be viewed independently.
2772
+
2773
+ DocumentReference
2774
+ The reference to an earlier ShipNoticeRequest.
2775
+
2776
+ shipNoticeID
2777
+ Unique identifier of the referenced ShipNoticeRequest.
2778
+
2779
+ shipNoticeDate
2780
+ Date and time of the referenced ShipNoticeRequest.
2781
+ -->
2782
+ <!ELEMENT ShipNoticeReference (DocumentReference)>
2783
+ <!ATTLIST ShipNoticeReference
2784
+ shipNoticeID %string; #IMPLIED
2785
+ shipNoticeDate %datetime.tz; #IMPLIED
2786
+ >
2787
+
2788
+ <!--
2789
+ Defines ID of a Ship Notice known to the Buyer system.
2790
+
2791
+ shipNoticeID
2792
+ Unique identifier of the referenced ShipNoticeRequest.
2793
+
2794
+ shipNoticeDate
2795
+ Date and time of the referenced ShipNoticeRequest.
2796
+ -->
2797
+ <!ELEMENT ShipNoticeIDInfo EMPTY>
2798
+ <!ATTLIST ShipNoticeIDInfo
2799
+ shipNoticeID %string; #REQUIRED
2800
+ shipNoticeDate %datetime.tz; #IMPLIED
2801
+ ><!--
2802
+ For cXML license agreement information, please see
2803
+ http://www.cxml.org/home/license.asp
2804
+
2805
+ $Id: //ariba/cxml/schema/Modules/Entities.mod#5 $
2806
+ -->
2807
+
2808
+ <!--
2809
+ Top-level entities used in Transport.mod. Defined here to allow easy
2810
+ extention of the cXML specification (using additional DTDs) without
2811
+ redefining these entities.
2812
+ -->
2813
+
2814
+ <!-- cxml.messages
2815
+ Possible elements (for particular situations) within Message. These
2816
+ are all of the messages defined in the base cXML protocol.
2817
+ -->
2818
+ <!ENTITY % cxml.messages ",(PunchOutOrderMessage |
2819
+ ProviderDoneMessage |
2820
+ SubscriptionChangeMessage |
2821
+ DataAvailableMessage |
2822
+ SupplierChangeMessage |
2823
+ OrganizationChangeMessage)"
2824
+ >
2825
+
2826
+ <!-- cxml.requests
2827
+ Possible elements (for particular situations) within Request. These
2828
+ are all of the requests defined in the base cXML protocol.
2829
+ -->
2830
+ <!ENTITY % cxml.requests "(ProfileRequest |
2831
+ OrderRequest |
2832
+ MasterAgreementRequest|
2833
+ PunchOutSetupRequest |
2834
+ ProviderSetupRequest |
2835
+ StatusUpdateRequest |
2836
+ GetPendingRequest |
2837
+ SubscriptionListRequest |
2838
+ SubscriptionContentRequest |
2839
+ SupplierListRequest |
2840
+ SupplierDataRequest |
2841
+ SubscriptionStatusUpdateRequest |
2842
+ CopyRequest |
2843
+ CatalogUploadRequest |
2844
+ AuthRequest |
2845
+ DataRequest |
2846
+ OrganizationDataRequest)"
2847
+ >
2848
+
2849
+ <!-- cxml.responses
2850
+ Possible elements (for particular situations) within Response. These
2851
+ are all of the responses (corresponding to a subset of the possible
2852
+ requests) defined in the base cXML protocol.
2853
+ -->
2854
+ <!ENTITY % cxml.responses ",(ProfileResponse |
2855
+ PunchOutSetupResponse |
2856
+ ProviderSetupResponse |
2857
+ GetPendingResponse |
2858
+ SubscriptionListResponse |
2859
+ SubscriptionContentResponse |
2860
+ SupplierListResponse |
2861
+ SupplierDataResponse |
2862
+ AuthResponse |
2863
+ DataResponse |
2864
+ OrganizationDataResponse)?"
2865
+ >
2866
+ <!--
2867
+ For cXML license agreement information, please see
2868
+ http://www.cxml.org/home/license.asp
2869
+
2870
+ $Id: //ariba/cxml/schema/Modules/Profile.mod#1 $
2871
+ -->
2872
+
2873
+ <!--
2874
+ Request for the latest profile from the server. May also be used as
2875
+ a 'ping' transaction (to check if the server is available).
2876
+ -->
2877
+ <!ELEMENT ProfileRequest EMPTY >
2878
+
2879
+ <!--
2880
+ Static profile response describing the transactions supported by this
2881
+ server. The content should not change frequently.
2882
+
2883
+ effectiveDate
2884
+ When these services were first available. Should not be in the
2885
+ future since new clients may need to interact with a server.
2886
+
2887
+ lastRefresh
2888
+ When service information was last received from the end server.
2889
+
2890
+ a-dtype
2891
+ Datatype enumeration for the attributes of this element. May be
2892
+ ignored by most XML parsers (used for documentation purposes).
2893
+ -->
2894
+ <!ELEMENT ProfileResponse ( Option*, Transaction+ )>
2895
+ <!ATTLIST ProfileResponse
2896
+ effectiveDate %datetime.tz; #REQUIRED
2897
+ lastRefresh %datetime.tz; #IMPLIED
2898
+ a-dtype NMTOKENS #FIXED 'effectiveDate dateTime.tz
2899
+ lastRefresh dateTime.tz'
2900
+ >
2901
+
2902
+
2903
+ <!--
2904
+ Value for a defined option (either for the overall service or a
2905
+ specific transaction. At this time, no options are defined at either
2906
+ level.
2907
+
2908
+ name
2909
+ The name of this option. Future versions of cXML will define
2910
+ values for this attribute. This is not intended to be viewed
2911
+ directly (the profile is intended mostly for machine consumption).
2912
+
2913
+ a-dtype
2914
+ Datatype enumeration for the attributes of this element. May be
2915
+ ignored by most XML parsers (used for documentation purposes).
2916
+ -->
2917
+ <!ELEMENT Option ( #PCDATA )> <!-- string -->
2918
+ <!ATTLIST Option
2919
+ name %string; #REQUIRED
2920
+ a-dtype NMTOKENS #FIXED 'name string'
2921
+ >
2922
+
2923
+ <!--
2924
+ A transaction supported by this server.
2925
+
2926
+ requestName
2927
+ A specific request this server accepts at the given URL. The
2928
+ %cxml.requests entity (defined in transport.mod) contains the
2929
+ possible values for this attribute.
2930
+
2931
+ a-dtype
2932
+ Datatype enumeration for the attributes of this element. May be
2933
+ ignored by most XML parsers (used for documentation purposes).
2934
+ -->
2935
+ <!ELEMENT Transaction ( URL, Option* )>
2936
+ <!ATTLIST Transaction
2937
+ requestName %nmtoken; #REQUIRED
2938
+ a-dtype NMTOKENS #FIXED 'requestName NMTOKEN'
2939
+ >
2940
+ <!--
2941
+ For cXML license agreement information, please see
2942
+ http://www.cxml.org/home/license.asp
2943
+
2944
+ $Id: //ariba/cxml/schema/Modules/Transport.mod#6 $
2945
+ -->
2946
+
2947
+ <!--
2948
+ For better definitions of these Elements/Entities, refer to the cXML
2949
+ Protocol Specification documents.
2950
+ -->
2951
+
2952
+ <!--
2953
+ Defines the set of known valid cXML digital signature versions
2954
+ -->
2955
+ <!ENTITY % cxml.signatureVersions "(1.0)">
2956
+
2957
+ <!--
2958
+ cXML envelope
2959
+
2960
+ version
2961
+ Version of this cXML transmission. Should be less than or equal
2962
+ to the version portion of the SYSTEM identifier for this document.
2963
+
2964
+ payloadID
2965
+ A unique identifier for this document.
2966
+
2967
+ timestamp
2968
+ The date and time at which this document was originally created.
2969
+
2970
+ signatureVersion
2971
+ If present, specifies the cXML digital signature version to
2972
+ which this document conforms. This implies that the
2973
+ ds:Signature element must be present. It is an error if this
2974
+ attribute is present and the document does not conform to the
2975
+ specified signature version. If absent, the document is not
2976
+ signed.
2977
+
2978
+ xml:lang
2979
+ The default locale for all strings (not formatted items such as
2980
+ dates, times and numbers) in this document. This attribute will be
2981
+ required in a future version of cXML. (Leaving it out is
2982
+ deprecated.)
2983
+ -->
2984
+ <!ELEMENT cXML (((Header, (Message | Request)) | Response), ds:Signature*)>
2985
+ <!ATTLIST cXML
2986
+ version %string; "&cxml.version;"
2987
+ payloadID %string; #REQUIRED
2988
+ timestamp %datetime.tz; #REQUIRED
2989
+ signatureVersion %cxml.signatureVersions; #IMPLIED
2990
+ xml:lang %xmlLangCode; #IMPLIED
2991
+ >
2992
+
2993
+ <!-- header -->
2994
+ <!ELEMENT Header (From, To, Sender, (Path, OriginalDocument)?)>
2995
+
2996
+ <!ELEMENT From (Credential+, Correspondent?)>
2997
+ <!ELEMENT To (Credential+, Correspondent?)>
2998
+ <!ELEMENT Sender (Credential+, UserAgent)>
2999
+
3000
+ <!--
3001
+ Path. A list of nodes that records the path taken by a user through
3002
+ a punchout chaining scenario.
3003
+ -->
3004
+ <!ELEMENT Path (Node+)>
3005
+
3006
+ <!--
3007
+ A Node is any entity connected to a Network.
3008
+
3009
+ type
3010
+ A node can define itself as a router node or a copy node. Routers
3011
+ assume responsibility for the transaction. Copy Nodes request to only
3012
+ be aware of the transaction.
3013
+
3014
+ itemDetailsRequired
3015
+ Intermediary Nodes may want to support special operations without
3016
+ having to store specific information required to fulfill that operation.
3017
+ This attribute tells the previous node to send ItemDetail information
3018
+ when performing a PunchOutSetupRequest edit/inspect operation.
3019
+ -->
3020
+ <!ELEMENT Node (Credential+)>
3021
+ <!ATTLIST Node
3022
+ type (copy | route) #REQUIRED
3023
+ itemDetailsRequired (yes) #IMPLIED
3024
+ >
3025
+
3026
+
3027
+ <!--
3028
+ Identifies the previous document in the situation that a router node
3029
+ forwards a message or request on to a more distant node.
3030
+
3031
+ payloadID
3032
+ The payloadId of the original document.
3033
+ -->
3034
+ <!ELEMENT OriginalDocument EMPTY>
3035
+ <!ATTLIST OriginalDocument
3036
+ payloadID %string; #REQUIRED
3037
+ >
3038
+
3039
+ <!--
3040
+ A textual string representing who the UserAgent is conducting the cXML
3041
+ conversation. Analogous to UserAgent for HTTP conversations.
3042
+ -->
3043
+ <!ELEMENT UserAgent (#PCDATA)>
3044
+
3045
+ <!--
3046
+ DEPRECATED
3047
+ Do not use this element.
3048
+ -->
3049
+ <!ELEMENT DigitalSignature ANY>
3050
+ <!ATTLIST DigitalSignature
3051
+ type %string; "PK7 self-contained"
3052
+ encoding %string; "Base64"
3053
+ >
3054
+
3055
+ <!--
3056
+ A shared secret. Typically, this is a username/password type of secret
3057
+ exchanged through a secure transport before communication takes place.
3058
+ -->
3059
+ <!ELEMENT SharedSecret ANY>
3060
+
3061
+ <!--
3062
+ Represents an identity for a credential.
3063
+
3064
+ lastChangedTimestamp
3065
+ When the underlying object last changed in the originating system.
3066
+ This is used in cases where the same object (e.g. a buyer
3067
+ organization) is replicated, and kept synchronized, across two
3068
+ systems.
3069
+ -->
3070
+ <!ELEMENT Identity ANY>
3071
+ <!ATTLIST Identity
3072
+ lastChangedTimestamp %datetime.tz; #IMPLIED
3073
+ >
3074
+
3075
+ <!--
3076
+ A Credential Message Authentication Code (MAC). This is used in
3077
+ situations where one party (the sender) must prove to another (the
3078
+ receiver) that it is authenticated by a shared secret with a third
3079
+ party trusted by both.
3080
+
3081
+ The MAC should be computed by the trusted third party and
3082
+ transferred to the sender. The MAC should be opaque to the sender
3083
+ (i.e., it should be secure and non-reversible). The MAC should
3084
+ use as its inputs enough information to accomplish the following
3085
+ goals:
3086
+
3087
+ (1) The MAC must prove to the receiver that it really originated
3088
+ with the trusted third party. E.g., the MAC could use a shared
3089
+ secret between the receiver and the trusted third party as its
3090
+ secret key.
3091
+
3092
+ (2) The MAC should be usable only by a certain sender. E.g., the
3093
+ MAC could authenticate an identifier for the sending organization.
3094
+
3095
+ (3) The MAC should prove that the sender is authorized to send on
3096
+ behalf of the From organization. E.g., the MAC could authenticate
3097
+ an identifier for the From organization.
3098
+
3099
+ (4) The MAC should limit the risk of the MAC being compromised and
3100
+ used to impersonate the sender by another party communicating with
3101
+ the receiver. E.g., the MAC could authenticate an expiration date
3102
+ or sequence number.
3103
+
3104
+ type
3105
+ An implementation-dependent identifier for the exact data
3106
+ being authenticated and the method in which it is formatted
3107
+ for authentication. Currently the only supported value is
3108
+ "FromSenderCredentials".
3109
+
3110
+ algorithm
3111
+ An implementation-dependent identifier for the exact MAC
3112
+ algorithm used on the data. Currently the only supported
3113
+ value is "HMAC-SHA1-96".
3114
+
3115
+ creationDate
3116
+ The time at which this MAC was issued. The receiver must not
3117
+ accept the MAC before this time.
3118
+
3119
+ expirationDate
3120
+ The time at which this MAC expires. The receiver must not
3121
+ accept the MAC after this time.
3122
+ -->
3123
+ <!ELEMENT CredentialMac (#PCDATA)>
3124
+ <!ATTLIST CredentialMac
3125
+ type %string; #REQUIRED
3126
+ algorithm %string; #REQUIRED
3127
+ creationDate %datetime.tz; #REQUIRED
3128
+ expirationDate %datetime.tz; #REQUIRED
3129
+ >
3130
+
3131
+ <!--
3132
+ A combination of an Identity and authentication element. If the
3133
+ authentication element is present, it strongly authenticates who/what
3134
+ someone is. The authentication element should not be sent within Message
3135
+ documents transported via an end user's browser. One-way communication
3136
+ must be authenticated in the transport layer.
3137
+
3138
+ domain
3139
+ In what domain is this Credential represented?
3140
+ type
3141
+ Does this Credential identify a marketplace or one of its member
3142
+ companies? A Credential without this attribute describes a member
3143
+ company or unaffiliated buying organization.
3144
+ -->
3145
+ <!ENTITY % cxml.authentication "SharedSecret |
3146
+ DigitalSignature |
3147
+ CredentialMac"
3148
+ >
3149
+ <!ELEMENT Credential (Identity, (%cxml.authentication;)?)>
3150
+ <!ATTLIST Credential
3151
+ domain %string; #REQUIRED
3152
+ type (marketplace) #IMPLIED
3153
+ >
3154
+
3155
+ <!--
3156
+ Status of a Response or Message. If present, the element content
3157
+ describes specifics of a problem.
3158
+
3159
+ code
3160
+ HTTP or cXML-specific status code.
3161
+
3162
+ text
3163
+ Textual version of the status code (not specific issue).
3164
+
3165
+ xml:lang
3166
+ The language in which the text attribute and element content are
3167
+ written. This attribute will be required in a future version of
3168
+ cXML. (Leaving it out is deprecated.)
3169
+ -->
3170
+ <!ELEMENT Status (#PCDATA)>
3171
+ <!ATTLIST Status
3172
+ code %uint; #REQUIRED
3173
+ text %string; #REQUIRED
3174
+ xml:lang %xmlLangCode; #IMPLIED
3175
+ >
3176
+
3177
+ <!--
3178
+ Message
3179
+
3180
+ When Status not present, '<Status code="200" text="OK" />' is implied.
3181
+ -->
3182
+ <!ELEMENT Message (Status? %cxml.messages;)>
3183
+ <!ATTLIST Message
3184
+ deploymentMode (production | test) "production"
3185
+ inReplyTo %string; #IMPLIED
3186
+ Id ID #IMPLIED
3187
+ >
3188
+
3189
+ <!-- request -->
3190
+ <!ELEMENT Request (%cxml.requests;)>
3191
+ <!ATTLIST Request
3192
+ deploymentMode (production | test) "production"
3193
+ Id ID #IMPLIED
3194
+ >
3195
+
3196
+ <!-- response -->
3197
+ <!ELEMENT Response (Status %cxml.responses;)>
3198
+ <!ATTLIST Response
3199
+ Id ID #IMPLIED
3200
+ >
3201
+
3202
+ <!--
3203
+ This element includes signed cXML-specific details about the
3204
+ document being signed. When a cXML document is signed, this
3205
+ element must appear inside the first ds:Object element in the
3206
+ ds:Signature element.
3207
+
3208
+ signatureVersion
3209
+ This specifies the cXML signature version to which this
3210
+ document conforms. It is an error if this attribute value
3211
+ does not exactly match the value of the signatureVersion
3212
+ attribute from the top-level cXML element. It is an error if
3213
+ the document does not conform to the specified cXML signature
3214
+ version.
3215
+
3216
+ payloadID
3217
+ Specifies the payloadID of the document. It is an error if
3218
+ the value of this attribute does not exactly match the value
3219
+ of the payloadID attribute from the top-level cXML element.
3220
+
3221
+ Id
3222
+ This identifies this cXMLSignedInfo element for purposes of
3223
+ the signature. This attribute must always be present and
3224
+ should always have the value "cXMLSignedInfo"
3225
+
3226
+ -->
3227
+ <!ELEMENT cXMLSignedInfo EMPTY>
3228
+ <!ATTLIST cXMLSignedInfo
3229
+ signatureVersion %cxml.signatureVersions; #REQUIRED
3230
+ payloadID %string; #REQUIRED
3231
+ Id ID #REQUIRED
3232
+ >
3233
+
3234
+ <!--
3235
+ This element includes the contact information of the organisation
3236
+ to/from whom the document is sent/received.
3237
+
3238
+ preferredLanguage
3239
+ optional language which the organisation, identified by this
3240
+ element, would prefer to use. Refer to the definition of
3241
+ xmlLangCode entity.
3242
+ -->
3243
+ <!ELEMENT Correspondent (Contact+, Extrinsic*)>
3244
+ <!ATTLIST Correspondent
3245
+ preferredLanguage %xmlLangCode; #IMPLIED
3246
+ ><!--
3247
+ For cXML license agreement information, please see
3248
+ http://www.cxml.org/home/license.asp
3249
+
3250
+ $Id: //ariba/cxml/modules/Contract.mod#6 $
3251
+ -->
3252
+
3253
+ <!--
3254
+ Use of the Contract element is deprecated
3255
+
3256
+ A mechanism for sending static contract pricing information.
3257
+ -->
3258
+ <!ELEMENT Contract (SupplierID+, Comments?, ItemSegment+)>
3259
+ <!ATTLIST Contract
3260
+ effectiveDate %datetime.tz; #REQUIRED
3261
+ expirationDate %datetime.tz; #REQUIRED
3262
+ >
3263
+
3264
+ <!--
3265
+ Use of the ItemSegment element is deprecated.
3266
+
3267
+ Defines an item segment for the index. An item segment is an
3268
+ overlay for index items, allowing suppliers to override certain
3269
+ item attributes on a per-contract basis.
3270
+
3271
+ Items may be segmented by some agreed-upon user-specific key that
3272
+ is used to determine who is eligible for these particular overlaid
3273
+ attributes (such as reduced or different prices). Omitting the
3274
+ segmentKey indicates that the supplier wishes to set the given
3275
+ contract price system wide (for all users).
3276
+
3277
+ segmentKey - optional agreed-upon string used to segment
3278
+ custom prices
3279
+ -->
3280
+ <!ELEMENT ItemSegment (ContractItem+)>
3281
+ <!ATTLIST ItemSegment
3282
+ segmentKey %string; #IMPLIED
3283
+ >
3284
+
3285
+ <!--
3286
+ Use of the ContractItem element is deprecated
3287
+
3288
+ A particular (custom) item overlay for a index item. The item is
3289
+ referenced by the supplierPartID.
3290
+
3291
+ ItemID - ID for the part to be overlaid.
3292
+ UnitPrice - Contract price for item
3293
+ Extrinsic - Named overlay. The Extrinsic should be named with the
3294
+ item field name it is to overlay. The Extrinsic must contain a
3295
+ <value> element which supplies the replacement value for the item
3296
+ field.
3297
+ For example:
3298
+ <ContractItem>
3299
+ <ItemID>
3300
+ <SupplierPartID>123456</SupplierPartID>
3301
+ </ItemID>
3302
+ <Extrinsic name="URL">http://www.newaddress.com</Extrinsic>
3303
+ </ContractItem>
3304
+ -->
3305
+ <!ELEMENT ContractItem (ItemID, UnitPrice?, Extrinsic*)>
3306
+ <!--
3307
+ For cXML license agreement information, please see
3308
+ http://www.cxml.org/home/license.asp
3309
+
3310
+ $Id: //ariba/cxml/schema/Modules/Index.mod#6 $
3311
+ -->
3312
+
3313
+ <!--
3314
+ IndexItemAdd is the element used to insert an item in an index.
3315
+
3316
+ ItemID - uniquely identifies the item
3317
+ ItemDetail - general information about the item
3318
+ IndexItemDetail - Index specific item detail
3319
+
3320
+ Note that for historical reasons there is a LeadTime element in
3321
+ both ItemDetail and IndexItemDetail. For interoperability, it is
3322
+ recommended to specify the same value in both LeadTime elements.
3323
+ If different values are specified in the different LeadTime
3324
+ elements for the same IndexItemAdd, the meaning of this is
3325
+ undefined.
3326
+ -->
3327
+ <!ELEMENT IndexItemAdd (ItemID, ItemDetail, IndexItemDetail)>
3328
+ <!--
3329
+ IndexItemDelete is the element used to remove an item from the
3330
+ index.
3331
+ ItemID - uniquely identifies the item
3332
+
3333
+ -->
3334
+ <!ELEMENT IndexItemDelete (ItemID) >
3335
+
3336
+ <!--
3337
+ IndexItemPunchout is the element used to dynamically connect an
3338
+ index item to the supplier's resource for that item.
3339
+
3340
+ ItemID - uniquely identifies the item
3341
+ PunchoutDetail - Describes the item being accessed
3342
+ -->
3343
+ <!ELEMENT IndexItemPunchout (ItemID, PunchoutDetail)>
3344
+
3345
+ <!--
3346
+ IndexItem is the general ELEMENT for the list of items in an
3347
+ index.
3348
+
3349
+ IndexItemAdd - Item(s) to be added to the index
3350
+ IndexItemDelete - Item(s) to be removed from the index
3351
+ IndexItemPunchout - PunchOut Item(s) to be added to the index
3352
+
3353
+ -->
3354
+ <!ELEMENT IndexItem (IndexItemAdd+ | IndexItemDelete+ | IndexItemPunchout+)>
3355
+
3356
+ <!--
3357
+ PunchoutDetail is the description of an item which is referenced
3358
+ in the index.
3359
+
3360
+ -->
3361
+ <!ELEMENT PunchoutDetail (Description+, URL, Classification+,
3362
+ UnitPrice?, UnitOfMeasure?,
3363
+ ManufacturerName?, ManufacturerPartID?,
3364
+ LeadTime?, ExpirationDate?, EffectiveDate?,
3365
+ SearchGroupData*, TerritoryAvailable*,
3366
+ Extrinsic*)>
3367
+
3368
+ <!ATTLIST PunchoutDetail
3369
+ punchoutLevel (store | aisle | shelf | product) "store"
3370
+ >
3371
+
3372
+ <!--
3373
+ Index is the element used to update the list of goods and/or
3374
+ services which are being handled by the system.
3375
+
3376
+ SupplierID - One or more identities by which this supplier is
3377
+ known. NOTE: These are to be considered synonyms
3378
+ for the same Supplier.
3379
+ SearchGroup - Description(s) of parametric search(es) for this
3380
+ index. Use of the SearchGroup element is
3381
+ deprecated.
3382
+ IndexItem - The list of items with which to modify the index
3383
+
3384
+ loadmode - The mode in which the Index is loaded, either Full
3385
+ or Incremental. A full index load will
3386
+ completely replace a previously loaded index. The
3387
+ recommended application default is incremental.
3388
+ -->
3389
+ <!ELEMENT Index (SupplierID+, Comments?, SearchGroup*, IndexItem+)>
3390
+ <!ATTLIST Index
3391
+ loadmode (Full | Incremental) #IMPLIED
3392
+ >
3393
+
3394
+ <!--
3395
+ Use of the SearchGroup element is deprecated. Parametric search
3396
+ shapes should be defined using TypeDefinition and its child
3397
+ elements.
3398
+
3399
+ SearchGroup is a grouping of attributes which constitute a search
3400
+ which can be performed against an index.
3401
+
3402
+ Name - Name of the search
3403
+ SearchAttribute - List of searchable index fields.
3404
+ -->
3405
+ <!ELEMENT SearchGroup (Name, SearchAttribute+)>
3406
+
3407
+ <!--
3408
+ Use of the SearchAttribute element is deprecated. Parametric
3409
+ search shapes should be defined using TypeDefinition and its
3410
+ child elements.
3411
+
3412
+ An attribute that can searched parametrically.
3413
+
3414
+ name - name of the attribute.
3415
+ type - the type of the attribute
3416
+ -->
3417
+ <!ELEMENT SearchAttribute EMPTY>
3418
+ <!ATTLIST SearchAttribute
3419
+ name %string; #REQUIRED
3420
+ type %string; #IMPLIED
3421
+ >
3422
+
3423
+ <!--
3424
+ ExpirationDate is the date and time after which the element is no longer
3425
+ valid. Must be specified in ISO 8601 format.
3426
+
3427
+ -->
3428
+ <!ELEMENT ExpirationDate (#PCDATA)> <!-- datetime.tz -->
3429
+ <!--
3430
+ EffectiveDate date and time at which the element becomes valid.
3431
+ Must be specified in ISO 8601 format.
3432
+ -->
3433
+ <!ELEMENT EffectiveDate (#PCDATA)> <!-- datetime.tz -->
3434
+
3435
+ <!--
3436
+ IndexItemDetail contains various index specific elements which
3437
+ help to define an index item.
3438
+ LeadTime - time in days to receive the item
3439
+ ExpirationDate - Expiration date and time for the item in this index
3440
+ EffectiveDate - Effective date and time for the item in this index
3441
+ SearchGroupData - Parametric search data
3442
+ TerritoryAvailable - Country codes
3443
+ -->
3444
+ <!ELEMENT IndexItemDetail (LeadTime, ExpirationDate?, EffectiveDate?,
3445
+ SearchGroupData*, TerritoryAvailable*)>
3446
+
3447
+ <!--
3448
+ Specification of a territory (using ISO country and/or region codes)
3449
+ in which the particular index item is available.
3450
+ -->
3451
+ <!ELEMENT TerritoryAvailable (#PCDATA)>
3452
+
3453
+ <!--
3454
+ SearchGroupData specifies the data which should be used to identify
3455
+ this item in a search.
3456
+ -->
3457
+ <!ELEMENT SearchGroupData (Name, SearchDataElement*)>
3458
+
3459
+ <!--
3460
+ SearchDataElement is a field and value which are used to provide the
3461
+ parametric data to a search.
3462
+ -->
3463
+ <!ELEMENT SearchDataElement EMPTY>
3464
+ <!ATTLIST SearchDataElement
3465
+ name %string; #REQUIRED
3466
+ value %string; #REQUIRED
3467
+ >
3468
+ <!--
3469
+ For cXML license agreement information, please see
3470
+ http://www.cxml.org/home/license.asp
3471
+
3472
+ $Id: //ariba/cxml/modules/Pending.mod#6 $
3473
+ -->
3474
+
3475
+ <!--
3476
+ For better definitions of these Elements/Entities, refer to the cXML
3477
+ Specification documents.
3478
+ -->
3479
+
3480
+ <!--
3481
+ A request used for polling for waiting messages. A waiting message, if
3482
+ any, will be included in the returned stream. The lastReceivedTimestamp
3483
+ attribute, if present, provides the timestamp of the last received
3484
+ message. When the Receiver sees this, it can remove messages with earlier
3485
+ timestamps from the pending queue.
3486
+
3487
+ The maxMessages attribute is used to indicate the maximum number of
3488
+ pending messages that can be included in the response.
3489
+
3490
+
3491
+ -->
3492
+ <!ELEMENT GetPendingRequest (MessageType+)>
3493
+ <!ATTLIST GetPendingRequest
3494
+ maxMessages %uint; #IMPLIED
3495
+ lastReceivedTimestamp %datetime.tz; #IMPLIED
3496
+ >
3497
+
3498
+ <!--
3499
+ Indicates the type of message(s) being polled for. The valid values are
3500
+ the corresponding element names e.g. SubscriptionChangeMessage.
3501
+ -->
3502
+ <!ELEMENT MessageType (#PCDATA)> <!-- nmtoken -->
3503
+
3504
+
3505
+ <!--
3506
+ The data elements being carried back in the response. These are fully
3507
+ formed cXML messages being carried through the Request/Response channel.
3508
+ -->
3509
+ <!ELEMENT GetPendingResponse (cXML+)>
3510
+ <!--
3511
+ For cXML license agreement information, please see
3512
+ http://www.cxml.org/home/license.asp
3513
+
3514
+ $Id: //ariba/cxml/schema/Modules/Subscription.mod#2 $
3515
+ -->
3516
+
3517
+ <!--
3518
+ Indicates that something changed in a buyer's content subscription.
3519
+ Since this is a Message, it can come at any time - no explicit Request
3520
+ needs to be sent first.
3521
+ -->
3522
+ <!ELEMENT SubscriptionChangeMessage (Subscription+)>
3523
+ <!ATTLIST SubscriptionChangeMessage
3524
+ type (new | update | delete) #REQUIRED
3525
+ >
3526
+
3527
+ <!--
3528
+ A content subscription.
3529
+ -->
3530
+ <!ELEMENT Subscription (InternalID, SubscriptionVersion?, Name, Changetime, SupplierID+, Format?,
3531
+ Description?)>
3532
+
3533
+
3534
+ <!ELEMENT Changetime (#PCDATA)> <!-- datetime.tz -->
3535
+ <!ELEMENT Format (#PCDATA)> <!-- string -->
3536
+ <!ATTLIST Format
3537
+ version %string; #REQUIRED
3538
+ >
3539
+
3540
+ <!--
3541
+ Requests a complete list of catalog subscriptions for a buyer.
3542
+ -->
3543
+ <!ELEMENT SubscriptionListRequest EMPTY>
3544
+
3545
+ <!--
3546
+ The list of Subscriptions for the given buyer.
3547
+ -->
3548
+ <!ELEMENT SubscriptionListResponse (Subscription+)>
3549
+
3550
+ <!--
3551
+ Requests the contents of a catalog that the buyer is subscribed to.
3552
+ -->
3553
+ <!ELEMENT SubscriptionContentRequest (InternalID, SubscriptionVersion?, SupplierID+)>
3554
+
3555
+ <!--
3556
+ The data associated with a particular subscription.
3557
+ -->
3558
+ <!ELEMENT SubscriptionContentResponse (Subscription, SubscriptionContent+)>
3559
+
3560
+ <!--
3561
+ The actual content associated with a particular subscription.
3562
+
3563
+ Use of the Contract element is deprecated.
3564
+ -->
3565
+ <!ELEMENT SubscriptionContent (CIFContent | Index | Contract)>
3566
+ <!ATTLIST SubscriptionContent
3567
+ filename %string; #IMPLIED
3568
+ >
3569
+
3570
+ <!--
3571
+ Contents of CIF file in base64 encoding.
3572
+ -->
3573
+ <!ELEMENT CIFContent (#PCDATA)> <!-- bin.base64 -->
3574
+
3575
+ <!--
3576
+ Indicates that something has changed in the supplier data for
3577
+ a supplier the buyer has a relationship with. Since this is a message, no
3578
+ Request needs to be sent to receive this Message.
3579
+ -->
3580
+ <!ELEMENT SupplierChangeMessage (Supplier+)>
3581
+ <!ATTLIST SupplierChangeMessage
3582
+ type (new | update | delete) #REQUIRED
3583
+ >
3584
+
3585
+ <!--
3586
+ Requests for a complete list of suppliers the buyer currently has
3587
+ relationships with.
3588
+ -->
3589
+ <!ELEMENT SupplierListRequest EMPTY>
3590
+
3591
+ <!--
3592
+ The list of suppliers requested by SupplierListRequest.
3593
+ -->
3594
+ <!ELEMENT SupplierListResponse (Supplier+)>
3595
+
3596
+ <!--
3597
+ Requests for a data associated with a particular supplier identified by
3598
+ SupplierID.
3599
+ -->
3600
+ <!ELEMENT SupplierDataRequest (SupplierID+)>
3601
+
3602
+ <!--
3603
+ The data associated with the desired supplier.
3604
+ -->
3605
+ <!ELEMENT SupplierDataResponse (Supplier)>
3606
+
3607
+
3608
+ <!--
3609
+ Reference to the Subscription Version. To be used with InternalID of a catalog.
3610
+ vesionNumber
3611
+ To uniquely identify a catalog with the given InternalID and versionNumber.
3612
+ -->
3613
+ <!ELEMENT SubscriptionVersion EMPTY>
3614
+ <!ATTLIST SubscriptionVersion
3615
+ versionNumber %uint; #REQUIRED
3616
+ >
3617
+
3618
+
3619
+ <!--
3620
+ Catalog subscription status from buyer.
3621
+ -->
3622
+ <!ELEMENT SubscriptionStatus (Comments?)>
3623
+ <!ATTLIST SubscriptionStatus
3624
+ status (received | validation_error | validated | approved | rejected | activated | deactivated | deleted | changed) #REQUIRED>
3625
+
3626
+ <!--
3627
+ SubscriptionStatusUpdateRequest
3628
+ A request to update the subscription status of a Catalog.
3629
+
3630
+ InternalID
3631
+ ID of the catalog.
3632
+
3633
+ SubscriptionStatus
3634
+ Element representing the status updates to the catalog.
3635
+ -->
3636
+ <!ELEMENT SubscriptionStatusUpdateRequest (InternalID, SubscriptionVersion?, SubscriptionStatus)>
3637
+ <!--
3638
+ For cXML license agreement information, please see
3639
+ http://www.cxml.org/home/license.asp
3640
+
3641
+ $Id: //ariba/cxml/schema/Modules/Provider.mod#1 $
3642
+ -->
3643
+
3644
+ <!-- ====
3645
+ Provider* transaction is used to visually integrate an application with
3646
+ a UI provided by a service provider.
3647
+ ==== -->
3648
+
3649
+ <!--
3650
+ ProviderSetupRequest
3651
+
3652
+ The originating application would provide the BrowserFormPost location
3653
+ only if it wished the provider site to display a "Done" button or
3654
+ would like information (at least Status) returned at the end of the
3655
+ interactive session. Inclusion should lead to a ProviderDoneMessage
3656
+ from the provider at the end of a session.
3657
+
3658
+ The originating application would provide the Followup location if it
3659
+ wished the provider to provide information about later status changes
3660
+ in the service (after the end of a particular Provider session). This
3661
+ applies only when the initial status (transmitted via a
3662
+ ProviderDoneMessage) was an interim value.
3663
+ -->
3664
+
3665
+ <!ELEMENT ProviderSetupRequest (OriginatorCookie,
3666
+ (BrowserFormPost, Followup?)?,
3667
+ SelectedService, Extrinsic*)>
3668
+
3669
+ <!--
3670
+ ProviderSetupResponse
3671
+ -->
3672
+
3673
+ <!ELEMENT ProviderSetupResponse (StartPage)>
3674
+
3675
+ <!--
3676
+ ProviderDoneMessage
3677
+ -->
3678
+
3679
+ <!ELEMENT ProviderDoneMessage (OriginatorCookie, ReturnData*)>
3680
+ <!--
3681
+ For cXML license agreement information, please see
3682
+ http://www.cxml.org/home/license.asp
3683
+
3684
+ $Id: //ariba/cxml/schema/Modules/DataAvailable.mod#1 $
3685
+ -->
3686
+
3687
+
3688
+ <!--
3689
+ DataAvailable message.
3690
+ -->
3691
+
3692
+ <!ELEMENT DataAvailableMessage (InternalID)>
3693
+ <!--
3694
+ For cXML license agreement information, please see
3695
+ http://www.cxml.org/home/license.asp
3696
+
3697
+ $Id: //ariba/cxml/schema/Modules/DataRequest.mod#1 $
3698
+ -->
3699
+
3700
+
3701
+ <!--
3702
+ Definition of a DataRequest.
3703
+ -->
3704
+ <!ELEMENT DataRequest (InternalID)>
3705
+
3706
+ <!--
3707
+ DataResponse. Contains the attachments if any for this response.
3708
+ Only a successful response to a download attempt would include this element
3709
+ -->
3710
+
3711
+ <!ELEMENT DataResponse (Attachment+)>
3712
+
3713
+ <!--
3714
+ For cXML license agreement information, please see
3715
+ http://www.cxml.org/home/license.asp
3716
+
3717
+ $Id: //ariba/cxml/schema/Modules/CatalogUpload.mod#1 $
3718
+ -->
3719
+
3720
+ <!--
3721
+ Contain all the information related to the catalog upload, the same
3722
+ functionality as the catalog upload provided by supplier.ariba.com
3723
+ -->
3724
+ <!ELEMENT CatalogUploadRequest (CatalogName, Description, Attachment,
3725
+ Commodities?, AutoPublish?, Notification)>
3726
+ <!ATTLIST CatalogUploadRequest
3727
+ operation (new | update) #REQUIRED
3728
+ >
3729
+
3730
+ <!--
3731
+ CatalogName is the name of the uploaded/published catalog. The
3732
+ name is unique per supplier, and it can be defined in the
3733
+ different languages
3734
+ -->
3735
+ <!ELEMENT CatalogName ( #PCDATA )> <!-- string -->
3736
+ <!ATTLIST CatalogName
3737
+ xml:lang %xmlLangCode; #REQUIRED
3738
+ >
3739
+
3740
+ <!--
3741
+ The list of the commodity codes.
3742
+ -->
3743
+ <!ELEMENT Commodities (CommodityCode+)>
3744
+
3745
+ <!--
3746
+ The two-digit code
3747
+ -->
3748
+ <!ELEMENT CommodityCode ( #PCDATA )> <!-- string -->
3749
+
3750
+ <!--
3751
+ If the attribute "enabled" set to be "true", the updated catalog
3752
+ will be published to the same buyers according to its previous
3753
+ publish
3754
+ -->
3755
+ <!ELEMENT AutoPublish EMPTY>
3756
+ <!ATTLIST AutoPublish
3757
+ enabled %string; #REQUIRED
3758
+ >
3759
+
3760
+ <!--
3761
+ The information used by Ariba CSN to send the notification (the
3762
+ status of the catalog upload) to the suppliers.
3763
+ -->
3764
+ <!ELEMENT Notification (Email?, URLPost?)>
3765
+
3766
+ <!--
3767
+ The URL to receive the StatusUpdateRequest, which describes the
3768
+ status of the catalog upload, such as the "success" (means the
3769
+ catalog is validated, or the catalog is published),
3770
+ the "failed" (the catalog has errors, ......)
3771
+ -->
3772
+ <!ELEMENT URLPost EMPTY>
3773
+ <!ATTLIST URLPost
3774
+ enabled %string; #REQUIRED
3775
+ >
3776
+ <!--
3777
+ For cXML license agreement information, please see
3778
+ http://www.cxml.org/home/license.asp
3779
+
3780
+ $Id: //ariba/cxml/Modules/Profile.mod#6 $
3781
+ -->
3782
+
3783
+ <!--
3784
+ AuthRequest
3785
+
3786
+ An AuthRequest is used when one party (the "receiver") receives
3787
+ credentials from another party (the "principal") and the receiver
3788
+ needs a trusted third party to validate the credentials. The
3789
+ receiver should enclose the credentials in an AuthRequest and send
3790
+ them to the trusted third party for validation.
3791
+
3792
+ If the principal attempts to authenticate by revealing the shared
3793
+ secret between itself and the trusted third party (not
3794
+ recommended), the receiver should forward the credentials as they
3795
+ were received, including the shared secret.
3796
+
3797
+ If the principal attempts to authenticate through a client
3798
+ certificate (recommended), the receiver should forward the
3799
+ credentials as well as an X509Data element containing an
3800
+ X509IssuerSerial element describing the certificate used by the
3801
+ principal (the receiver normally obtains this information from its
3802
+ webserver or SSL/TLS implementation).
3803
+
3804
+ If the supplied credential is invalid, the trusted third party
3805
+ should respond with an empty cXML response of status 403
3806
+ (Forbidden). If the supplied credential is valid, the trusted
3807
+ third party should respond with an AuthResponse that contains the
3808
+ valid credentials.
3809
+ -->
3810
+ <!ELEMENT AuthRequest (Credential+, X509Data?)>
3811
+
3812
+ <!--
3813
+ X509Data
3814
+
3815
+ An X509Data element is constructed to describe an X.509 client
3816
+ certificate being used for authentication. This element (and its
3817
+ children) are derived from the XML Digital Signature standard ().
3818
+ -->
3819
+ <!ELEMENT X509Data ((X509IssuerSerial |
3820
+ X509SKI |
3821
+ X509SubjectName |
3822
+ X509Certificate)+ |
3823
+ X509CRL)>
3824
+
3825
+ <!--
3826
+ X509IssuerSerial
3827
+
3828
+ This element is a container for the serial number and issuer name
3829
+ of the X.509 certificate.
3830
+ -->
3831
+ <!ELEMENT X509IssuerSerial (X509IssuerName, X509SerialNumber) >
3832
+
3833
+ <!--
3834
+ X509IssuerName
3835
+
3836
+ This element contains the distinguished name of the issuer of the
3837
+ X.509 certificate. The distinguished name should be a string
3838
+ representation of an LDAP Distinguished Name, as described in RFC
3839
+ 2253. For example,
3840
+
3841
+ C=US, O="John Doe Data Security, Inc.", OU=Secure Server
3842
+ Certification Authority
3843
+
3844
+ -->
3845
+ <!ELEMENT X509IssuerName (#PCDATA)> <!-- string -->
3846
+
3847
+ <!--
3848
+ X509 SubjectName
3849
+
3850
+ This element contains the distinguished name of the subject of the
3851
+ X.509 certificate. This should be a string representation of an
3852
+ LDAP distinguished name, as described in RFC 2253.
3853
+ -->
3854
+ <!ELEMENT X509SubjectName (#PCDATA)> <!-- string -->
3855
+
3856
+ <!--
3857
+ X509SerialNumber
3858
+
3859
+ This element contains the serial number of the X.509 certificate.
3860
+ -->
3861
+ <!ELEMENT X509SerialNumber (#PCDATA)> <!-- string -->
3862
+
3863
+ <!--
3864
+ X509SKI
3865
+
3866
+ This element contains the Subject Key Identifier of the X.509
3867
+ certificate.
3868
+ -->
3869
+ <!ELEMENT X509SKI (#PCDATA)> <!-- string -->
3870
+
3871
+ <!--
3872
+ X509Certificate
3873
+
3874
+ This element contains a Base 64-encoded X.509v3 certificate.
3875
+ -->
3876
+ <!ELEMENT X509Certificate (#PCDATA)> <!-- string -->
3877
+
3878
+ <!--
3879
+ X509CRL
3880
+
3881
+ This element contains a Base 64-encoded X.509v3 Certificate
3882
+ Revocation List.
3883
+ -->
3884
+ <!ELEMENT X509CRL (#PCDATA)> <!-- string -->
3885
+
3886
+ <!--
3887
+ AuthResponse
3888
+
3889
+ This response returns a list of valid credentials of the person
3890
+ entity in the AuthRequest. An AuthResponse is returned only for a
3891
+ successful authentication; for failed authentications, an empty
3892
+ response with status 403 (Forbidden) will be returned.
3893
+
3894
+ expirationDate
3895
+ Specifies the time beyond which the information contained in
3896
+ the AuthResponse must be discarded. In other words, the
3897
+ inclusion of the expirationDate attribute specifies that the
3898
+ receiver of the AuthResponse may cache the information therein
3899
+ until the expirationDate.
3900
+
3901
+ The absence of an expirationDate should be interpreted to
3902
+ forbid caching.
3903
+ -->
3904
+ <!ELEMENT AuthResponse (Credential)+>
3905
+ <!ATTLIST AuthResponse
3906
+ expirationDate %datetime.tz; #IMPLIED
3907
+ >
3908
+ <!--
3909
+ For cXML license agreement information, please see
3910
+ http://www.cxml.org/home/license.asp
3911
+
3912
+ $Id: //ariba/cxml/schema/Modules/Payment.mod#1 $
3913
+ -->
3914
+
3915
+ <!--
3916
+ This file contains all the payment related elements
3917
+ -->
3918
+
3919
+ <!--
3920
+ Defines different payment methods
3921
+ -->
3922
+ <!ENTITY % cxml.paymentMethod "(ach | cash | check |
3923
+ creditCard | debitCard |
3924
+ draft | wire |
3925
+ other)">
3926
+
3927
+ <!--
3928
+ Defines a payment method
3929
+
3930
+ Description
3931
+ The description of the payment method. Description is
3932
+ mandatory if the type is set to "other". The <ShortName>
3933
+ element in Description must indicate the name of the payment
3934
+ method.
3935
+
3936
+ type
3937
+ the payment method type
3938
+ -->
3939
+ <!ELEMENT PaymentMethod (Description?)>
3940
+ <!ATTLIST PaymentMethod
3941
+ type %cxml.paymentMethod; #REQUIRED
3942
+ >
3943
+
3944
+ <!--
3945
+ Defines payable information related to a invoice.
3946
+
3947
+ InvoiceReference
3948
+ The reference to invoice being paid. Copied from the InvoiceDetailRequest message.
3949
+
3950
+ InvoiceIDInfo
3951
+ The reference to invoice in the Supplier system being paid.
3952
+
3953
+ PayableOrderInfo
3954
+ Supplementary information related to the invoice. For example,
3955
+ if you are making a payment against a consolidated invoice,
3956
+ you may also include associated order information.
3957
+
3958
+ PayableMasterAgreementInfo
3959
+ Supplementary information related to the invoice. For example,
3960
+ if you are making a payment against a Consolidated Invoice,
3961
+ you may also include associated master agreement information.
3962
+ -->
3963
+ <!ELEMENT PayableInvoiceInfo ((InvoiceReference | InvoiceIDInfo),
3964
+ (PayableOrderInfo | PayableMasterAgreementInfo)?)>
3965
+
3966
+ <!--
3967
+ Defines payable information related to an order.
3968
+
3969
+ OrderReference
3970
+ The reference to the order being paid.
3971
+
3972
+ OrderIDInfo
3973
+ The buyer system order id of the order.
3974
+ -->
3975
+ <!ELEMENT PayableOrderInfo (OrderReference | OrderIDInfo)>
3976
+
3977
+ <!--
3978
+ Defines payable information related to a master agreement.
3979
+
3980
+ MasterAgreementReference
3981
+ The reference to master agreement in the Buyer system being paid.
3982
+ Copied from the InvoiceDetailRequest message.
3983
+
3984
+ MasterAgreementIDInfo
3985
+ The reference to master agreement in the Buyer system being paid.
3986
+ -->
3987
+ <!ELEMENT PayableMasterAgreementInfo (MasterAgreementReference | MasterAgreementIDInfo)>
3988
+
3989
+ <!--
3990
+ Defines information related to a payable such as an invoice,
3991
+ order, masteragreement, receipt, etc. More than one payable
3992
+ information can be included.
3993
+
3994
+ PayableInvoiceInfo
3995
+ The info about the invoice being paid.
3996
+
3997
+ PayableOrderInfo
3998
+ The info about the order being paid.
3999
+
4000
+ PayableMasterAgreeementInfo
4001
+ The info about the master agreement being paid.
4002
+
4003
+ -->
4004
+ <!ELEMENT PayableInfo ( PayableInvoiceInfo | PayableOrderInfo |
4005
+ PayableMasterAgreementInfo)>
4006
+
4007
+
4008
+
4009
+ <!--
4010
+ Defines the party involved in the payment, including Payer of this
4011
+ payment (payer), Payee of this payment (payee),
4012
+ Payer's bank (originatingBank), Payee's bank (receivingBank),
4013
+ Payer's Correspondent Bank, Payee's Correspondent Bank, Intermediary Bank, etc
4014
+
4015
+ Contact
4016
+ Contact information of the payment partner. Allowed contact
4017
+ roles include payer, payee, originatingBank, receivingBank,
4018
+ originatingCorrespondentBank, receivingCorrespondent,
4019
+ receivingCorrespondentBank, intermediaryBank, and remitTo.
4020
+
4021
+ Contact elements with role 'payer' and 'payee' are always
4022
+ required. If the payment method indicates a bank transfer,
4023
+ then Contact elements with role 'originatingBank' and
4024
+ 'receivingBank' are required.
4025
+
4026
+ If the contact role is 'remitTo', it would contain contact
4027
+ information of the remittance address. For this role, the
4028
+ IdReference and PCard elements may be absent.
4029
+
4030
+ IdReference
4031
+ Partner reference ID, including bank account identification,
4032
+ bank identification, and optionally bank branch identification.
4033
+
4034
+ IdReference is mandatory for all transactions that involve
4035
+ electronic payments. It is optional only for non-electronic
4036
+ forms of payments, such as, 'check', 'draft' etc.
4037
+
4038
+ The bank account identification is specified as follows:
4039
+ bankAccountID : Domestic account number
4040
+ ibanID : IBAN ID (International Bank Account Number) as
4041
+ specified in ISO 13616.
4042
+
4043
+ The bank identification is specified as follows:
4044
+ abaRoutingNumber: ABA (American Banking Association)
4045
+ Routing Number)
4046
+ swiftID : SWIFT ID (Society for Worldwide Interbank Financial
4047
+ Telecommunications)
4048
+ chipsID : CHIPS ID (Clearing House Interbank Payment System)
4049
+ isoBicID : ISO BIC ID (Bank Identifier Code) as specified
4050
+ in ISO 9362.
4051
+ The Bank Identifier Code (BIC) is a
4052
+ universal method of identifying
4053
+ financial institutions. The BIC consists
4054
+ of 8 or 11 characters, comprising a bank
4055
+ code (4 characters), a country code (2
4056
+ characters), a location code (2
4057
+ characters) and an optional branch code
4058
+ (3 characters).
4059
+
4060
+ bankNationalID : If none of the above bank identification
4061
+ methods are applicable, then use this to
4062
+ specify national clearing codes that are
4063
+ specific to a country. This identification
4064
+ if used, should uniquely identify
4065
+ the bank within the country specified in the
4066
+ Contact.
4067
+
4068
+
4069
+ The bank branch identification, if necessary, is specified as follows:
4070
+ bankBranchID : The bank branch ID
4071
+
4072
+ The following table illustrates some valid combinations of
4073
+ Contact and IdReference domains:
4074
+ +..............................+.....................................+
4075
+ | Contact@role | IdReference@domain |
4076
+ +..............................+.....................................+
4077
+ | payer | bankAccountID, ibanID |
4078
+ | | |
4079
+ | payee | bankAccountID, ibanID |
4080
+ | receivingCorrespondent | bankAccountId, swiftID |
4081
+ | | |
4082
+ | originatingBank | abaRoutingNumber, bankNationalID, |
4083
+ | | isoBicID, swiftID, |
4084
+ | | bankBranchID (optional) |
4085
+ | | |
4086
+ | receivingBank | abaRoutingNumber, bankNationalID, |
4087
+ | | isoBicID, swiftID, |
4088
+ | | bankBranchID (optional) |
4089
+ | | |
4090
+ | originatingCorrespondentBank | abaRoutingNumber, isoBicID, swiftID |
4091
+ | | |
4092
+ | receivingCorrespondentBank | abaRoutingNumber, isoBicID, swiftID |
4093
+ | | |
4094
+ | intermediaryBank | abaRoutingNumber, isoBicID, swiftID |
4095
+ +..............................+.....................................+
4096
+
4097
+ PCard
4098
+ PCard information including pcard number, pcard expiration date,
4099
+ pcard name.IdReference
4100
+
4101
+ This can only appear for the Contact with payer role. This is used
4102
+ when the payment is done through a pcard.
4103
+ -->
4104
+ <!ELEMENT PaymentPartner (Contact, IdReference*, PCard?)>
4105
+ <!--
4106
+ For cXML license agreement information, please see
4107
+ http://www.cxml.org/home/license.asp
4108
+
4109
+ $Id: //ariba/cxml/schema/Modules/Organization.mod#2 $
4110
+ -->
4111
+ <!--
4112
+ Organization
4113
+ -->
4114
+
4115
+ <!ELEMENT Organization (Name, Credential+, OrganizationRole*, Address, CorporateInformation?, TaxInformation?, RelationshipInformation?, Description*, Person*, Industry*, Commodity*, Territory*, PaymentInformation*, Extrinsic*)>
4116
+
4117
+
4118
+
4119
+ <!-- ====
4120
+ OrganizationDataRequest - Get data about an organization (or multiple
4121
+ organizations).
4122
+
4123
+ The OrganizationID wrapper is used to distinguish between requests
4124
+ about multiple organizations and requests including alias Credentials
4125
+ for the same organization.
4126
+ ==== -->
4127
+
4128
+ <!ELEMENT OrganizationDataRequest
4129
+ (OrganizationID+)>
4130
+
4131
+ <!--
4132
+ OrganizationDataResponse
4133
+
4134
+ Extrinsic elements will be used to pass data about an Org that is not
4135
+ already represented by the Organization element.
4136
+ -->
4137
+
4138
+ <!ELEMENT OrganizationDataResponse (Organization+)>
4139
+
4140
+ <!--
4141
+ Used to push organization information to another system.
4142
+ -->
4143
+
4144
+ <!ELEMENT OrganizationChangeMessage (Organization+)>
4145
+ <!ATTLIST OrganizationChangeMessage
4146
+ type (new | update | delete) #REQUIRED
4147
+ >
4148
+
4149
+
4150
+
4151
+ <!ELEMENT CorporateInformation (AnnualRevenue?, StateOfIncorporation?, OwnershipType*)>
4152
+ <!ATTLIST CorporateInformation
4153
+ yearFounded %uint; #IMPLIED
4154
+ numberOfEmployees %uint; #IMPLIED
4155
+ organizationType NMTOKEN #IMPLIED
4156
+ >
4157
+ <!ELEMENT StateOfIncorporation (State)>
4158
+ <!ELEMENT AnnualRevenue (MinAmount, MaxAmount?)>
4159
+ <!ELEMENT OwnershipType (Extrinsic*)>
4160
+
4161
+ <!--
4162
+ name can be either minorityOwned, womanOwned, veteranOwned, disabledVeteranOwned,
4163
+ vietnamVeteranOwned for US companies.
4164
+ The list is not enumerated since it can be different for different countries.
4165
+ -->
4166
+ <!ATTLIST OwnershipType
4167
+ name NMTOKEN #REQUIRED
4168
+ >
4169
+
4170
+
4171
+
4172
+ <!--
4173
+ TaxInformation
4174
+
4175
+ Used to list the associated tax information that for example can be
4176
+ used for 1099 purposes.
4177
+ -->
4178
+ <!ELEMENT TaxInformation (LegalName?, TaxID*)>
4179
+ <!ATTLIST TaxInformation
4180
+ isExemptFromBackupWithholding (yes | no) #IMPLIED
4181
+ >
4182
+
4183
+ <!--
4184
+ Owner of ssn or tin
4185
+ -->
4186
+ <!ELEMENT LegalName (#PCDATA)>
4187
+ <!ATTLIST LegalName
4188
+ xml:lang %xmlLangCode; #REQUIRED
4189
+ >
4190
+
4191
+ <!--
4192
+ This contains the actual tin or ssn number. Domain specifies
4193
+ whether it is us social security number or us tax identification
4194
+ number.
4195
+ -->
4196
+ <!ELEMENT TaxID (#PCDATA)>
4197
+ <!ATTLIST TaxID
4198
+ domain (usSSN | usTIN) #REQUIRED
4199
+ >
4200
+
4201
+
4202
+
4203
+ <!--
4204
+ This section contains anything that is specific between the
4205
+ requester and requestee
4206
+ -->
4207
+ <!ELEMENT RelationshipInformation (PaymentRelationshipInformation?)>
4208
+
4209
+ <!--
4210
+ This section contains payment information between requester and
4211
+ requestee.
4212
+ -->
4213
+ <!ELEMENT PaymentRelationshipInformation (PaymentProviderInformation+, Extrinsic*)>
4214
+
4215
+ <!--
4216
+ This section contains information about the payment provider who is
4217
+ going to execute payment between the requester and the requestee.
4218
+ It has the id of the payment provider payment service as well as
4219
+ the payment methods that the payment provider supports.
4220
+ -->
4221
+ <!ELEMENT PaymentProviderInformation (Description?, PaymentMethod+, Extrinsic*)>
4222
+ <!ATTLIST PaymentProviderInformation
4223
+ paymentProviderID %string; #REQUIRED
4224
+ >
4225
+
4226
+
4227
+
4228
+ <!--
4229
+ Person associates a particular individual with the (many) roles they may
4230
+ play on behalf of an organization.
4231
+
4232
+ Note: The Contact element in this context would not include a role
4233
+ attribute since this does not describe a person acting in any particular
4234
+ fashion.
4235
+ -->
4236
+ <!ELEMENT Person (Contact, PersonRole+, IdReference*, Extrinsic*)>
4237
+
4238
+ <!--
4239
+ PersonRole
4240
+
4241
+ Used to list the possible values the Contact@role attribute may take
4242
+ when the associated Contact appears in a cXML Request (such as
4243
+ ProviderSetupRequest).
4244
+ -->
4245
+ <!ELEMENT PersonRole EMPTY>
4246
+ <!ATTLIST PersonRole
4247
+ name NMTOKEN #REQUIRED
4248
+ >
4249
+
4250
+
4251
+ <!ELEMENT Industry (Classification)>
4252
+ <!ELEMENT Commodity (Classification)>
4253
+ <!ELEMENT Territory (Classification)>
4254
+
4255
+
4256
+
4257
+ <!ELEMENT PaymentInformation (PaymentMethodRemittanceInformation+)>
4258
+
4259
+ <!ELEMENT PaymentMethodRemittanceInformation (Contact, PaymentMethod*, PaymentMethodPartner*)>
4260
+ <!ATTLIST PaymentMethodRemittanceInformation
4261
+ isDefault (yes) #IMPLIED
4262
+ preferredPaymentMethod %cxml.paymentMethod; #IMPLIED
4263
+ >
4264
+
4265
+ <!--
4266
+ This new tag helps to include the financial information of an organization into the
4267
+ PaymentMethodRemittance tag.
4268
+ Also, for IdReference tag, we add a new domain receivingCorrspondent. This new role
4269
+ behaves as the payee for receiving correspondent bank. We need this new role because
4270
+ in the wire transfer case, the receiving party could have up to two banks: beneficiary
4271
+ and corresponding banks. Hence, payee role is needed to contain the information about
4272
+ beneficiary bank account and receivingBank role is needed to contain the information
4273
+ about the beneficiary bank. Similary, for the receiving correspondent bank, we have the
4274
+ roles receivingCorresondent and receivingCorrespondentBank
4275
+
4276
+ -->
4277
+
4278
+ <!ELEMENT PaymentMethodPartner (PaymentMethod, PaymentPartner+) >
4279
+
4280
+
4281
+ <!--
4282
+ For cXML license agreement information, please see
4283
+ http://www.cxml.org/home/license.asp
4284
+
4285
+ $Id: //ariba/cxml/schema/Modules/OrganizationID.mod#1 $
4286
+ -->
4287
+ <!--
4288
+ OrganizationID
4289
+
4290
+ Credentials listed here describe the same organization. May include
4291
+ type="marketplace" Credential elements if that context is necessary.
4292
+ -->
4293
+ <!ELEMENT OrganizationID (Credential+)>
4294
+
4295
+
4296
+ <!--
4297
+ For cXML license agreement information, please see
4298
+ http://www.cxml.org/home/license.asp
4299
+
4300
+ $Id: //ariba/cxml/schema/Modules/OrganizationPrivate.mod#1 $
4301
+ -->
4302
+
4303
+
4304
+ <!--
4305
+ OrganizationRole - Identifies one of the roles this (new) organization
4306
+ is playing.
4307
+
4308
+ name
4309
+ Name of the role played by the organization. Common values
4310
+ include "supplier" and "buyer".
4311
+ -->
4312
+ <!ELEMENT OrganizationRole EMPTY>
4313
+ <!ATTLIST OrganizationRole
4314
+ name NMTOKEN #REQUIRED
4315
+ >
4316
+ <!--
4317
+ For cXML license agreement information, please see
4318
+ http://www.cxml.org/home/license.asp
4319
+
4320
+ $Id: //ariba/cxml/Modules/Profile.mod#6 $
4321
+ -->
4322
+
4323
+ <!--
4324
+ For more information about W3C XML signatures, refer to the
4325
+ following URL. Portions of this DTD are derived from information
4326
+ contained therein.
4327
+ http://www.w3.org/TR/xmldsig-core/
4328
+ -->
4329
+
4330
+ <!-- DTD for XML Signatures
4331
+ http://www.w3.org/2000/09/xmldsig#
4332
+ Joseph Reagle $last changed 20001215$
4333
+
4334
+ http://www.w3.org/2000/09/xmldsig#
4335
+ $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
4336
+
4337
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
4338
+ of Technology, Institut National de Recherche en Informatique et en
4339
+ Automatique, Keio University). All Rights Reserved.
4340
+ http://www.w3.org/Consortium/Legal/
4341
+
4342
+ This document is governed by the W3C Software License [1] as described
4343
+ in the FAQ [2].
4344
+
4345
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
4346
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
4347
+ -->
4348
+
4349
+ <!--
4350
+
4351
+ The following entity declarations enable external/flexible content in
4352
+ the Signature content model.
4353
+
4354
+ #PCDATA emulates schema string; when combined with element types it
4355
+ emulates schema's mixed content type.
4356
+
4357
+ %foo.ANY permits the user to include their own element types from
4358
+ other namespaces, for example:
4359
+ <!ENTITY % KeyValue.ANY '| ecds:ECDSAKeyValue'>
4360
+ ...
4361
+ <!ELEMENT ecds:ECDSAKeyValue (#PCDATA) >
4362
+
4363
+ -->
4364
+
4365
+ <!ENTITY % Object.ANY '|xades:QualifyingProperties|cXMLSignedInfo|Extrinsic'>
4366
+ <!ENTITY % Method.ANY ''>
4367
+ <!ENTITY % Transform.ANY ''>
4368
+ <!ENTITY % SignatureProperty.ANY ''>
4369
+ <!ENTITY % KeyInfo.ANY ''>
4370
+ <!ENTITY % KeyValue.ANY ''>
4371
+ <!ENTITY % PGPData.ANY ''>
4372
+ <!ENTITY % X509Data.ANY ''>
4373
+ <!ENTITY % SPKIData.ANY ''>
4374
+
4375
+
4376
+
4377
+ <!-- Start Core Signature declarations, these should NOT be altered -->
4378
+
4379
+ <!ELEMENT ds:Signature (ds:SignedInfo, ds:SignatureValue, ds:KeyInfo?, ds:Object*) >
4380
+ <!ATTLIST ds:Signature
4381
+ xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'
4382
+ xmlns:xades CDATA #FIXED 'http://uri.etsi.org/01903/v1.3.2#'
4383
+ Id ID #IMPLIED >
4384
+
4385
+ <!ELEMENT ds:SignatureValue (#PCDATA) >
4386
+ <!ATTLIST ds:SignatureValue
4387
+ Id ID #IMPLIED>
4388
+
4389
+ <!ELEMENT ds:SignedInfo (ds:CanonicalizationMethod,
4390
+ ds:SignatureMethod, ds:Reference+) >
4391
+ <!ATTLIST ds:SignedInfo
4392
+ Id ID #IMPLIED
4393
+ >
4394
+
4395
+ <!ELEMENT ds:CanonicalizationMethod (#PCDATA %Method.ANY;)* >
4396
+ <!ATTLIST ds:CanonicalizationMethod
4397
+ Algorithm CDATA #REQUIRED >
4398
+
4399
+ <!ELEMENT ds:SignatureMethod (#PCDATA|ds:HMACOutputLength %Method.ANY;)* >
4400
+ <!ATTLIST ds:SignatureMethod
4401
+ Algorithm CDATA #REQUIRED >
4402
+
4403
+ <!ELEMENT ds:Reference (ds:Transforms?, ds:DigestMethod, ds:DigestValue) >
4404
+ <!ATTLIST ds:Reference
4405
+ Id ID #IMPLIED
4406
+ URI CDATA #IMPLIED
4407
+ Type CDATA #IMPLIED>
4408
+
4409
+
4410
+ <!ELEMENT ds:Transforms (ds:Transform+)>
4411
+
4412
+ <!ELEMENT ds:Transform (#PCDATA|ds:XPath %Transform.ANY;)* >
4413
+ <!ATTLIST ds:Transform
4414
+ Algorithm CDATA #REQUIRED >
4415
+
4416
+ <!ELEMENT ds:XPath (#PCDATA) >
4417
+
4418
+ <!ELEMENT ds:DigestMethod (#PCDATA %Method.ANY;)* >
4419
+ <!ATTLIST ds:DigestMethod
4420
+ Algorithm CDATA #REQUIRED >
4421
+
4422
+ <!ELEMENT ds:DigestValue (#PCDATA) >
4423
+
4424
+ <!ELEMENT ds:KeyInfo (#PCDATA|ds:KeyName|ds:KeyValue|ds:RetrievalMethod|
4425
+ ds:X509Data|ds:PGPData|ds:SPKIData|ds:MgmtData %KeyInfo.ANY;)* >
4426
+ <!ATTLIST ds:KeyInfo
4427
+ Id ID #IMPLIED >
4428
+
4429
+ <!-- Key Information -->
4430
+
4431
+ <!ELEMENT ds:KeyName (#PCDATA) >
4432
+ <!ELEMENT ds:KeyValue (#PCDATA|ds:DSAKeyValue|ds:RSAKeyValue %KeyValue.ANY;)* >
4433
+ <!ELEMENT ds:MgmtData (#PCDATA) >
4434
+
4435
+ <!ELEMENT ds:RetrievalMethod (ds:Transforms?) >
4436
+ <!ATTLIST ds:RetrievalMethod
4437
+ URI CDATA #REQUIRED
4438
+ Type CDATA #IMPLIED >
4439
+
4440
+ <!-- X.509 Data -->
4441
+
4442
+ <!ELEMENT ds:X509Data ((ds:X509IssuerSerial | ds:X509SKI | ds:X509SubjectName |
4443
+ ds:X509Certificate | ds:X509CRL )+ %X509Data.ANY;)>
4444
+ <!ELEMENT ds:X509IssuerSerial (ds:X509IssuerName, ds:X509SerialNumber) >
4445
+ <!ELEMENT ds:X509IssuerName (#PCDATA) >
4446
+ <!ELEMENT ds:X509SubjectName (#PCDATA) >
4447
+ <!ELEMENT ds:X509SerialNumber (#PCDATA) >
4448
+ <!ELEMENT ds:X509SKI (#PCDATA) >
4449
+ <!ELEMENT ds:X509Certificate (#PCDATA) >
4450
+ <!ELEMENT ds:X509CRL (#PCDATA) >
4451
+
4452
+ <!-- PGPData -->
4453
+
4454
+ <!ELEMENT ds:PGPData ((ds:PGPKeyID, ds:PGPKeyPacket?) | (ds:PGPKeyPacket) %PGPData.ANY;) >
4455
+ <!ELEMENT ds:PGPKeyPacket (#PCDATA) >
4456
+ <!ELEMENT ds:PGPKeyID (#PCDATA) >
4457
+
4458
+ <!-- SPKI Data -->
4459
+
4460
+ <!ELEMENT ds:SPKIData (ds:SPKISexp %SPKIData.ANY;) >
4461
+ <!ELEMENT ds:SPKISexp (#PCDATA) >
4462
+
4463
+ <!-- Extensible Content -->
4464
+
4465
+ <!ELEMENT ds:Object (#PCDATA|ds:Signature|ds:SignatureProperties|ds:Manifest %Object.ANY;)* >
4466
+ <!ATTLIST ds:Object
4467
+ Id ID #IMPLIED
4468
+ MimeType CDATA #IMPLIED
4469
+ Encoding CDATA #IMPLIED >
4470
+
4471
+ <!ELEMENT ds:Manifest (ds:Reference+) >
4472
+ <!ATTLIST ds:Manifest
4473
+ Id ID #IMPLIED >
4474
+
4475
+ <!ELEMENT ds:SignatureProperties (ds:SignatureProperty+) >
4476
+ <!ATTLIST ds:SignatureProperties
4477
+ Id ID #IMPLIED >
4478
+
4479
+ <!ELEMENT ds:SignatureProperty (#PCDATA %SignatureProperty.ANY;)* >
4480
+ <!ATTLIST ds:SignatureProperty
4481
+ Target CDATA #REQUIRED
4482
+ Id ID #IMPLIED >
4483
+
4484
+ <!-- Algorithm Parameters -->
4485
+
4486
+ <!ELEMENT ds:HMACOutputLength (#PCDATA) >
4487
+
4488
+ <!ELEMENT ds:DSAKeyValue ((ds:P, ds:Q)?, ds:G?, ds:Y, ds:J?, (ds:Seed, ds:PgenCounter)?) >
4489
+ <!ELEMENT ds:P (#PCDATA) >
4490
+ <!ELEMENT ds:Q (#PCDATA) >
4491
+ <!ELEMENT ds:G (#PCDATA) >
4492
+ <!ELEMENT ds:Y (#PCDATA) >
4493
+ <!ELEMENT ds:J (#PCDATA) >
4494
+ <!ELEMENT ds:Seed (#PCDATA) >
4495
+ <!ELEMENT ds:PgenCounter (#PCDATA) >
4496
+
4497
+ <!ELEMENT ds:RSAKeyValue (ds:Modulus, ds:Exponent) >
4498
+ <!ELEMENT ds:Modulus (#PCDATA) >
4499
+ <!ELEMENT ds:Exponent (#PCDATA) >
4500
+ <!--
4501
+ For cXML license agreement information, please see
4502
+ http://www.cxml.org/home/license.asp
4503
+
4504
+ $Id: //ariba/cxml/Modules/Profile.mod#6 $
4505
+ -->
4506
+
4507
+ <!--
4508
+ For more information about XAdES, refer to the following URL.
4509
+ Portions of this DTD are derived from information contained therein.
4510
+ http://uri.etsi.org/01903/v1.3.2#
4511
+ -->
4512
+
4513
+ <!ENTITY % Any.ANY ' '>
4514
+ <!ENTITY % XMLTimeStamp.ANY ' '>
4515
+ <!ENTITY % Method.ANY ' '>
4516
+
4517
+ <!-- Start Any -->
4518
+
4519
+ <!ELEMENT xades:Any (#PCDATA %Any.ANY;)*>
4520
+
4521
+ <!-- End Any -->
4522
+
4523
+ <!-- Start ObjectIdentifier -->
4524
+
4525
+ <!ELEMENT xades:ObjectIdentifier (xades:Identifier, xades:Description?,
4526
+ xades:DocumentationReferences?)>
4527
+ <!ELEMENT xades:Identifier (#PCDATA)>
4528
+ <!ATTLIST xades:Identifier
4529
+ Qualifier (OIDAsURI | OIDAsURN) #IMPLIED
4530
+ >
4531
+ <!ELEMENT xades:Description (#PCDATA)>
4532
+ <!ELEMENT xades:DocumentationReferences (xades:DocumentationReference)+>
4533
+ <!ELEMENT xades:DocumentationReference (#PCDATA)>
4534
+
4535
+ <!-- End ObjectIdentifier -->
4536
+
4537
+ <!-- Start EncapsulatedPKIData -->
4538
+
4539
+ <!ELEMENT xades:EncapsulatedPKIData (#PCDATA)>
4540
+ <!ATTLIST xades:EncapsulatedPKIData
4541
+ Id ID #IMPLIED
4542
+ Encoding CDATA #IMPLIED
4543
+ >
4544
+
4545
+ <!-- End EncapsulatedPKIData -->
4546
+
4547
+ <!-- Start time-stamp container types -->
4548
+
4549
+ <!ELEMENT xades:Include EMPTY>
4550
+ <!ATTLIST xades:Include
4551
+ URI CDATA #REQUIRED
4552
+ referencedData CDATA #IMPLIED
4553
+ >
4554
+
4555
+ <!ELEMENT xades:ReferenceInfo (ds:DigestMethod, ds:DigestValue)>
4556
+ <!ATTLIST xades:ReferenceInfo
4557
+ Id ID #IMPLIED
4558
+ URI CDATA #IMPLIED
4559
+ >
4560
+ <!ELEMENT xades:XAdESTimeStamp (xades:Include*, ds:CanonicalizationMethod?,
4561
+ (xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
4562
+ <!ATTLIST xades:XAdESTimeStamp
4563
+ Id ID #IMPLIED
4564
+ >
4565
+
4566
+ <!ELEMENT xades:OtherTimeStamp (xades:ReferenceInfo+, ds:CanonicalizationMethod?,
4567
+ (xades:EncapsulatedTimeStamp | xades:XMLTimeStamp))>
4568
+ <!ATTLIST xades:OtherTimeStamp
4569
+ Id ID #IMPLIED
4570
+ >
4571
+
4572
+ <!ELEMENT xades:EncapsulatedTimeStamp (#PCDATA)>
4573
+ <!ATTLIST xades:EncapsulatedTimeStamp
4574
+ Id ID #IMPLIED
4575
+ >
4576
+
4577
+ <!ELEMENT xades:XMLTimeStamp (#PCDATA %XMLTimeStamp.ANY; )*>
4578
+
4579
+ <!-- End time-stamp tokens container -->
4580
+
4581
+ <!-- Start container types -->
4582
+
4583
+ <!-- Start QualifyingProperties -->
4584
+
4585
+ <!ELEMENT xades:QualifyingProperties (xades:SignedProperties?, xades:UnsignedProperties?)>
4586
+ <!ATTLIST xades:QualifyingProperties
4587
+ Target CDATA #REQUIRED
4588
+ Id ID #IMPLIED
4589
+ xmlns:xades CDATA #FIXED 'http://uri.etsi.org/01903/v1.3.2#'
4590
+ >
4591
+
4592
+ <!ELEMENT xades:SignedProperties (xades:SignedSignatureProperties,
4593
+ xades:SignedDataObjectProperties?)>
4594
+ <!ATTLIST xades:SignedProperties
4595
+ Id ID #IMPLIED
4596
+ >
4597
+
4598
+ <!ELEMENT xades:UnsignedProperties (xades:UnsignedSignatureProperties?,
4599
+ xades:UnsignedDataObjectProperties?)>
4600
+ <!ATTLIST xades:UnsignedProperties
4601
+ Id ID #IMPLIED
4602
+ >
4603
+
4604
+ <!-- End QualifyingProperties -->
4605
+
4606
+ <!-- Start SignedSignatureProperties, SignedDataObjectProperties,
4607
+ UnsignedSignatureProperties, UnsignedDataObjectProperties -->
4608
+
4609
+ <!ELEMENT xades:SignedSignatureProperties (xades:SigningTime?, xades:SigningCertificate?,
4610
+ xades:SignaturePolicyIdentifier?, xades:SignatureProductionPlace?, xades:SignerRole?)>
4611
+ <!ATTLIST xades:SignedSignatureProperties
4612
+ Id ID #IMPLIED
4613
+ >
4614
+
4615
+ <!ELEMENT xades:SignedDataObjectProperties (xades:DataObjectFormat*,
4616
+ xades:CommitmentTypeIndication*, xades:AllDataObjectsTimeStamp*,
4617
+ xades:IndividualDataObjectsTimeStamp*)>
4618
+ <!ATTLIST xades:SignedDataObjectProperties
4619
+ Id ID #IMPLIED
4620
+ >
4621
+
4622
+ <!ELEMENT xades:UnsignedSignatureProperties (xades:CounterSignature | xades:SignatureTimeStamp
4623
+ | xades:CompleteCertificateRefs | xades:CompleteRevocationRefs | xades:AttributeCertificateRefs
4624
+ | xades:AttributeRevocationRefs | (xades:SigAndRefsTimeStamp | xades:RefsOnlyTimeStamp) |
4625
+ xades:CertificateValues | xades:RevocationValues | xades:AttrAuthoritiesCertValues
4626
+ | xades:AttributeRevocationValues | xades:ArchiveTimeStamp)+>
4627
+ <!ATTLIST xades:UnsignedSignatureProperties
4628
+ Id ID #IMPLIED
4629
+ >
4630
+
4631
+ <!ELEMENT xades:UnsignedDataObjectProperties (xades:UnsignedDataObjectProperty*)>
4632
+ <!ATTLIST xades:UnsignedDataObjectProperties
4633
+ Id ID #IMPLIED
4634
+ >
4635
+
4636
+ <!ELEMENT xades:UnsignedDataObjectProperty (#PCDATA %Any.ANY;)*>
4637
+
4638
+ <!-- End SignedSignatureProperties, SignedDataObjectProperties,
4639
+ UnsignedSignatureProperties, UnsignedDataObjectProperties -->
4640
+
4641
+ <!-- Start QualifyingPropertiesReference -->
4642
+
4643
+ <!ELEMENT xades:QualifyingPropertiesReference EMPTY>
4644
+ <!ATTLIST xades:QualifyingPropertiesReference
4645
+ URI CDATA #REQUIRED
4646
+ Id ID #IMPLIED
4647
+ >
4648
+
4649
+ <!-- End QualifyingPropertiesReference -->
4650
+
4651
+ <!-- End container types -->
4652
+
4653
+ <!-- Start SigningTime -->
4654
+
4655
+ <!ELEMENT xades:SigningTime (#PCDATA)>
4656
+
4657
+ <!-- End SigningTime -->
4658
+
4659
+ <!-- Start SigningCertificate -->
4660
+
4661
+ <!ELEMENT xades:SigningCertificate (xades:Cert+)>
4662
+ <!ELEMENT xades:Cert (xades:CertDigest, xades:IssuerSerial)>
4663
+ <!ATTLIST xades:Cert
4664
+ URI CDATA #IMPLIED
4665
+ >
4666
+ <!ELEMENT xades:CertDigest (ds:DigestMethod, ds:DigestValue)>
4667
+ <!ELEMENT xades:IssuerSerial (ds:X509IssuerName, ds:X509SerialNumber)>
4668
+ <!ELEMENT xades:X509IssuerName (#PCDATA)>
4669
+ <!ELEMENT xades:X509SerialNumber (#PCDATA)>
4670
+
4671
+ <!-- End SigningCertificate -->
4672
+
4673
+ <!-- Start SignaturePolicyIdentifier -->
4674
+
4675
+ <!ELEMENT xades:SignaturePolicyIdentifier (xades:SignaturePolicyId |
4676
+ xades:SignaturePolicyImplied)>
4677
+ <!ELEMENT xades:SignaturePolicyImplied ANY>
4678
+ <!ELEMENT xades:SignaturePolicyId (xades:SigPolicyId, ds:Transforms?, xades:SigPolicyHash,
4679
+ xades:SigPolicyQualifiers?)>
4680
+ <!ELEMENT xades:SigPolicyId (xades:Identifier, xades:Description?, xades:DocumentationReferences?)>
4681
+ <!ELEMENT xades:SigPolicyHash (ds:DigestMethod, ds:DigestValue)>
4682
+ <!ELEMENT xades:SigPolicyQualifiers (xades:SigPolicyQualifier+)>
4683
+ <!ELEMENT xades:SigPolicyQualifier (#PCDATA|xades:SPURI %Any.ANY; )*>
4684
+
4685
+ <!-- End SignaturePolicyIdentifier -->
4686
+
4687
+ <!-- Start SPURI and SPUserNotice -->
4688
+
4689
+ <!ELEMENT xades:SPURI (#PCDATA)>
4690
+ <!ELEMENT xades:SPUserNotice (xades:NoticeRef?, xades:ExplicitText?)>
4691
+ <!ELEMENT xades:NoticeRef (xades:Organization, xades:NoticeNumbers)>
4692
+ <!ELEMENT xades:ExplicitText (#PCDATA)>
4693
+ <!ELEMENT xades:Organization (#PCDATA)>
4694
+ <!ELEMENT xades:NoticeNumbers (xades:int*)>
4695
+ <!ELEMENT xades:int (#PCDATA)>
4696
+
4697
+ <!-- End SPURI and SPUserNotice -->
4698
+
4699
+ <!-- Start CounterSignature -->
4700
+
4701
+ <!ELEMENT xades:CounterSignature (ds:Signature)>
4702
+
4703
+ <!-- End CounterSignature -->
4704
+
4705
+ <!-- Start DataObjectFormat -->
4706
+
4707
+ <!ELEMENT xades:DataObjectFormat (xades:Description?, xades:ObjectIdentifier?, xades:MimeType?,
4708
+ xades:Encoding?)>
4709
+ <!ATTLIST xades:DataObjectFormat
4710
+ ObjectReference CDATA #REQUIRED
4711
+ >
4712
+ <!ELEMENT xades:MimeType (#PCDATA)>
4713
+ <!ELEMENT xades:Encoding (#PCDATA)>
4714
+
4715
+ <!-- End DataObjectFormat -->
4716
+
4717
+ <!-- Start CommitmentTypeIndication -->
4718
+
4719
+ <!ELEMENT xades:CommitmentTypeIndication (xades:CommitmentTypeId, (xades:ObjectReference+ |
4720
+ xades:AllSignedDataObjects), xades:CommitmentTypeQualifiers?)>
4721
+ <!ELEMENT xades:CommitmentTypeId (xades:Identifier, xades:Description?,
4722
+ xades:DocumentationReferences?)>
4723
+ <!ELEMENT xades:ObjectReference (#PCDATA)>
4724
+ <!ELEMENT xades:AllSignedDataObjects ANY>
4725
+ <!ELEMENT xades:CommitmentTypeQualifiers (xades:CommitmentTypeQualifier*)>
4726
+ <!ELEMENT xades:CommitmentTypeQualifier (#PCDATA %Any.ANY; )*>
4727
+
4728
+ <!-- End CommitmentTypeIndication -->
4729
+
4730
+ <!-- Start SignatureProductionPlace -->
4731
+
4732
+ <!ELEMENT xades:SignatureProductionPlace (xades:City?, xades:StateOrProvince?, xades:PostalCode?,
4733
+ xades:CountryName?)>
4734
+ <!ELEMENT xades:City (#PCDATA)>
4735
+ <!ELEMENT xades:StateOrProvince (#PCDATA)>
4736
+ <!ELEMENT xades:PostalCode (#PCDATA)>
4737
+ <!ELEMENT xades:CountryName (#PCDATA)>
4738
+
4739
+ <!-- End SignatureProductionPlace -->
4740
+
4741
+ <!-- Start SignerRole -->
4742
+
4743
+ <!ELEMENT xades:SignerRole (xades:ClaimedRoles?, xades:CertifiedRoles?)>
4744
+ <!ELEMENT xades:ClaimedRoles (xades:ClaimedRole+)>
4745
+ <!ELEMENT xades:CertifiedRoles (xades:CertifiedRole+)>
4746
+ <!ELEMENT xades:ClaimedRole (#PCDATA %Any.ANY; )*>
4747
+ <!ELEMENT xades:CertifiedRole (#PCDATA)>
4748
+ <!ATTLIST xades:CertifiedRole
4749
+ Id ID #IMPLIED
4750
+ Encoding CDATA #IMPLIED
4751
+ >
4752
+
4753
+ <!-- End SignerRole -->
4754
+
4755
+ <!-- Start AllDataObjectsTimeStamp, IndividualDataObjectsTimeStamp,
4756
+ SignatureTimeStamp -->
4757
+
4758
+ <!ELEMENT xades:AllDataObjectsTimeStamp (ds:CanonicalizationMethod?,
4759
+ (xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
4760
+ <!ATTLIST xades:AllDataObjectsTimeStamp
4761
+ Id ID #IMPLIED
4762
+ >
4763
+
4764
+ <!ELEMENT xades:IndividualDataObjectsTimeStamp (xades:Include+, ds:CanonicalizationMethod?,
4765
+ (xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
4766
+ <!ATTLIST xades:IndividualDataObjectsTimeStamp
4767
+ Id ID #IMPLIED
4768
+ >
4769
+
4770
+ <!ELEMENT xades:SignatureTimeStamp (ds:CanonicalizationMethod?, (xades:EncapsulatedTimeStamp
4771
+ | xades:XMLTimeStamp)+)>
4772
+ <!ATTLIST xades:SignatureTimeStamp
4773
+ Id ID #IMPLIED
4774
+ >
4775
+
4776
+ <!-- End AllDataObjectsTimeStamp, IndividualDataObjectsTimeStamp,
4777
+ SignatureTimeStamp -->
4778
+
4779
+ <!-- Start CompleteCertificateRefs -->
4780
+
4781
+ <!ELEMENT xades:CompleteCertificateRefs (xades:CertRefs)>
4782
+ <!ATTLIST xades:CompleteCertificateRefs
4783
+ Id ID #IMPLIED
4784
+ >
4785
+ <!ELEMENT xades:CertRefs (xades:Cert+)>
4786
+
4787
+ <!-- End CompleteCertificateRefs -->
4788
+
4789
+ <!-- Start AttributeCertificateRefs -->
4790
+
4791
+ <!ELEMENT xades:AttributeCertificateRefs (xades:CertRefs)>
4792
+ <!ATTLIST xades:AttributeCertificateRefs
4793
+ Id ID #IMPLIED
4794
+ >
4795
+
4796
+ <!-- End AttributeCertificateRefs -->
4797
+
4798
+ <!-- Start CompleteRevocationRefs -->
4799
+
4800
+ <!ELEMENT xades:CompleteRevocationRefs (xades:CRLRefs?, xades:OCSPRefs?, xades:OtherRefs?)>
4801
+ <!ATTLIST xades:CompleteRevocationRefs
4802
+ Id ID #IMPLIED
4803
+ >
4804
+ <!ELEMENT xades:CRLRefs (xades:CRLRef+)>
4805
+ <!ELEMENT xades:OCSPRefs (xades:OCSPRef+)>
4806
+ <!ELEMENT xades:OtherRefs (xades:OtherRef+)>
4807
+
4808
+ <!ELEMENT xades:CRLRef (xades:DigestAlgAndValue, xades:CRLIdentifier?)>
4809
+ <!ELEMENT xades:OCSPRef (xades:OCSPIdentifier, xades:DigestAlgAndValue?)>
4810
+ <!ELEMENT xades:OtherRef (#PCDATA %Any.ANY; )*>
4811
+
4812
+ <!ELEMENT xades:DigestAlgAndValue (ds:DigestMethod, ds:DigestValue)>
4813
+ <!ELEMENT xades:CRLIdentifier (xades:Issuer, xades:IssueTime, xades:Number?)>
4814
+ <!ATTLIST xades:CRLIdentifier
4815
+ URI CDATA #IMPLIED
4816
+ >
4817
+ <!ELEMENT xades:OCSPIdentifier (xades:ResponderID, xades:ProducedAt)>
4818
+ <!ATTLIST xades:OCSPIdentifier
4819
+ URI CDATA #IMPLIED
4820
+ >
4821
+
4822
+ <!ELEMENT xades:Issuer (#PCDATA)>
4823
+ <!ELEMENT xades:IssueTime (#PCDATA)>
4824
+ <!ELEMENT xades:Number (#PCDATA)>
4825
+
4826
+ <!ELEMENT xades:ResponderID (xades:ByName | xades:ByKey)>
4827
+ <!ELEMENT xades:ByName (#PCDATA)>
4828
+ <!ELEMENT xades:ByKey (#PCDATA)>
4829
+ <!ELEMENT xades:ProducedAt (#PCDATA)>
4830
+
4831
+ <!-- End CompleteRevocationRefs -->
4832
+
4833
+ <!-- Start AttributeRevocationRefs -->
4834
+
4835
+ <!ELEMENT xades:AttributeRevocationRefs (xades:CRLRefs?, xades:OCSPRefs?, xades:OtherRefs?)>
4836
+ <!ATTLIST xades:AttributeRevocationRefs
4837
+ Id ID #IMPLIED
4838
+ >
4839
+
4840
+ <!-- End AttributeRevocationRefs -->
4841
+
4842
+ <!-- Start SigAndRefsTimeStamp, RefsOnlyTimeStamp -->
4843
+
4844
+ <!ELEMENT xades:SigAndRefsTimeStamp (xades:Include*, ds:CanonicalizationMethod?,
4845
+ (xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
4846
+ <!ATTLIST xades:SigAndRefsTimeStamp
4847
+ Id ID #IMPLIED
4848
+ >
4849
+
4850
+ <!ELEMENT xades:RefsOnlyTimeStamp (xades:Include*, ds:CanonicalizationMethod?,
4851
+ (xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
4852
+ <!ATTLIST xades:RefsOnlyTimeStamp
4853
+ Id ID #IMPLIED
4854
+ >
4855
+
4856
+ <!-- End SigAndRefsTimeStamp, RefsOnlyTimeStamp -->
4857
+
4858
+ <!-- Start CertificateValues -->
4859
+
4860
+ <!ELEMENT xades:CertificateValues (xades:EncapsulatedX509Certificate |
4861
+ xades:OtherCertificate)*>
4862
+ <!ATTLIST xades:CertificateValues
4863
+ Id ID #IMPLIED
4864
+ >
4865
+
4866
+ <!ELEMENT xades:EncapsulatedX509Certificate (#PCDATA)>
4867
+ <!ATTLIST xades:EncapsulatedX509Certificate
4868
+ Id ID #IMPLIED
4869
+ Encoding CDATA #IMPLIED
4870
+ >
4871
+ <!ELEMENT xades:OtherCertificate (#PCDATA %Any.ANY;)*>
4872
+
4873
+ <!ELEMENT xades:AttrAuthoritiesCertValues (xades:EncapsulatedX509Certificate |
4874
+ xades:OtherCertificate)*>
4875
+ <!ATTLIST xades:AttrAuthoritiesCertValues
4876
+ Id ID #IMPLIED
4877
+ >
4878
+
4879
+ <!-- Start RevocationValues -->
4880
+
4881
+ <!ELEMENT xades:RevocationValues (xades:CRLValues?, xades:OCSPValues?, xades:OtherValues?)>
4882
+ <!ATTLIST xades:RevocationValues
4883
+ Id ID #IMPLIED
4884
+ >
4885
+
4886
+ <!ELEMENT xades:CRLValues (xades:EncapsulatedCRLValue+)>
4887
+ <!ELEMENT xades:OCSPValues (xades:EncapsulatedOCSPValue+)>
4888
+ <!ELEMENT xades:OtherValues (xades:OtherValue+)>
4889
+
4890
+ <!ELEMENT xades:EncapsulatedCRLValue (#PCDATA)>
4891
+ <!ATTLIST xades:EncapsulatedCRLValue
4892
+ Id ID #IMPLIED
4893
+ Encoding CDATA #IMPLIED
4894
+ >
4895
+ <!ELEMENT xades:EncapsulatedOCSPValue (#PCDATA)>
4896
+ <!ATTLIST xades:EncapsulatedOCSPValue
4897
+ Id ID #IMPLIED
4898
+ Encoding CDATA #IMPLIED
4899
+ >
4900
+ <!ELEMENT xades:OtherValue (#PCDATA %Any.ANY; )*>
4901
+
4902
+ <!-- End RevocationValues -->
4903
+
4904
+ <!ELEMENT xades:AttributeRevocationValues (xades:CRLValues?, xades:OCSPValues?, xades:OtherValues?)>
4905
+ <!ATTLIST xades:AttributeRevocationValues
4906
+ Id ID #IMPLIED
4907
+ >
4908
+ <!-- Start ArchiveTimeStamp -->
4909
+
4910
+ <!ELEMENT xades:ArchiveTimeStamp (xades:Include*, ds:CanonicalizationMethod?,
4911
+ (xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
4912
+ <!ATTLIST xades:ArchiveTimeStamp
4913
+ Id ID #IMPLIED
4914
+ >
4915
+
4916
+
4917
+ <!-- End ArchiveTimeStamp -->