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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +1 -0
- data/.rubocop.yml +4 -0
- data/CHANGELOG.md +22 -0
- data/cxml-ruby.gemspec +1 -0
- data/lib/cxml-ruby.rb +1 -1
- data/lib/cxml/address.rb +4 -1
- data/lib/cxml/comment.rb +9 -0
- data/lib/cxml/contact.rb +4 -1
- data/lib/cxml/country_code.rb +9 -0
- data/lib/cxml/credential.rb +1 -1
- data/lib/cxml/deposit_amount.rb +9 -0
- data/lib/cxml/document.rb +4 -4
- data/lib/cxml/document_node.rb +11 -5
- data/lib/cxml/invoice_detail_item.rb +11 -11
- data/lib/cxml/invoice_detail_item_reference.rb +3 -1
- data/lib/cxml/invoice_detail_request_header.rb +5 -5
- data/lib/cxml/invoice_detail_summary.rb +6 -4
- data/lib/cxml/item_detail.rb +5 -1
- data/lib/cxml/order_request_header.rb +11 -10
- data/lib/cxml/parser.rb +7 -2
- data/lib/cxml/phone.rb +13 -0
- data/lib/cxml/postal_address.rb +1 -1
- data/lib/cxml/punch_out_setup_request.rb +3 -2
- data/lib/cxml/telephone_number.rb +11 -0
- data/lib/cxml/version.rb +1 -1
- data/spec/document_spec.rb +39 -1
- data/spec/fixtures/1.2.014-cXML.dtd +4184 -0
- data/spec/fixtures/1.2.020-InvoiceDetail.dtd +4590 -0
- data/spec/fixtures/1.2.020-cXML.dtd +4917 -0
- data/spec/fixtures/1.2.037-InvoiceDetail.dtd +7287 -0
- data/spec/fixtures/document_node_with_unknown_attribute.xml +7 -0
- data/spec/fixtures/invoice_taxes_at_line_multiple_taxes.xml +1 -3
- data/spec/fixtures/item_in.xml +2 -1
- data/spec/fixtures/{order_request.cxml → order_request.xml} +0 -0
- data/spec/fixtures/punch_out_order_message_doc.xml +1 -1
- data/spec/fixtures/punch_out_setup_request_doc_with_ship_to.xml +7 -0
- data/spec/fixtures/response_status_200.xml +1 -1
- data/spec/fixtures/response_status_400.xml +2 -2
- data/spec/invoice_detail_request_spec.rb +21 -1
- data/spec/item_in_spec.rb +5 -0
- data/spec/output/.gitkeep +0 -0
- data/spec/punch_out_order_message_spec.rb +5 -0
- data/spec/punch_out_setup_request_spec.rb +2 -0
- data/spec/purchase_order_request_spec.rb +6 -1
- data/spec/sender_spec.rb +6 -0
- data/spec/spec_helper.rb +27 -0
- metadata +22 -5
@@ -0,0 +1,4590 @@
|
|
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 "&#60;">
|
18
|
+
<!ENTITY gt ">">
|
19
|
+
<!ENTITY amp "&#38;">
|
20
|
+
<!ENTITY apos "'">
|
21
|
+
<!ENTITY quot """>
|
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
|
+
<foo>well formed XML here</foo>
|
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
|
+
<!--
|
2803
|
+
For cXML license agreement information, please see
|
2804
|
+
http://www.cxml.org/home/license.asp
|
2805
|
+
|
2806
|
+
$Id: //ariba/cxml/schema/Modules/InvoiceDetail.mod#15 $
|
2807
|
+
-->
|
2808
|
+
|
2809
|
+
<!--
|
2810
|
+
For better definitions of these Elements/Entities, refer to the cXML
|
2811
|
+
User's Guide and related documents.
|
2812
|
+
-->
|
2813
|
+
|
2814
|
+
<!--
|
2815
|
+
Please note: In InvoiceDetailRequest, positive amounts are debit the
|
2816
|
+
buyer owes the supplier; negative amounts are credit given back to the
|
2817
|
+
buyer by the supplier. For example, the supplier can use a SubtotalAmount
|
2818
|
+
of -50 USD to indicate credit of 50 USD given back to the buyer.
|
2819
|
+
|
2820
|
+
Please also note that all amounts at invoice line level should add up
|
2821
|
+
to the total specified in InvoiceDetailSummary.
|
2822
|
+
-->
|
2823
|
+
|
2824
|
+
<!--
|
2825
|
+
Defines a party involved in invoicing, including
|
2826
|
+
Issuer Of Invoice (issuerOfInvoice), Sold to (soldTo), Bill to (billTo),
|
2827
|
+
Remit to (remitTo), etc. This element should NOT be used for specifying
|
2828
|
+
ship from and ship to. For that purpose, InvoiceDetailShipping should
|
2829
|
+
be used.
|
2830
|
+
|
2831
|
+
Contact
|
2832
|
+
Contact information of the invoice partner. Allowed contact
|
2833
|
+
roles include issuerOfInvoice, soldTo, billTo, remitTo.
|
2834
|
+
|
2835
|
+
IdReference
|
2836
|
+
Partner reference ID, including account #, ERP account payable ID,
|
2837
|
+
ERP account receivable ID, bank routing ID for remittance, supplier
|
2838
|
+
tax ID, VAT ID, 1099 ID, court register ID, tax exemption ID, etc.
|
2839
|
+
-->
|
2840
|
+
<!ELEMENT InvoicePartner (Contact, IdReference*)>
|
2841
|
+
|
2842
|
+
<!--
|
2843
|
+
Defines invoice header level indicators describing overall
|
2844
|
+
attributes of this invoice. By default, all indicators are false.
|
2845
|
+
|
2846
|
+
isHeaderInvoice
|
2847
|
+
True if this invoice uses InvoiceDetailHeaderOrder which contains
|
2848
|
+
header level invoice information without item details; false if this
|
2849
|
+
invoice uses InvoiceDetailOrder which contains item details.
|
2850
|
+
|
2851
|
+
isVatRecoverable
|
2852
|
+
True if this entire invoice is VAT-recoverable.
|
2853
|
+
-->
|
2854
|
+
<!ELEMENT InvoiceDetailHeaderIndicator EMPTY>
|
2855
|
+
<!ATTLIST InvoiceDetailHeaderIndicator
|
2856
|
+
isHeaderInvoice (yes) #IMPLIED
|
2857
|
+
isVatRecoverable (yes) #IMPLIED
|
2858
|
+
>
|
2859
|
+
|
2860
|
+
<!--
|
2861
|
+
Defines invoice line level indicators indicating certain
|
2862
|
+
information is provided at invoice line level (in InvoiceDetailItem
|
2863
|
+
or InvoiceDetailOrderSummary). By default, all indicators are false.
|
2864
|
+
|
2865
|
+
If an indicator indicates certain information (e.g. tax, shipping, etc.)
|
2866
|
+
will be provided at invoice line level, for invoice lines which do
|
2867
|
+
not provide such information, they will be assumed to have values of
|
2868
|
+
zero, or "not available", whichever is appropriate, for that information.
|
2869
|
+
|
2870
|
+
isTaxInLine
|
2871
|
+
True if tax info (Tax) is provided at invoice line level.
|
2872
|
+
|
2873
|
+
isSpecialHandlingInLine
|
2874
|
+
True if special handling info (InvoiceDetailLineSpecialHandling)
|
2875
|
+
is provided at invoice line level.
|
2876
|
+
|
2877
|
+
isShippingInLine
|
2878
|
+
True if shipping info (InvoiceDetailLineShipping) is provided
|
2879
|
+
at invoice line level.
|
2880
|
+
|
2881
|
+
isDiscountInLine
|
2882
|
+
True if discount info (InvoiceDetailDiscount) is provided
|
2883
|
+
at invoice line level.
|
2884
|
+
|
2885
|
+
isAccountingInLine
|
2886
|
+
True if accounting distribution info (Distribution) is provided at
|
2887
|
+
invoice line level. If isHeaderInvoice is true, this indicator must
|
2888
|
+
be false because Distribution is only available at item level.
|
2889
|
+
-->
|
2890
|
+
<!ELEMENT InvoiceDetailLineIndicator EMPTY>
|
2891
|
+
<!ATTLIST InvoiceDetailLineIndicator
|
2892
|
+
isTaxInLine (yes) #IMPLIED
|
2893
|
+
isSpecialHandlingInLine (yes) #IMPLIED
|
2894
|
+
isShippingInLine (yes) #IMPLIED
|
2895
|
+
isDiscountInLine (yes) #IMPLIED
|
2896
|
+
isAccountingInLine (yes) #IMPLIED
|
2897
|
+
>
|
2898
|
+
|
2899
|
+
<!--
|
2900
|
+
Defines information related to an order, including order
|
2901
|
+
reference and related master agreement reference, if any.
|
2902
|
+
|
2903
|
+
The various content options of InvoiceDetailOrderInfo are in order
|
2904
|
+
of preference, i.e., OrderReference is strongly recommended. If
|
2905
|
+
that is not possible, MasterAgreementReference, MasterAgreementIDInfo,
|
2906
|
+
OrderIDInfo, or SupplierOrderInfo should be used, in that order.
|
2907
|
+
|
2908
|
+
OrderReference
|
2909
|
+
The reference to the order being invoiced.
|
2910
|
+
|
2911
|
+
MasterAgreementReference
|
2912
|
+
The reference to the corresponding master agreement if
|
2913
|
+
the order being invoiced is a release.
|
2914
|
+
|
2915
|
+
MasterAgreementIDInfo
|
2916
|
+
The buyer system id of the corresponding master agreement if
|
2917
|
+
the order being invoiced is a release.
|
2918
|
+
|
2919
|
+
OrderIDInfo
|
2920
|
+
The buyer system order id of the order.
|
2921
|
+
|
2922
|
+
SupplierOrderInfo
|
2923
|
+
Supplier sales order info of this order.
|
2924
|
+
-->
|
2925
|
+
<!ELEMENT InvoiceDetailOrderInfo
|
2926
|
+
( (OrderReference, (MasterAgreementReference | MasterAgreementIDInfo)?,
|
2927
|
+
SupplierOrderInfo?) |
|
2928
|
+
(MasterAgreementReference, OrderIDInfo?, SupplierOrderInfo?) |
|
2929
|
+
(MasterAgreementIDInfo, OrderIDInfo?, SupplierOrderInfo?) |
|
2930
|
+
(OrderIDInfo, SupplierOrderInfo?) |
|
2931
|
+
SupplierOrderInfo )>
|
2932
|
+
|
2933
|
+
<!--
|
2934
|
+
Defines the shipping information related to this invoice.
|
2935
|
+
|
2936
|
+
Contact
|
2937
|
+
The ship from and ship to addresses. Both ship from and ship to
|
2938
|
+
must be specified. Allowed contact roles are shipFrom, shipTo and
|
2939
|
+
carrierCorporate.
|
2940
|
+
|
2941
|
+
CarrierIdentifier
|
2942
|
+
This list may include multiple identifiers for the same carrier.
|
2943
|
+
Elements in this list may appear in any order. A particular
|
2944
|
+
identification domain (CarrierIdentifier@domain attribute
|
2945
|
+
value) must not appear more than once in an InvoiceDetailShipping
|
2946
|
+
element. The identification provided by all elements of the
|
2947
|
+
CarrierIdentifier list must correspond to the same company.
|
2948
|
+
|
2949
|
+
ShipmentIdentifier
|
2950
|
+
The tracking number of this shipment.
|
2951
|
+
|
2952
|
+
DocumentReference
|
2953
|
+
The reference to an earlier ShipNoticeRequest.
|
2954
|
+
|
2955
|
+
shippingDate
|
2956
|
+
The date and time this shipment leaves the supplier.
|
2957
|
+
-->
|
2958
|
+
<!ELEMENT InvoiceDetailShipping (Contact, Contact+,
|
2959
|
+
(CarrierIdentifier+, ShipmentIdentifier)?,
|
2960
|
+
DocumentReference?)>
|
2961
|
+
<!ATTLIST InvoiceDetailShipping
|
2962
|
+
shippingDate %datetime.tz; #IMPLIED
|
2963
|
+
>
|
2964
|
+
|
2965
|
+
<!--
|
2966
|
+
Defines a payment term.
|
2967
|
+
|
2968
|
+
payInNumberOfDays
|
2969
|
+
The number of days after invoice date to pay in full.
|
2970
|
+
|
2971
|
+
percentageRate
|
2972
|
+
Discount rate in the number of percentage for the payment
|
2973
|
+
term defined in the corresponding payInNumberOfDays.
|
2974
|
+
Positive means discount and negative means penalty.
|
2975
|
+
-->
|
2976
|
+
<!ELEMENT InvoiceDetailPaymentTerm EMPTY>
|
2977
|
+
<!ATTLIST InvoiceDetailPaymentTerm
|
2978
|
+
payInNumberOfDays %uint; #REQUIRED
|
2979
|
+
percentageRate %r8; #REQUIRED
|
2980
|
+
>
|
2981
|
+
|
2982
|
+
<!--
|
2983
|
+
Defines discount applied.
|
2984
|
+
|
2985
|
+
Money
|
2986
|
+
The total discount in dollar (or other currency) amount.
|
2987
|
+
|
2988
|
+
percentageRate
|
2989
|
+
The discount rate in percentage.
|
2990
|
+
-->
|
2991
|
+
<!ELEMENT InvoiceDetailDiscount (Money)>
|
2992
|
+
<!ATTLIST InvoiceDetailDiscount
|
2993
|
+
percentageRate %r8; #IMPLIED
|
2994
|
+
>
|
2995
|
+
|
2996
|
+
<!--
|
2997
|
+
Defines the summary information of an InvoiceDetailRequest.
|
2998
|
+
|
2999
|
+
SubtotalAmount
|
3000
|
+
Sum of amount of all quantities.
|
3001
|
+
|
3002
|
+
Tax
|
3003
|
+
Tax info.
|
3004
|
+
|
3005
|
+
SpecialHandlingAmount
|
3006
|
+
Special handling charge.
|
3007
|
+
|
3008
|
+
ShippingAmount
|
3009
|
+
Shipping charge.
|
3010
|
+
|
3011
|
+
InvoiceDetailDiscount
|
3012
|
+
The total discount applied in this InvoiceDetailRequest.
|
3013
|
+
Its contained percentageRate attribute will be ignored
|
3014
|
+
if isDiscountInLine is true.
|
3015
|
+
|
3016
|
+
GrossAmount
|
3017
|
+
Sum of subtotal, taxes, special handling
|
3018
|
+
charges, and shipping charges, before discounts.
|
3019
|
+
|
3020
|
+
NetAmount
|
3021
|
+
Gross amount minus discounts.
|
3022
|
+
|
3023
|
+
DepositAmount
|
3024
|
+
Total deposit/prepayment amount.
|
3025
|
+
|
3026
|
+
DueAmount
|
3027
|
+
Total amount due and payable. It equals NetAmount minus
|
3028
|
+
DepositAmount. If InvoiceDetailRequestHeader@purpose is
|
3029
|
+
"creditMemo" or "lineLevelCreditMemo", this amount must be
|
3030
|
+
negative. If InvoiceDetailRequestHeader@purpose is
|
3031
|
+
"debitMemo", this amount must be positive.
|
3032
|
+
-->
|
3033
|
+
<!ELEMENT InvoiceDetailSummary (SubtotalAmount, Tax, SpecialHandlingAmount?,
|
3034
|
+
ShippingAmount?, GrossAmount?,
|
3035
|
+
InvoiceDetailDiscount?, NetAmount,
|
3036
|
+
DepositAmount?, DueAmount?)>
|
3037
|
+
|
3038
|
+
<!--
|
3039
|
+
Defines one or more serial numbers for accountable items that are
|
3040
|
+
being invoiced.
|
3041
|
+
-->
|
3042
|
+
<!ELEMENT SerialNumber (#PCDATA)> <!-- string -->
|
3043
|
+
|
3044
|
+
|
3045
|
+
<!--
|
3046
|
+
Defines all references related to a line item in this invoice.
|
3047
|
+
|
3048
|
+
ItemID
|
3049
|
+
The supplier part number of current line item, copied from
|
3050
|
+
OrderRequest.
|
3051
|
+
|
3052
|
+
Description
|
3053
|
+
The line item description, copied from OrderRequest.
|
3054
|
+
|
3055
|
+
ManufacturerPartID
|
3056
|
+
The manufacturer part number.
|
3057
|
+
|
3058
|
+
ManufacturerName
|
3059
|
+
The name of the manufacturer.
|
3060
|
+
|
3061
|
+
Country
|
3062
|
+
The country of origin of the current line item.
|
3063
|
+
|
3064
|
+
SerialNumber
|
3065
|
+
Defines one or more serial numbers for accountable items that
|
3066
|
+
are being invoiced. If serial numbers are being reported, then
|
3067
|
+
the number of serial numbers should match the invoice
|
3068
|
+
quantity. The specification does not enforce this. Rather, it
|
3069
|
+
is the responsibility of buyer and supplier implementers to
|
3070
|
+
validate this count if appropriate. SerialNumber should be
|
3071
|
+
used instead of the InvoiceDetailItemReference@serialNumber
|
3072
|
+
attribute, which is now deprecated. It is not valid to use
|
3073
|
+
both the attribute and the SerialNumber element.
|
3074
|
+
|
3075
|
+
lineNumber
|
3076
|
+
The line number of current line item, copied from OrderRequest.
|
3077
|
+
|
3078
|
+
serialNumber
|
3079
|
+
The product serial number for the current line item. This
|
3080
|
+
attribute is deprecated; the SerialNumber element should be
|
3081
|
+
used instead.
|
3082
|
+
|
3083
|
+
-->
|
3084
|
+
<!ELEMENT InvoiceDetailItemReference (ItemID?, Description?,
|
3085
|
+
(ManufacturerPartID, ManufacturerName)?,
|
3086
|
+
Country?, SerialNumber*)>
|
3087
|
+
<!ATTLIST InvoiceDetailItemReference
|
3088
|
+
lineNumber %uint; #REQUIRED
|
3089
|
+
serialNumber %string; #IMPLIED
|
3090
|
+
>
|
3091
|
+
|
3092
|
+
|
3093
|
+
<!--
|
3094
|
+
Defines all references related to a service line item in this invoice.
|
3095
|
+
|
3096
|
+
Classification
|
3097
|
+
The classification information of the service.
|
3098
|
+
|
3099
|
+
ItemID
|
3100
|
+
The supplier part number of the service.
|
3101
|
+
|
3102
|
+
Description
|
3103
|
+
The description of the service.
|
3104
|
+
|
3105
|
+
lineNumber
|
3106
|
+
The line number of current line item on the master
|
3107
|
+
agreement. It is required if the item being invoiced is part
|
3108
|
+
of a detailed master agreement that specifies detailed pricing
|
3109
|
+
terms at the line item or commodity level. It is optional if
|
3110
|
+
the item being invoiced is part of a master supplier agreement
|
3111
|
+
or blanket purchase order which do not contain detailed line
|
3112
|
+
item pricing information.
|
3113
|
+
|
3114
|
+
-->
|
3115
|
+
<!ELEMENT InvoiceDetailServiceItemReference (Classification*, ItemID?, Description?)>
|
3116
|
+
<!ATTLIST InvoiceDetailServiceItemReference
|
3117
|
+
lineNumber %uint; #IMPLIED
|
3118
|
+
>
|
3119
|
+
|
3120
|
+
|
3121
|
+
<!--
|
3122
|
+
Defines special handling information of the current invoice line.
|
3123
|
+
|
3124
|
+
Description
|
3125
|
+
Textual description of the special handling.
|
3126
|
+
|
3127
|
+
Money
|
3128
|
+
The special handling amount.
|
3129
|
+
-->
|
3130
|
+
<!ELEMENT InvoiceDetailLineSpecialHandling (Description?,
|
3131
|
+
Money)>
|
3132
|
+
|
3133
|
+
<!--
|
3134
|
+
Defines shipping information of the current invoice line.
|
3135
|
+
|
3136
|
+
InvoiceDetailShipping
|
3137
|
+
The shipping details.
|
3138
|
+
|
3139
|
+
Money
|
3140
|
+
The shipping amount.
|
3141
|
+
-->
|
3142
|
+
<!ELEMENT InvoiceDetailLineShipping (InvoiceDetailShipping, Money)>
|
3143
|
+
|
3144
|
+
<!--
|
3145
|
+
Defines a line item in the InvoiceDetailRequest.
|
3146
|
+
|
3147
|
+
UnitOfMeasure
|
3148
|
+
The unit of measure.
|
3149
|
+
|
3150
|
+
UnitPrice
|
3151
|
+
The unit price.
|
3152
|
+
|
3153
|
+
InvoiceDetailItemReference
|
3154
|
+
The references related to this line item.
|
3155
|
+
|
3156
|
+
SubtotalAmount
|
3157
|
+
The invoice subtotal of the current item = unit price x
|
3158
|
+
invoiced quantity.
|
3159
|
+
|
3160
|
+
Tax
|
3161
|
+
The tax info for this line item. It will be ignored if isTaxInLine
|
3162
|
+
is false.
|
3163
|
+
|
3164
|
+
InvoiceDetailLineSpecialHandling
|
3165
|
+
The special handling info for this line item. It will be ignored
|
3166
|
+
if isSpecialHandlingInLine is false.
|
3167
|
+
|
3168
|
+
InvoiceDetailLineShipping
|
3169
|
+
The shipping info for this line item. It will be ignored if
|
3170
|
+
isShippingInLine is false.
|
3171
|
+
|
3172
|
+
GrossAmount
|
3173
|
+
The SubtotalAmount plus taxes, shipping, and special handling
|
3174
|
+
charges.
|
3175
|
+
|
3176
|
+
InvoiceDetailDiscount
|
3177
|
+
The discount info for this line item. It will be ignored if
|
3178
|
+
isDiscountInLine is false.
|
3179
|
+
|
3180
|
+
NetAmount
|
3181
|
+
The GrossAmount minus discount amount.
|
3182
|
+
|
3183
|
+
Distribution
|
3184
|
+
Accounting distribution information, including cost center, GL#, etc.
|
3185
|
+
It will be ignored if isAccountingInLine is false.
|
3186
|
+
|
3187
|
+
Comments
|
3188
|
+
Textual comments for this line item.
|
3189
|
+
|
3190
|
+
Extrinsic
|
3191
|
+
Additional information related to this line item. Should not
|
3192
|
+
duplicate anything in InvoiceDetailItem or InvoiceDetailOrder.
|
3193
|
+
|
3194
|
+
invoiceLineNumber
|
3195
|
+
Supplier defined ID for the current invoice line. It should be
|
3196
|
+
unique across all invoice lines of the same InvoiceDetailRequest.
|
3197
|
+
|
3198
|
+
quantity
|
3199
|
+
The quantity being actually invoiced for the current line
|
3200
|
+
item.
|
3201
|
+
|
3202
|
+
referenceDate
|
3203
|
+
The reference date for the blanket order or contract item. This may indicate
|
3204
|
+
the date for which the line item is being invoiced.
|
3205
|
+
A use case is for seasonal items that vary the prices per period.
|
3206
|
+
|
3207
|
+
inspectionDate
|
3208
|
+
The date when transfer of goods or delivery of services
|
3209
|
+
occurs. (Japanese law requires this.)
|
3210
|
+
-->
|
3211
|
+
<!ELEMENT InvoiceDetailItem (UnitOfMeasure, UnitPrice,
|
3212
|
+
InvoiceDetailItemReference, SubtotalAmount?,
|
3213
|
+
Tax?, InvoiceDetailLineSpecialHandling?,
|
3214
|
+
InvoiceDetailLineShipping?, GrossAmount?,
|
3215
|
+
InvoiceDetailDiscount?, NetAmount?,
|
3216
|
+
Distribution*, Comments?, Extrinsic*)>
|
3217
|
+
<!ATTLIST InvoiceDetailItem
|
3218
|
+
invoiceLineNumber %uint; #REQUIRED
|
3219
|
+
quantity %r8; #REQUIRED
|
3220
|
+
referenceDate %datetime.tz; #IMPLIED
|
3221
|
+
inspectionDate %datetime.tz; #IMPLIED
|
3222
|
+
>
|
3223
|
+
|
3224
|
+
<!--
|
3225
|
+
Defines a service line item in the InvoiceDetailRequest.
|
3226
|
+
|
3227
|
+
InvoiceDetailServiceItemReference
|
3228
|
+
The references related to this line item.
|
3229
|
+
|
3230
|
+
SubtotalAmount
|
3231
|
+
The invoice subtotal of the current service item. If unit price
|
3232
|
+
and invoiced quantity are specified, then subtotal should be
|
3233
|
+
equal to the product of them.
|
3234
|
+
|
3235
|
+
Period
|
3236
|
+
The period during which the service was rendered.
|
3237
|
+
|
3238
|
+
UnitRate
|
3239
|
+
The rate at which service item is charged.
|
3240
|
+
Use of the UnitRate element is recommended over the plain (UnitOfMeasure, UnitPrice) pair,
|
3241
|
+
as the UnitRate element includes the rate code. For some services like temp labor services
|
3242
|
+
UnitRate is required.
|
3243
|
+
|
3244
|
+
UnitOfMeasure (deprecated)
|
3245
|
+
The unit of measure. For ex: HUR (per hour), MON (per month), etc. Use of
|
3246
|
+
UnitRate is recommended over use of this element.
|
3247
|
+
|
3248
|
+
UnitPrice (deprecated)
|
3249
|
+
The unit price if any. Use of UnitRate is recommended over use
|
3250
|
+
of this element.
|
3251
|
+
|
3252
|
+
Tax
|
3253
|
+
The tax info for this line item. It will be ignored if isTaxInLine
|
3254
|
+
is false.
|
3255
|
+
|
3256
|
+
GrossAmount
|
3257
|
+
The SubtotalAmount plus taxes, shipping, and special handling
|
3258
|
+
charges.
|
3259
|
+
|
3260
|
+
InvoiceDetailDiscount
|
3261
|
+
The discount info for this line item. It will be ignored if
|
3262
|
+
isDiscountInLine is false.
|
3263
|
+
|
3264
|
+
NetAmount
|
3265
|
+
The GrossAmount minus discount amount.
|
3266
|
+
|
3267
|
+
Distribution
|
3268
|
+
Accounting distribution information, including cost center, GL#, etc.
|
3269
|
+
It will be ignored if isAccountingInLine is false.
|
3270
|
+
|
3271
|
+
Comments
|
3272
|
+
Textual comments for this line item.
|
3273
|
+
|
3274
|
+
(InvoiceLaborDetail | ...)
|
3275
|
+
Additonal details for a particular type of spend category will be specified here.
|
3276
|
+
For example, for timecard related(temp labor) services, extra info like the
|
3277
|
+
TimeCard document reference, Contractor etc. can be specified.
|
3278
|
+
|
3279
|
+
Extrinsic
|
3280
|
+
Additional information related to this line item. Should not duplicate
|
3281
|
+
anything in InvoiceDetailItem or InvoiceDetailOrder. Other line item related
|
3282
|
+
attributes such as "union/non-union" should be specified in
|
3283
|
+
extrinsic elements.
|
3284
|
+
|
3285
|
+
invoiceLineNumber
|
3286
|
+
Supplier defined ID for the current invoice line. It should be
|
3287
|
+
unique across all invoice lines of the same InvoiceDetailRequest.
|
3288
|
+
|
3289
|
+
quantity
|
3290
|
+
The quantity being actually invoiced for the current line item. For regular
|
3291
|
+
service items, quantity represents the number of units of service rendered.
|
3292
|
+
For example, 2 hrs of lawn mowing service, where UnitOfMeasure is "HUR" and
|
3293
|
+
quantity is "2". For some services items, such as a milestone,
|
3294
|
+
quantity is optional. It is required if UnitPrice is specified.
|
3295
|
+
|
3296
|
+
referenceDate
|
3297
|
+
The reference date for the service item. This may indicate the date at which
|
3298
|
+
the service line item is being invoiced.
|
3299
|
+
|
3300
|
+
inspectionDate
|
3301
|
+
Refer to inspectionDate in InvoiceDetailItem.
|
3302
|
+
-->
|
3303
|
+
<!ELEMENT InvoiceDetailServiceItem (
|
3304
|
+
InvoiceDetailServiceItemReference,
|
3305
|
+
SubtotalAmount,
|
3306
|
+
Period?,
|
3307
|
+
(UnitRate | (UnitOfMeasure, UnitPrice))?,
|
3308
|
+
Tax?,
|
3309
|
+
GrossAmount?,
|
3310
|
+
InvoiceDetailDiscount?, NetAmount?,
|
3311
|
+
Distribution*, Comments?,
|
3312
|
+
(InvoiceLaborDetail)?,
|
3313
|
+
Extrinsic*)>
|
3314
|
+
<!ATTLIST InvoiceDetailServiceItem
|
3315
|
+
invoiceLineNumber %uint; #REQUIRED
|
3316
|
+
quantity %r8; #IMPLIED
|
3317
|
+
referenceDate %datetime.tz; #IMPLIED
|
3318
|
+
inspectionDate %datetime.tz; #IMPLIED
|
3319
|
+
>
|
3320
|
+
|
3321
|
+
|
3322
|
+
<!--
|
3323
|
+
Defines header level summary info of an order or master agreement in an invoice
|
3324
|
+
line.
|
3325
|
+
|
3326
|
+
SubtotalAmount
|
3327
|
+
The invoice subtotal of this order or master agreement.
|
3328
|
+
|
3329
|
+
Period
|
3330
|
+
The period during which the service was rendered. It should only be used for
|
3331
|
+
header level summary info for services, and it does not apply to goods.
|
3332
|
+
|
3333
|
+
Tax
|
3334
|
+
The tax info for this order or master agreement. It will be ignored if
|
3335
|
+
isTaxInLine is false.
|
3336
|
+
|
3337
|
+
InvoiceDetailLineSpecialHandling
|
3338
|
+
The special handling info for this order or master agreement. It will be
|
3339
|
+
ignored if isSpecialHandlingInLine is false. It should only be used for
|
3340
|
+
header level summary info for goods, and it does not apply to services.
|
3341
|
+
|
3342
|
+
InvoiceDetailLineShipping
|
3343
|
+
The shipping info for this order. It will be ignored if isShippingInLine is
|
3344
|
+
false. It should only be used for header level summary info for goods, and
|
3345
|
+
it does not apply to services.
|
3346
|
+
|
3347
|
+
GrossAmount
|
3348
|
+
The SubtotalAmount plus taxes, shipping, and special handling
|
3349
|
+
charges.
|
3350
|
+
|
3351
|
+
InvoiceDetailDiscount
|
3352
|
+
The discount info for this order. It will be ignored if
|
3353
|
+
isDiscountInLine is false.
|
3354
|
+
|
3355
|
+
NetAmount
|
3356
|
+
The GrossAmount minus discount amount.
|
3357
|
+
|
3358
|
+
Comments
|
3359
|
+
Textual comments for this line item.
|
3360
|
+
|
3361
|
+
Extrinsic
|
3362
|
+
Additional information related to this line item. Should not
|
3363
|
+
duplicate anything in InvoiceDetailOrderSummary or
|
3364
|
+
InvoiceDetailHeaderOrder.
|
3365
|
+
|
3366
|
+
invoiceLineNumber
|
3367
|
+
Supplier defined ID for the current invoice line. It should be
|
3368
|
+
unique across all invoice lines of the same InvoiceDetailRequest.
|
3369
|
+
|
3370
|
+
inspectionDate
|
3371
|
+
Refer to inspectionDate in InvoiceDetailItem.
|
3372
|
+
-->
|
3373
|
+
<!ELEMENT InvoiceDetailOrderSummary (SubtotalAmount, Period?, Tax?,
|
3374
|
+
InvoiceDetailLineSpecialHandling?,
|
3375
|
+
InvoiceDetailLineShipping?,
|
3376
|
+
GrossAmount?, InvoiceDetailDiscount?,
|
3377
|
+
NetAmount?, Comments?, Extrinsic*)>
|
3378
|
+
<!ATTLIST InvoiceDetailOrderSummary
|
3379
|
+
invoiceLineNumber %uint; #REQUIRED
|
3380
|
+
inspectionDate %datetime.tz; #IMPLIED
|
3381
|
+
>
|
3382
|
+
|
3383
|
+
|
3384
|
+
<!--
|
3385
|
+
Defines the header invoice information of an order without item details,
|
3386
|
+
used ONLY when isHeaderInvoice is true.
|
3387
|
+
|
3388
|
+
In this case, an invoice line is an InvoiceDetailHeaderOrder
|
3389
|
+
and its invoice line number is InvoiceDetailHeaderOrder/
|
3390
|
+
InvoiceDetailOrderSummary@invoiceLineNumber.
|
3391
|
+
|
3392
|
+
InvoiceDetailOrderInfo
|
3393
|
+
The reference information of the order.
|
3394
|
+
|
3395
|
+
InvoiceDetailOrderSummary
|
3396
|
+
The header level invoice info of the order.
|
3397
|
+
-->
|
3398
|
+
<!ELEMENT InvoiceDetailHeaderOrder
|
3399
|
+
(InvoiceDetailOrderInfo, InvoiceDetailOrderSummary)>
|
3400
|
+
|
3401
|
+
<!--
|
3402
|
+
Defines the invoice information of an order or master agreement with item details,
|
3403
|
+
used ONLY when isHeaderInvoice is false.
|
3404
|
+
|
3405
|
+
In this case, an invoice line is an InvoiceDetailItem and its invoice
|
3406
|
+
line number is InvoiceDetailItem@invoiceLineNumber.
|
3407
|
+
|
3408
|
+
InvoiceDetailOrderInfo
|
3409
|
+
The reference information of the order or master agreement.
|
3410
|
+
|
3411
|
+
InvoiceDetailItem
|
3412
|
+
The information of an item in the order.
|
3413
|
+
|
3414
|
+
InvoiceDetailServiceItem
|
3415
|
+
The information of a service item in the master agreement.
|
3416
|
+
-->
|
3417
|
+
<!ELEMENT InvoiceDetailOrder (InvoiceDetailOrderInfo,
|
3418
|
+
(InvoiceDetailItem | InvoiceDetailServiceItem)+)>
|
3419
|
+
|
3420
|
+
|
3421
|
+
<!--
|
3422
|
+
Defines the header information of an InvoiceDetailRequest.
|
3423
|
+
|
3424
|
+
InvoiceDetailHeaderIndicator
|
3425
|
+
Header level indicators describing overall attributes of this
|
3426
|
+
invoice.
|
3427
|
+
|
3428
|
+
InvoiceDetailLineIndicator
|
3429
|
+
Header level indicators indicating certain information is
|
3430
|
+
provided at invoice line level (in InvoiceDetailItem or
|
3431
|
+
InvoiceDetailOrderSummary).
|
3432
|
+
|
3433
|
+
InvoicePartner
|
3434
|
+
All partners invoiced in invoicing, including Sold to,
|
3435
|
+
Bill to, Remit to, Issuer of Invoice, etc.
|
3436
|
+
|
3437
|
+
DocumentReference
|
3438
|
+
Reference to an earlier InvoiceDetailRequest. If the
|
3439
|
+
attribute InvoiceDetailRequestHeader@operation is "delete",
|
3440
|
+
the DocumentReference is required and it must reference the
|
3441
|
+
original InvoiceDetailRequest document (with value "new" for
|
3442
|
+
its attribute InvoiceDetailRequestHeader@operation) during the
|
3443
|
+
same invoicing process. If the attribute
|
3444
|
+
InvoiceDetailRequestHeader@purpose is "lineLevelCreditMemo",
|
3445
|
+
the DocumentReference is required and must identify the
|
3446
|
+
original invoice against which the credit is applied. In all
|
3447
|
+
other situations, the DocumentReference is optional and, if it
|
3448
|
+
is provided, it must reference the InvoiceDetailRequest which
|
3449
|
+
is related to the current InvoiceDetailRequest.
|
3450
|
+
|
3451
|
+
InvoiceIDInfo
|
3452
|
+
Reference to an earlier InvoiceDetailRequest. If both
|
3453
|
+
DocumentReference and InvoiceIDInfo are provided, they must
|
3454
|
+
refer to the same invoice.
|
3455
|
+
|
3456
|
+
InvoiceDetailShipping
|
3457
|
+
The shipping details of this invoice. It will be ignored if
|
3458
|
+
isShippingInLine is true.
|
3459
|
+
|
3460
|
+
InvoiceDetailPaymentTerm
|
3461
|
+
This is an older, deprecated way to define payment terms for this invoice.
|
3462
|
+
Use PaymentTerm instead.
|
3463
|
+
|
3464
|
+
PaymentTerm
|
3465
|
+
This defines the payment terms for this invoice.
|
3466
|
+
|
3467
|
+
Period
|
3468
|
+
The total period during which all the services (specified in this invoice)
|
3469
|
+
were rendered. This does not imply anything about the Period at the
|
3470
|
+
line level.
|
3471
|
+
|
3472
|
+
Comments
|
3473
|
+
Textual comments for this invoice.
|
3474
|
+
|
3475
|
+
Extrinsic
|
3476
|
+
Additional information related to this invoice. Should not
|
3477
|
+
duplicate anything in InvoiceDetailRequestHeader or
|
3478
|
+
InvoiceDetailRequest.
|
3479
|
+
For service related invoice, header level service extrinsics such
|
3480
|
+
as "serviceLocation" can be specified here as follows.
|
3481
|
+
<Extrinsic name="serviceLocation">
|
3482
|
+
<Contact role="serviceLocation">
|
3483
|
+
<Name>XYZ Inc</Name>
|
3484
|
+
<PostalAddress>
|
3485
|
+
<Street>123 Easy St</Street>
|
3486
|
+
<City>Sunnyvale</City>
|
3487
|
+
<State>California</State>
|
3488
|
+
<PostalCode>94089</PostalCode>
|
3489
|
+
<Country isoCountryCode="US">USA</Country>
|
3490
|
+
</PostalAddress>
|
3491
|
+
</Contact>
|
3492
|
+
</Extrinsic>
|
3493
|
+
|
3494
|
+
invoiceID
|
3495
|
+
A supplier-generated identifier for this Invoice. Identical to the
|
3496
|
+
Invoice Number which appears at the top of a physical Invoice.
|
3497
|
+
|
3498
|
+
isInformationOnly
|
3499
|
+
True if this document is for buyer's information only (i.e. no action
|
3500
|
+
needs to be taken by the buyer). False if the buyer needs to take
|
3501
|
+
action upon receiving this document (e.g. submit payment or accept
|
3502
|
+
credit). By default, it is false.
|
3503
|
+
|
3504
|
+
purpose
|
3505
|
+
The purpose of this invoice:
|
3506
|
+
standard - This invoice is a standard billing statement from the
|
3507
|
+
supplier to the buyer.
|
3508
|
+
creditMemo - This invoice is a credit memo for giving credit back
|
3509
|
+
to the buyer by the supplier. In this case, the attribute
|
3510
|
+
InvoiceDetailHeaderIndicator@isHeaderInvoice must be true.
|
3511
|
+
Also, the element InvoiceDetailSummary/DueAmount must be
|
3512
|
+
a negative amount.
|
3513
|
+
debitMemo - This invoice is a debit memo for billing a balance
|
3514
|
+
owed by the buyer to the supplier. In this case, the attribute
|
3515
|
+
InvoiceDetailHeaderIndicator@isHeaderInvoice must be true.
|
3516
|
+
Also, the element InvoiceDetailSummary/DueAmount must be
|
3517
|
+
a positive amount.
|
3518
|
+
lineLevelCreditMemo - This invoice is a line item level credit memo
|
3519
|
+
for giving credit back to the buyer by the supplier. In this
|
3520
|
+
case, the attribute InvoiceDetailHeaderIndicator@isHeaderInvoice
|
3521
|
+
is false. All the line item amounts and hence the
|
3522
|
+
InvoiceDetailSummary/DueAmount must be a negative amount.
|
3523
|
+
|
3524
|
+
By default, it is "standard".
|
3525
|
+
|
3526
|
+
operation
|
3527
|
+
How this document is acting on the invoice:
|
3528
|
+
new - This document creates a new invoice.
|
3529
|
+
delete - This document cancels an existing invoice. That existing
|
3530
|
+
invoice must be specified as DocumentReference.
|
3531
|
+
By default, it is "new".
|
3532
|
+
|
3533
|
+
invoiceDate
|
3534
|
+
Date and time this Invoice was created (should be earlier than the
|
3535
|
+
document's timestamp).
|
3536
|
+
|
3537
|
+
invoiceOrigin
|
3538
|
+
Indicates whether the invoice originated from the Buyer or Supplier.
|
3539
|
+
-->
|
3540
|
+
<!ELEMENT InvoiceDetailRequestHeader (InvoiceDetailHeaderIndicator,
|
3541
|
+
InvoiceDetailLineIndicator,
|
3542
|
+
InvoicePartner*,
|
3543
|
+
DocumentReference?,
|
3544
|
+
InvoiceIDInfo?,
|
3545
|
+
InvoiceDetailShipping?,
|
3546
|
+
(InvoiceDetailPaymentTerm*|PaymentTerm*),
|
3547
|
+
Period?,
|
3548
|
+
Comments?,
|
3549
|
+
Extrinsic*)>
|
3550
|
+
<!ATTLIST InvoiceDetailRequestHeader
|
3551
|
+
invoiceID %string; #REQUIRED
|
3552
|
+
isInformationOnly
|
3553
|
+
(yes) #IMPLIED
|
3554
|
+
purpose (standard | creditMemo | debitMemo | lineLevelCreditMemo)
|
3555
|
+
"standard"
|
3556
|
+
operation (new | delete) "new"
|
3557
|
+
invoiceDate %datetime.tz; #REQUIRED
|
3558
|
+
invoiceOrigin
|
3559
|
+
(supplier | buyer) #IMPLIED
|
3560
|
+
>
|
3561
|
+
|
3562
|
+
<!--
|
3563
|
+
InvoiceDetailRequest
|
3564
|
+
|
3565
|
+
Transmits a invoice request to a buyer. Provides order
|
3566
|
+
references, line item references, partners involved, accounting
|
3567
|
+
distribution, discount terms, shipping and special handling, applicable
|
3568
|
+
taxes, deposit and payment, contact and remittance information, etc.
|
3569
|
+
|
3570
|
+
Suppliers can use InvoiceDetailRequest to send invoice for any
|
3571
|
+
portion of all or selected line items from single or multiple
|
3572
|
+
orders. They can also use InvoiceDetailRequest to send cancel invoice
|
3573
|
+
(InvoiceDetailRequestHeader@operation is "delete"), credit memo,
|
3574
|
+
debit memo, or receipt (InvoiceDetailRequestHeader@isInformationOnly is
|
3575
|
+
"yes").
|
3576
|
+
|
3577
|
+
This document must be sent to the location specified in the buyer's
|
3578
|
+
ProfileResponse.
|
3579
|
+
|
3580
|
+
InvoiceDetailRequestHeader
|
3581
|
+
The header information of this invoice.
|
3582
|
+
|
3583
|
+
InvoiceDetailOrder
|
3584
|
+
The invoice information of an order with item details, used ONLY
|
3585
|
+
when isHeaderInvoice is false.
|
3586
|
+
|
3587
|
+
InvoiceDetailHeaderOrder
|
3588
|
+
The header invoice information of an order without item details,
|
3589
|
+
used ONLY when isHeaderInvoice is true.
|
3590
|
+
|
3591
|
+
InvoiceDetailSummary
|
3592
|
+
The summary information of this invoice.
|
3593
|
+
-->
|
3594
|
+
<!ELEMENT InvoiceDetailRequest
|
3595
|
+
(InvoiceDetailRequestHeader,
|
3596
|
+
(InvoiceDetailOrder+ | InvoiceDetailHeaderOrder+),
|
3597
|
+
InvoiceDetailSummary)>
|
3598
|
+
|
3599
|
+
|
3600
|
+
|
3601
|
+
<!--
|
3602
|
+
For cXML license agreement information, please see
|
3603
|
+
http://www.cxml.org/home/license.asp
|
3604
|
+
|
3605
|
+
$Id$
|
3606
|
+
-->
|
3607
|
+
|
3608
|
+
<!--
|
3609
|
+
For better definitions of these Elements/Entities, refer to the cXML
|
3610
|
+
User's Guide and related documents.
|
3611
|
+
-->
|
3612
|
+
|
3613
|
+
<!--
|
3614
|
+
Defines invoice information specific to labor items.
|
3615
|
+
|
3616
|
+
Contractor
|
3617
|
+
The contractor whose work is being invoiced.
|
3618
|
+
|
3619
|
+
JobDescription
|
3620
|
+
Detailed description of the job for this labor line item.
|
3621
|
+
|
3622
|
+
Supervisor
|
3623
|
+
Supervisor of the contractor whose work is being invoiced.
|
3624
|
+
|
3625
|
+
WorkLocation
|
3626
|
+
The work location of the contractor whose work is being invoiced.
|
3627
|
+
|
3628
|
+
InvoiceTimeCardDetail
|
3629
|
+
Invoice details for labor reported on a time card. The pay code for this invoice
|
3630
|
+
line item is in the UnitRate of the containing InvoiceDetailServiceItem element.
|
3631
|
+
-->
|
3632
|
+
<!ELEMENT InvoiceLaborDetail (Contractor?, JobDescription?, Supervisor?, WorkLocation?, InvoiceTimeCardDetail?)>
|
3633
|
+
|
3634
|
+
<!--
|
3635
|
+
InvoiceTimeCardDetail
|
3636
|
+
This element is used to capture details about a timecard related (temp
|
3637
|
+
labor) service.
|
3638
|
+
|
3639
|
+
TimeCardReference
|
3640
|
+
The TimeCardReference element provides a clear reference to a prior TimeCard
|
3641
|
+
cXML document.
|
3642
|
+
|
3643
|
+
TimeCardIDInfo
|
3644
|
+
Unique ID for the timecard as sent on the TimeCard document during
|
3645
|
+
TimeCardInfoRequest or TimeCardRequest messages.
|
3646
|
+
-->
|
3647
|
+
<!ELEMENT InvoiceTimeCardDetail ((TimeCardReference | TimeCardIDInfo))>
|
3648
|
+
<!ELEMENT TimeCardReference (DocumentReference)>
|
3649
|
+
<!ATTLIST TimeCardReference
|
3650
|
+
timeCardID %string; #IMPLIED
|
3651
|
+
>
|
3652
|
+
|
3653
|
+
<!--
|
3654
|
+
TimeCardIDInfo
|
3655
|
+
Defines the unique ID of the timecard known to the buyer and supplier systems.
|
3656
|
+
|
3657
|
+
timeCardID
|
3658
|
+
Unique ID for the timecard as sent on the TimeCard document during
|
3659
|
+
TimeCardInfoRequest or TimeCardRequest requests
|
3660
|
+
-->
|
3661
|
+
<!ELEMENT TimeCardIDInfo EMPTY>
|
3662
|
+
<!ATTLIST TimeCardIDInfo
|
3663
|
+
timeCardID %string; #REQUIRED
|
3664
|
+
>
|
3665
|
+
<!--
|
3666
|
+
For cXML license agreement information, please see
|
3667
|
+
http://www.cxml.org/home/license.asp
|
3668
|
+
|
3669
|
+
$Id: //ariba/cxml/schema/Modules/InvoiceEntities.mod#2 $
|
3670
|
+
-->
|
3671
|
+
|
3672
|
+
<!--
|
3673
|
+
Top-level entities used in Transport.mod. Defined here to allow easy
|
3674
|
+
extention of the cXML specification (using additional DTDs) without
|
3675
|
+
redefining these entities.
|
3676
|
+
-->
|
3677
|
+
|
3678
|
+
<!ENTITY % cxml.requests "(InvoiceDetailRequest)">
|
3679
|
+
|
3680
|
+
<!ENTITY % cxml.messages "">
|
3681
|
+
|
3682
|
+
<!ENTITY % cxml.responses "">
|
3683
|
+
<!--
|
3684
|
+
For cXML license agreement information, please see
|
3685
|
+
http://www.cxml.org/home/license.asp
|
3686
|
+
|
3687
|
+
$Id: //ariba/cxml/schema/Modules/Transport.mod#6 $
|
3688
|
+
-->
|
3689
|
+
|
3690
|
+
<!--
|
3691
|
+
For better definitions of these Elements/Entities, refer to the cXML
|
3692
|
+
Protocol Specification documents.
|
3693
|
+
-->
|
3694
|
+
|
3695
|
+
<!--
|
3696
|
+
Defines the set of known valid cXML digital signature versions
|
3697
|
+
-->
|
3698
|
+
<!ENTITY % cxml.signatureVersions "(1.0)">
|
3699
|
+
|
3700
|
+
<!--
|
3701
|
+
cXML envelope
|
3702
|
+
|
3703
|
+
version
|
3704
|
+
Version of this cXML transmission. Should be less than or equal
|
3705
|
+
to the version portion of the SYSTEM identifier for this document.
|
3706
|
+
|
3707
|
+
payloadID
|
3708
|
+
A unique identifier for this document.
|
3709
|
+
|
3710
|
+
timestamp
|
3711
|
+
The date and time at which this document was originally created.
|
3712
|
+
|
3713
|
+
signatureVersion
|
3714
|
+
If present, specifies the cXML digital signature version to
|
3715
|
+
which this document conforms. This implies that the
|
3716
|
+
ds:Signature element must be present. It is an error if this
|
3717
|
+
attribute is present and the document does not conform to the
|
3718
|
+
specified signature version. If absent, the document is not
|
3719
|
+
signed.
|
3720
|
+
|
3721
|
+
xml:lang
|
3722
|
+
The default locale for all strings (not formatted items such as
|
3723
|
+
dates, times and numbers) in this document. This attribute will be
|
3724
|
+
required in a future version of cXML. (Leaving it out is
|
3725
|
+
deprecated.)
|
3726
|
+
-->
|
3727
|
+
<!ELEMENT cXML (((Header, (Message | Request)) | Response), ds:Signature*)>
|
3728
|
+
<!ATTLIST cXML
|
3729
|
+
version %string; "&cxml.version;"
|
3730
|
+
payloadID %string; #REQUIRED
|
3731
|
+
timestamp %datetime.tz; #REQUIRED
|
3732
|
+
signatureVersion %cxml.signatureVersions; #IMPLIED
|
3733
|
+
xml:lang %xmlLangCode; #IMPLIED
|
3734
|
+
>
|
3735
|
+
|
3736
|
+
<!-- header -->
|
3737
|
+
<!ELEMENT Header (From, To, Sender, (Path, OriginalDocument)?)>
|
3738
|
+
|
3739
|
+
<!ELEMENT From (Credential+, Correspondent?)>
|
3740
|
+
<!ELEMENT To (Credential+, Correspondent?)>
|
3741
|
+
<!ELEMENT Sender (Credential+, UserAgent)>
|
3742
|
+
|
3743
|
+
<!--
|
3744
|
+
Path. A list of nodes that records the path taken by a user through
|
3745
|
+
a punchout chaining scenario.
|
3746
|
+
-->
|
3747
|
+
<!ELEMENT Path (Node+)>
|
3748
|
+
|
3749
|
+
<!--
|
3750
|
+
A Node is any entity connected to a Network.
|
3751
|
+
|
3752
|
+
type
|
3753
|
+
A node can define itself as a router node or a copy node. Routers
|
3754
|
+
assume responsibility for the transaction. Copy Nodes request to only
|
3755
|
+
be aware of the transaction.
|
3756
|
+
|
3757
|
+
itemDetailsRequired
|
3758
|
+
Intermediary Nodes may want to support special operations without
|
3759
|
+
having to store specific information required to fulfill that operation.
|
3760
|
+
This attribute tells the previous node to send ItemDetail information
|
3761
|
+
when performing a PunchOutSetupRequest edit/inspect operation.
|
3762
|
+
-->
|
3763
|
+
<!ELEMENT Node (Credential+)>
|
3764
|
+
<!ATTLIST Node
|
3765
|
+
type (copy | route) #REQUIRED
|
3766
|
+
itemDetailsRequired (yes) #IMPLIED
|
3767
|
+
>
|
3768
|
+
|
3769
|
+
|
3770
|
+
<!--
|
3771
|
+
Identifies the previous document in the situation that a router node
|
3772
|
+
forwards a message or request on to a more distant node.
|
3773
|
+
|
3774
|
+
payloadID
|
3775
|
+
The payloadId of the original document.
|
3776
|
+
-->
|
3777
|
+
<!ELEMENT OriginalDocument EMPTY>
|
3778
|
+
<!ATTLIST OriginalDocument
|
3779
|
+
payloadID %string; #REQUIRED
|
3780
|
+
>
|
3781
|
+
|
3782
|
+
<!--
|
3783
|
+
A textual string representing who the UserAgent is conducting the cXML
|
3784
|
+
conversation. Analogous to UserAgent for HTTP conversations.
|
3785
|
+
-->
|
3786
|
+
<!ELEMENT UserAgent (#PCDATA)>
|
3787
|
+
|
3788
|
+
<!--
|
3789
|
+
DEPRECATED
|
3790
|
+
Do not use this element.
|
3791
|
+
-->
|
3792
|
+
<!ELEMENT DigitalSignature ANY>
|
3793
|
+
<!ATTLIST DigitalSignature
|
3794
|
+
type %string; "PK7 self-contained"
|
3795
|
+
encoding %string; "Base64"
|
3796
|
+
>
|
3797
|
+
|
3798
|
+
<!--
|
3799
|
+
A shared secret. Typically, this is a username/password type of secret
|
3800
|
+
exchanged through a secure transport before communication takes place.
|
3801
|
+
-->
|
3802
|
+
<!ELEMENT SharedSecret ANY>
|
3803
|
+
|
3804
|
+
<!--
|
3805
|
+
Represents an identity for a credential.
|
3806
|
+
|
3807
|
+
lastChangedTimestamp
|
3808
|
+
When the underlying object last changed in the originating system.
|
3809
|
+
This is used in cases where the same object (e.g. a buyer
|
3810
|
+
organization) is replicated, and kept synchronized, across two
|
3811
|
+
systems.
|
3812
|
+
-->
|
3813
|
+
<!ELEMENT Identity ANY>
|
3814
|
+
<!ATTLIST Identity
|
3815
|
+
lastChangedTimestamp %datetime.tz; #IMPLIED
|
3816
|
+
>
|
3817
|
+
|
3818
|
+
<!--
|
3819
|
+
A Credential Message Authentication Code (MAC). This is used in
|
3820
|
+
situations where one party (the sender) must prove to another (the
|
3821
|
+
receiver) that it is authenticated by a shared secret with a third
|
3822
|
+
party trusted by both.
|
3823
|
+
|
3824
|
+
The MAC should be computed by the trusted third party and
|
3825
|
+
transferred to the sender. The MAC should be opaque to the sender
|
3826
|
+
(i.e., it should be secure and non-reversible). The MAC should
|
3827
|
+
use as its inputs enough information to accomplish the following
|
3828
|
+
goals:
|
3829
|
+
|
3830
|
+
(1) The MAC must prove to the receiver that it really originated
|
3831
|
+
with the trusted third party. E.g., the MAC could use a shared
|
3832
|
+
secret between the receiver and the trusted third party as its
|
3833
|
+
secret key.
|
3834
|
+
|
3835
|
+
(2) The MAC should be usable only by a certain sender. E.g., the
|
3836
|
+
MAC could authenticate an identifier for the sending organization.
|
3837
|
+
|
3838
|
+
(3) The MAC should prove that the sender is authorized to send on
|
3839
|
+
behalf of the From organization. E.g., the MAC could authenticate
|
3840
|
+
an identifier for the From organization.
|
3841
|
+
|
3842
|
+
(4) The MAC should limit the risk of the MAC being compromised and
|
3843
|
+
used to impersonate the sender by another party communicating with
|
3844
|
+
the receiver. E.g., the MAC could authenticate an expiration date
|
3845
|
+
or sequence number.
|
3846
|
+
|
3847
|
+
type
|
3848
|
+
An implementation-dependent identifier for the exact data
|
3849
|
+
being authenticated and the method in which it is formatted
|
3850
|
+
for authentication. Currently the only supported value is
|
3851
|
+
"FromSenderCredentials".
|
3852
|
+
|
3853
|
+
algorithm
|
3854
|
+
An implementation-dependent identifier for the exact MAC
|
3855
|
+
algorithm used on the data. Currently the only supported
|
3856
|
+
value is "HMAC-SHA1-96".
|
3857
|
+
|
3858
|
+
creationDate
|
3859
|
+
The time at which this MAC was issued. The receiver must not
|
3860
|
+
accept the MAC before this time.
|
3861
|
+
|
3862
|
+
expirationDate
|
3863
|
+
The time at which this MAC expires. The receiver must not
|
3864
|
+
accept the MAC after this time.
|
3865
|
+
-->
|
3866
|
+
<!ELEMENT CredentialMac (#PCDATA)>
|
3867
|
+
<!ATTLIST CredentialMac
|
3868
|
+
type %string; #REQUIRED
|
3869
|
+
algorithm %string; #REQUIRED
|
3870
|
+
creationDate %datetime.tz; #REQUIRED
|
3871
|
+
expirationDate %datetime.tz; #REQUIRED
|
3872
|
+
>
|
3873
|
+
|
3874
|
+
<!--
|
3875
|
+
A combination of an Identity and authentication element. If the
|
3876
|
+
authentication element is present, it strongly authenticates who/what
|
3877
|
+
someone is. The authentication element should not be sent within Message
|
3878
|
+
documents transported via an end user's browser. One-way communication
|
3879
|
+
must be authenticated in the transport layer.
|
3880
|
+
|
3881
|
+
domain
|
3882
|
+
In what domain is this Credential represented?
|
3883
|
+
type
|
3884
|
+
Does this Credential identify a marketplace or one of its member
|
3885
|
+
companies? A Credential without this attribute describes a member
|
3886
|
+
company or unaffiliated buying organization.
|
3887
|
+
-->
|
3888
|
+
<!ENTITY % cxml.authentication "SharedSecret |
|
3889
|
+
DigitalSignature |
|
3890
|
+
CredentialMac"
|
3891
|
+
>
|
3892
|
+
<!ELEMENT Credential (Identity, (%cxml.authentication;)?)>
|
3893
|
+
<!ATTLIST Credential
|
3894
|
+
domain %string; #REQUIRED
|
3895
|
+
type (marketplace) #IMPLIED
|
3896
|
+
>
|
3897
|
+
|
3898
|
+
<!--
|
3899
|
+
Status of a Response or Message. If present, the element content
|
3900
|
+
describes specifics of a problem.
|
3901
|
+
|
3902
|
+
code
|
3903
|
+
HTTP or cXML-specific status code.
|
3904
|
+
|
3905
|
+
text
|
3906
|
+
Textual version of the status code (not specific issue).
|
3907
|
+
|
3908
|
+
xml:lang
|
3909
|
+
The language in which the text attribute and element content are
|
3910
|
+
written. This attribute will be required in a future version of
|
3911
|
+
cXML. (Leaving it out is deprecated.)
|
3912
|
+
-->
|
3913
|
+
<!ELEMENT Status (#PCDATA)>
|
3914
|
+
<!ATTLIST Status
|
3915
|
+
code %uint; #REQUIRED
|
3916
|
+
text %string; #REQUIRED
|
3917
|
+
xml:lang %xmlLangCode; #IMPLIED
|
3918
|
+
>
|
3919
|
+
|
3920
|
+
<!--
|
3921
|
+
Message
|
3922
|
+
|
3923
|
+
When Status not present, '<Status code="200" text="OK" />' is implied.
|
3924
|
+
-->
|
3925
|
+
<!ELEMENT Message (Status? %cxml.messages;)>
|
3926
|
+
<!ATTLIST Message
|
3927
|
+
deploymentMode (production | test) "production"
|
3928
|
+
inReplyTo %string; #IMPLIED
|
3929
|
+
Id ID #IMPLIED
|
3930
|
+
>
|
3931
|
+
|
3932
|
+
<!-- request -->
|
3933
|
+
<!ELEMENT Request (%cxml.requests;)>
|
3934
|
+
<!ATTLIST Request
|
3935
|
+
deploymentMode (production | test) "production"
|
3936
|
+
Id ID #IMPLIED
|
3937
|
+
>
|
3938
|
+
|
3939
|
+
<!-- response -->
|
3940
|
+
<!ELEMENT Response (Status %cxml.responses;)>
|
3941
|
+
<!ATTLIST Response
|
3942
|
+
Id ID #IMPLIED
|
3943
|
+
>
|
3944
|
+
|
3945
|
+
<!--
|
3946
|
+
This element includes signed cXML-specific details about the
|
3947
|
+
document being signed. When a cXML document is signed, this
|
3948
|
+
element must appear inside the first ds:Object element in the
|
3949
|
+
ds:Signature element.
|
3950
|
+
|
3951
|
+
signatureVersion
|
3952
|
+
This specifies the cXML signature version to which this
|
3953
|
+
document conforms. It is an error if this attribute value
|
3954
|
+
does not exactly match the value of the signatureVersion
|
3955
|
+
attribute from the top-level cXML element. It is an error if
|
3956
|
+
the document does not conform to the specified cXML signature
|
3957
|
+
version.
|
3958
|
+
|
3959
|
+
payloadID
|
3960
|
+
Specifies the payloadID of the document. It is an error if
|
3961
|
+
the value of this attribute does not exactly match the value
|
3962
|
+
of the payloadID attribute from the top-level cXML element.
|
3963
|
+
|
3964
|
+
Id
|
3965
|
+
This identifies this cXMLSignedInfo element for purposes of
|
3966
|
+
the signature. This attribute must always be present and
|
3967
|
+
should always have the value "cXMLSignedInfo"
|
3968
|
+
|
3969
|
+
-->
|
3970
|
+
<!ELEMENT cXMLSignedInfo EMPTY>
|
3971
|
+
<!ATTLIST cXMLSignedInfo
|
3972
|
+
signatureVersion %cxml.signatureVersions; #REQUIRED
|
3973
|
+
payloadID %string; #REQUIRED
|
3974
|
+
Id ID #REQUIRED
|
3975
|
+
>
|
3976
|
+
|
3977
|
+
<!--
|
3978
|
+
This element includes the contact information of the organisation
|
3979
|
+
to/from whom the document is sent/received.
|
3980
|
+
|
3981
|
+
preferredLanguage
|
3982
|
+
optional language which the organisation, identified by this
|
3983
|
+
element, would prefer to use. Refer to the definition of
|
3984
|
+
xmlLangCode entity.
|
3985
|
+
-->
|
3986
|
+
<!ELEMENT Correspondent (Contact+, Extrinsic*)>
|
3987
|
+
<!ATTLIST Correspondent
|
3988
|
+
preferredLanguage %xmlLangCode; #IMPLIED
|
3989
|
+
><!--
|
3990
|
+
For cXML license agreement information, please see
|
3991
|
+
http://www.cxml.org/home/license.asp
|
3992
|
+
|
3993
|
+
$Id: //ariba/cxml/Modules/Profile.mod#6 $
|
3994
|
+
-->
|
3995
|
+
|
3996
|
+
<!--
|
3997
|
+
For more information about W3C XML signatures, refer to the
|
3998
|
+
following URL. Portions of this DTD are derived from information
|
3999
|
+
contained therein.
|
4000
|
+
http://www.w3.org/TR/xmldsig-core/
|
4001
|
+
-->
|
4002
|
+
|
4003
|
+
<!-- DTD for XML Signatures
|
4004
|
+
http://www.w3.org/2000/09/xmldsig#
|
4005
|
+
Joseph Reagle $last changed 20001215$
|
4006
|
+
|
4007
|
+
http://www.w3.org/2000/09/xmldsig#
|
4008
|
+
$Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
|
4009
|
+
|
4010
|
+
Copyright 2001 The Internet Society and W3C (Massachusetts Institute
|
4011
|
+
of Technology, Institut National de Recherche en Informatique et en
|
4012
|
+
Automatique, Keio University). All Rights Reserved.
|
4013
|
+
http://www.w3.org/Consortium/Legal/
|
4014
|
+
|
4015
|
+
This document is governed by the W3C Software License [1] as described
|
4016
|
+
in the FAQ [2].
|
4017
|
+
|
4018
|
+
[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
|
4019
|
+
[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
|
4020
|
+
-->
|
4021
|
+
|
4022
|
+
<!--
|
4023
|
+
|
4024
|
+
The following entity declarations enable external/flexible content in
|
4025
|
+
the Signature content model.
|
4026
|
+
|
4027
|
+
#PCDATA emulates schema string; when combined with element types it
|
4028
|
+
emulates schema's mixed content type.
|
4029
|
+
|
4030
|
+
%foo.ANY permits the user to include their own element types from
|
4031
|
+
other namespaces, for example:
|
4032
|
+
<!ENTITY % KeyValue.ANY '| ecds:ECDSAKeyValue'>
|
4033
|
+
...
|
4034
|
+
<!ELEMENT ecds:ECDSAKeyValue (#PCDATA) >
|
4035
|
+
|
4036
|
+
-->
|
4037
|
+
|
4038
|
+
<!ENTITY % Object.ANY '|xades:QualifyingProperties|cXMLSignedInfo|Extrinsic'>
|
4039
|
+
<!ENTITY % Method.ANY ''>
|
4040
|
+
<!ENTITY % Transform.ANY ''>
|
4041
|
+
<!ENTITY % SignatureProperty.ANY ''>
|
4042
|
+
<!ENTITY % KeyInfo.ANY ''>
|
4043
|
+
<!ENTITY % KeyValue.ANY ''>
|
4044
|
+
<!ENTITY % PGPData.ANY ''>
|
4045
|
+
<!ENTITY % X509Data.ANY ''>
|
4046
|
+
<!ENTITY % SPKIData.ANY ''>
|
4047
|
+
|
4048
|
+
|
4049
|
+
|
4050
|
+
<!-- Start Core Signature declarations, these should NOT be altered -->
|
4051
|
+
|
4052
|
+
<!ELEMENT ds:Signature (ds:SignedInfo, ds:SignatureValue, ds:KeyInfo?, ds:Object*) >
|
4053
|
+
<!ATTLIST ds:Signature
|
4054
|
+
xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'
|
4055
|
+
xmlns:xades CDATA #FIXED 'http://uri.etsi.org/01903/v1.3.2#'
|
4056
|
+
Id ID #IMPLIED >
|
4057
|
+
|
4058
|
+
<!ELEMENT ds:SignatureValue (#PCDATA) >
|
4059
|
+
<!ATTLIST ds:SignatureValue
|
4060
|
+
Id ID #IMPLIED>
|
4061
|
+
|
4062
|
+
<!ELEMENT ds:SignedInfo (ds:CanonicalizationMethod,
|
4063
|
+
ds:SignatureMethod, ds:Reference+) >
|
4064
|
+
<!ATTLIST ds:SignedInfo
|
4065
|
+
Id ID #IMPLIED
|
4066
|
+
>
|
4067
|
+
|
4068
|
+
<!ELEMENT ds:CanonicalizationMethod (#PCDATA %Method.ANY;)* >
|
4069
|
+
<!ATTLIST ds:CanonicalizationMethod
|
4070
|
+
Algorithm CDATA #REQUIRED >
|
4071
|
+
|
4072
|
+
<!ELEMENT ds:SignatureMethod (#PCDATA|ds:HMACOutputLength %Method.ANY;)* >
|
4073
|
+
<!ATTLIST ds:SignatureMethod
|
4074
|
+
Algorithm CDATA #REQUIRED >
|
4075
|
+
|
4076
|
+
<!ELEMENT ds:Reference (ds:Transforms?, ds:DigestMethod, ds:DigestValue) >
|
4077
|
+
<!ATTLIST ds:Reference
|
4078
|
+
Id ID #IMPLIED
|
4079
|
+
URI CDATA #IMPLIED
|
4080
|
+
Type CDATA #IMPLIED>
|
4081
|
+
|
4082
|
+
|
4083
|
+
<!ELEMENT ds:Transforms (ds:Transform+)>
|
4084
|
+
|
4085
|
+
<!ELEMENT ds:Transform (#PCDATA|ds:XPath %Transform.ANY;)* >
|
4086
|
+
<!ATTLIST ds:Transform
|
4087
|
+
Algorithm CDATA #REQUIRED >
|
4088
|
+
|
4089
|
+
<!ELEMENT ds:XPath (#PCDATA) >
|
4090
|
+
|
4091
|
+
<!ELEMENT ds:DigestMethod (#PCDATA %Method.ANY;)* >
|
4092
|
+
<!ATTLIST ds:DigestMethod
|
4093
|
+
Algorithm CDATA #REQUIRED >
|
4094
|
+
|
4095
|
+
<!ELEMENT ds:DigestValue (#PCDATA) >
|
4096
|
+
|
4097
|
+
<!ELEMENT ds:KeyInfo (#PCDATA|ds:KeyName|ds:KeyValue|ds:RetrievalMethod|
|
4098
|
+
ds:X509Data|ds:PGPData|ds:SPKIData|ds:MgmtData %KeyInfo.ANY;)* >
|
4099
|
+
<!ATTLIST ds:KeyInfo
|
4100
|
+
Id ID #IMPLIED >
|
4101
|
+
|
4102
|
+
<!-- Key Information -->
|
4103
|
+
|
4104
|
+
<!ELEMENT ds:KeyName (#PCDATA) >
|
4105
|
+
<!ELEMENT ds:KeyValue (#PCDATA|ds:DSAKeyValue|ds:RSAKeyValue %KeyValue.ANY;)* >
|
4106
|
+
<!ELEMENT ds:MgmtData (#PCDATA) >
|
4107
|
+
|
4108
|
+
<!ELEMENT ds:RetrievalMethod (ds:Transforms?) >
|
4109
|
+
<!ATTLIST ds:RetrievalMethod
|
4110
|
+
URI CDATA #REQUIRED
|
4111
|
+
Type CDATA #IMPLIED >
|
4112
|
+
|
4113
|
+
<!-- X.509 Data -->
|
4114
|
+
|
4115
|
+
<!ELEMENT ds:X509Data ((ds:X509IssuerSerial | ds:X509SKI | ds:X509SubjectName |
|
4116
|
+
ds:X509Certificate | ds:X509CRL )+ %X509Data.ANY;)>
|
4117
|
+
<!ELEMENT ds:X509IssuerSerial (ds:X509IssuerName, ds:X509SerialNumber) >
|
4118
|
+
<!ELEMENT ds:X509IssuerName (#PCDATA) >
|
4119
|
+
<!ELEMENT ds:X509SubjectName (#PCDATA) >
|
4120
|
+
<!ELEMENT ds:X509SerialNumber (#PCDATA) >
|
4121
|
+
<!ELEMENT ds:X509SKI (#PCDATA) >
|
4122
|
+
<!ELEMENT ds:X509Certificate (#PCDATA) >
|
4123
|
+
<!ELEMENT ds:X509CRL (#PCDATA) >
|
4124
|
+
|
4125
|
+
<!-- PGPData -->
|
4126
|
+
|
4127
|
+
<!ELEMENT ds:PGPData ((ds:PGPKeyID, ds:PGPKeyPacket?) | (ds:PGPKeyPacket) %PGPData.ANY;) >
|
4128
|
+
<!ELEMENT ds:PGPKeyPacket (#PCDATA) >
|
4129
|
+
<!ELEMENT ds:PGPKeyID (#PCDATA) >
|
4130
|
+
|
4131
|
+
<!-- SPKI Data -->
|
4132
|
+
|
4133
|
+
<!ELEMENT ds:SPKIData (ds:SPKISexp %SPKIData.ANY;) >
|
4134
|
+
<!ELEMENT ds:SPKISexp (#PCDATA) >
|
4135
|
+
|
4136
|
+
<!-- Extensible Content -->
|
4137
|
+
|
4138
|
+
<!ELEMENT ds:Object (#PCDATA|ds:Signature|ds:SignatureProperties|ds:Manifest %Object.ANY;)* >
|
4139
|
+
<!ATTLIST ds:Object
|
4140
|
+
Id ID #IMPLIED
|
4141
|
+
MimeType CDATA #IMPLIED
|
4142
|
+
Encoding CDATA #IMPLIED >
|
4143
|
+
|
4144
|
+
<!ELEMENT ds:Manifest (ds:Reference+) >
|
4145
|
+
<!ATTLIST ds:Manifest
|
4146
|
+
Id ID #IMPLIED >
|
4147
|
+
|
4148
|
+
<!ELEMENT ds:SignatureProperties (ds:SignatureProperty+) >
|
4149
|
+
<!ATTLIST ds:SignatureProperties
|
4150
|
+
Id ID #IMPLIED >
|
4151
|
+
|
4152
|
+
<!ELEMENT ds:SignatureProperty (#PCDATA %SignatureProperty.ANY;)* >
|
4153
|
+
<!ATTLIST ds:SignatureProperty
|
4154
|
+
Target CDATA #REQUIRED
|
4155
|
+
Id ID #IMPLIED >
|
4156
|
+
|
4157
|
+
<!-- Algorithm Parameters -->
|
4158
|
+
|
4159
|
+
<!ELEMENT ds:HMACOutputLength (#PCDATA) >
|
4160
|
+
|
4161
|
+
<!ELEMENT ds:DSAKeyValue ((ds:P, ds:Q)?, ds:G?, ds:Y, ds:J?, (ds:Seed, ds:PgenCounter)?) >
|
4162
|
+
<!ELEMENT ds:P (#PCDATA) >
|
4163
|
+
<!ELEMENT ds:Q (#PCDATA) >
|
4164
|
+
<!ELEMENT ds:G (#PCDATA) >
|
4165
|
+
<!ELEMENT ds:Y (#PCDATA) >
|
4166
|
+
<!ELEMENT ds:J (#PCDATA) >
|
4167
|
+
<!ELEMENT ds:Seed (#PCDATA) >
|
4168
|
+
<!ELEMENT ds:PgenCounter (#PCDATA) >
|
4169
|
+
|
4170
|
+
<!ELEMENT ds:RSAKeyValue (ds:Modulus, ds:Exponent) >
|
4171
|
+
<!ELEMENT ds:Modulus (#PCDATA) >
|
4172
|
+
<!ELEMENT ds:Exponent (#PCDATA) >
|
4173
|
+
<!--
|
4174
|
+
For cXML license agreement information, please see
|
4175
|
+
http://www.cxml.org/home/license.asp
|
4176
|
+
|
4177
|
+
$Id: //ariba/cxml/Modules/Profile.mod#6 $
|
4178
|
+
-->
|
4179
|
+
|
4180
|
+
<!--
|
4181
|
+
For more information about XAdES, refer to the following URL.
|
4182
|
+
Portions of this DTD are derived from information contained therein.
|
4183
|
+
http://uri.etsi.org/01903/v1.3.2#
|
4184
|
+
-->
|
4185
|
+
|
4186
|
+
<!ENTITY % Any.ANY ' '>
|
4187
|
+
<!ENTITY % XMLTimeStamp.ANY ' '>
|
4188
|
+
<!ENTITY % Method.ANY ' '>
|
4189
|
+
|
4190
|
+
<!-- Start Any -->
|
4191
|
+
|
4192
|
+
<!ELEMENT xades:Any (#PCDATA %Any.ANY;)*>
|
4193
|
+
|
4194
|
+
<!-- End Any -->
|
4195
|
+
|
4196
|
+
<!-- Start ObjectIdentifier -->
|
4197
|
+
|
4198
|
+
<!ELEMENT xades:ObjectIdentifier (xades:Identifier, xades:Description?,
|
4199
|
+
xades:DocumentationReferences?)>
|
4200
|
+
<!ELEMENT xades:Identifier (#PCDATA)>
|
4201
|
+
<!ATTLIST xades:Identifier
|
4202
|
+
Qualifier (OIDAsURI | OIDAsURN) #IMPLIED
|
4203
|
+
>
|
4204
|
+
<!ELEMENT xades:Description (#PCDATA)>
|
4205
|
+
<!ELEMENT xades:DocumentationReferences (xades:DocumentationReference)+>
|
4206
|
+
<!ELEMENT xades:DocumentationReference (#PCDATA)>
|
4207
|
+
|
4208
|
+
<!-- End ObjectIdentifier -->
|
4209
|
+
|
4210
|
+
<!-- Start EncapsulatedPKIData -->
|
4211
|
+
|
4212
|
+
<!ELEMENT xades:EncapsulatedPKIData (#PCDATA)>
|
4213
|
+
<!ATTLIST xades:EncapsulatedPKIData
|
4214
|
+
Id ID #IMPLIED
|
4215
|
+
Encoding CDATA #IMPLIED
|
4216
|
+
>
|
4217
|
+
|
4218
|
+
<!-- End EncapsulatedPKIData -->
|
4219
|
+
|
4220
|
+
<!-- Start time-stamp container types -->
|
4221
|
+
|
4222
|
+
<!ELEMENT xades:Include EMPTY>
|
4223
|
+
<!ATTLIST xades:Include
|
4224
|
+
URI CDATA #REQUIRED
|
4225
|
+
referencedData CDATA #IMPLIED
|
4226
|
+
>
|
4227
|
+
|
4228
|
+
<!ELEMENT xades:ReferenceInfo (ds:DigestMethod, ds:DigestValue)>
|
4229
|
+
<!ATTLIST xades:ReferenceInfo
|
4230
|
+
Id ID #IMPLIED
|
4231
|
+
URI CDATA #IMPLIED
|
4232
|
+
>
|
4233
|
+
<!ELEMENT xades:XAdESTimeStamp (xades:Include*, ds:CanonicalizationMethod?,
|
4234
|
+
(xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
|
4235
|
+
<!ATTLIST xades:XAdESTimeStamp
|
4236
|
+
Id ID #IMPLIED
|
4237
|
+
>
|
4238
|
+
|
4239
|
+
<!ELEMENT xades:OtherTimeStamp (xades:ReferenceInfo+, ds:CanonicalizationMethod?,
|
4240
|
+
(xades:EncapsulatedTimeStamp | xades:XMLTimeStamp))>
|
4241
|
+
<!ATTLIST xades:OtherTimeStamp
|
4242
|
+
Id ID #IMPLIED
|
4243
|
+
>
|
4244
|
+
|
4245
|
+
<!ELEMENT xades:EncapsulatedTimeStamp (#PCDATA)>
|
4246
|
+
<!ATTLIST xades:EncapsulatedTimeStamp
|
4247
|
+
Id ID #IMPLIED
|
4248
|
+
>
|
4249
|
+
|
4250
|
+
<!ELEMENT xades:XMLTimeStamp (#PCDATA %XMLTimeStamp.ANY; )*>
|
4251
|
+
|
4252
|
+
<!-- End time-stamp tokens container -->
|
4253
|
+
|
4254
|
+
<!-- Start container types -->
|
4255
|
+
|
4256
|
+
<!-- Start QualifyingProperties -->
|
4257
|
+
|
4258
|
+
<!ELEMENT xades:QualifyingProperties (xades:SignedProperties?, xades:UnsignedProperties?)>
|
4259
|
+
<!ATTLIST xades:QualifyingProperties
|
4260
|
+
Target CDATA #REQUIRED
|
4261
|
+
Id ID #IMPLIED
|
4262
|
+
xmlns:xades CDATA #FIXED 'http://uri.etsi.org/01903/v1.3.2#'
|
4263
|
+
>
|
4264
|
+
|
4265
|
+
<!ELEMENT xades:SignedProperties (xades:SignedSignatureProperties,
|
4266
|
+
xades:SignedDataObjectProperties?)>
|
4267
|
+
<!ATTLIST xades:SignedProperties
|
4268
|
+
Id ID #IMPLIED
|
4269
|
+
>
|
4270
|
+
|
4271
|
+
<!ELEMENT xades:UnsignedProperties (xades:UnsignedSignatureProperties?,
|
4272
|
+
xades:UnsignedDataObjectProperties?)>
|
4273
|
+
<!ATTLIST xades:UnsignedProperties
|
4274
|
+
Id ID #IMPLIED
|
4275
|
+
>
|
4276
|
+
|
4277
|
+
<!-- End QualifyingProperties -->
|
4278
|
+
|
4279
|
+
<!-- Start SignedSignatureProperties, SignedDataObjectProperties,
|
4280
|
+
UnsignedSignatureProperties, UnsignedDataObjectProperties -->
|
4281
|
+
|
4282
|
+
<!ELEMENT xades:SignedSignatureProperties (xades:SigningTime?, xades:SigningCertificate?,
|
4283
|
+
xades:SignaturePolicyIdentifier?, xades:SignatureProductionPlace?, xades:SignerRole?)>
|
4284
|
+
<!ATTLIST xades:SignedSignatureProperties
|
4285
|
+
Id ID #IMPLIED
|
4286
|
+
>
|
4287
|
+
|
4288
|
+
<!ELEMENT xades:SignedDataObjectProperties (xades:DataObjectFormat*,
|
4289
|
+
xades:CommitmentTypeIndication*, xades:AllDataObjectsTimeStamp*,
|
4290
|
+
xades:IndividualDataObjectsTimeStamp*)>
|
4291
|
+
<!ATTLIST xades:SignedDataObjectProperties
|
4292
|
+
Id ID #IMPLIED
|
4293
|
+
>
|
4294
|
+
|
4295
|
+
<!ELEMENT xades:UnsignedSignatureProperties (xades:CounterSignature | xades:SignatureTimeStamp
|
4296
|
+
| xades:CompleteCertificateRefs | xades:CompleteRevocationRefs | xades:AttributeCertificateRefs
|
4297
|
+
| xades:AttributeRevocationRefs | (xades:SigAndRefsTimeStamp | xades:RefsOnlyTimeStamp) |
|
4298
|
+
xades:CertificateValues | xades:RevocationValues | xades:AttrAuthoritiesCertValues
|
4299
|
+
| xades:AttributeRevocationValues | xades:ArchiveTimeStamp)+>
|
4300
|
+
<!ATTLIST xades:UnsignedSignatureProperties
|
4301
|
+
Id ID #IMPLIED
|
4302
|
+
>
|
4303
|
+
|
4304
|
+
<!ELEMENT xades:UnsignedDataObjectProperties (xades:UnsignedDataObjectProperty*)>
|
4305
|
+
<!ATTLIST xades:UnsignedDataObjectProperties
|
4306
|
+
Id ID #IMPLIED
|
4307
|
+
>
|
4308
|
+
|
4309
|
+
<!ELEMENT xades:UnsignedDataObjectProperty (#PCDATA %Any.ANY;)*>
|
4310
|
+
|
4311
|
+
<!-- End SignedSignatureProperties, SignedDataObjectProperties,
|
4312
|
+
UnsignedSignatureProperties, UnsignedDataObjectProperties -->
|
4313
|
+
|
4314
|
+
<!-- Start QualifyingPropertiesReference -->
|
4315
|
+
|
4316
|
+
<!ELEMENT xades:QualifyingPropertiesReference EMPTY>
|
4317
|
+
<!ATTLIST xades:QualifyingPropertiesReference
|
4318
|
+
URI CDATA #REQUIRED
|
4319
|
+
Id ID #IMPLIED
|
4320
|
+
>
|
4321
|
+
|
4322
|
+
<!-- End QualifyingPropertiesReference -->
|
4323
|
+
|
4324
|
+
<!-- End container types -->
|
4325
|
+
|
4326
|
+
<!-- Start SigningTime -->
|
4327
|
+
|
4328
|
+
<!ELEMENT xades:SigningTime (#PCDATA)>
|
4329
|
+
|
4330
|
+
<!-- End SigningTime -->
|
4331
|
+
|
4332
|
+
<!-- Start SigningCertificate -->
|
4333
|
+
|
4334
|
+
<!ELEMENT xades:SigningCertificate (xades:Cert+)>
|
4335
|
+
<!ELEMENT xades:Cert (xades:CertDigest, xades:IssuerSerial)>
|
4336
|
+
<!ATTLIST xades:Cert
|
4337
|
+
URI CDATA #IMPLIED
|
4338
|
+
>
|
4339
|
+
<!ELEMENT xades:CertDigest (ds:DigestMethod, ds:DigestValue)>
|
4340
|
+
<!ELEMENT xades:IssuerSerial (ds:X509IssuerName, ds:X509SerialNumber)>
|
4341
|
+
<!ELEMENT xades:X509IssuerName (#PCDATA)>
|
4342
|
+
<!ELEMENT xades:X509SerialNumber (#PCDATA)>
|
4343
|
+
|
4344
|
+
<!-- End SigningCertificate -->
|
4345
|
+
|
4346
|
+
<!-- Start SignaturePolicyIdentifier -->
|
4347
|
+
|
4348
|
+
<!ELEMENT xades:SignaturePolicyIdentifier (xades:SignaturePolicyId |
|
4349
|
+
xades:SignaturePolicyImplied)>
|
4350
|
+
<!ELEMENT xades:SignaturePolicyImplied ANY>
|
4351
|
+
<!ELEMENT xades:SignaturePolicyId (xades:SigPolicyId, ds:Transforms?, xades:SigPolicyHash,
|
4352
|
+
xades:SigPolicyQualifiers?)>
|
4353
|
+
<!ELEMENT xades:SigPolicyId (xades:Identifier, xades:Description?, xades:DocumentationReferences?)>
|
4354
|
+
<!ELEMENT xades:SigPolicyHash (ds:DigestMethod, ds:DigestValue)>
|
4355
|
+
<!ELEMENT xades:SigPolicyQualifiers (xades:SigPolicyQualifier+)>
|
4356
|
+
<!ELEMENT xades:SigPolicyQualifier (#PCDATA|xades:SPURI %Any.ANY; )*>
|
4357
|
+
|
4358
|
+
<!-- End SignaturePolicyIdentifier -->
|
4359
|
+
|
4360
|
+
<!-- Start SPURI and SPUserNotice -->
|
4361
|
+
|
4362
|
+
<!ELEMENT xades:SPURI (#PCDATA)>
|
4363
|
+
<!ELEMENT xades:SPUserNotice (xades:NoticeRef?, xades:ExplicitText?)>
|
4364
|
+
<!ELEMENT xades:NoticeRef (xades:Organization, xades:NoticeNumbers)>
|
4365
|
+
<!ELEMENT xades:ExplicitText (#PCDATA)>
|
4366
|
+
<!ELEMENT xades:Organization (#PCDATA)>
|
4367
|
+
<!ELEMENT xades:NoticeNumbers (xades:int*)>
|
4368
|
+
<!ELEMENT xades:int (#PCDATA)>
|
4369
|
+
|
4370
|
+
<!-- End SPURI and SPUserNotice -->
|
4371
|
+
|
4372
|
+
<!-- Start CounterSignature -->
|
4373
|
+
|
4374
|
+
<!ELEMENT xades:CounterSignature (ds:Signature)>
|
4375
|
+
|
4376
|
+
<!-- End CounterSignature -->
|
4377
|
+
|
4378
|
+
<!-- Start DataObjectFormat -->
|
4379
|
+
|
4380
|
+
<!ELEMENT xades:DataObjectFormat (xades:Description?, xades:ObjectIdentifier?, xades:MimeType?,
|
4381
|
+
xades:Encoding?)>
|
4382
|
+
<!ATTLIST xades:DataObjectFormat
|
4383
|
+
ObjectReference CDATA #REQUIRED
|
4384
|
+
>
|
4385
|
+
<!ELEMENT xades:MimeType (#PCDATA)>
|
4386
|
+
<!ELEMENT xades:Encoding (#PCDATA)>
|
4387
|
+
|
4388
|
+
<!-- End DataObjectFormat -->
|
4389
|
+
|
4390
|
+
<!-- Start CommitmentTypeIndication -->
|
4391
|
+
|
4392
|
+
<!ELEMENT xades:CommitmentTypeIndication (xades:CommitmentTypeId, (xades:ObjectReference+ |
|
4393
|
+
xades:AllSignedDataObjects), xades:CommitmentTypeQualifiers?)>
|
4394
|
+
<!ELEMENT xades:CommitmentTypeId (xades:Identifier, xades:Description?,
|
4395
|
+
xades:DocumentationReferences?)>
|
4396
|
+
<!ELEMENT xades:ObjectReference (#PCDATA)>
|
4397
|
+
<!ELEMENT xades:AllSignedDataObjects ANY>
|
4398
|
+
<!ELEMENT xades:CommitmentTypeQualifiers (xades:CommitmentTypeQualifier*)>
|
4399
|
+
<!ELEMENT xades:CommitmentTypeQualifier (#PCDATA %Any.ANY; )*>
|
4400
|
+
|
4401
|
+
<!-- End CommitmentTypeIndication -->
|
4402
|
+
|
4403
|
+
<!-- Start SignatureProductionPlace -->
|
4404
|
+
|
4405
|
+
<!ELEMENT xades:SignatureProductionPlace (xades:City?, xades:StateOrProvince?, xades:PostalCode?,
|
4406
|
+
xades:CountryName?)>
|
4407
|
+
<!ELEMENT xades:City (#PCDATA)>
|
4408
|
+
<!ELEMENT xades:StateOrProvince (#PCDATA)>
|
4409
|
+
<!ELEMENT xades:PostalCode (#PCDATA)>
|
4410
|
+
<!ELEMENT xades:CountryName (#PCDATA)>
|
4411
|
+
|
4412
|
+
<!-- End SignatureProductionPlace -->
|
4413
|
+
|
4414
|
+
<!-- Start SignerRole -->
|
4415
|
+
|
4416
|
+
<!ELEMENT xades:SignerRole (xades:ClaimedRoles?, xades:CertifiedRoles?)>
|
4417
|
+
<!ELEMENT xades:ClaimedRoles (xades:ClaimedRole+)>
|
4418
|
+
<!ELEMENT xades:CertifiedRoles (xades:CertifiedRole+)>
|
4419
|
+
<!ELEMENT xades:ClaimedRole (#PCDATA %Any.ANY; )*>
|
4420
|
+
<!ELEMENT xades:CertifiedRole (#PCDATA)>
|
4421
|
+
<!ATTLIST xades:CertifiedRole
|
4422
|
+
Id ID #IMPLIED
|
4423
|
+
Encoding CDATA #IMPLIED
|
4424
|
+
>
|
4425
|
+
|
4426
|
+
<!-- End SignerRole -->
|
4427
|
+
|
4428
|
+
<!-- Start AllDataObjectsTimeStamp, IndividualDataObjectsTimeStamp,
|
4429
|
+
SignatureTimeStamp -->
|
4430
|
+
|
4431
|
+
<!ELEMENT xades:AllDataObjectsTimeStamp (ds:CanonicalizationMethod?,
|
4432
|
+
(xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
|
4433
|
+
<!ATTLIST xades:AllDataObjectsTimeStamp
|
4434
|
+
Id ID #IMPLIED
|
4435
|
+
>
|
4436
|
+
|
4437
|
+
<!ELEMENT xades:IndividualDataObjectsTimeStamp (xades:Include+, ds:CanonicalizationMethod?,
|
4438
|
+
(xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
|
4439
|
+
<!ATTLIST xades:IndividualDataObjectsTimeStamp
|
4440
|
+
Id ID #IMPLIED
|
4441
|
+
>
|
4442
|
+
|
4443
|
+
<!ELEMENT xades:SignatureTimeStamp (ds:CanonicalizationMethod?, (xades:EncapsulatedTimeStamp
|
4444
|
+
| xades:XMLTimeStamp)+)>
|
4445
|
+
<!ATTLIST xades:SignatureTimeStamp
|
4446
|
+
Id ID #IMPLIED
|
4447
|
+
>
|
4448
|
+
|
4449
|
+
<!-- End AllDataObjectsTimeStamp, IndividualDataObjectsTimeStamp,
|
4450
|
+
SignatureTimeStamp -->
|
4451
|
+
|
4452
|
+
<!-- Start CompleteCertificateRefs -->
|
4453
|
+
|
4454
|
+
<!ELEMENT xades:CompleteCertificateRefs (xades:CertRefs)>
|
4455
|
+
<!ATTLIST xades:CompleteCertificateRefs
|
4456
|
+
Id ID #IMPLIED
|
4457
|
+
>
|
4458
|
+
<!ELEMENT xades:CertRefs (xades:Cert+)>
|
4459
|
+
|
4460
|
+
<!-- End CompleteCertificateRefs -->
|
4461
|
+
|
4462
|
+
<!-- Start AttributeCertificateRefs -->
|
4463
|
+
|
4464
|
+
<!ELEMENT xades:AttributeCertificateRefs (xades:CertRefs)>
|
4465
|
+
<!ATTLIST xades:AttributeCertificateRefs
|
4466
|
+
Id ID #IMPLIED
|
4467
|
+
>
|
4468
|
+
|
4469
|
+
<!-- End AttributeCertificateRefs -->
|
4470
|
+
|
4471
|
+
<!-- Start CompleteRevocationRefs -->
|
4472
|
+
|
4473
|
+
<!ELEMENT xades:CompleteRevocationRefs (xades:CRLRefs?, xades:OCSPRefs?, xades:OtherRefs?)>
|
4474
|
+
<!ATTLIST xades:CompleteRevocationRefs
|
4475
|
+
Id ID #IMPLIED
|
4476
|
+
>
|
4477
|
+
<!ELEMENT xades:CRLRefs (xades:CRLRef+)>
|
4478
|
+
<!ELEMENT xades:OCSPRefs (xades:OCSPRef+)>
|
4479
|
+
<!ELEMENT xades:OtherRefs (xades:OtherRef+)>
|
4480
|
+
|
4481
|
+
<!ELEMENT xades:CRLRef (xades:DigestAlgAndValue, xades:CRLIdentifier?)>
|
4482
|
+
<!ELEMENT xades:OCSPRef (xades:OCSPIdentifier, xades:DigestAlgAndValue?)>
|
4483
|
+
<!ELEMENT xades:OtherRef (#PCDATA %Any.ANY; )*>
|
4484
|
+
|
4485
|
+
<!ELEMENT xades:DigestAlgAndValue (ds:DigestMethod, ds:DigestValue)>
|
4486
|
+
<!ELEMENT xades:CRLIdentifier (xades:Issuer, xades:IssueTime, xades:Number?)>
|
4487
|
+
<!ATTLIST xades:CRLIdentifier
|
4488
|
+
URI CDATA #IMPLIED
|
4489
|
+
>
|
4490
|
+
<!ELEMENT xades:OCSPIdentifier (xades:ResponderID, xades:ProducedAt)>
|
4491
|
+
<!ATTLIST xades:OCSPIdentifier
|
4492
|
+
URI CDATA #IMPLIED
|
4493
|
+
>
|
4494
|
+
|
4495
|
+
<!ELEMENT xades:Issuer (#PCDATA)>
|
4496
|
+
<!ELEMENT xades:IssueTime (#PCDATA)>
|
4497
|
+
<!ELEMENT xades:Number (#PCDATA)>
|
4498
|
+
|
4499
|
+
<!ELEMENT xades:ResponderID (xades:ByName | xades:ByKey)>
|
4500
|
+
<!ELEMENT xades:ByName (#PCDATA)>
|
4501
|
+
<!ELEMENT xades:ByKey (#PCDATA)>
|
4502
|
+
<!ELEMENT xades:ProducedAt (#PCDATA)>
|
4503
|
+
|
4504
|
+
<!-- End CompleteRevocationRefs -->
|
4505
|
+
|
4506
|
+
<!-- Start AttributeRevocationRefs -->
|
4507
|
+
|
4508
|
+
<!ELEMENT xades:AttributeRevocationRefs (xades:CRLRefs?, xades:OCSPRefs?, xades:OtherRefs?)>
|
4509
|
+
<!ATTLIST xades:AttributeRevocationRefs
|
4510
|
+
Id ID #IMPLIED
|
4511
|
+
>
|
4512
|
+
|
4513
|
+
<!-- End AttributeRevocationRefs -->
|
4514
|
+
|
4515
|
+
<!-- Start SigAndRefsTimeStamp, RefsOnlyTimeStamp -->
|
4516
|
+
|
4517
|
+
<!ELEMENT xades:SigAndRefsTimeStamp (xades:Include*, ds:CanonicalizationMethod?,
|
4518
|
+
(xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
|
4519
|
+
<!ATTLIST xades:SigAndRefsTimeStamp
|
4520
|
+
Id ID #IMPLIED
|
4521
|
+
>
|
4522
|
+
|
4523
|
+
<!ELEMENT xades:RefsOnlyTimeStamp (xades:Include*, ds:CanonicalizationMethod?,
|
4524
|
+
(xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
|
4525
|
+
<!ATTLIST xades:RefsOnlyTimeStamp
|
4526
|
+
Id ID #IMPLIED
|
4527
|
+
>
|
4528
|
+
|
4529
|
+
<!-- End SigAndRefsTimeStamp, RefsOnlyTimeStamp -->
|
4530
|
+
|
4531
|
+
<!-- Start CertificateValues -->
|
4532
|
+
|
4533
|
+
<!ELEMENT xades:CertificateValues (xades:EncapsulatedX509Certificate |
|
4534
|
+
xades:OtherCertificate)*>
|
4535
|
+
<!ATTLIST xades:CertificateValues
|
4536
|
+
Id ID #IMPLIED
|
4537
|
+
>
|
4538
|
+
|
4539
|
+
<!ELEMENT xades:EncapsulatedX509Certificate (#PCDATA)>
|
4540
|
+
<!ATTLIST xades:EncapsulatedX509Certificate
|
4541
|
+
Id ID #IMPLIED
|
4542
|
+
Encoding CDATA #IMPLIED
|
4543
|
+
>
|
4544
|
+
<!ELEMENT xades:OtherCertificate (#PCDATA %Any.ANY;)*>
|
4545
|
+
|
4546
|
+
<!ELEMENT xades:AttrAuthoritiesCertValues (xades:EncapsulatedX509Certificate |
|
4547
|
+
xades:OtherCertificate)*>
|
4548
|
+
<!ATTLIST xades:AttrAuthoritiesCertValues
|
4549
|
+
Id ID #IMPLIED
|
4550
|
+
>
|
4551
|
+
|
4552
|
+
<!-- Start RevocationValues -->
|
4553
|
+
|
4554
|
+
<!ELEMENT xades:RevocationValues (xades:CRLValues?, xades:OCSPValues?, xades:OtherValues?)>
|
4555
|
+
<!ATTLIST xades:RevocationValues
|
4556
|
+
Id ID #IMPLIED
|
4557
|
+
>
|
4558
|
+
|
4559
|
+
<!ELEMENT xades:CRLValues (xades:EncapsulatedCRLValue+)>
|
4560
|
+
<!ELEMENT xades:OCSPValues (xades:EncapsulatedOCSPValue+)>
|
4561
|
+
<!ELEMENT xades:OtherValues (xades:OtherValue+)>
|
4562
|
+
|
4563
|
+
<!ELEMENT xades:EncapsulatedCRLValue (#PCDATA)>
|
4564
|
+
<!ATTLIST xades:EncapsulatedCRLValue
|
4565
|
+
Id ID #IMPLIED
|
4566
|
+
Encoding CDATA #IMPLIED
|
4567
|
+
>
|
4568
|
+
<!ELEMENT xades:EncapsulatedOCSPValue (#PCDATA)>
|
4569
|
+
<!ATTLIST xades:EncapsulatedOCSPValue
|
4570
|
+
Id ID #IMPLIED
|
4571
|
+
Encoding CDATA #IMPLIED
|
4572
|
+
>
|
4573
|
+
<!ELEMENT xades:OtherValue (#PCDATA %Any.ANY; )*>
|
4574
|
+
|
4575
|
+
<!-- End RevocationValues -->
|
4576
|
+
|
4577
|
+
<!ELEMENT xades:AttributeRevocationValues (xades:CRLValues?, xades:OCSPValues?, xades:OtherValues?)>
|
4578
|
+
<!ATTLIST xades:AttributeRevocationValues
|
4579
|
+
Id ID #IMPLIED
|
4580
|
+
>
|
4581
|
+
<!-- Start ArchiveTimeStamp -->
|
4582
|
+
|
4583
|
+
<!ELEMENT xades:ArchiveTimeStamp (xades:Include*, ds:CanonicalizationMethod?,
|
4584
|
+
(xades:EncapsulatedTimeStamp | xades:XMLTimeStamp)+)>
|
4585
|
+
<!ATTLIST xades:ArchiveTimeStamp
|
4586
|
+
Id ID #IMPLIED
|
4587
|
+
>
|
4588
|
+
|
4589
|
+
|
4590
|
+
<!-- End ArchiveTimeStamp -->
|