Протокол для работы с кредитными картами CyberCash

         

Определения типов данных протокола IOTP


Этот раздел содержит XML DTD для IOTP.

<!--
******************************************************
* *
* INTERNET OPEN TRADING PROTOCOL VERSION 1.0 DTD *
* Имя файла: ietf.org/rfc/rfc2801.dtd *
* *
* Отличие от версии 07 (iotp-v1.0-protocol-07.dtd) *
* - никаких изменений *
* *
* Copyright Internet Engineering Task Force 1998-2000*
* *
******************************************************
******************************
* Определение сообщения IOTP *
******************************
-->
<!ELEMENT IotpMessage ( TransRefBlk, IotpSignatures?, ErrorBlk?,
( AuthReqBlk | AuthRespBlk | AuthStatusBlk | CancelBlk | DeliveryReqBlk |
DeliveryRespBlk | InquiryReqBlk | InquiryRespBlk | OfferRespBlk | PayExchBlk |
PayReqBlk | PayRespBlk | PingReqBlk | PingRespBlk | TpoBlk | TpoSelectionBlk
)* ) >
<!ATTLIST IotpMessage xmlns CDATA 'iotp:ietf.org/iotp-v1.0' >

<!--
***************************************
* Определение блока ссылок транзакции *
*************************************** -->
<!ELEMENT TransRefBlk (TransId, MsgId, RelatedTo*)>
<!ATTLIST TransRefBlk ID ID #REQUIRED>
<!ELEMENT TransId EMPTY>
<!ATTLIST TransId ID ID #REQUIRED
Version NMTOKEN #FIXED '1.0'IotpTransId CDATA #REQUIRED
IotpTransType CDATA #REQUIREDTransTimeStamp CDATA #REQUIRED>

<!ELEMENT MsgId EMPTY>
<!ATTLIST MsgId ID ID #REQUIRED

RespIotpMsg NMTOKEN #IMPLIEDxml:lang NMTOKEN #REQUIRED
LangPrefList NMTOKENS #IMPLIEDCharSetPrefList NMTOKENS #IMPLIED

SenderTradingRoleRef NMTOKEN #IMPLIED

SoftwareId CDATA #REQUIREDTimeStamp CDATA #IMPLIED>

<!ELEMENT RelatedTo (PackagedContent) >

<!ATTLIST RelatedTo ID ID #REQUIRED

xml:lang NMTOKEN #REQUIREDRelationshipType NMTOKEN #REQUIRED
Relation CDATA #REQUIREDRelnKeyWords NMTOKENS #IMPLIED>

