type-test.xsd
来自「开源的axis2框架的源码。用于开发WEBSERVER」· XSD 代码 · 共 1,631 行 · 第 1/4 页
XSD
1,631 行
<?xml version="1.0" ?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<!--
1st Draft release (27/10/2005)
1. Removed all Meter and Revenue specific objects.
2. Renamed all "ED" to "Meter".
3. Moved <DayLastPurchase> element from <CustDetail> complex type to a new complex type <CustVendDetail>. <CustVendDetail> extends <CustDetail>.
4. Added generic STS business rule exceptions.
5. Removed <header> enumeration.
6. Created abstract <DeviceID> and <EANDeviceID> as a extension.
7. Replaced <Token> with <CreditTokenTx> for <VerifyResp>.
8. <ClientStatus> now associated with <BaseVendResp>.
9.<CustVendDetail> now associated with <BaseVendResp>
10. Removed <CreditUpdate> from <ClientStatus>.
11. Login and Logout message pairs removed.
28/10/2005
12. <CreditStatus> removed, <availCredit> element added to <ClientStatus>.
13. <ean> changed to an attribute.
14. <terminalID> <id> changed to attribute.
15. <msgID> changed to attribute.
16. <MsgIDUniqueNumber> datatype change"postiveInteger"
7/11/2005
17. <header> renamed to <dispHeader> and made optional.'
18. corrected naming convention for <Currency>.
10/11/2005
19. Added <respDateTime> to <BaseResp>.
20. Renamed <CustomerIdentifier> to <CustIdentifier>.
21. Rename <customerMsg> to <custMsg>
22. <TAX>, <amt> made mandatory.
23. <XMLVendFault> renamed to <XMLVendFaultEx>.
24. <LastestKRNEx> corrected to <LatestKRNEx>
16/11/2005
25. Added <desc> to <MeterSpecificTokenIssue> complex type.
26. Added the following <CreditVendTokenIssue> specialisations, <SaleTokenIssue>, <FBETokenIssue>, <MCTTokenIssue> and <FreeToKenIssue>. This enables more than one type of token to be returned.
27. Updated <KCTokenIssue> to be a specialisation of <MeterSpecificEngTokenIssue> and not <MeterSpecificTokenIssue>.
28. <Currency>, <value> changed to an attribute.
29. <UtilityDetail>, all sub elements made attributes.
30. <VendorDetail>, all sub elements made attributes.
31. Created <Units> complex type, update <CreditTokenIssue> with it.
32. <CustDetail>, all sub elements made attributes.
33. <CustVendDetail> sub elements made attributes.
34. <MeterDetail>, <ExtMeterDetail>, <MeterType>, sub element made attributes.
35. <track2Data> made "required" in <ExtMeterDetail> complex type.
36. <KCTData>, sub elements made attributes.
22/11/2005
37. <MSNO> regular expression updated to (\S){3,13}
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"
xmlns:i0="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<annotation>
<documentation> Hand coded XML Schema for NRS Prepaid Utility Vending Service defining base
(common) library for the Vending Markup Language (XMLVend) for SOAP request and response
messages [*** WS-I Compliant *** see http://www.ws-i.org] Version Number Date Namespace
2.0 October 2005
http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema/2005/10</documentation>
</annotation>
<element name="adviceReq" type="i0:AdviceReq">
<annotation>
<documentation> System generated client request message to advise the server of the
outcome of a use case on the client. </documentation>
</annotation>
</element>
<complexType name="AdviceReq" abstract="true">
<annotation>
<documentation> Request must be extended to advise the server to take an appropriate
action based on the outcome of previous use case on the client. </documentation>
</annotation>
<complexContent>
<extension base="i0:BaseReq">
<sequence>
<element minOccurs="1" maxOccurs="1" name="adviceReqMsgID" type="i0:MsgID">
<annotation>
<documentation> The original request MsgID that is being advised.
</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="adviceResp" type="i0:AdviceResp">
<annotation>
<documentation> Server response message to a advice request message. </documentation>
</annotation>
</element>
<complexType name="AdviceResp" abstract="true">
<annotation>
<documentation> Response to advice request. Confirming that the advice has been
processed by the server. </documentation>
</annotation>
<complexContent>
<extension base="i0:BaseResp">
<sequence>
<element minOccurs="1" maxOccurs="1" name="adviceReqMsgID" type="i0:MsgID">
<annotation>
<documentation> The original request MsgID that has been advised.
</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="xmlvendFaultResp" type="i0:XMLVendFaultResp">
<annotation>
<documentation> Response to a XMLVend exception, business rule exception or a system
exception that occurs on the server when processing any other request.
</documentation>
</annotation>
</element>
<complexType name="XMLVendFaultResp">
<annotation>
<documentation> Response to a XMLVend exception or business rule exception that occurs
on the server when processing any other request. </documentation>
</annotation>
<complexContent>
<extension base="i0:BaseResp">
<sequence>
<element minOccurs="1" maxOccurs="1" name="fault" type="i0:Fault"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- Message Definitions Ends-->
<!-- Complex Element Definitions Starts -->
<!--Advice Req Specialisations -->
<complexType name="ConfirmationAdviceReq">
<annotation>
<documentation> Advice specialisation, used to by the client to confirm that a previous
used case has been completed successfully. </documentation>
</annotation>
<complexContent>
<extension base="i0:AdviceReq">
<sequence>
<element minOccurs="0" maxOccurs="1" name="payType" type="i0:PayType">
<annotation>
<documentation> Used to advise the server of the pay type that was used
in the transaction. That is, the pay type may not have been
available in the original request. </documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ReversalAdviceReq">
<annotation>
<documentation> Advise specialisation, used to advise the server that the previous
transaction was not successfully completed on the client and the server should
reverse the transaction. </documentation>
</annotation>
<complexContent>
<extension base="i0:AdviceReq"/>
</complexContent>
</complexType>
<complexType name="LastRespAdviceReq">
<annotation>
<documentation> Advise specialisation, used to advise the server the server to resend
the last response to the last client request, as the transaction was not
successfully completed on the client. </documentation>
</annotation>
<complexContent>
<extension base="i0:AdviceReq"/>
</complexContent>
</complexType>
<!--Advice Req Specialisations Ends-->
<!--Advice Response Specialisations -->
<complexType name="ConfirmationAdviceResp">
<annotation>
<documentation> Response to confirmation advice. </documentation>
</annotation>
<complexContent>
<extension base="i0:AdviceResp">
<attribute use="required" name="txConfirmed" type="boolean">
<annotation>
<documentation> true - transaction confirmed, false - transaction could not
be confirmed. </documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
<complexType name="ReversalAdviceResp">
<complexContent>
<extension base="i0:AdviceResp">
<attribute use="required" name="txReversed" type="boolean">
<annotation>
<documentation> true - transaction reverse on server, false - transaction
could not be reversed on server. </documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
<complexType name="LastRespAdviceResp">
<annotation>
<documentation> Response to lastResponse advice request, contains the complete last
response message sent by the server to this client. </documentation>
</annotation>
<complexContent>
<extension base="i0:AdviceResp">
<sequence>
<element minOccurs="1" maxOccurs="1" name="lastResponse" type="i0:BaseResp">
<annotation>
<documentation> The complete last response message that was requested.
</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<!--Advice Response Specialisations Ends-->
<complexType name="AuthCred">
<annotation>
<documentation> Provides operator authentication data to the server from the client.
</documentation>
</annotation>
<sequence>
<element minOccurs="1" maxOccurs="1" name="opName" type="i0:OpName"/>
<element minOccurs="0" maxOccurs="1" name="password" type="i0:Password"/>
<element minOccurs="0" maxOccurs="1" name="newPassword" type="i0:Password">
<annotation>
<documentation> A new pass phrase that will replace the one specified in the
"password" field. </documentation>
</annotation>
</element>
</sequence>
</complexType>
<complexType name="BaseResp">
<annotation>
<documentation> Returned in every response and defines the response message context.
</documentation>
</annotation>
<sequence>
<element minOccurs="1" maxOccurs="1" name="clientID" type="i0:DeviceID">
<annotation>
<documentation> This identifier is used to uniquely identify the vending client
that initiated a use case. If client side X509 certificates are used, then
the identifier must match the subject field specified in the certificate.
This identifier is usually mapped to a specific vendor account registered on
the vending server. The clientID may also be mapped to CDU ID for legacy
purposes. </documentation>
</annotation>
</element>
<element minOccurs="1" maxOccurs="1" name="serverID" type="i0:DeviceID">
<annotation>
<documentation> This identifier is used to uniquely identify the vending server.
If server side X509 certificates are used, then the identifier must match
the subject field specified in the certificate. </documentation>
</annotation>
</element>
<element minOccurs="1" maxOccurs="1" name="terminalID" type="i0:DeviceID">
<annotation>
<documentation> This identifier is used to identify the vending terminal that
initiated the use case. If the vending client also is a terminal then the
terminalID must default to "1". </documentation>
</annotation>
</element>
<element minOccurs="1" maxOccurs="1" name="reqMsgID" type="i0:MsgID">
<annotation>
<documentation> This field contains the "msgID" that was created in the
corresponding request message. </documentation>
</annotation>
</element>
<element minOccurs="1" maxOccurs="1" name="respDateTime" type="dateTime">
<annotation>
<documentation> The date time stamp of when the response was
created.</documentation>
</annotation>
</element>
<element minOccurs="0" maxOccurs="1" name="dispHeader" type="i0:Msg">
<annotation>
<documentation> A message targeted at the operator e.g. "Vendor credit limit is
about to be reached". </documentation>
</annotation>
</element>
<element minOccurs="0" maxOccurs="1" name="operatorMsg" type="i0:Msg">
<annotation>
<documentation> A message targeted at the operator e.g. "Vendor credit limit is
about to be reached". </documentation>
</annotation>
</element>
<element minOccurs="0" maxOccurs="1" name="custMsg" type="i0:Msg">
<annotation>
<documentation> A message targeted at the customer e.g. "Your FBE token for
the current month has not been claimed." </documentation>
</annotation>
</element>
</sequence>
</complexType>
<complexType name="BaseReq">
<annotation>
<documentation> Present in all requests, defines the request message context.
</documentation>
</annotation>
<sequence>
<element minOccurs="1" maxOccurs="1" name="clientID" type="i0:DeviceID"/>
<element minOccurs="1" maxOccurs="1" name="terminalID" type="i0:DeviceID"/>
<element minOccurs="1" maxOccurs="1" name="msgID" type="i0:MsgID">
<annotation>
<documentation> This is a identify for the request message. It is should be
unique across the system, when combined with the clientID. </documentation>
</annotation>
</element>
<element minOccurs="0" maxOccurs="1" name="authCred" type="i0:AuthCred"/>
</sequence>
</complexType>
<complexType name="BaseVendReq">
<complexContent mixed="false">
<extension base="i0:BaseReq">
<sequence>
<element minOccurs="1" maxOccurs="1" name="resource" type="i0:Resource"/>
<element minOccurs="1" maxOccurs="1" name="idMethod" type="i0:VendIDMethod"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="BaseVendResp">
<complexContent>
<extension base="i0:BaseResp">
<sequence>
<element minOccurs="1" maxOccurs="1" name="clientStatus" type="i0:ClientStatus"/>
<element minOccurs="1" maxOccurs="1" name="utility" type="i0:UtilityDetail"/>
<element minOccurs="0" maxOccurs="1" name="vendor" type="i0:VendorDetail"/>
<element minOccurs="0" maxOccurs="1" name="custVendDetail"
type="i0:CustVendDetail">
<annotation>
<documentation> Details about the customer that "owns" the meter.
</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<!--Batch Specialisations -->
<!--Batch Specialisations Ends-->
<complexType name="BatchStatus">
<annotation>
<documentation> Reports the status (open / closed) of the all the batches.
</documentation>
</annotation>
<attribute use="required" name="banking" type="i0:BatchStatusType"/>
<attribute use="required" name="sales" type="i0:BatchStatusType"/>
<attribute use="required" name="shift" type="i0:BatchStatusType"/>
</complexType>
<complexType name="ClientStatus">
<annotation>
<documentation> The server state in terms of the client's credit and batch statuses.
</documentation>
</annotation>
<sequence>
<element minOccurs="1" maxOccurs="1" name="availCredit" type="i0:Currency">
<annotation>
<documentation> The current vendor credit that is available for further
transactions. </documentation>
</annotation>
</element>
<element minOccurs="0" maxOccurs="1" name="batchStatus" type="i0:BatchStatus"/>
</sequence>
</complexType>
<!--CustIdentifier Specialisation -->
<complexType name="CustIdentifier" abstract="true"/>
<complexType name="CustName">
<annotation>
<documentation> Contains the name of the customer - used as a search string.
</documentation>
</annotation>
<complexContent>
<extension base="i0:CustIdentifier">
<sequence>
<element minOccurs="1" maxOccurs="1" name="name" type="i0:PersonName"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="CustAddress">
<annotation>
<documentation> Contains the address of the customer - used as a search string.
</documentation>
</annotation>
<complexContent>
<extension base="i0:CustIdentifier">
<sequence>
<element minOccurs="1" maxOccurs="1" name="address" type="i0:Address"/>
</sequence>
</extension>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?