@stackforge-eu/factur-x 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/index.cjs +18 -2
  3. package/dist/index.d.cts +8 -0
  4. package/dist/index.d.ts +8 -0
  5. package/dist/index.js +18 -2
  6. package/package.json +2 -1
  7. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B.xsd +0 -25
  8. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_EDIFICAS-EU_AccountingAccountType_D11A.xsd +0 -18
  9. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_EDIFICAS-EU_AccountingAmountType_D11A.xsd +0 -17
  10. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_ISO_ISO3AlphaCurrencyCode_2012-08-31.xsd +0 -191
  11. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_ISO_ISOTwo-letterCountryCode_SecondEdition2006.xsd +0 -260
  12. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_QualifiedDataType_100.xsd +0 -818
  13. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_ReusableAggregateBusinessInformationEntity_100.xsd +0 -6176
  14. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_ActionCode_D22A.xsd +0 -130
  15. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_AddressType_D22A.xsd +0 -19
  16. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_AdjustmentReasonDescriptionCode_D22A.xsd +0 -116
  17. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_AllowanceChargeIdentificationCode_D22A.xsd +0 -116
  18. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_AllowanceChargeReasonCode_D22A.xsd +0 -116
  19. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_AutomaticDataCaptureMethodCode_D22A.xsd +0 -21
  20. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_CargoOperationalCategoryCode_D22A.xsd +0 -36
  21. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_CargoTypeCode_1996Rev2Final.xsd +0 -20
  22. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_CommodityIdentificationCode_D22A.xsd +0 -12
  23. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_CommunicationMeansTypeCode_D22A.xsd +0 -58
  24. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_ContactFunctionCode_D22A.xsd +0 -114
  25. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DangerousGoodsPackingCode_D22A.xsd +0 -15
  26. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DangerousGoodsRegulationCode_D22A.xsd +0 -35
  27. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DateOnlyFormatCode_D21B.xsd +0 -21
  28. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DeliveryTermsCode_2020.xsd +0 -24
  29. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DeliveryTermsFunctionCode_D22A.xsd +0 -19
  30. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DimensionTypeCode_D22A.xsd +0 -35
  31. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DocumentNameCode_Accounting_D22A.xsd +0 -35
  32. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DocumentNameCode_D22A.xsd +0 -819
  33. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DocumentStatusCode_D22A.xsd +0 -61
  34. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DutyTaxFeeTypeCode_D22A.xsd +0 -67
  35. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_DutyorTaxorFeeCategoryCode_D22A.xsd +0 -33
  36. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_EventTimeReferenceCodePaymentTermsEvent_D22A.xsd +0 -16
  37. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_EventTimeReferenceCode_D22A.xsd +0 -76
  38. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_FreightChargeQuantityUnitBasisCode_D22A.xsd +0 -12
  39. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_FreightChargeTariffCode_D22A.xsd +0 -25
  40. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_FreightCostCode_4.xsd +0 -1722
  41. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_GoodsTypeCode_D22A.xsd +0 -12
  42. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_GoodsTypeExtensionCode_D22A.xsd +0 -12
  43. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_LocationFunctionCode_D22A.xsd +0 -326
  44. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_MeasurementUnitCommonCodeLinear_4.xsd +0 -17
  45. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_MeasurementUnitCommonCodeVolume_4.xsd +0 -18
  46. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_MeasurementUnitCommonCodeWeight_4.xsd +0 -15
  47. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_MessageFunctionCode_D22A.xsd +0 -84
  48. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PackageTypeCode_2006.xsd +0 -416
  49. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PackagingMarkingCode_D22A.xsd +0 -63
  50. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PartyRoleCode_ChargePaying_D22A.xsd +0 -32
  51. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PartyRoleCode_D22A.xsd +0 -635
  52. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PaymentGuaranteeMeansCode_D22A.xsd +0 -23
  53. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PaymentMeansChannelCode_D22A.xsd +0 -27
  54. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PaymentMeansCode_D22A.xsd +0 -94
  55. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PaymentTermsDescriptionIdentifier_D22A.xsd +0 -18
  56. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PaymentTermsTypeCode_D22A.xsd +0 -90
  57. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_PriceTypeCode_D22A.xsd +0 -50
  58. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_ReferenceTypeCode_D22A.xsd +0 -828
  59. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_SealConditionCode_D22A.xsd +0 -16
  60. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_SealingPartyRoleCode_D22A.xsd +0 -18
  61. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_StatusCode_D22A.xsd +0 -527
  62. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_StatusDescriptionCode_AccountingDebitCredit_D22A.xsd +0 -18
  63. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_TimeOnlyFormatCode_D21B.xsd +0 -16
  64. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_TimePointFormatCode_D21B.xsd +0 -17
  65. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_TransportEquipmentCategoryCode_D22A.xsd +0 -107
  66. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_TransportEquipmentFullnessCode_D22A.xsd +0 -24
  67. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_TransportMeansTypeCode_2007.xsd +0 -145
  68. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_TransportModeCode_2.xsd +0 -21
  69. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_TransportMovementStageCode_D22A.xsd +0 -41
  70. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UNECE_TransportPaymentArrangementCode_D22A.xsd +0 -15
  71. package/schema/cii-d22b/CrossIndustryInvoice_100pD22B_UnqualifiedDataType_100.xsd +0 -144