<!--
**********************************
* Общий элемент Packaged Content *
********************************** -->
<!ELEMENT PackagedContent (#PCDATA)>
<!ATTLIST PackagedContent Name CDATA #IMPLIED

Content NMTOKEN "PCDATA"Transform (NONE|BASE64) "NONE">

<!--
***********************
* Торговые компоненты *
*********************** -->
<!-- PROTOCOL OPTIONS COMPONENT -->
<!ELEMENT ProtocolOptions EMPTY >
<!ATTLIST ProtocolOptions ID ID #REQUIRED
xml:lang NMTOKEN #REQUIREDShortDesc CDATA #REQUIRED
SenderNetLocn CDATA #IMPLIEDSecureSenderNetLocn CDATA #IMPLIED
SuccessNetLocn CDATA #REQUIRED> <!-- AUTHENTICATION DATA COMPONENT -->
<!ELEMENT AuthReq (Algorithm, PackagedContent*)>
<!ATTLIST AuthReq ID ID #REQUIRED
AuthenticationId CDATA #REQUIREDContentSoftwareId CDATA #IMPLIED>
<!-- AUTHENTICATION RESPONSE COMPONENT -->
<!ELEMENT AuthResp (PackagedContent*) >
<!ATTLIST AuthResp ID ID #REQUIRED
AuthenticationId CDATA #REQUIREDSelectedAlgorithmRef NMTOKEN #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!-- TRADING ROLE INFO REQUEST COMPONENT -->
<!ELEMENT TradingRoleInfoReq EMPTY>
<!ATTLIST TradingRoleInfoReq ID ID #REQUIRED
TradingRoleList NMTOKENS #REQUIRED>
<!-- ORDER COMPONENT -->
<!ELEMENT Order (PackagedContent*)>
><!ATTLIST Order ID ID #REQUIRED
xml:lang NMTOKEN #REQUIREDOrderIdentifier CDATA #REQUIRED
ShortDesc CDATA #REQUIREDOkFrom CDATA #REQUIRED
OkTo CDATA #REQUIREDApplicableLaw CDATA #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!-- ORGANISATION COMPONENT -->
<!ELEMENT Org (TradingRole+, ContactInfo?, PersonName?, PostalAddress?)>
<!ATTLIST Org ID ID #REQUIRED
xml:lang NMTOKEN #REQUIREDOrgId CDATA #REQUIRED
LegalName CDATA #IMPLIEDShortDesc CDATA #IMPLIED
LogoNetLocn CDATA #IMPLIED>
<!ELEMENT TradingRole EMPTY>
><!ATTLIST TradingRole ID ID#REQUIRED
TradingRole NMTOKEN #REQUIREDIotpMsgIdPrefix NMTOKEN #REQUIRED
CancelNetLocn CDATA #IMPLIEDErrorNetLocn CDATA #IMPLIED
ErrorLogNetLocn CDATA #IMPLIED>
<!ELEMENT ContactInfo EMPTY>
<!ATTLIST ContactInfo xml:lang NMTOKEN #IMPLIED
Tel CDATA #IMPLIEDFax CDATA #IMPLIED
Email CDATA #IMPLIEDNetLocn CDATA #IMPLIED>
<!ELEMENT PersonName EMPTY >


<!ATTLIST PersonName xml:lang NMTOKEN #IMPLIED
Title CDATA #IMPLIEDGivenName CDATA #IMPLIED
Initials CDATA #IMPLIEDFamilyName CDATA #IMPLIED>
<!ELEMENT PostalAddress EMPTY>
<!ATTLIST PostalAddress xml:lang NMTOKEN #IMPLIED
AddressLine1 CDATA #IMPLIEDAddressLine2 CDATA #IMPLIED
CityOrTown CDATA #IMPLIEDStateOrRegion CDATA #IMPLIED
PostalCode CDATA #IMPLIEDCountry CDATA #IMPLIED
LegalLocation (True | False) 'False' >
<!-- BRAND LIST COMPONENT -->
<!ELEMENT BrandList (Brand+, ProtocolAmount+, CurrencyAmount+, PayProtocol+)>
<!ATTLIST BrandList IDID #REQUIRED
xml:lang NMTOKEN #REQUIREDShortDesc CDATA #REQUIRED PayDirection
(Debit | Credit) #REQUIRE>
<!ELEMENT Brand (ProtocolBrand*, PackagedContent*)>
<! ATTLIST Brand ID ID #REQUIRED
xml:lang NMTOKEN #IMPLIEDBrandId CDATA #REQUIRED
BrandName CDATA #REQUIREDBrandLogoNetLocn CDATA #REQUIRED
BrandNarrative CDATA #IMPLIEDProtocolAmountRefs IDREFS #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!ELEMENT ProtocolBrand (PackagedContent*) >
<!ATTLIST ProtocolBrand ProtocolId CDATA #REQUIRED
ProtocolBrandId CDATA #REQUIRED>
<!ELEMENT ProtocolAmount (PackagedContent*) >
<!ATTLIST ProtocolAmount IDID #REQUIRED
PayProtocolRef IDREF #REQUIREDCurrencyAmountRefs IDREFS #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!ELEMENT CurrencyAmount EMPTY >
<!ATTLIST CurrencyAmount IDID #REQUIRED
Amount CDATA #REQUIREDCurrCodeType NMTOKEN 'ISO4217-A'


CurrCode CDATA #REQUIRED>
<!ELEMENT PayProtocol (PackagedContent*) >
<!ATTLIST PayProtocol ID ID #REQUIRED
xml:lang NMTOKEN #IMPLIEDProtocolId NMTOKEN #REQUIRED
ProtocolName CDATA #REQUIREDActionOrgRef NMTOKEN #REQUIRED
PayReqNetLocn CDATA #IMPLIEDSecPayReqNetLocn CDATA #IMPLIED
ContentSoftwareId CDATA #IMPLIED >
<!-- BRAND SELECTION COMPONENT -->
<!ELEMENT BrandSelection (BrandSelBrandInfo?,
BrandSelProtocolAmountInfo?,BrandSelCurrencyAmountInfo?)>
<!ATTLIST BrandSelection IDID #REQUIRED
BrandListRef NMTOKEN #REQUIREDBrandRef NMTOKEN #REQUIRED
ProtocolAmountRef NMTOKEN #REQUIRED


CurrencyAmountRef NMTOKEN #REQUIRED>
<!ELEMENT BrandSelBrandInfo (PackagedContent+)>
<! ATTLIST BrandSelBrandInfo ID ID #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!ELEMENT BrandSelProtocolAmountInfo (PackagedContent+)>
<!ATTLIST BrandSelProtocolAmountInfo ID ID #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!ELEMENT BrandSelCurrencyAmountInfo (PackagedContent+)>
<!ATTLIST BrandSelCurrencyAmountInfo ID ID #REQUIRED
ContentSoftwareId CDATA #IMPLIED >
<!-- PAYMENT COMPONENT -->
<!ELEMENT Payment EMPTY>
<!ATTLIST Payment IDID #REQUIRED
OkFrom CDATA #REQUIREDOkTo CDATA #REQUIRED
BrandListRef NMTOKEN #REQUIREDSignedPayReceipt (True | False) #REQUIRED
StartAfterRefs NMTOKENS #IMPLIED>
<!-- PAYMENT SCHEME COMPONENT -->
<!ELEMENT PaySchemeData (PackagedContent+) >
<!ATTLIST PaySchemeData IDID #REQUIRED
PaymentRef NMTOKEN #IMPLIEDConsumerPaymentId CDATA #IMPLIED
PaymentHandlerPayId CDATA #IMPLIEDContentSoftwareId CDATA #IMPLIED>
<!-- PAYMENT RECEIPT COMPONENT -->
<!ELEMENT PayReceipt (PackagedContent*) >
<!ATTLIST PayReceipt ID ID #REQUIREDPaymentRef NMTOKEN #REQUIRED
PayReceiptNameRefs NMTOKENS #IMPLIEDContentSoftwareId CDATA #IMPLIED>
<!-- PAYMENT NOTE COMPONENT -->
<!ELEMENT PaymentNote (PackagedContent+)>
<!ATTLIST PaymentNote ID ID #REQUIREDContentSoftwareId CDATA #IMPLIED>
<!ELEMENT Delivery (DeliveryData?, PackagedContent*) >
<!ATTLIST Delivery IDID #REQUIRED
xml:lang NMTOKEN #REQUIREDDelivExch (True | False) #REQUIRED
DelivAndPayResp (True | False) #REQUIREDActionOrgRef NMTOKEN #IMPLIED>
<!ELEMENT DeliveryData (PackagedContent*) >
<!ATTLIST DeliveryData xml:langNMTOKEN #IMPLIED
OkFrom CDATA #REQUIREDOkTo CDATA #REQUIRED
DelivMethod NMTOKEN #REQUIREDDelivToRef NMTOKEN #REQUIRED
DelivReqNetLocn CDATA #IMPLIEDSecDelivReqNetLocn CDATA #IMPLIED
ContentSoftwareId CDATA #IMPLIED>
<!-- CONSUMER DELIVERY DATA COMPONENT -->


<!ELEMENT ConsumerDeliveryData EMPTY>
<! ATTLIST ConsumerDeliveryData ID ID #REQUIRED
ConsumerDeliveryId CDATA #REQUIRED>
<!-- DELIVERY NOTE COMPONENT -->
<!ELEMENT DeliveryNote (PackagedContent+)>
<!ATTLIST DeliveryNote IDID #REQUIRED
xml:lang NMTOKEN #REQUIREDDelivHandlerDelivId CDATA #IMPLIED
ContentSoftwareId CDATA #IMPLIED >
<!-- STATUS COMPONENT -->
<!ELEMENT Status EMPTY>
<!ATTLIST Status IDID #REQUIRED
xml:lang NMTOKEN #REQUIREDStatusType NMTOKEN #REQUIRED
ElRef NMTOKEN #IMPLIEDProcessState (NotYetStarted | InProgress |
CompletedOk | Failed | ProcessError) #REQUIRED
CompletionCode NMTOKEN #IMPLIED
ProcessReference CDATA #IMPLIEDStatusDesc CDATA #IMPLIED >
<!-- TRADING ROLE DATA COMPONENT -->
<!ELEMENT TradingRoleData (PackagedContent+)>
<!ATTLIST TradingRoleData ID ID #REQUIRED
<!ELEMENT InquiryType EMPTY>
<!ATTLIST InquiryType IDID #REQUIRED
Type NMTOKEN #REQUIREDElRef NMTOKEN #IMPLIED
ProcessReference CDATA #IMPLIED >
<!-- ERROR COMPONENT -->
<!ELEMENT ErrorComp (ErrorLocation+, PackagedContent*)>
<!ATTLIST ErrorComp IDNMTOKEN #REQUIRED
xml:lang NMTOKEN #REQUIREDErrorCode NMTOKEN #REQUIRED
ErrorDesc CDATA #REQUIREDSeverity (Warning|TransientError|HardError) #REQUIRED
MinRetrySecs CDATA #IMPLIEDSwVendorErrorRef CDATA #IMPLIED>
<!ELEMENT ErrorLocation EMPTY >
<!ATTLIST ErrorLocation ElementTypeNMTOKEN #REQUIRED
IotpMsgRef NMTOKEN #IMPLIEDBlkRef NMTOKEN #IMPLIED
CompRef NMTOKEN #IMPLIEDElementRef NMTOKEN #IMPLIED
AttName NMTOKEN #IMPLIED>
<!--
**********************
* ТОРГОВЫЕ БЛОКИ *
********************** --> <!-- TRADING PROTOCOL OPTIONS BLOCK -->
<!ELEMENT TpoBlk ( ProtocolOptions, BrandList*, Org* )>
<!ATTLIST TpoBlk ID ID #REQUIRED >
<!-- TPO SELECTION BLOCK -->
<!ELEMENT TpoSelectionBlk (BrandSelection+)>
<!ATTLIST TpoSelectionBlk ID ID #REQUIRED>
<!-- OFFER RESPONSE BLOCK -->
<!ELEMENT OfferRespBlk (Status, Order?, Payment*, Delivery?, TradingRoleData*)>


