Протокол IGRP

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



13. Определения типов данных протокола 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 #IMPLIED xml:lang NMTOKEN #REQUIRED
LangPrefList NMTOKENS #IMPLIED CharSetPrefList NMTOKENS #IMPLIED

SenderTradingRoleRef NMTOKEN #IMPLIED

SoftwareId CDATA #REQUIRED TimeStamp CDATA #IMPLIED>

<!ELEMENT RelatedTo (PackagedContent) >

<!ATTLIST RelatedTo ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED RelationshipType NMTOKEN #REQUIRED
Relation CDATA #REQUIRED RelnKeyWords 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 #REQUIRED ShortDesc CDATA #REQUIRED
SenderNetLocn CDATA #IMPLIED SecureSenderNetLocn 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 #REQUIRED OrderIdentifier CDATA #REQUIRED
ShortDesc CDATA #REQUIRED OkFrom CDATA #REQUIRED
OkTo CDATA #REQUIRED ApplicableLaw CDATA #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!-- ORGANISATION COMPONENT -->
<!ELEMENT Org (TradingRole+, ContactInfo?, PersonName?, PostalAddress?)>
<!ATTLIST Org ID ID #REQUIRED
xml:lang NMTOKEN #REQUIRED OrgId CDATA #REQUIRED
LegalName CDATA #IMPLIED ShortDesc CDATA #IMPLIED
LogoNetLocn CDATA #IMPLIED>
<!ELEMENT TradingRole EMPTY>
><!ATTLIST TradingRole ID ID#REQUIRED
TradingRole NMTOKEN #REQUIRED IotpMsgIdPrefix NMTOKEN #REQUIRED
CancelNetLocn CDATA #IMPLIED ErrorNetLocn CDATA #IMPLIED
ErrorLogNetLocn CDATA #IMPLIED>
<!ELEMENT ContactInfo EMPTY>


<!ATTLIST ContactInfo xml:lang NMTOKEN #IMPLIED
Tel CDATA #IMPLIED Fax CDATA #IMPLIED
Email CDATA #IMPLIED NetLocn CDATA #IMPLIED>
<!ELEMENT PersonName EMPTY >
<!ATTLIST PersonName xml:lang NMTOKEN #IMPLIED
Title CDATA #IMPLIED GivenName CDATA #IMPLIED
Initials CDATA #IMPLIED FamilyName CDATA #IMPLIED>
<!ELEMENT PostalAddress EMPTY>
<!ATTLIST PostalAddress xml:lang NMTOKEN #IMPLIED
AddressLine1 CDATA #IMPLIED AddressLine2 CDATA #IMPLIED
CityOrTown CDATA #IMPLIED StateOrRegion CDATA #IMPLIED
PostalCode CDATA #IMPLIED Country CDATA #IMPLIED
LegalLocation (True | False) 'False' >
<!-- BRAND LIST COMPONENT -->
<!ELEMENT BrandList (Brand+, ProtocolAmount+, CurrencyAmount+, PayProtocol+)>
<!ATTLIST BrandList ID ID #REQUIRED
xml:lang NMTOKEN #REQUIRED ShortDesc CDATA #REQUIRED PayDirection
(Debit | Credit) #REQUIRE>
<!ELEMENT Brand (ProtocolBrand*, PackagedContent*)>
<! ATTLIST Brand ID ID #REQUIRED
xml:lang NMTOKEN #IMPLIED BrandId CDATA #REQUIRED
BrandName CDATA #REQUIRED BrandLogoNetLocn CDATA #REQUIRED
BrandNarrative CDATA #IMPLIED ProtocolAmountRefs IDREFS #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!ELEMENT ProtocolBrand (PackagedContent*) >
<!ATTLIST ProtocolBrand ProtocolId CDATA #REQUIRED
ProtocolBrandId CDATA #REQUIRED>
<!ELEMENT ProtocolAmount (PackagedContent*) >
<!ATTLIST ProtocolAmount ID ID #REQUIRED
PayProtocolRef IDREF #REQUIRED CurrencyAmountRefs IDREFS #REQUIRED
ContentSoftwareId CDATA #IMPLIED>
<!ELEMENT CurrencyAmount EMPTY >
<!ATTLIST CurrencyAmount ID ID #REQUIRED
Amount CDATA #REQUIRED CurrCodeType NMTOKEN 'ISO4217-A'
CurrCode CDATA #REQUIRED>
<!ELEMENT PayProtocol (PackagedContent*) >
<!ATTLIST PayProtocol ID ID #REQUIRED
xml:lang NMTOKEN #IMPLIED ProtocolId NMTOKEN #REQUIRED
ProtocolName CDATA #REQUIRED ActionOrgRef NMTOKEN #REQUIRED
PayReqNetLocn CDATA #IMPLIED SecPayReqNetLocn CDATA #IMPLIED
ContentSoftwareId CDATA #IMPLIED >