package/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.4.0] — 2026-09-03
11
+
12
+ - **Added the item price discount (BT-147).** A new optional `priceDiscount`
13
+ field on `InvoiceLineInput` emits `ram:AppliedTradeAllowanceCharge` inside
14
+ the gross price element, so a line can state the discount that connects the
15
+ gross unit price (BT-148) to the net unit price (BT-146) instead of leaving
16
+ it implied by their difference. Requires `grossUnitPrice` to be set; the
17
+ amount keeps up to four decimals for sub-cent discounts. Omitting the field
18
+ keeps the output byte-for-byte identical (#15).
19
+
20
+ ## [1.3.1] — 2026-09-01
21
+
22
+ - **Dropped the unused `schema/cii-d22b/` code-list XSDs from the npm and JSR
23
+ packages** (~100 files, ~800 KB). Nothing references them at runtime — the
24
+ per-profile schema directories are self-contained. One of these files also
25
+ has a path longer than 100 characters, which a JSR server-side tar
26
+ regression truncated, breaking the 1.3.0 JSR publish.
27
+ - The release workflow now dry-runs `npm pack` and `deno publish` before
28
+ tagging, and publishes to npm only after JSR has succeeded — npm versions
29
+ are effectively immutable, so the unretractable registry ships last.
30
+
10
31
  ## [1.3.0] — 2026-09-01
11
32
 
12
33
  - **Added item price base quantity (BT-149/BT-150).** New optional
@@ -224,6 +245,8 @@ This element is not expected`. Reordered the three blocks in
224
245
  - Deno compatibility test suite
225
246
 
226
247
  [Unreleased]: https://github.com/StackForge-EU/factur-x/commits/main
248
+ [1.4.0]: https://github.com/StackForge-EU/factur-x/compare/v1.3.1...v1.4.0
249
+ [1.3.1]: https://github.com/StackForge-EU/factur-x/compare/v1.3.0...v1.3.1
227
250
  [1.3.0]: https://github.com/StackForge-EU/factur-x/compare/v1.2.1...v1.3.0
228
251
  [1.2.1]: https://github.com/StackForge-EU/factur-x/compare/v1.2.0...v1.2.1
229
252
  [1.2.0]: https://github.com/StackForge-EU/factur-x/compare/v1.1.0...v1.2.0
package/dist/index.cjs CHANGED
@@ -307,6 +307,12 @@ function fmtAmt(n) {
307
307
  }
308
308
  return n.toFixed(2);
309
309
  }
310
+ function fmtPrice(n) {
311
+ if (!Number.isFinite(n)) {
312
+ throw new Error(`Invalid amount value: ${n}. Expected a finite number.`);
313
+ }
314
+ return n.toFixed(4).replace(/(\.\d{2}\d*?)0+$/, "$1");
315
+ }
310
316
  function tag(name, content, attrs) {
311
317
  const a = attrs ? Object.entries(attrs).map(([k, v]) => ` ${k}="${escapeXml(v)}"`).join("") : "";
312
318
  return `<${name}${a}>${content}</${name}>`;
@@ -406,11 +412,21 @@ function buildLineItem(line, profile) {
406
412
  const basisQuantity = line.basisQuantity !== void 0 ? tag("ram:BasisQuantity", line.basisQuantity.toString(), {
407
413
  unitCode: line.basisQuantityUnitCode ?? unitCode
408
414
  }) : "";
409
- if (line.grossUnitPrice !== void 0)
415
+ if (line.priceDiscount !== void 0 && line.grossUnitPrice === void 0) {
416
+ throw new Error(
417
+ `buildXml: line "${line.id}" sets "priceDiscount" (BT-147) without "grossUnitPrice" (BT-148).`
418
+ );
419
+ }
420
+ if (line.grossUnitPrice !== void 0) {
421
+ const discount = line.priceDiscount !== void 0 ? tag(
422
+ "ram:AppliedTradeAllowanceCharge",
423
+ tag("ram:ChargeIndicator", tag("udt:Indicator", "false")) + tag("ram:ActualAmount", fmtPrice(line.priceDiscount))
424
+ ) : "";
410
425
  agree += tag(
411
426
  "ram:GrossPriceProductTradePrice",
412
- tag("ram:ChargeAmount", fmtAmt(line.grossUnitPrice)) + basisQuantity
427
+ tag("ram:ChargeAmount", fmtAmt(line.grossUnitPrice)) + basisQuantity + discount
413
428
  );
429
+ }
414
430
  agree += tag(
415
431
  "ram:NetPriceProductTradePrice",
416
432
  tag("ram:ChargeAmount", fmtAmt(line.unitPrice)) + basisQuantity
package/dist/index.d.cts CHANGED
@@ -573,6 +573,14 @@ interface InvoiceLineInput {
573
573
  * @see EN 16931 BT-148
574
574
  */
575
575
  grossUnitPrice?: number;
576
+ /**
577
+ * Item price discount — the amount subtracted from `grossUnitPrice`
578
+ * (BT-148) to arrive at `unitPrice` (BT-146). Emitted as
579
+ * `ram:AppliedTradeAllowanceCharge` inside the gross price element,
580
+ * so `grossUnitPrice` must be set alongside it.
581
+ * @see EN 16931 BT-147
582
+ */
583
+ priceDiscount?: number;
576
584
  /**
577
585
  * Item price base quantity — the quantity the unit price (BT-146)
578
586
  * applies to, e.g. a price per 10 square metres or per 1000 prints.
package/dist/index.d.ts CHANGED
@@ -573,6 +573,14 @@ interface InvoiceLineInput {
573
573
  * @see EN 16931 BT-148
574
574
  */
575
575
  grossUnitPrice?: number;
576
+ /**
577
+ * Item price discount — the amount subtracted from `grossUnitPrice`
578
+ * (BT-148) to arrive at `unitPrice` (BT-146). Emitted as
579
+ * `ram:AppliedTradeAllowanceCharge` inside the gross price element,
580
+ * so `grossUnitPrice` must be set alongside it.
581
+ * @see EN 16931 BT-147
582
+ */
583
+ priceDiscount?: number;
576
584
  /**
577
585
  * Item price base quantity — the quantity the unit price (BT-146)
578
586
  * applies to, e.g. a price per 10 square metres or per 1000 prints.
package/dist/index.js CHANGED
@@ -277,6 +277,12 @@ function fmtAmt(n) {
277
277
  }
278
278
  return n.toFixed(2);
279
279
  }
280
+ function fmtPrice(n) {
281
+ if (!Number.isFinite(n)) {
282
+ throw new Error(`Invalid amount value: ${n}. Expected a finite number.`);
283
+ }
284
+ return n.toFixed(4).replace(/(\.\d{2}\d*?)0+$/, "$1");
285
+ }
280
286
  function tag(name, content, attrs) {
281
287
  const a = attrs ? Object.entries(attrs).map(([k, v]) => ` ${k}="${escapeXml(v)}"`).join("") : "";
282
288
  return `<${name}${a}>${content}</${name}>`;
@@ -376,11 +382,21 @@ function buildLineItem(line, profile) {
376
382
  const basisQuantity = line.basisQuantity !== void 0 ? tag("ram:BasisQuantity", line.basisQuantity.toString(), {
377
383
  unitCode: line.basisQuantityUnitCode ?? unitCode
378
384
  }) : "";
379
- if (line.grossUnitPrice !== void 0)
385
+ if (line.priceDiscount !== void 0 && line.grossUnitPrice === void 0) {
386
+ throw new Error(
387
+ `buildXml: line "${line.id}" sets "priceDiscount" (BT-147) without "grossUnitPrice" (BT-148).`
388
+ );
389
+ }
390
+ if (line.grossUnitPrice !== void 0) {
391
+ const discount = line.priceDiscount !== void 0 ? tag(
392
+ "ram:AppliedTradeAllowanceCharge",
393
+ tag("ram:ChargeIndicator", tag("udt:Indicator", "false")) + tag("ram:ActualAmount", fmtPrice(line.priceDiscount))
394
+ ) : "";
380
395
  agree += tag(
381
396
  "ram:GrossPriceProductTradePrice",
382
- tag("ram:ChargeAmount", fmtAmt(line.grossUnitPrice)) + basisQuantity
397
+ tag("ram:ChargeAmount", fmtAmt(line.grossUnitPrice)) + basisQuantity + discount
383
398
  );
399
+ }
384
400
  agree += tag(
385
401
  "ram:NetPriceProductTradePrice",
386
402
  tag("ram:ChargeAmount", fmtAmt(line.unitPrice)) + basisQuantity
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackforge-eu/factur-x",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "type": "module",
5
5
  "description": "Embed Factur-X, ZUGFeRD, and XRechnung structured invoice XML into PDF/A-3 documents",
6
6
  "keywords": [
@@ -64,6 +64,7 @@
64
64
  "files": [
65
65
  "dist",
66
66
  "schema/**/*.xsd",
67
+ "!schema/cii-d22b",
67
68
  "schema/README.md",
68
69
  "README.md",
69
70
  "LICENSE",
@@ -1,25 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <xsd:schema xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
3
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
- xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
5
- xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
6
- xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
7
- targetNamespace="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
8
- elementFormDefault="qualified"
9
- version="100.D22B">
10
- <xsd:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="CrossIndustryInvoice_100pD22B_QualifiedDataType_100.xsd"/>
11
- <xsd:import namespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" schemaLocation="CrossIndustryInvoice_100pD22B_ReusableAggregateBusinessInformationEntity_100.xsd"/>
12
- <xsd:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="CrossIndustryInvoice_100pD22B_UnqualifiedDataType_100.xsd"/>
13
- <xsd:element name="CrossIndustryInvoice" type="rsm:CrossIndustryInvoiceType"/>
14
- <xsd:complexType name="CrossIndustryInvoiceType">
15
- <xsd:annotation>
16
- <xsd:documentation source="BN/BN">Cross Industry Invoice</xsd:documentation>
17
- </xsd:annotation>
18
- <xsd:sequence>
19
- <xsd:element name="ExchangedDocumentContext" type="ram:ExchangedDocumentContextType"/>
20
- <xsd:element name="ExchangedDocument" type="ram:ExchangedDocumentType"/>
21
- <xsd:element name="SupplyChainTradeTransaction" type="ram:SupplyChainTradeTransactionType"/>
22
- <xsd:element name="ValuationBreakdownStatement" type="ram:ValuationBreakdownStatementType" minOccurs="0"/>
23
- </xsd:sequence>
24
- </xsd:complexType>
25
- </xsd:schema>
@@ -1,18 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <xsd:schema xmlns:clm210AccountingE501="urn:un:unece:uncefact:codelist:standard:EDIFICAS-EU:AccountingAccountType:D11A"
3
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
- targetNamespace="urn:un:unece:uncefact:codelist:standard:EDIFICAS-EU:AccountingAccountType:D11A"
5
- elementFormDefault="qualified"
6
- version="1.0">
7
- <xsd:simpleType name="AccountingAccountTypeContentType">
8
- <xsd:restriction base="xsd:token">
9
- <xsd:enumeration value="1"/>
10
- <xsd:enumeration value="2"/>
11
- <xsd:enumeration value="3"/>
12
- <xsd:enumeration value="4"/>
13
- <xsd:enumeration value="5"/>
14
- <xsd:enumeration value="6"/>
15
- <xsd:enumeration value="7"/>
16
- </xsd:restriction>
17
- </xsd:simpleType>
18
- </xsd:schema>
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <xsd:schema xmlns:clm210AccountingE601="urn:un:unece:uncefact:codelist:standard:EDIFICAS-EU:AccountingAmountType:D11A"
3
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
- targetNamespace="urn:un:unece:uncefact:codelist:standard:EDIFICAS-EU:AccountingAmountType:D11A"
5
- elementFormDefault="qualified"
6
- version="1.0">
7
- <xsd:simpleType name="AccountingAmountTypeContentType">
8
- <xsd:restriction base="xsd:token">
9
- <xsd:enumeration value="1"/>
10
- <xsd:enumeration value="2"/>
11
- <xsd:enumeration value="3"/>
12
- <xsd:enumeration value="4"/>
13
- <xsd:enumeration value="5"/>
14
- <xsd:enumeration value="6"/>
15
- </xsd:restriction>
16
- </xsd:simpleType>
17
- </xsd:schema>
@@ -1,191 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <xsd:schema xmlns:clm5ISO42173A="urn:un:unece:uncefact:codelist:standard:ISO:ISO3AlphaCurrencyCode:2012-08-31"
3
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
- targetNamespace="urn:un:unece:uncefact:codelist:standard:ISO:ISO3AlphaCurrencyCode:2012-08-31"
5
- elementFormDefault="qualified"
6
- version="11.11">
7
- <xsd:simpleType name="ISO3AlphaCurrencyCodeContentType">
8
- <xsd:restriction base="xsd:token">
9
- <xsd:enumeration value="AED"/>
10
- <xsd:enumeration value="AFN"/>
11
- <xsd:enumeration value="ALL"/>
12
- <xsd:enumeration value="AMD"/>
13
- <xsd:enumeration value="ANG"/>
14
- <xsd:enumeration value="AOA"/>
15
- <xsd:enumeration value="ARS"/>
16
- <xsd:enumeration value="AUD"/>
17
- <xsd:enumeration value="AWG"/>
18
- <xsd:enumeration value="AZN"/>
19
- <xsd:enumeration value="BAM"/>
20
- <xsd:enumeration value="BBD"/>
21
- <xsd:enumeration value="BDT"/>
22
- <xsd:enumeration value="BGN"/>
23
- <xsd:enumeration value="BHD"/>
24
- <xsd:enumeration value="BIF"/>
25
- <xsd:enumeration value="BMD"/>
26
- <xsd:enumeration value="BND"/>
27
- <xsd:enumeration value="BOB"/>
28
- <xsd:enumeration value="BOV"/>
29
- <xsd:enumeration value="BRL"/>
30
- <xsd:enumeration value="BSD"/>
31
- <xsd:enumeration value="BTN"/>
32
- <xsd:enumeration value="BWP"/>
33
- <xsd:enumeration value="BYN"/>
34
- <xsd:enumeration value="BZD"/>
35
- <xsd:enumeration value="CAD"/>
36
- <xsd:enumeration value="CDF"/>
37
- <xsd:enumeration value="CHE"/>
38
- <xsd:enumeration value="CHF"/>
39
- <xsd:enumeration value="CHW"/>
40
- <xsd:enumeration value="CLF"/>
41
- <xsd:enumeration value="CLP"/>
42
- <xsd:enumeration value="CNY"/>
43
- <xsd:enumeration value="COP"/>
44
- <xsd:enumeration value="COU"/>
45
- <xsd:enumeration value="CRC"/>
46
- <xsd:enumeration value="CUC"/>
47
- <xsd:enumeration value="CUP"/>
48
- <xsd:enumeration value="CVE"/>
49
- <xsd:enumeration value="CZK"/>
50
- <xsd:enumeration value="DJF"/>
51
- <xsd:enumeration value="DKK"/>
52
- <xsd:enumeration value="DOP"/>
53
- <xsd:enumeration value="DZD"/>
54
- <xsd:enumeration value="EGP"/>
55
- <xsd:enumeration value="ERN"/>
56
- <xsd:enumeration value="ETB"/>
57
- <xsd:enumeration value="EUR"/>
58
- <xsd:enumeration value="FJD"/>
59
- <xsd:enumeration value="FKP"/>
60
- <xsd:enumeration value="GBP"/>
61
- <xsd:enumeration value="GEL"/>
62
- <xsd:enumeration value="GHS"/>
63
- <xsd:enumeration value="GIP"/>
64
- <xsd:enumeration value="GMD"/>
65
- <xsd:enumeration value="GNF"/>
66
- <xsd:enumeration value="GTQ"/>
67
- <xsd:enumeration value="GYD"/>
68
- <xsd:enumeration value="HKD"/>
69
- <xsd:enumeration value="HNL"/>
70
- <xsd:enumeration value="HRK"/>
71
- <xsd:enumeration value="HTG"/>
72
- <xsd:enumeration value="HUF"/>
73
- <xsd:enumeration value="IDR"/>
74
- <xsd:enumeration value="ILS"/>
75
- <xsd:enumeration value="INR"/>
76
- <xsd:enumeration value="IQD"/>
77
- <xsd:enumeration value="IRR"/>
78
- <xsd:enumeration value="ISK"/>
79
- <xsd:enumeration value="JMD"/>
80
- <xsd:enumeration value="JOD"/>
81
- <xsd:enumeration value="JPY"/>
82
- <xsd:enumeration value="KES"/>
83
- <xsd:enumeration value="KGS"/>
84
- <xsd:enumeration value="KHR"/>
85
- <xsd:enumeration value="KMF"/>
86
- <xsd:enumeration value="KPW"/>
87
- <xsd:enumeration value="KRW"/>
88
- <xsd:enumeration value="KWD"/>
89
- <xsd:enumeration value="KYD"/>
90
- <xsd:enumeration value="KZT"/>
91
- <xsd:enumeration value="LAK"/>
92
- <xsd:enumeration value="LBP"/>
93
- <xsd:enumeration value="LKR"/>
94
- <xsd:enumeration value="LRD"/>
95
- <xsd:enumeration value="LSL"/>
96
- <xsd:enumeration value="LYD"/>
97
- <xsd:enumeration value="MAD"/>
98
- <xsd:enumeration value="MDL"/>
99
- <xsd:enumeration value="MGA"/>
100
- <xsd:enumeration value="MKD"/>
101
- <xsd:enumeration value="MMK"/>
102
- <xsd:enumeration value="MNT"/>
103
- <xsd:enumeration value="MOP"/>
104
- <xsd:enumeration value="MRU"/>
105
- <xsd:enumeration value="MUR"/>
106
- <xsd:enumeration value="MVR"/>
107
- <xsd:enumeration value="MWK"/>
108
- <xsd:enumeration value="MXN"/>
109
- <xsd:enumeration value="MXV"/>
110
- <xsd:enumeration value="MYR"/>
111
- <xsd:enumeration value="MZN"/>
112
- <xsd:enumeration value="NAD"/>
113
- <xsd:enumeration value="NGN"/>
114
- <xsd:enumeration value="NIO"/>
115
- <xsd:enumeration value="NOK"/>
116
- <xsd:enumeration value="NPR"/>
117
- <xsd:enumeration value="NZD"/>
118
- <xsd:enumeration value="OMR"/>
119
- <xsd:enumeration value="PAB"/>
120
- <xsd:enumeration value="PEN"/>
121
- <xsd:enumeration value="PGK"/>
122
- <xsd:enumeration value="PHP"/>
123
- <xsd:enumeration value="PKR"/>
124
- <xsd:enumeration value="PLN"/>
125
- <xsd:enumeration value="PYG"/>
126
- <xsd:enumeration value="QAR"/>
127
- <xsd:enumeration value="RON"/>
128
- <xsd:enumeration value="RSD"/>
129
- <xsd:enumeration value="RUB"/>
130
- <xsd:enumeration value="RWF"/>
131
- <xsd:enumeration value="SAR"/>
132
- <xsd:enumeration value="SBD"/>
133
- <xsd:enumeration value="SCR"/>
134
- <xsd:enumeration value="SDG"/>
135
- <xsd:enumeration value="SEK"/>
136
- <xsd:enumeration value="SGD"/>
137
- <xsd:enumeration value="SHP"/>
138
- <xsd:enumeration value="SLE"/>
139
- <xsd:enumeration value="SOS"/>
140
- <xsd:enumeration value="SRD"/>
141
- <xsd:enumeration value="SSP"/>
142
- <xsd:enumeration value="STN"/>
143
- <xsd:enumeration value="SVC"/>
144
- <xsd:enumeration value="SYP"/>
145
- <xsd:enumeration value="SZL"/>
146
- <xsd:enumeration value="THB"/>
147
- <xsd:enumeration value="TJS"/>
148
- <xsd:enumeration value="TMT"/>
149
- <xsd:enumeration value="TND"/>
150
- <xsd:enumeration value="TOP"/>
151
- <xsd:enumeration value="TRY"/>
152
- <xsd:enumeration value="TTD"/>
153
- <xsd:enumeration value="TWD"/>
154
- <xsd:enumeration value="TZS"/>
155
- <xsd:enumeration value="UAH"/>
156
- <xsd:enumeration value="UGX"/>
157
- <xsd:enumeration value="USD"/>
158
- <xsd:enumeration value="USN"/>
159
- <xsd:enumeration value="UYI"/>
160
- <xsd:enumeration value="UYU"/>
161
- <xsd:enumeration value="UYW"/>
162
- <xsd:enumeration value="UZS"/>
163
- <xsd:enumeration value="VED"/>
164
- <xsd:enumeration value="VES"/>
165
- <xsd:enumeration value="VND"/>
166
- <xsd:enumeration value="VUV"/>
167
- <xsd:enumeration value="WST"/>
168
- <xsd:enumeration value="XAF"/>
169
- <xsd:enumeration value="XAG"/>
170
- <xsd:enumeration value="XAU"/>
171
- <xsd:enumeration value="XBA"/>
172
- <xsd:enumeration value="XBB"/>
173
- <xsd:enumeration value="XBC"/>
174
- <xsd:enumeration value="XBD"/>
175
- <xsd:enumeration value="XCD"/>
176
- <xsd:enumeration value="XDR"/>
177
- <xsd:enumeration value="XOF"/>
178
- <xsd:enumeration value="XPD"/>
179
- <xsd:enumeration value="XPF"/>
180
- <xsd:enumeration value="XPT"/>
181
- <xsd:enumeration value="XSU"/>
182
- <xsd:enumeration value="XTS"/>
183
- <xsd:enumeration value="XUA"/>
184
- <xsd:enumeration value="XXX"/>
185
- <xsd:enumeration value="YER"/>
186
- <xsd:enumeration value="ZAR"/>
187
- <xsd:enumeration value="ZMW"/>
188
- <xsd:enumeration value="ZWL"/>
189
- </xsd:restriction>
190
- </xsd:simpleType>
191
- </xsd:schema>