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 + -
显示快捷键?