draft-ietf-trade-voucher-lang-02.txt   draft-ietf-trade-voucher-lang-03.txt 
Trade Working Group November 2001 Trade Working Group June 2002
INTERNET-DRAFT Ko Fujimura INTERNET-DRAFT Ko Fujimura
Masayuki Terada Masayuki Terada
Expires: May 2002 NTT Expires: December 2002 NTT
XML Voucher: Generic Voucher Language XML Voucher: Generic Voucher Language
<draft-ietf-trade-voucher-lang-02.txt> <draft-ietf-trade-voucher-lang-03.txt>
Status of This Document Status of This Document
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 2, line 29 skipping to change at page 2, line 29
Acknowledgments ...................................................2 Acknowledgments ...................................................2
Table of Contents .................................................2 Table of Contents .................................................2
1. Introduction ...................................................3 1. Introduction ...................................................3
2. Processing Model ...............................................3 2. Processing Model ...............................................3
3. Trust Model ....................................................4 3. Trust Model ....................................................4
4. Component Structure ............................................5 4. Component Structure ............................................5
5. Syntax Overview and Examples ...................................7 5. Syntax Overview and Examples ...................................7
6. Syntax and Semantics ...........................................8 6. Syntax and Semantics ...........................................8
6.1 <Voucher> ..................................................8 6.1 <Voucher> ..................................................8
6.2 <Title> ....................................................8 6.2 <Title> ....................................................9
6.3 <Description> ..............................................9 6.3 <Description> ..............................................9
6.4 <Provider> .................................................9 6.4 <Provider> .................................................9
6.5 <Issuer> ...................................................9 6.5 <Issuer> ...................................................9
6.6 <Holder> ..................................................10 6.6 <Holder> ..................................................10
6.7 <Collector> ...............................................10 6.7 <Collector> ...............................................10
6.8 <Value> ...................................................11 6.8 <Value> ...................................................11
6.8.1 <Ratio> .................................................12 6.8.1 <Ratio> .................................................12
6.8.2 <Fixed> .................................................12 6.8.2 <Fixed> .................................................12
6.9 <Merchandise> .............................................13 6.9 <Merchandise> .............................................13
6.10 <ValidPeriod> ............................................14 6.10 <ValidPeriod> ............................................14
6.11 <Conditions> .............................................14 6.11 <Conditions> .............................................14
7. Schemas .......................................................14 7. IANA Considerations ...........................................14
8. VTS Schema Example ............................................16 8. VTS Schema Example ............................................17
9. Security Considerations .......................................17 9. Security Considerations .......................................17
10. References ....................................................17 10. References ....................................................17
11. Author's Address ..............................................18 11. Author's Address ..............................................18
Full Copyright Statement ..........................................19
1. Introduction 1. Introduction
This document, XML Voucher, specifies rules for defining voucher This document, XML Voucher, specifies rules for defining voucher
properties in XML syntax. The motivation and background of the properties in XML syntax. The motivation and background of the
specification are described in [GVT]. specification are described in [GVT].
A voucher is a logical entity that represents a certain right and A voucher is a logical entity that represents a certain right and
is logically managed by the Voucher Trading System (VTS). A voucher is logically managed by the Voucher Trading System (VTS). A voucher
is generated by the issuer, traded among users, and finally is generated by the issuer, traded among users, and finally
collected by the collector using VTS. collected by the collector using VTS.
skipping to change at page 6, line 50 skipping to change at page 6, line 50
can be defined as shown in Table 1. can be defined as shown in Table 1.
+----------------+--------------------------------+---------------+ +----------------+--------------------------------+---------------+
| | Value | Restrictions | | | Value | Restrictions |
| +-----+---------------+----------+---------------+ | +-----+---------------+----------+---------------+
| Examples |Ratio| Fixed |Number | Merchandise | | Examples |Ratio| Fixed |Number | Merchandise |
| | +------+--------+Needed for| | | | +------+--------+Needed for| |
| | |Amount|Currency|redemption| | | | |Amount|Currency|redemption| |
+----------------+-----+------+--------+----------+---------------+ +----------------+-----+------+--------+----------+---------------+
|Gift certificate| | 25 | USD | 1 |(Not specified)| |Gift certificate| | 25 | USD | 1 |(Not specified)|
|Loyalty point | | 200 | AUD | 20 |(Not specified)| |Loyalty point | | 1 | AUD | 10 |(Not specified)|
|Member card | 20%| | | 0 |(Not specified)| |Member card | 20%| | | 0 |(Not specified)|
|Coupon | 30%| | | 1 |Beef 500g | |Coupon | 30%| | | 1 |Beef 500g |
|Event ticket | 100%| | | 1 |Hall A, S ,K23 | |Event ticket | 100%| | | 1 |Hall A, S ,K23 |
|Exchange ticket | 100%| | | 1 |ISBN:0071355014| |Exchange ticket | 100%| | | 1 |ISBN:0071355014|
+----------------+-----+------+--------+----------+---------------+ +----------------+-----+------+--------+----------+---------------+
Table 1. Examples of vouchers and their properties Table 1. Examples of vouchers and their properties
5. Syntax Overview and Examples 5. Syntax Overview and Examples
This section provides an overview and examples of Voucher This section provides an overview and examples of Voucher
skipping to change at page 7, line 35 skipping to change at page 7, line 35
(Conditions)? (Conditions)?
</Voucher> </Voucher>
An example of a Voucher Component is described below. This is an An example of a Voucher Component is described below. This is an
example of a five dollar discount coupon for specific merchandize, example of a five dollar discount coupon for specific merchandize,
a book with ISBN number 0071355014. The coupon is valid from April a book with ISBN number 0071355014. The coupon is valid from April
1st in 2001 to March 31st in 2002. To claim this offer, one voucher 1st in 2001 to March 31st in 2002. To claim this offer, one voucher
must be spent. must be spent.
<?xml version="1.0"?> <?xml version="1.0"?>
<Voucher xmlns="http://www.ietf.org/rfc/rfcXXXX" <Voucher xmlns="urn:ietf:params:xml:schema:vts-lang"
xmlns:vts="http://www.example.com/vts"> xmlns:vts="http://www.example.com/vts">
<Title>IOTP Book Coupon</Title> <Title>IOTP Book Coupon</Title>
<Description>$5 off IOTP Book</Description> <Description>$5 off IOTP Book</Description>
<Provider name="Voucher Exchanger 2002"> <Provider name="Voucher Exchanger 2002">
<vts:Version>VE2.31</vts:Version> <vts:Version>VE2.31</vts:Version>
</Provider> </Provider>
<Issuer name="Alice Book Center, Ltd."> <Issuer name="Alice Book Center, Ltd.">
<vts:KeyInfo> <vts:KeyInfo>
1DA8DFCF95521014BBB7171B95545E8D61AE803F 1DA8DFCF95521014BBB7171B95545E8D61AE803F
</vts:KeyInfo> </vts:KeyInfo>
</Issuer> </Issuer>
<Collector name="Alice Book Center, Ltd."/> <Collector name="Alice Book Center, Ltd."/>
<Value type="discount" spend="1"> <Value type="discount" spend="1">
<Fixed amount="5" currency="USD"/> <Fixed amount="5" currency="USD"/>
</Value> </Value>
<Merchandise> <Merchandise>
<bk:Book xmlns:bk="http://www.example.com/bk" <bk:Book xmlns:bk="http://www.example.com/bk"
bk:isbn="0071355014"/> bk:isbn="0071355014"/>
</Merchandise> </Merchandise>
<ValidPeriod start="2001-04-01" end="2002-03-31"/> <ValidPeriod start="2002-04-01" end="2003-03-31"/>
<Conditions> <Conditions>
The value of this coupon is subject to tax. The value of this coupon is subject to tax.
</Conditions> </Conditions>
</Voucher> </Voucher>
6. Syntax and Semantics 6. Syntax and Semantics
The general structure of an XML voucher is described in Component The general structure of an XML voucher is described in Component
Structure (section 4). This section details the Voucher Component Structure (section 4). This section details the Voucher Component
features. Features described in this section MUST be implemented features. Features described in this section MUST be implemented
unless otherwise indicated. The syntax is defined via unless otherwise indicated. The syntax is defined via
[XML-Schema-1] [XML-Schema-2]. For clarity, unqualified elements in [XML-Schema-1] [XML-Schema-2]. For clarity, unqualified elements in
schema definitions are in the XML schema namespace: schema definitions are in the XML schema namespace:
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
References to XML Voucher schema defined herein use the prefix References to XML Voucher schema defined herein use the prefix
"gvl" and are in the namespace: "gvl" and are in the namespace:
xmlns:gvl="http://www.ietf.org/rfc/rfcXXXX.txt" xmlns:gvl="urn:ietf:params:xml:schema:vts-lang"
[If this document is published as an RFC, "XXXX" will be replaced by This namespace URI for elements defined by this document is a URN
the RFC number.] This namespace is also used for unqualified elements [URN], using the namespace identifier 'ietf' defined by [URN-NS-IETF]
in voucher examples. and extended by [XML-Registry].
This namespace is also used for unqualified elements in voucher
examples.
6.1 <Voucher> 6.1 <Voucher>
The <Voucher> element contains <Title>, <Provider>, and <Value> The <Voucher> element contains <Title>, <Provider>, and <Value>
elements and optionally contains <Description>, <Issuer>, <Holder>, elements and optionally contains <Description>, <Issuer>, <Holder>,
<Collector>, <ValidPeriod>, and <Condition> elements. These <Collector>, <ValidPeriod>, and <Condition> elements. These
sub-elements are defined in the following sections. sub-elements are defined in the following sections.
The <Voucher> element is defined by the following schema: The <Voucher> element is defined by the following schema:
skipping to change at page 10, line 20 skipping to change at page 10, line 25
The <Issuer> element has a string-type "name" attribute that is used The <Issuer> element has a string-type "name" attribute that is used
to specify the name of the Issuer. to specify the name of the Issuer.
The <Issuer> element is defined by the following schema: The <Issuer> element is defined by the following schema:
<element name="Issuer" type="gvl:RoleType"/> <element name="Issuer" type="gvl:RoleType"/>
The <RoleType> element type is defined in Section 6.4. The <RoleType> element type is defined in Section 6.4.
If the <Issuer> element is omitted, it MUST be interpreted that there If the <Issuer> element is omitted, it MUST be interpreted that there
are no restrictions on the Issuer. The issuer role (responsibility are no restrictions on the Issuer.
for the contents of the voucher) is delegated to the VTS Provider.
6.6 <Holder> 6.6 <Holder>
The <Holder> element may contain any elements that is used to specify The <Holder> element may contain any elements that is used to specify
or restrict the Holder of the voucher. or restrict the Holder of the voucher.
The Holder of the voucher is generally managed by the VTS [VTS-API]. The Holder of the voucher is generally managed by the VTS [VTS-API].
There is no need to specify the Holder of the voucher using this There is no need to specify the Holder of the voucher using this
element if there are no restrictions on the Holder. element if there are no restrictions on the Holder.
An implementation of a VTS may use this element to describe the An implementation of a VTS may use this element to describe the
skipping to change at page 11, line 37 skipping to change at page 11, line 41
The following identifiers are defined for the "type" attribute. The following identifiers are defined for the "type" attribute.
Exchange: Items specified in the <Merchandise> element can be Exchange: Items specified in the <Merchandise> element can be
claimed in exchange for the voucher. If this type is selected, claimed in exchange for the voucher. If this type is selected,
neither <Ratio> nor <Fixed> element MUST be specified. Note that neither <Ratio> nor <Fixed> element MUST be specified. Note that
this value process type has the same meaning as: this value process type has the same meaning as:
<Value type="discount"><Ratio percentage="100"/></Value> <Value type="discount"><Ratio percentage="100"/></Value>
Discount: Items specified in the <Merchandise> element can be Discount: Items specified in the <Merchandise> element can be
purchased at the discount price calculated by the <Ratio> or purchased at the discount price calculated by the <Ratio> or
<Fixed> element. Only one sheet of voucher can be used for a <Fixed> element.
single purchase of the item. The discount values for a single
purchase of the item must not exceed the retail price.
Monetary: Items specified in the <Merchandise> element can be Monetary: Items specified in the <Merchandise> element can be
purchased using the value of the voucher. (Note: if the purchased using the value of the voucher. (Note: if the
<Merchandise> element is not specified, the voucher can be used <Merchandise> element is not specified, the voucher can be used
for any purchase.) If this type is selected, the <Fixed> element for any purchase.) If this type is selected, the <Fixed> element
MUST be specified. Multiple vouchers can be redeemed for MUST be specified.
purchasing a single item. If the total value of the vouchers
exceeds the retail price, changes will be given.
The <Value> element also has a "spend" attribute that is used to The <Value> element also has a "spend" attribute that is used to
specify the number of vouchers to be redeemed for claiming the specify the number of vouchers to be redeemed for claiming the
goods, services, or monetary value specified. For example, if "n" goods, services, or monetary value specified. For example, if "n"
(>0) is specified, goods etc. can be claimed in exchange for "n (>0) is specified, goods etc. can be claimed in exchange for "n
sheets of" vouchers. (Note: Multiple vouchers for the same Voucher sheets of" vouchers. (Note: Multiple vouchers for the same Voucher
Component must exist in this case.) If "0" is specified, it can be Component must exist in this case.) If "0" is specified, it can be
used repeatedly. used repeatedly.
If the "spend" attribute is omitted or the whole element is omitted, If the "spend" attribute is omitted or the whole element is omitted,
skipping to change at page 14, line 53 skipping to change at page 14, line 53
<complexType name="ConditionsType" mixed="true"> <complexType name="ConditionsType" mixed="true">
<sequence> <sequence>
<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
</sequence> </sequence>
</complexType> </complexType>
If the <Conditions> element is omitted, it will be generally If the <Conditions> element is omitted, it will be generally
interpreted that there are no other restrictions or conditions on interpreted that there are no other restrictions or conditions on
using the voucher. using the voucher.
7. Schemas 7. IANA Considerations
The collected XML schema specification is: This document calls for IANA to register a new XML schema with the
URN. The registation form [XML-Registry] for this is below:
URI
urn:ietf:params:xml:schema:vts-lang
Registrant Contact
IETF, trade working group, <ietf-trade@lists.elistx.com>
Ko Fujimura, <fujimura@isl.ntt.co.jp>
XML
BEGIN
<?xml version="1.0"?> <?xml version="1.0"?>
<schema <schema
targetNamespace="http://www.ietf.org/rfc/rfcXXXX" targetNamespace="urn:ietf:params:xml:schema:vts-lang"
xmlns:gvl="http://www.ietf.org/rfc/rfcXXXX" xmlns:gvl="urn:ietf:params:xml:schema:vts-lang"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<element name="Voucher" type="gvl:VoucherType"/> <element name="Voucher" type="gvl:VoucherType"/>
<complexType name="VoucherType"> <complexType name="VoucherType">
<sequence> <sequence>
<element ref="gvl:Title"/> <element ref="gvl:Title"/>
<element ref="gvl:Description" minOccurs="0"/> <element ref="gvl:Description" minOccurs="0"/>
<element ref="gvl:Provider"/> <element ref="gvl:Provider"/>
<element ref="gvl:Issuer" minOccurs="0"/> <element ref="gvl:Issuer" minOccurs="0"/>
skipping to change at page 16, line 47 skipping to change at page 17, line 4
<attribute name="start" type="dateTime"/> <attribute name="start" type="dateTime"/>
<attribute name="end" type="dateTime"/> <attribute name="end" type="dateTime"/>
</complexType> </complexType>
<element name="Conditions" type="gvl:ConditionsType"/> <element name="Conditions" type="gvl:ConditionsType"/>
<complexType name="ConditionsType" mixed="true"> <complexType name="ConditionsType" mixed="true">
<sequence> <sequence>
<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
</sequence> </sequence>
</complexType> </complexType>
</schema> </schema>
END
8. VTS Schema Example 8. VTS Schema Example
An example of the schema definition for a VTS implementation is An example of the schema definition for a VTS implementation is
described below: described below:
<?xml version="1.0"?> <?xml version="1.0"?>
<schema <schema
targetNamespace="http://www.example.com/vts" targetNamespace="http://www.example.com/vts"
xmlns:vts="http://www.example.com/vts" xmlns:vts="http://www.example.com/vts"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<element name="Version" type="string"/> <element name="Version" type="string"/>
<element name="KeyInfo" type="hexBinary"/> <element name="KeyInfo" type="hexBinary"/>
</schema> </schema>
Using this schema definition, the <vts:Version> can be used for Using this schema definition, the <vts:Version> can be used for
specifying the VTS version number and the <vts:KeyInfo> element can specifying the VTS version number and the <vts:KeyInfo> element can
be used for specifying the Issuer in the Voucher Component as shown be used for specifying the Issuer in the Voucher Component as shown
in Section 5. in Section 5.
9. Security Considerations 9. Security Considerations
Security issues for delivering Voucher Components are discussed in Security issues for delivering Voucher Components are discussed in
skipping to change at page 17, line 27 skipping to change at page 17, line 36
be used for specifying the Issuer in the Voucher Component as shown be used for specifying the Issuer in the Voucher Component as shown
in Section 5. in Section 5.
9. Security Considerations 9. Security Considerations
Security issues for delivering Voucher Components are discussed in Security issues for delivering Voucher Components are discussed in
Section 3. Section 3.
10. References 10. References
[ECML] J. W. Parsons, "Electronic Commerce Modeling Language (ECML) [ECML] J. W. Parsons and D. Eastlake, "Electronic Commerce Modeling
Version 2 Specification", draft-ietf-trade-ecml2-spec-02.txt, Language (ECML) Version 2 Specification",
October 2001. draft-ietf-trade-ecml2-spec-03.txt, April 2002.
[GVT] K. Fujimura, "Requirements for Generic Voucher Trading", [GVT] K. Fujimura, "Requirements and Design for Voucher Trading
draft-ietf-trade-drt-requirements-02.txt, February 2001. System (VTS)", draft-ietf-trade-drt-requirements-03.txt, January
2002.
[IPSEC] R. Thayer, N. Doraswamy, and R. Glenn, "IP Security Document [IPSEC] R. Thayer, N. Doraswamy, and R. Glenn, "IP Security Document
Roadmap", RFC2411, November 1998 Roadmap", RFC2411, November 1998
[ISO4217] "Codes for the representation of currencies and funds", [ISO4217] "Codes for the representation of currencies and funds",
ISO 4217, 1995. ISO 4217, 1995.
[RFC2119] S. Bradner, "Key words for use in RFCs to Indicate [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[TLS] T. Dierks, C. Allen, "The TLS Protocol Version 1.0", RFC2246, [TLS] T. Dierks, C. Allen, "The TLS Protocol Version 1.0", RFC2246,
January 1999. January 1999.
[URN] R. Moats, "URN Syntax", RFC2141, May 1997.
[URN-NS-IETF] R. Moats, "A URN Namespace for IETF Documents",
RFC2648, August 1999.
[VTS-API] M. Terada and K. Fujimura, "Voucher Trading System [VTS-API] M. Terada and K. Fujimura, "Voucher Trading System
Application Programming Interface (VTS-API)", Application Programming Interface (VTS-API)",
draft-ietf-trade-voucher-vtsapi-00.txt, July 2001. draft-ietf-trade-voucher-vtsapi-01.txt, January 2002.
[XML] "Extensible Mark Up Language (XML) 1.0 (Second Edition)", A [XML] "Extensible Mark Up Language (XML) 1.0 (Second Edition)", A
W3C Recommendation, <http://www.w3.org/TR/REC-xml>, October 2000. W3C Recommendation, <http://www.w3.org/TR/REC-xml>, October 2000.
[XMLDSIG] D. Eastlake, J. Reagle, and D. Solo, "XML-Signature [XMLDSIG] D. Eastlake, J. Reagle, and D. Solo, "XML-Signature
Syntax and Processing", draft-ietf-xmldsig-core-2-02.txt, October Syntax and Processing", RFC3275, March 2002.
2001.
[XML-ns] "Namespaces in XML", A W3C Recommendation, [XML-ns] "Namespaces in XML", A W3C Recommendation,
<http://www.w3.org/TR/REC-xml-names>, January 1999. <http://www.w3.org/TR/REC-xml-names>, January 1999.
[XML-Registry] M. Mealing, "The IETF XML Registry",
draft-mealling-iana-xmlns-registry-03, November 2001.
[XML-Schema-1] H. Thompson, D. Beech, M. Maloney, and [XML-Schema-1] H. Thompson, D. Beech, M. Maloney, and
N. Mendelsohn, "XML Schema Part 1: Structures W3C Recommendation.", N. Mendelsohn, "XML Schema Part 1: Structures W3C Recommendation.",
<http://www.w3.org/TR/xmlschema-1/>, May 2001. <http://www.w3.org/TR/xmlschema-1/>, May 2001.
[XML-Schema-2] P. Biron and A Malhotra, "XML Schema Part 2: [XML-Schema-2] P. Biron and A Malhotra, "XML Schema Part 2:
Datatypes W3C Recommendation.", Datatypes W3C Recommendation.",
<http://www.w3.org/TR/xmlschema-2/>, May 2001. <http://www.w3.org/TR/xmlschema-2/>, May 2001.
11. Author's Address 11. Author's Address
Ko Fujimura and Masayuki Terada Ko Fujimura and Masayuki Terada
NTT Corporation NTT Corporation
1-1 Hikari-no-oka, Yokosuka-shi, Kanagawa, 239-0847 JAPAN 1-1 Hikari-no-oka, Yokosuka-shi, Kanagawa, 239-0847 JAPAN
Phone: +81-(0)468-59-3814 Phone: +81-(0)468-59-3814
Fax: +81-(0)468-59-2241 Fax: +81-(0)468-59-2241
Email: fujimura@isl.ntt.co.jp, terada@isl.ntt.co.jp Email: fujimura@isl.ntt.co.jp, terada@isl.ntt.co.jp
Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/