<! ATTLIST OfferRespBlk ID ID #REQUIRED > <!-- AUTHENTICATION REQUEST BLOCK -->
<!ELEMENT AuthReqBlk (AuthReq*, TradingRoleInfoReq?)>
<!ATTLIST AuthReqBlk ID ID #REQUIRED> <!-- AUTHENTICATION RESPONSE BLOCK -->
<!ELEMENT AuthRespBlk (AuthResp?, Org*)>
<!ATTLIST AuthRespBlk ID ID #REQUIRED> <!-- AUTHENTICATION STATUS BLOCK -->
<!ELEMENT AuthStatusBlk (Status) >
<!ATTLIST AuthStatusBlk ID ID #REQUIRED> <!-- PAYMENT REQUEST BLOCK -->
<!ELEMENT PayReqBlk (Status+, BrandList, BrandSelection,
Payment, PaySchemeData?, Org*, TradingRoleData*)>
<!ATTLIST PayReqBlk ID ID #REQUIRED> <!-- PAYMENT EXCHANGE BLOCK -->
<!ELEMENT PayExchBlk (PaySchemeData)>
<!ATTLIST PayExchBlk ID ID #REQUIRED> <!-- PAYMENT RESPONSE BLOCK -->
<!ELEMENT PayRespBlk (Status, PayReceipt?, PaySchemeData?,
PaymentNote?, TradingRoleData*) >
<!ATTLIST PayRespBlk ID ID #REQUIRED>
<!-- DELIVERY REQUEST BLOCK -->
<!ELEMENT DeliveryReqBlk (Status+, Order, Org*, Delivery,
ConsumerDeliveryData?, TradingRoleData*) >
<!ATTLIST DeliveryReqBlk ID ID #REQUIRED> <!-- DELIVERY RESPONSE BLOCK -->
<!ELEMENT DeliveryRespBlk (Status, DeliveryNote)>
<!ATTLIST DeliveryRespBlk ID ID #REQUIRED> <!-- INQUIRY REQUEST BLOCK -->
<!ELEMENT InquiryReqBlk ( InquiryType, PaySchemeData? )>
<!ATTLIST InquiryReqBlk ID ID #REQUIRED > <!-- INQUIRY RESPONSE BLOCK -->
<!ELEMENT InquiryRespBlk (Status, PaySchemeData?)>
<!ATTLIST InquiryRespBlk ID ID #REQUIRED
LastReceivedIotpMsgRef NMTOKEN #IMPLIED
LastSentIotpMsgRef NMTOKEN #IMPLIED> <!-- PING REQUEST BLOCK -->
<!ELEMENT PingReqBlk (Org*)>
<!ATTLIST PingReqBlk ID ID #REQUIRED> <!-- PING RESPONSE BLOCK -->
<!ELEMENT PingRespBlk (Org+)>
<!ATTLIST PingRespBlk ID ID #REQUIRED
PingStatusCode (Ok | Busy | Down) #REQUIRED
BR/P> xml:lang NMTOKEN #IMPLIEDPingStatusDesc CDATA #IMPLIED> <!-- ERROR BLOCK -->


