Schemas for DIN
This commit is contained in:
parent
8e12614c07
commit
83a98adaee
|
@ -0,0 +1,55 @@
|
|||
<!-- This XML document originates from the ISO/IEC 15118-2 standard which can be obtained from ISO at http://www.iso.org/iso/catalogue_detail.htm?csnumber=55366 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="urn:iso:15118:2:2010:AppProtocol"
|
||||
targetNamespace="urn:iso:15118:2:2010:AppProtocol">
|
||||
<xs:element name="supportedAppProtocolReq">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AppProtocol" type="AppProtocolType" maxOccurs="20"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="supportedAppProtocolRes">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="responseCodeType"/>
|
||||
<xs:element name="SchemaID" type="idType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:complexType name="AppProtocolType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ProtocolNamespace" type="protocolNamespaceType"/>
|
||||
<xs:element name="VersionNumberMajor" type="xs:unsignedInt"/>
|
||||
<xs:element name="VersionNumberMinor" type="xs:unsignedInt"/>
|
||||
<xs:element name="SchemaID" type="idType"/>
|
||||
<xs:element name="Priority" type="priorityType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="idType">
|
||||
<xs:restriction base="xs:unsignedByte"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="protocolNameType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="30"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="protocolNamespaceType">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:maxLength value="100"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="priorityType">
|
||||
<xs:restriction base="xs:unsignedByte">
|
||||
<xs:minInclusive value="1"/>
|
||||
<xs:maxInclusive value="20"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="responseCodeType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="OK_SuccessfulNegotiation"/>
|
||||
<xs:enumeration value="OK_SuccessfulNegotiationWithMinorDeviation"/>
|
||||
<xs:enumeration value="Failed_NoNegotiation"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,482 @@
|
|||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="urn:iso:15118:2:2010:MsgBody"
|
||||
xmlns="urn:iso:15118:2:2010:MsgBody"
|
||||
xmlns:v2gci_d="urn:iso:15118:2:2010:MsgDef"
|
||||
xmlns:v2gci_t="urn:iso:15118:2:2010:MsgDataTypes"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified">
|
||||
|
||||
<xs:import namespace="urn:iso:15118:2:2010:MsgDef" schemaLocation="V2G_CI_MsgDef.xsd"/>
|
||||
<xs:import namespace="urn:iso:15118:2:2010:MsgDataTypes" schemaLocation="V2G_CI_MsgDataTypes.xsd"/>
|
||||
<!-- ....................... -->
|
||||
<!-- Common Messages (AC/DC) -->
|
||||
<!-- ....................... -->
|
||||
<!-- -->
|
||||
<!-- Session Setup -->
|
||||
<!-- -->
|
||||
<xs:element name="SessionSetupReq" type="SessionSetupReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="SessionSetupReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="EVCCID" type="v2gci_t:evccIDType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="SessionSetupRes" type="SessionSetupResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="SessionSetupResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="EVSEID" type="v2gci_t:evseIDType"/>
|
||||
<xs:element name="DateTimeNow" type="xs:long" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Service Discovery -->
|
||||
<!-- -->
|
||||
<xs:element name="ServiceDiscoveryReq" type="ServiceDiscoveryReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ServiceDiscoveryReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ServiceScope" type="v2gci_t:serviceScopeType" minOccurs="0"/>
|
||||
<xs:element name="ServiceCategory" type="v2gci_t:serviceCategoryType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ServiceDiscoveryRes" type="ServiceDiscoveryResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ServiceDiscoveryResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="PaymentOptions" type="v2gci_t:PaymentOptionsType"/>
|
||||
<xs:element name="ChargeService" type="v2gci_t:ServiceChargeType"/>
|
||||
<xs:element name="ServiceList" type="v2gci_t:ServiceTagListType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Service Detail -->
|
||||
<!-- -->
|
||||
<xs:element name="ServiceDetailReq" type="ServiceDetailReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ServiceDetailReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ServiceID" type="v2gci_t:serviceIDType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ServiceDetailRes" type="ServiceDetailResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ServiceDetailResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="ServiceID" type="v2gci_t:serviceIDType"/>
|
||||
<xs:element name="ServiceParameterList" type="v2gci_t:ServiceParameterListType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Service Payment & Selection -->
|
||||
<!-- -->
|
||||
<xs:element name="ServicePaymentSelectionReq" type="ServicePaymentSelectionReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ServicePaymentSelectionReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="SelectedPaymentOption" type="v2gci_t:paymentOptionType"/>
|
||||
<xs:element name="SelectedServiceList" type="v2gci_t:SelectedServiceListType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ServicePaymentSelectionRes" type="ServicePaymentSelectionResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ServicePaymentSelectionResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Payment Details -->
|
||||
<!-- -->
|
||||
<xs:element name="PaymentDetailsReq" type="PaymentDetailsReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="PaymentDetailsReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ContractID" type="v2gci_t:contractIDType"/>
|
||||
<xs:element name="ContractSignatureCertChain" type="v2gci_t:CertificateChainType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="PaymentDetailsRes" type="PaymentDetailsResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="PaymentDetailsResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="GenChallenge" type="v2gci_t:genChallengeType"/>
|
||||
<xs:element name="DateTimeNow" type="xs:long"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Contract Authentification -->
|
||||
<!-- -->
|
||||
<xs:element name="ContractAuthenticationReq" type="ContractAuthenticationReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ContractAuthenticationReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="GenChallenge" type="v2gci_t:genChallengeType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="xs:IDREF" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ContractAuthenticationRes" type="ContractAuthenticationResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ContractAuthenticationResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="EVSEProcessing" type="v2gci_t:EVSEProcessingType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Charge Parameter Discovery -->
|
||||
<!-- -->
|
||||
<xs:element name="ChargeParameterDiscoveryReq" type="ChargeParameterDiscoveryReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ChargeParameterDiscoveryReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="EVRequestedEnergyTransferType" type="v2gci_t:EVRequestedEnergyTransferType"/>
|
||||
<xs:element ref="v2gci_t:EVChargeParameter"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ChargeParameterDiscoveryRes" type="ChargeParameterDiscoveryResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ChargeParameterDiscoveryResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element ref="v2gci_t:SASchedules"/>
|
||||
<xs:element ref="v2gci_t:EVSEChargeParameter"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Power Delivery -->
|
||||
<!-- -->
|
||||
<xs:element name="PowerDeliveryReq" type="PowerDeliveryReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="PowerDeliveryReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ReadyToChargeState" type="xs:boolean"/>
|
||||
<xs:element name="ChargingProfile" type="v2gci_t:ChargingProfileType" minOccurs="0"/>
|
||||
<xs:element ref="v2gci_t:EVPowerDeliveryParameter" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="PowerDeliveryRes" type="PowerDeliveryResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="PowerDeliveryResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element ref="v2gci_t:EVSEStatus"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Charging Status -->
|
||||
<!-- -->
|
||||
<xs:element name="ChargingStatusReq" type="ChargingStatusReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<!-- <xs:element name="MeteringStatusReq" type="MeteringStatusReqType" substitutionGroup="v2gci_d:BodyElement"/> -->
|
||||
<xs:complexType name="ChargingStatusReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ChargingStatusRes" type="ChargingStatusResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="ChargingStatusResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="EVSEID" type="v2gci_t:evseIDType"/>
|
||||
<xs:element name="SAScheduleTupleID" type="v2gci_t:SAIDType"/>
|
||||
<xs:element name="EVSEMaxCurrent" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="MeterInfo" type="v2gci_t:MeterInfoType" minOccurs="0"/>
|
||||
<xs:element name="ReceiptRequired" type="xs:boolean"/>
|
||||
<xs:element name="AC_EVSEStatus" type="v2gci_t:AC_EVSEStatusType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Metering Receipt -->
|
||||
<!-- -->
|
||||
<xs:element name="MeteringReceiptReq" type="MeteringReceiptReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="MeteringReceiptReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="SessionID" type="v2gci_t:sessionIDType"/>
|
||||
<xs:element name="SAScheduleTupleID" type="v2gci_t:SAIDType" minOccurs="0"/>
|
||||
<xs:element name="MeterInfo" type="v2gci_t:MeterInfoType"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="xs:IDREF"/>
|
||||
</xs:extension>
|
||||
<!-- only needed if receipt is required -->
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="MeteringReceiptRes" type="MeteringReceiptResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="MeteringReceiptResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="AC_EVSEStatus" type="v2gci_t:AC_EVSEStatusType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- SessionStop -->
|
||||
<!-- -->
|
||||
<xs:element name="SessionStopReq" type="SessionStopType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="SessionStopType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="SessionStopRes" type="SessionStopResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="SessionStopResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Certificate Update -->
|
||||
<!-- -->
|
||||
<xs:element name="CertificateUpdateReq" type="CertificateUpdateReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="CertificateUpdateReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ContractSignatureCertChain" type="v2gci_t:CertificateChainType"/>
|
||||
<xs:element name="ContractID" type="v2gci_t:contractIDType"/>
|
||||
<xs:element name="ListOfRootCertificateIDs" type="v2gci_t:ListOfRootCertificateIDsType"/>
|
||||
<xs:element name="DHParams" type="v2gci_t:dHParamsType"/>
|
||||
<!-- new -->
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="xs:IDREF"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="CertificateUpdateRes" type="CertificateUpdateResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="CertificateUpdateResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="ContractSignatureCertChain" type="v2gci_t:CertificateChainType"/>
|
||||
<xs:element name="ContractSignatureEncryptedPrivateKey" type="v2gci_t:privateKeyType"/>
|
||||
<xs:element name="DHParams" type="v2gci_t:dHParamsType"/>
|
||||
<xs:element name="ContractID" type="v2gci_t:contractIDType"/>
|
||||
<xs:element name="RetryCounter" type="xs:short"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="xs:IDREF" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Certificate Installation -->
|
||||
<!-- -->
|
||||
<xs:element name="CertificateInstallationReq" type="CertificateInstallationReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="CertificateInstallationReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="OEMProvisioningCert" type="v2gci_t:certificateType"/>
|
||||
<xs:element name="ListOfRootCertificateIDs" type="v2gci_t:ListOfRootCertificateIDsType"/>
|
||||
<xs:element name="DHParams" type="v2gci_t:dHParamsType"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="xs:IDREF"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="CertificateInstallationRes" type="CertificateInstallationResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="CertificateInstallationResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="ContractSignatureCertChain" type="v2gci_t:CertificateChainType"/>
|
||||
<xs:element name="ContractSignatureEncryptedPrivateKey" type="v2gci_t:privateKeyType"/>
|
||||
<xs:element name="DHParams" type="v2gci_t:dHParamsType"/>
|
||||
<xs:element name="ContractID" type="v2gci_t:contractIDType"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="xs:IDREF" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ....................... -->
|
||||
<!-- DC-Messages -->
|
||||
<!-- ....................... -->
|
||||
<!-- -->
|
||||
<!-- Cable Check -->
|
||||
<!-- -->
|
||||
<xs:element name="CableCheckReq" type="CableCheckReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="CableCheckReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="DC_EVStatus" type="v2gci_t:DC_EVStatusType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="CableCheckRes" type="CableCheckResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="CableCheckResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="DC_EVSEStatus" type="v2gci_t:DC_EVSEStatusType"/>
|
||||
<xs:element name="EVSEProcessing" type="v2gci_t:EVSEProcessingType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Pre-Charge -->
|
||||
<!-- -->
|
||||
<xs:element name="PreChargeReq" type="PreChargeReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="PreChargeReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="DC_EVStatus" type="v2gci_t:DC_EVStatusType"/>
|
||||
<xs:element name="EVTargetVoltage" type="v2gci_t:PhysicalValueType"/>
|
||||
<xs:element name="EVTargetCurrent" type="v2gci_t:PhysicalValueType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="PreChargeRes" type="PreChargeResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="PreChargeResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="DC_EVSEStatus" type="v2gci_t:DC_EVSEStatusType"/>
|
||||
<xs:element name="EVSEPresentVoltage" type="v2gci_t:PhysicalValueType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Current Demand -->
|
||||
<!-- -->
|
||||
<xs:element name="CurrentDemandReq" type="CurrentDemandReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="CurrentDemandReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="DC_EVStatus" type="v2gci_t:DC_EVStatusType"/>
|
||||
<xs:element name="EVTargetCurrent" type="v2gci_t:PhysicalValueType"/>
|
||||
<xs:element name="EVMaximumVoltageLimit" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVMaximumCurrentLimit" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVMaximumPowerLimit" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="BulkChargingComplete" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="ChargingComplete" type="xs:boolean"/>
|
||||
<xs:element name="RemainingTimeToFullSoC" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="RemainingTimeToBulkSoC" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVTargetVoltage" type="v2gci_t:PhysicalValueType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="CurrentDemandRes" type="CurrentDemandResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="CurrentDemandResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="DC_EVSEStatus" type="v2gci_t:DC_EVSEStatusType"/>
|
||||
<xs:element name="EVSEPresentVoltage" type="v2gci_t:PhysicalValueType"/>
|
||||
<xs:element name="EVSEPresentCurrent" type="v2gci_t:PhysicalValueType"/>
|
||||
<xs:element name="EVSECurrentLimitAchieved" type="xs:boolean"/>
|
||||
<xs:element name="EVSEVoltageLimitAchieved" type="xs:boolean"/>
|
||||
<xs:element name="EVSEPowerLimitAchieved" type="xs:boolean"/>
|
||||
<xs:element name="EVSEMaximumVoltageLimit" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVSEMaximumCurrentLimit" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVSEMaximumPowerLimit" type="v2gci_t:PhysicalValueType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Welding Detection -->
|
||||
<!-- -->
|
||||
<xs:element name="WeldingDetectionReq" type="WeldingDetectionReqType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="WeldingDetectionReqType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="DC_EVStatus" type="v2gci_t:DC_EVStatusType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="WeldingDetectionRes" type="WeldingDetectionResType" substitutionGroup="v2gci_d:BodyElement"/>
|
||||
<xs:complexType name="WeldingDetectionResType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="v2gci_d:BodyBaseType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ResponseCode" type="v2gci_t:responseCodeType"/>
|
||||
<xs:element name="DC_EVSEStatus" type="v2gci_t:DC_EVSEStatusType"/>
|
||||
<xs:element name="EVSEPresentVoltage" type="v2gci_t:PhysicalValueType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
|
|
@ -0,0 +1,696 @@
|
|||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="urn:iso:15118:2:2010:MsgDataTypes"
|
||||
xmlns="urn:iso:15118:2:2010:MsgDataTypes"
|
||||
xmlns:v2gci_b="urn:iso:15118:2:2010:MsgBody"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified">
|
||||
|
||||
<xs:import namespace="urn:iso:15118:2:2010:MsgBody" schemaLocation="V2G_CI_MsgBody.xsd"/>
|
||||
|
||||
<!-- =================== -->
|
||||
<!-- Complex types -->
|
||||
<!-- =================== -->
|
||||
<!-- -->
|
||||
<!-- service-related types -->
|
||||
<!-- -->
|
||||
<xs:complexType name="ServiceType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ServiceTag" type="ServiceTagType"/>
|
||||
<xs:element name="FreeService" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ServiceTagListType">
|
||||
<xs:sequence>
|
||||
<xs:element name="Service" type="ServiceType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ServiceTagType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ServiceID" type="serviceIDType"/>
|
||||
<xs:element name="ServiceName" type="serviceNameType" minOccurs="0"/>
|
||||
<xs:element name="ServiceCategory" type="serviceCategoryType"/>
|
||||
<xs:element name="ServiceScope" type="serviceScopeType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SelectedServiceListType">
|
||||
<xs:sequence>
|
||||
<xs:element name="SelectedService" type="SelectedServiceType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SelectedServiceType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ServiceID" type="serviceIDType"/>
|
||||
<xs:element name="ParameterSetID" type="xs:short" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ServiceParameterListType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ParameterSet" type="ParameterSetType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ParameterSetType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ParameterSetID" type="xs:short"/>
|
||||
<xs:element name="Parameter" type="ParameterType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ParameterType">
|
||||
<xs:choice>
|
||||
<xs:element name="boolValue" type="xs:boolean"/>
|
||||
<xs:element name="byteValue" type="xs:byte"/>
|
||||
<xs:element name="shortValue" type="xs:short"/>
|
||||
<xs:element name="intValue" type="xs:int"/>
|
||||
<xs:element name="physicalValue" type="PhysicalValueType"/>
|
||||
<xs:element name="stringValue" type="xs:string"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="ValueType" type="valueType" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="valueType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="bool"/>
|
||||
<xs:enumeration value="byte"/>
|
||||
<xs:enumeration value="short"/>
|
||||
<xs:enumeration value="int"/>
|
||||
<xs:enumeration value="physicalValue"/>
|
||||
<xs:enumeration value="string"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="ServiceCharge" type="ServiceChargeType"/>
|
||||
<xs:complexType name="ServiceChargeType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ServiceType">
|
||||
<xs:sequence>
|
||||
<xs:element name="EnergyTransferType" type="EVSESupportedEnergyTransferType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- security related types -->
|
||||
<!-- -->
|
||||
<xs:complexType name="CertificateChainType">
|
||||
<xs:sequence>
|
||||
<xs:element name="Certificate" type="certificateType"/>
|
||||
<xs:element name="SubCertificates" type="SubCertificatesType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SubCertificatesType">
|
||||
<xs:sequence>
|
||||
<xs:element name="Certificate" type="certificateType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ListOfRootCertificateIDsType">
|
||||
<xs:sequence>
|
||||
<xs:element name="RootCertificateID" type="rootCertificateIDType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- metering related types -->
|
||||
<!-- -->
|
||||
<xs:complexType name="MeterInfoType">
|
||||
<xs:sequence>
|
||||
<xs:element name="MeterID" type="meterIDType"/>
|
||||
<xs:element name="MeterReading" type="PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="SigMeterReading" type="sigMeterReadingType" minOccurs="0"/>
|
||||
<xs:element name="MeterStatus" type="meterStatusType" minOccurs="0"/>
|
||||
<xs:element name="TMeter" type="xs:long" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="meterStatusType">
|
||||
<xs:restriction base="xs:short"/>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- Physical value type -->
|
||||
<!-- -->
|
||||
<xs:complexType name="PhysicalValueType">
|
||||
<xs:sequence>
|
||||
<xs:element name="Multiplier" type="unitMultiplierType"/>
|
||||
<xs:element name="Unit" type="unitSymbolType" minOccurs="0"/>
|
||||
<xs:element name="Value" type="xs:short"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- header related types -->
|
||||
<!-- -->
|
||||
<xs:complexType name="NotificationType">
|
||||
<xs:sequence>
|
||||
<xs:element name="FaultCode" type="faultCodeType"/>
|
||||
<xs:element name="FaultMsg" type="faultMsgType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- Tariff related types -->
|
||||
<!-- -->
|
||||
<xs:complexType name="SASchedulesType" abstract="true"/>
|
||||
<xs:element name="SASchedules" type="SASchedulesType"/>
|
||||
<xs:element name="SAScheduleList" type="SAScheduleListType" substitutionGroup="SASchedules"/>
|
||||
<xs:complexType name="SAScheduleListType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SASchedulesType">
|
||||
<xs:sequence>
|
||||
<xs:element name="SAScheduleTuple" type="SAScheduleTupleType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SAScheduleTupleType">
|
||||
<xs:sequence>
|
||||
<xs:element name="SAScheduleTupleID" type="SAIDType"/>
|
||||
<xs:element name="PMaxSchedule" type="PMaxScheduleType"/>
|
||||
<xs:element name="SalesTariff" type="SalesTariffType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SalesTariffType">
|
||||
<xs:sequence>
|
||||
<xs:element name="SalesTariffID" type="SAIDType"/>
|
||||
<xs:element name="SalesTariffDescription" type="tariffDescriptionType" minOccurs="0"/>
|
||||
<xs:element name="NumEPriceLevels" type="xs:unsignedByte"/>
|
||||
<xs:element ref="SalesTariffEntry" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="xs:IDREF" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PMaxScheduleType">
|
||||
<xs:sequence>
|
||||
<xs:element name="PMaxScheduleID" type="SAIDType"/>
|
||||
<xs:element ref="PMaxScheduleEntry" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Entry" type="EntryType"/>
|
||||
<xs:complexType name="EntryType" abstract="true">
|
||||
<xs:sequence>
|
||||
<xs:element ref="TimeInterval"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="SalesTariffEntry" type="SalesTariffEntryType" substitutionGroup="Entry"/>
|
||||
<xs:complexType name="SalesTariffEntryType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EntryType">
|
||||
<xs:sequence>
|
||||
<xs:element name="EPriceLevel" type="xs:unsignedByte"/>
|
||||
<xs:element name="ConsumptionCost" type="ConsumptionCostType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="PMaxScheduleEntry" type="PMaxScheduleEntryType" substitutionGroup="Entry"/>
|
||||
<xs:complexType name="PMaxScheduleEntryType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EntryType">
|
||||
<xs:sequence>
|
||||
<xs:element name="PMax" type="PMaxType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="IntervalType" abstract="true"/>
|
||||
<xs:element name="TimeInterval" type="IntervalType"/>
|
||||
<xs:element name="RelativeTimeInterval" type="RelativeTimeIntervalType" substitutionGroup="TimeInterval"/>
|
||||
<xs:complexType name="RelativeTimeIntervalType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="IntervalType">
|
||||
<xs:sequence>
|
||||
<xs:element name="start" type="xs:unsignedInt"/>
|
||||
<xs:element name="duration" type="xs:unsignedInt" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ConsumptionCostType">
|
||||
<xs:sequence>
|
||||
<xs:element name="startValue" type="xs:unsignedInt"/>
|
||||
<xs:element name="Cost" type="CostType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CostType">
|
||||
<xs:sequence>
|
||||
<xs:element name="costKind" type="costKindType"/>
|
||||
<xs:element name="amount" type="xs:unsignedInt"/>
|
||||
<xs:element name="amountMultiplier" type="unitMultiplierType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- EV/EVSE related types -->
|
||||
<!-- -->
|
||||
<xs:complexType name="EVSEStatusType" abstract="true"/>
|
||||
<xs:element name="EVSEStatus" type="EVSEStatusType"/>
|
||||
<xs:element name="AC_EVSEStatus" type="AC_EVSEStatusType" substitutionGroup="EVSEStatus"/>
|
||||
<xs:complexType name="AC_EVSEStatusType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EVSEStatusType">
|
||||
<xs:sequence>
|
||||
<xs:element name="PowerSwitchClosed" type="xs:boolean"/>
|
||||
<xs:element name="RCD" type="xs:boolean"/>
|
||||
<xs:element name="NotificationMaxDelay" type="xs:unsignedInt"/>
|
||||
<xs:element name="EVSENotification" type="EVSENotificationType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="EVStatusType" abstract="true"/>
|
||||
<xs:element name="EVStatus" type="EVStatusType"/>
|
||||
<xs:element name="DC_EVSEStatus" type="DC_EVSEStatusType" substitutionGroup="EVSEStatus"/>
|
||||
<xs:complexType name="DC_EVSEStatusType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EVSEStatusType">
|
||||
<xs:sequence>
|
||||
<xs:element name="EVSEIsolationStatus" type="isolationLevelType" minOccurs="0"/>
|
||||
<xs:element name="EVSEStatusCode" type="DC_EVSEStatusCodeType"/>
|
||||
<xs:element name="NotificationMaxDelay" type="xs:unsignedInt"/>
|
||||
<xs:element name="EVSENotification" type="EVSENotificationType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="DC_EVStatus" type="DC_EVStatusType" substitutionGroup="EVStatus"/>
|
||||
<xs:complexType name="DC_EVStatusType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EVStatusType">
|
||||
<xs:sequence>
|
||||
<xs:element name="EVReady" type="xs:boolean"/>
|
||||
<xs:element name="EVCabinConditioning" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="EVRESSConditioning" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="EVErrorCode" type="DC_EVErrorCodeType"/>
|
||||
<xs:element name="EVRESSSOC" type="percentValueType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- EVSE/EV Charge Parameter related types -->
|
||||
<!-- -->
|
||||
<xs:complexType name="EVChargeParameterType" abstract="true"/>
|
||||
<xs:element name="EVChargeParameter" type="EVChargeParameterType"/>
|
||||
<xs:element name="AC_EVChargeParameter" type="AC_EVChargeParameterType" substitutionGroup="EVChargeParameter"/>
|
||||
<xs:complexType name="AC_EVChargeParameterType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EVChargeParameterType">
|
||||
<xs:sequence>
|
||||
<xs:element name="DepartureTime" type="xs:unsignedInt"/>
|
||||
<xs:element name="EAmount" type="PhysicalValueType"/>
|
||||
<xs:element name="EVMaxVoltage" type="PhysicalValueType"/>
|
||||
<xs:element name="EVMaxCurrent" type="PhysicalValueType"/>
|
||||
<xs:element name="EVMinCurrent" type="PhysicalValueType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="DC_EVChargeParameter" type="DC_EVChargeParameterType" substitutionGroup="EVChargeParameter"/>
|
||||
<xs:complexType name="DC_EVChargeParameterType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EVChargeParameterType">
|
||||
<xs:sequence>
|
||||
<xs:element name="DC_EVStatus" type="DC_EVStatusType"/>
|
||||
<xs:element name="EVMaximumCurrentLimit" type="PhysicalValueType"/>
|
||||
<xs:element name="EVMaximumPowerLimit" type="PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVMaximumVoltageLimit" type="PhysicalValueType"/>
|
||||
<xs:element name="EVEnergyCapacity" type="PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVEnergyRequest" type="PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="FullSOC" type="percentValueType" minOccurs="0"/>
|
||||
<xs:element name="BulkSOC" type="percentValueType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="EVSEChargeParameterType" abstract="true"/>
|
||||
<xs:element name="EVSEChargeParameter" type="EVSEChargeParameterType"/>
|
||||
<xs:element name="AC_EVSEChargeParameter" type="AC_EVSEChargeParameterType" substitutionGroup="EVSEChargeParameter"/>
|
||||
<xs:complexType name="AC_EVSEChargeParameterType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EVSEChargeParameterType">
|
||||
<xs:sequence>
|
||||
<xs:element name="AC_EVSEStatus" type="AC_EVSEStatusType"/>
|
||||
<xs:element name="EVSEMaxVoltage" type="PhysicalValueType"/>
|
||||
<xs:element name="EVSEMaxCurrent" type="PhysicalValueType"/>
|
||||
<xs:element name="EVSEMinCurrent" type="PhysicalValueType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="DC_EVSEChargeParameter" type="DC_EVSEChargeParameterType" substitutionGroup="EVSEChargeParameter"/>
|
||||
<xs:complexType name="DC_EVSEChargeParameterType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EVSEChargeParameterType">
|
||||
<xs:sequence>
|
||||
<xs:element name="DC_EVSEStatus" type="DC_EVSEStatusType"/>
|
||||
<xs:element name="EVSEMaximumCurrentLimit" type="PhysicalValueType"/>
|
||||
<xs:element name="EVSEMaximumPowerLimit" type="PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVSEMaximumVoltageLimit" type="PhysicalValueType"/>
|
||||
<xs:element name="EVSEMinimumCurrentLimit" type="PhysicalValueType"/>
|
||||
<xs:element name="EVSEMinimumVoltageLimit" type="PhysicalValueType"/>
|
||||
<xs:element name="EVSECurrentRegulationTolerance" type="PhysicalValueType" minOccurs="0"/>
|
||||
<xs:element name="EVSEPeakCurrentRipple" type="PhysicalValueType"/>
|
||||
<xs:element name="EVSEEnergyToBeDelivered" type="PhysicalValueType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- EV Power Delivery related types -->
|
||||
<!-- -->
|
||||
<xs:complexType name="EVPowerDeliveryParameterType" abstract="true"/>
|
||||
<xs:element name="EVPowerDeliveryParameter" type="EVPowerDeliveryParameterType"/>
|
||||
<xs:element name="DC_EVPowerDeliveryParameter" type="DC_EVPowerDeliveryParameterType" substitutionGroup="EVPowerDeliveryParameter"/>
|
||||
<xs:complexType name="DC_EVPowerDeliveryParameterType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="EVPowerDeliveryParameterType">
|
||||
<xs:sequence>
|
||||
<xs:element name="DC_EVStatus" type="DC_EVStatusType"/>
|
||||
<xs:element name="BulkChargingComplete" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="ChargingComplete" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- -->
|
||||
<!-- ChargingProfileType -->
|
||||
<!-- -->
|
||||
<xs:complexType name="ChargingProfileType">
|
||||
<xs:sequence>
|
||||
<xs:element name="SAScheduleTupleID" type="SAIDType"/>
|
||||
<xs:element name="ProfileEntry" type="ProfileEntryType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ProfileEntryType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ChargingProfileEntryStart" type="xs:unsignedInt"/>
|
||||
<xs:element name="ChargingProfileEntryMaxPower" type="PMaxType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<!-- =================== -->
|
||||
<!-- Simple types -->
|
||||
<!-- =================== -->
|
||||
<!-- -->
|
||||
<!-- General Types -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="PMaxType">
|
||||
<xs:restriction base="xs:short"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="percentValueType">
|
||||
<xs:restriction base="xs:byte">
|
||||
<xs:minInclusive value="0"/>
|
||||
<xs:maxInclusive value="100"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="faultMsgType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="64"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="EVSEProcessingType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Finished"/>
|
||||
<xs:enumeration value="Ongoing"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="EVSENotificationType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="None"/>
|
||||
<xs:enumeration value="StopCharging"/>
|
||||
<xs:enumeration value="ReNegotiation"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- service related types -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="serviceNameType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="32"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="serviceCategoryType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="EVCharging"/>
|
||||
<xs:enumeration value="Internet"/>
|
||||
<xs:enumeration value="ContractCertificate"/>
|
||||
<xs:enumeration value="OtherCustom"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="serviceScopeType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="32"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- EnergyTransferType -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="EVSESupportedEnergyTransferType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AC_single_phase_core"/>
|
||||
<xs:enumeration value="AC_three_phase_core"/>
|
||||
<xs:enumeration value="DC_core"/>
|
||||
<xs:enumeration value="DC_extended"/>
|
||||
<xs:enumeration value="DC_combo_core"/>
|
||||
<xs:enumeration value="DC_dual"/>
|
||||
<xs:enumeration value="AC_core1p_DC_extended"/>
|
||||
<xs:enumeration value="AC_single_DC_core"/>
|
||||
<xs:enumeration value="AC_single_phase_three_phase_core_DC_extended"/>
|
||||
<xs:enumeration value="AC_core3p_DC_extended"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="EVRequestedEnergyTransferType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AC_single_phase_core"/>
|
||||
<xs:enumeration value="AC_three_phase_core"/>
|
||||
<xs:enumeration value="DC_core"/>
|
||||
<xs:enumeration value="DC_extended"/>
|
||||
<xs:enumeration value="DC_combo_core"/>
|
||||
<xs:enumeration value="DC_unique"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- security types -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="genChallengeType">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="certificateType">
|
||||
<xs:restriction base="xs:base64Binary">
|
||||
<xs:maxLength value="1200"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="rootCertificateIDType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="40"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="dHParamsType">
|
||||
<xs:restriction base="xs:base64Binary">
|
||||
<xs:maxLength value="256"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="privateKeyType">
|
||||
<xs:restriction base="xs:base64Binary">
|
||||
<xs:maxLength value="128"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="sigMeterReadingType">
|
||||
<xs:restriction base="xs:base64Binary">
|
||||
<xs:maxLength value="32"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- Identification Numbers -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="sessionIDType">
|
||||
<xs:restriction base="xs:hexBinary">
|
||||
<xs:length value="8"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="evccIDType">
|
||||
<xs:restriction base="xs:hexBinary">
|
||||
<xs:maxLength value="8"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="evseIDType">
|
||||
<xs:restriction base="xs:hexBinary">
|
||||
<xs:maxLength value="32"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="serviceIDType">
|
||||
<xs:restriction base="xs:unsignedShort"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="contractIDType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="24"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="meterIDType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="32"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- Tariffs and payment -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="SAIDType">
|
||||
<xs:restriction base="xs:short"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="tariffDescriptionType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="32"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="costKindType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="relativePricePercentage"/>
|
||||
<xs:enumeration value="RenewableGenerationPercentage"/>
|
||||
<xs:enumeration value="CarbonDioxideEmission"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PaymentOptionsType">
|
||||
<xs:sequence>
|
||||
<xs:element name="PaymentOption" type="paymentOptionType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="paymentOptionType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Contract"/>
|
||||
<xs:enumeration value="ExternalPayment"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- Fault and Response Codes -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="faultCodeType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ParsingError"/>
|
||||
<xs:enumeration value="NoTLSRootCertificatAvailable"/>
|
||||
<xs:enumeration value="UnknownError"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="responseCodeType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="OK"/>
|
||||
<xs:enumeration value="OK_NewSessionEstablished"/>
|
||||
<xs:enumeration value="OK_OldSessionJoined"/>
|
||||
<xs:enumeration value="OK_CertificateExpiresSoon"/>
|
||||
<xs:enumeration value="FAILED"/>
|
||||
<xs:enumeration value="FAILED_SequenceError"/>
|
||||
<xs:enumeration value="FAILED_ServiceIDInvalid"/>
|
||||
<xs:enumeration value="FAILED_UnknownSession"/>
|
||||
<xs:enumeration value="FAILED_ServiceSelectionInvalid"/>
|
||||
<xs:enumeration value="FAILED_PaymentSelectionInvalid"/>
|
||||
<xs:enumeration value="FAILED_CertificateExpired"/>
|
||||
<xs:enumeration value="FAILED_SignatureError"/>
|
||||
<xs:enumeration value="FAILED_NoCertificateAvailable"/>
|
||||
<xs:enumeration value="FAILED_CertChainError"/>
|
||||
<xs:enumeration value="FAILED_ChallengeInvalid"/>
|
||||
<xs:enumeration value="FAILED_ContractCanceled"/>
|
||||
<xs:enumeration value="FAILED_WrongChargeParameter"/>
|
||||
<xs:enumeration value="FAILED_PowerDeliveryNotApplied"/>
|
||||
<xs:enumeration value="FAILED_TariffSelectionInvalid"/>
|
||||
<xs:enumeration value="FAILED_ChargingProfileInvalid"/>
|
||||
<xs:enumeration value="FAILED_EVSEPresentVoltageToLow"/>
|
||||
<xs:enumeration value="FAILED_MeteringSignatureNotValid"/>
|
||||
<xs:enumeration value="FAILED_WrongEnergyTransferType"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- Multiplier and Unit Types -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="unitMultiplierType">
|
||||
<xs:restriction base="xs:byte">
|
||||
<xs:minInclusive value="-3"/>
|
||||
<xs:maxInclusive value="3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="unitSymbolType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="h">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Time in hours</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="m">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Time in minutes</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="s">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Time in seconds</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="A">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Current in Ampere</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Ah">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Ampere hour</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="V">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Voltage in Volt</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="VA">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Apparent power in Volt Ampere</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="W">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Active power in Watt</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="W/s">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Watt per second</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Wh">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Real energy in Watt hours</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- -->
|
||||
<!-- only DC related -->
|
||||
<!-- -->
|
||||
<xs:simpleType name="DC_EVSEStatusCodeType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="EVSE_NotReady"/>
|
||||
<xs:enumeration value="EVSE_Ready"/>
|
||||
<xs:enumeration value="EVSE_Shutdown"/>
|
||||
<xs:enumeration value="EVSE_UtilityInterruptEvent"/>
|
||||
<xs:enumeration value="EVSE_Precharge"/>
|
||||
<xs:enumeration value="EVSE_IsolationMonitoringActive"/>
|
||||
<xs:enumeration value="EVSE_EmergencyShutdown"/>
|
||||
<xs:enumeration value="EVSE_Malfunction"/>
|
||||
<xs:enumeration value="Reserved_8"/>
|
||||
<xs:enumeration value="Reserved_9"/>
|
||||
<xs:enumeration value="Reserved_A"/>
|
||||
<xs:enumeration value="Reserved_B"/>
|
||||
<xs:enumeration value="Reserved_C"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="isolationLevelType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Invalid"/>
|
||||
<xs:enumeration value="Safe"/>
|
||||
<xs:enumeration value="Warning"/>
|
||||
<xs:enumeration value="Fault"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DC_EVErrorCodeType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NO_ERROR"/>
|
||||
<xs:enumeration value="FAILED_RESSTemperatureInhibit"/>
|
||||
<xs:enumeration value="FAILED_EVShiftPosition"/>
|
||||
<xs:enumeration value="FAILED_ChargerConnectorLockFault"/>
|
||||
<xs:enumeration value="FAILED_EVRESSMalfunction"/>
|
||||
<xs:enumeration value="FAILED_ChargingCurrentdifferential"/>
|
||||
<xs:enumeration value="FAILED_ChargingVoltageOutOfRange"/>
|
||||
<xs:enumeration value="Reserved_A"/>
|
||||
<xs:enumeration value="Reserved_B"/>
|
||||
<xs:enumeration value="Reserved_C"/>
|
||||
<xs:enumeration value="FAILED_ChargingSystemIncompatibility"/>
|
||||
<xs:enumeration value="NoData"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
Binary file not shown.
|
@ -0,0 +1,28 @@
|
|||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="urn:iso:15118:2:2010:MsgDef"
|
||||
xmlns="urn:iso:15118:2:2010:MsgDef"
|
||||
xmlns:v2gci_h="urn:iso:15118:2:2010:MsgHeader"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified">
|
||||
|
||||
<xs:import namespace="urn:iso:15118:2:2010:MsgHeader" schemaLocation="V2G_CI_MsgHeader.xsd"/>
|
||||
|
||||
<!-- Message Structure -->
|
||||
<xs:element name="V2G_Message">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Header" type="v2gci_h:MessageHeaderType"/>
|
||||
<xs:element name="Body" type="BodyType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- Body -->
|
||||
<xs:complexType name="BodyType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="BodyElement" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="BodyElement" type="BodyBaseType"/>
|
||||
<xs:complexType name="BodyBaseType" abstract="true"/>
|
||||
</xs:schema>
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="urn:iso:15118:2:2010:MsgHeader"
|
||||
xmlns="urn:iso:15118:2:2010:MsgHeader"
|
||||
xmlns:v2gci_d="urn:iso:15118:2:2010:MsgDef"
|
||||
xmlns:v2gci_t="urn:iso:15118:2:2010:MsgDataTypes"
|
||||
xmlns:xmlsig="http://www.w3.org/2000/09/xmldsig#"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified">
|
||||
|
||||
<xs:import namespace="urn:iso:15118:2:2010:MsgDef" schemaLocation="V2G_CI_MsgDef.xsd"/>
|
||||
<xs:import namespace="urn:iso:15118:2:2010:MsgDataTypes" schemaLocation="V2G_CI_MsgDataTypes.xsd"/>
|
||||
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
|
||||
|
||||
<!-- Message Header -->
|
||||
<xs:complexType name="MessageHeaderType">
|
||||
<xs:sequence>
|
||||
<xs:element name="SessionID" type="v2gci_t:sessionIDType"/>
|
||||
<xs:element name="Notification" type="v2gci_t:NotificationType" minOccurs="0"/>
|
||||
<xs:element ref="xmlsig:Signature" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<!-- This XML document originates from the ISO/IEC 15118-2 standard which can be obtained from ISO at http://www.iso.org/iso/catalogue_detail.htm?csnumber=55366 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="urn:iso:15118:2:2013:MsgDef" xmlns:v2gci_h="urn:iso:15118:2:2013:MsgHeader"
|
||||
xmlns:v2gci_b="urn:iso:15118:2:2013:MsgBody" targetNamespace="urn:iso:15118:2:2013:MsgDef"
|
||||
elementFormDefault="qualified" attributeFormDefault="qualified" version="15118 2.0">
|
||||
<!-- attributeFormDefault="unqualified" -->
|
||||
<xs:import namespace="urn:iso:15118:2:2013:MsgHeader" schemaLocation="V2G_CI_MsgHeader.xsd"/>
|
||||
<xs:import namespace="urn:iso:15118:2:2013:MsgBody" schemaLocation="V2G_CI_MsgBody.xsd"/>
|
||||
<!-- Message Structure -->
|
||||
<xs:element name="V2G_Message">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Header" type="v2gci_h:MessageHeaderType"/>
|
||||
<xs:element name="Body" type="v2gci_b:BodyType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
|
@ -0,0 +1,240 @@
|
|||
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified">
|
||||
<!-- Basic Types Defined for Signatures -->
|
||||
<simpleType name="CryptoBinary">
|
||||
<restriction base="base64Binary"></restriction>
|
||||
</simpleType>
|
||||
<!-- Start Signature -->
|
||||
<element name="Signature" type="ds:SignatureType"/>
|
||||
<complexType name="SignatureType">
|
||||
<sequence>
|
||||
<element ref="ds:SignedInfo"/>
|
||||
<element ref="ds:SignatureValue"/>
|
||||
<element ref="ds:KeyInfo" minOccurs="0"/>
|
||||
<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
</complexType>
|
||||
<element name="SignatureValue" type="ds:SignatureValueType"/>
|
||||
<complexType name="SignatureValueType">
|
||||
<simpleContent>
|
||||
<extension base="base64Binary">
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
<!-- Start SignedInfo -->
|
||||
<element name="SignedInfo" type="ds:SignedInfoType"/>
|
||||
<complexType name="SignedInfoType">
|
||||
<sequence>
|
||||
<element ref="ds:CanonicalizationMethod"/>
|
||||
<element ref="ds:SignatureMethod"/>
|
||||
<element ref="ds:Reference" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
</complexType>
|
||||
<element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
|
||||
<complexType name="CanonicalizationMethodType" mixed="true">
|
||||
<sequence>
|
||||
<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<!-- (0,unbounded) elements from (1,1) namespace -->
|
||||
</sequence>
|
||||
<attribute name="Algorithm" type="anyURI" use="required"/>
|
||||
</complexType>
|
||||
<element name="SignatureMethod" type="ds:SignatureMethodType"/>
|
||||
<complexType name="SignatureMethodType" mixed="true">
|
||||
<sequence>
|
||||
<element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
|
||||
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<!--
|
||||
(0,unbounded) elements from (1,1) external namespace
|
||||
-->
|
||||
</sequence>
|
||||
<attribute name="Algorithm" type="anyURI" use="required"/>
|
||||
</complexType>
|
||||
<!-- Start Reference -->
|
||||
<element name="Reference" type="ds:ReferenceType"/>
|
||||
<complexType name="ReferenceType">
|
||||
<sequence>
|
||||
<element ref="ds:Transforms" minOccurs="0"/>
|
||||
<element ref="ds:DigestMethod"/>
|
||||
<element ref="ds:DigestValue"/>
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
<attribute name="URI" type="anyURI" use="optional"/>
|
||||
<attribute name="Type" type="anyURI" use="optional"/>
|
||||
</complexType>
|
||||
<element name="Transforms" type="ds:TransformsType"/>
|
||||
<complexType name="TransformsType">
|
||||
<sequence>
|
||||
<element ref="ds:Transform" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<element name="Transform" type="ds:TransformType"/>
|
||||
<complexType name="TransformType" mixed="true">
|
||||
<choice minOccurs="0" maxOccurs="unbounded">
|
||||
<any namespace="##other" processContents="lax"/>
|
||||
<!-- (1,1) elements from (0,unbounded) namespaces -->
|
||||
<element name="XPath" type="string"/>
|
||||
</choice>
|
||||
<attribute name="Algorithm" type="anyURI" use="required"/>
|
||||
</complexType>
|
||||
<!-- End Reference -->
|
||||
<element name="DigestMethod" type="ds:DigestMethodType"/>
|
||||
<complexType name="DigestMethodType" mixed="true">
|
||||
<sequence>
|
||||
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
<attribute name="Algorithm" type="anyURI" use="required"/>
|
||||
</complexType>
|
||||
<element name="DigestValue" type="ds:DigestValueType"/>
|
||||
<simpleType name="DigestValueType">
|
||||
<restriction base="base64Binary"/>
|
||||
</simpleType>
|
||||
<!-- End SignedInfo -->
|
||||
<!-- Start KeyInfo -->
|
||||
<element name="KeyInfo" type="ds:KeyInfoType"/>
|
||||
<complexType name="KeyInfoType" mixed="true">
|
||||
<choice maxOccurs="unbounded">
|
||||
<element ref="ds:KeyName"/>
|
||||
<element ref="ds:KeyValue"/>
|
||||
<element ref="ds:RetrievalMethod"/>
|
||||
<element ref="ds:X509Data"/>
|
||||
<element ref="ds:PGPData"/>
|
||||
<element ref="ds:SPKIData"/>
|
||||
<element ref="ds:MgmtData"/>
|
||||
<any processContents="lax" namespace="##other"/>
|
||||
<!-- (1,1) elements from (0,unbounded) namespaces -->
|
||||
</choice>
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
</complexType>
|
||||
<element name="KeyName" type="string"/>
|
||||
<element name="MgmtData" type="string"/>
|
||||
<element name="KeyValue" type="ds:KeyValueType"/>
|
||||
<complexType name="KeyValueType" mixed="true">
|
||||
<choice>
|
||||
<element ref="ds:DSAKeyValue"/>
|
||||
<element ref="ds:RSAKeyValue"/>
|
||||
<any namespace="##other" processContents="lax"/>
|
||||
</choice>
|
||||
</complexType>
|
||||
<element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
|
||||
<complexType name="RetrievalMethodType">
|
||||
<sequence>
|
||||
<element ref="ds:Transforms" minOccurs="0"/>
|
||||
</sequence>
|
||||
<attribute name="URI" type="anyURI"/>
|
||||
<attribute name="Type" type="anyURI" use="optional"/>
|
||||
</complexType>
|
||||
<!-- Start X509Data -->
|
||||
<element name="X509Data" type="ds:X509DataType"/>
|
||||
<complexType name="X509DataType">
|
||||
<sequence maxOccurs="unbounded">
|
||||
<choice>
|
||||
<element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
|
||||
<element name="X509SKI" type="base64Binary"/>
|
||||
<element name="X509SubjectName" type="string"/>
|
||||
<element name="X509Certificate" type="base64Binary"/>
|
||||
<element name="X509CRL" type="base64Binary"/>
|
||||
<any namespace="##other" processContents="lax"/>
|
||||
</choice>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<complexType name="X509IssuerSerialType">
|
||||
<sequence>
|
||||
<element name="X509IssuerName" type="string"/>
|
||||
<element name="X509SerialNumber" type="integer"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<!-- End X509Data -->
|
||||
<!-- Begin PGPData -->
|
||||
<element name="PGPData" type="ds:PGPDataType"/>
|
||||
<complexType name="PGPDataType">
|
||||
<choice>
|
||||
<sequence>
|
||||
<element name="PGPKeyID" type="base64Binary"/>
|
||||
<element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
|
||||
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
<sequence>
|
||||
<element name="PGPKeyPacket" type="base64Binary"/>
|
||||
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
</choice>
|
||||
</complexType>
|
||||
<!-- End PGPData -->
|
||||
<!-- Begin SPKIData -->
|
||||
<element name="SPKIData" type="ds:SPKIDataType"/>
|
||||
<complexType name="SPKIDataType">
|
||||
<sequence maxOccurs="unbounded">
|
||||
<element name="SPKISexp" type="base64Binary"/>
|
||||
<any namespace="##other" processContents="lax" minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<!-- End SPKIData -->
|
||||
<!-- End KeyInfo -->
|
||||
<!-- Start Object (Manifest, SignatureProperty) -->
|
||||
<element name="Object" type="ds:ObjectType"/>
|
||||
<complexType name="ObjectType" mixed="true">
|
||||
<sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<any namespace="##any" processContents="lax"/>
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
<attribute name="MimeType" type="string" use="optional"/>
|
||||
<!-- add a grep facet -->
|
||||
<attribute name="Encoding" type="anyURI" use="optional"/>
|
||||
</complexType>
|
||||
<element name="Manifest" type="ds:ManifestType"/>
|
||||
<complexType name="ManifestType">
|
||||
<sequence>
|
||||
<element ref="ds:Reference" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
</complexType>
|
||||
<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
|
||||
<complexType name="SignaturePropertiesType">
|
||||
<sequence>
|
||||
<element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
</complexType>
|
||||
<element name="SignatureProperty" type="ds:SignaturePropertyType"/>
|
||||
<complexType name="SignaturePropertyType" mixed="true">
|
||||
<choice maxOccurs="unbounded">
|
||||
<any namespace="##other" processContents="lax"/>
|
||||
<!-- (1,1) elements from (1,unbounded) namespaces -->
|
||||
</choice>
|
||||
<attribute name="Target" type="anyURI" use="required"/>
|
||||
<attribute name="Id" type="ID" use="optional"/>
|
||||
</complexType>
|
||||
<!-- End Object (Manifest, SignatureProperty) -->
|
||||
<!-- Start Algorithm Parameters -->
|
||||
<simpleType name="HMACOutputLengthType">
|
||||
<restriction base="integer"/>
|
||||
</simpleType>
|
||||
<!-- Start KeyValue Element-types -->
|
||||
<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
|
||||
<complexType name="DSAKeyValueType">
|
||||
<sequence>
|
||||
<sequence minOccurs="0">
|
||||
<element name="P" type="ds:CryptoBinary"/>
|
||||
<element name="Q" type="ds:CryptoBinary"/>
|
||||
</sequence>
|
||||
<element name="G" type="ds:CryptoBinary" minOccurs="0"/>
|
||||
<element name="Y" type="ds:CryptoBinary"/>
|
||||
<element name="J" type="ds:CryptoBinary" minOccurs="0"/>
|
||||
<sequence minOccurs="0">
|
||||
<element name="Seed" type="ds:CryptoBinary"/>
|
||||
<element name="PgenCounter" type="ds:CryptoBinary"/>
|
||||
</sequence>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
|
||||
<complexType name="RSAKeyValueType">
|
||||
<sequence>
|
||||
<element name="Modulus" type="ds:CryptoBinary"/>
|
||||
<element name="Exponent" type="ds:CryptoBinary"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<!-- End KeyValue Element-types -->
|
||||
<!-- End Signature -->
|
||||
</schema>
|
Loading…
Reference in New Issue