<!-- BRAND SELECTION COMPONENT -->
<!ELEMENT BrandSelection (BrandSelBrandInfo?,
BrandSelProtocolAmountInfo?, BrandSelCurrencyAmountInfo?)>
<!ATTLIST BrandSelection ID ID #REQUIRED
BrandListRef NMTOKEN #REQUIRED BrandRef 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 ID ID #REQUIRED
OkFrom CDATA #REQUIRED OkTo CDATA #REQUIRED
BrandListRef NMTOKEN #REQUIRED SignedPayReceipt (True | False) #REQUIRED
StartAfterRefs NMTOKENS #IMPLIED>
<!-- PAYMENT SCHEME COMPONENT -->
<!ELEMENT PaySchemeData (PackagedContent+) >
<!ATTLIST PaySchemeData ID ID #REQUIRED
PaymentRef NMTOKEN #IMPLIED ConsumerPaymentId CDATA #IMPLIED
PaymentHandlerPayId CDATA #IMPLIED ContentSoftwareId CDATA #IMPLIED>
<!-- PAYMENT RECEIPT COMPONENT -->
<!ELEMENT PayReceipt (PackagedContent*) >
<!ATTLIST PayReceipt ID ID #REQUIRED PaymentRef NMTOKEN #REQUIRED
PayReceiptNameRefs NMTOKENS #IMPLIED ContentSoftwareId CDATA #IMPLIED>
<!-- PAYMENT NOTE COMPONENT -->
<!ELEMENT PaymentNote (PackagedContent+)>
<!ATTLIST PaymentNote ID ID #REQUIREDContentSoftwareId CDATA #IMPLIED>
<!ELEMENT Delivery (DeliveryData?, PackagedContent*) >
<!ATTLIST Delivery ID ID #REQUIRED
xml:lang NMTOKEN #REQUIRED DelivExch (True | False) #REQUIRED
DelivAndPayResp (True | False) #REQUIRED ActionOrgRef NMTOKEN #IMPLIED>
<!ELEMENT DeliveryData (PackagedContent*) >


<!ATTLIST DeliveryData xml:lang NMTOKEN #IMPLIED
OkFrom CDATA #REQUIRED OkTo CDATA #REQUIRED
DelivMethod NMTOKEN #REQUIRED DelivToRef NMTOKEN #REQUIRED
DelivReqNetLocn CDATA #IMPLIED SecDelivReqNetLocn 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 ID ID #REQUIRED
xml:lang NMTOKEN #REQUIRED DelivHandlerDelivId CDATA #IMPLIED
ContentSoftwareId CDATA #IMPLIED >
<!-- STATUS COMPONENT -->
<!ELEMENT Status EMPTY>
<!ATTLIST Status ID ID #REQUIRED
xml:lang NMTOKEN #REQUIRED StatusType NMTOKEN #REQUIRED
ElRef NMTOKEN #IMPLIED ProcessState (NotYetStarted | InProgress |
CompletedOk | Failed | ProcessError) #REQUIRED
CompletionCode NMTOKEN #IMPLIED
ProcessReference CDATA #IMPLIED StatusDesc CDATA #IMPLIED >
<!-- TRADING ROLE DATA COMPONENT -->
<!ELEMENT TradingRoleData (PackagedContent+)>
<!ATTLIST TradingRoleData ID ID #REQUIRED
<!ELEMENT InquiryType EMPTY>
<!ATTLIST InquiryType ID ID #REQUIRED
Type NMTOKEN #REQUIRED ElRef NMTOKEN #IMPLIED
ProcessReference CDATA #IMPLIED >
<!-- ERROR COMPONENT -->
<!ELEMENT ErrorComp (ErrorLocation+, PackagedContent*)>
<!ATTLIST ErrorComp ID NMTOKEN #REQUIRED
xml:lang NMTOKEN #REQUIRED ErrorCode NMTOKEN #REQUIRED
ErrorDesc CDATA #REQUIRED Severity (Warning|TransientError|HardError) #REQUIRED
MinRetrySecs CDATA #IMPLIED SwVendorErrorRef CDATA #IMPLIED>
<!ELEMENT ErrorLocation EMPTY >
<!ATTLIST ErrorLocation ElementType NMTOKEN #REQUIRED
IotpMsgRef NMTOKEN #IMPLIED BlkRef NMTOKEN #IMPLIED
CompRef NMTOKEN #IMPLIED ElementRef 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>



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