><!ELEMENT ErrorBlk (ErrorComp+, PaySchemeData*)>
<! ATTLIST ErrorBlk ID ID #REQUIRED> <!-- CANCEL BLOCK -->
<!ELEMENT CancelBlk (Status)>
<!ATTLIST CancelBlk ID ID #REQUIRED>
<!--
*****************************
* Определение блока подписи *
***************************** -->
<!ELEMENT IotpSignatures (Signature+ ,Certificate*)>
<!ATTLIST IotpSignatures ID ID #IMPLIED> <!--
*******************************************
* Определение компонента подписи IOTP *
******************************************* --> <!ELEMENT Signature (Manifest, Value+) >
<!ATTLIST Signature ID ID #IMPLIED> <!ELEMENT Manifest ( Algorithm+,
Digest+,
Attribute*,
OriginatorInfo,
RecipientInfo+ )> <!ATTLIST Manifest LocatorHRefBase CDATA #IMPLIED> <!ELEMENT Algorithm (Parameter*)>
<!ATTLIST Algorithm ID ID #REQUIRED
>type (digest|signature) #IMPLIEDname NMTOKEN #REQUIRED> <!ELEMENT Digest (Locator, Value)>
<!ATTLIST Digest DigestAlgorithmRef IDREF #REQUIRED> <!ELEMENT Attribute ( ANY ) >
<!ATTLIST Attribute type NMTOKEN #REQUIRED
>critical ( true | false ) #REQUIRED> <!ELEMENT OriginatorInfo ANY >
<!ATTLIST OriginatorInfo OriginatorRef NMTOKEN #IMPLIED> <!ELEMENT RecipientInfo ANY >
<!ATTLIST RecipientInfo SignatureAlgorithmRef IDREF #REQUIRED
SignatureValueRef IDREF #IMPLIEDSignatureCertRef IDREF #IMPLIED
RecipientRefs NMTOKENS #IMPLIED> <!ELEMENT KeyIdentifier EMPTY>
<!ATTLIST KeyIdentifier value CDATA #REQUIRED> <!ELEMENT Parameter ANY >
<!ATTLIST Parameter type CDATA #REQUIRED>
<!--
*******************************************
* Определение компонента сертификата IOTP *
******************************************* -->
<!ELEMENT Certificate ( IssuerAndSerialNumber, ( Value | Locator ) )> <!ATTLIST Certificate ID ID #IMPLIEDtype NMTOKEN #REQUIRED> <!ELEMENT IssuerAndSerialNumber EMPTY >
<!ATTLIST IssuerAndSerialNumber issuer CDATA #REQUIRED number CDATA
#REQUIRED>
<!--
**************************************
* Определение компонента SHARED IOTP *
************************************** -->
<!ELEMENT Value ( #PCDATA )>
<!ATTLIST Value ID ID #IMPLIED encoding (base64|none) 'base64'> <!ELEMENT Locator EMPTY>
<!ATTLIST Locator xml:link CDATA #FIXED 'simple' href CDATA #REQUIRED>

Содержание раздела