cxml-ruby 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/cxml/address.rb +4 -1
- data/lib/cxml/comment.rb +9 -0
- data/lib/cxml/contact.rb +4 -1
- data/lib/cxml/credential.rb +1 -1
- data/lib/cxml/deposit_amount.rb +9 -0
- data/lib/cxml/document.rb +3 -4
- 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/postal_address.rb +1 -1
- data/lib/cxml/version.rb +1 -1
- data/spec/document_spec.rb +19 -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/invoice_taxes_at_line_multiple_taxes.xml +1 -3
- data/spec/fixtures/item_in.xml +1 -0
- 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/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/purchase_order_request_spec.rb +6 -1
- data/spec/sender_spec.rb +6 -0
- data/spec/spec_helper.rb +27 -0
- metadata +16 -4
@@ -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 -->
|