/*
* Copyright (C) 2007-2012 Siemens AG
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see
Code generated by EXIdizer
********************************************************************/ #ifndef EXI__ENCODER_C #define EXI__ENCODER_C #include "EXITypes.h" #include "BitOutputStream.h" #include "EncoderChannel.h" #include "StringTable.h" #include "NameTableEntries.h" #include "MethodsBag.h" #include "EXICoder.h" #include "EXIHeaderEncoder.h" /* local variables */ static int errn; /* ==================================== */ int exiEncodeListValue(bitstream_t* stream, exi_value_t* val, list_t lt) { switch(lt.type) { case EXI_DATATYPE_BINARY_BASE64: case EXI_DATATYPE_BINARY_HEX: errn = encodeBinary(stream, &val->binary); break; case EXI_DATATYPE_BOOLEAN: errn = encodeBoolean(stream, val->boolean); break; case EXI_DATATYPE_BOOLEAN_FACET: errn = encodeNBitUnsignedInteger(stream, 2, val->boolean ? 2 : 0); break; case EXI_DATATYPE_DECIMAL: errn = encodeDecimal(stream, &val->decimal); break; case EXI_DATATYPE_FLOAT: errn = encodeFloat(stream, &val->float_me); break; case EXI_DATATYPE_NBIT_UNSIGNED_INTEGER: case EXI_DATATYPE_UNSIGNED_INTEGER: case EXI_DATATYPE_INTEGER: switch(lt.intType) { /* (Signed) Integer */ case EXI_UNSIGNED_INTEGER_8: case EXI_UNSIGNED_INTEGER_16: case EXI_UNSIGNED_INTEGER_32: case EXI_UNSIGNED_INTEGER_64: errn = encodeUnsignedInteger(stream, &val->integer); break; /* (Signed) Integer */ case EXI_INTEGER_8: case EXI_INTEGER_16: case EXI_INTEGER_32: case EXI_INTEGER_64: errn = encodeInteger(stream, &val->integer); break; } break; case EXI_DATATYPE_DATETIME: errn = encodeDateTime(stream, &val->datetime); break; case EXI_DATATYPE_STRING: errn = encodeStringValue(stream, &val->string); break; default: return EXI_UNSUPPORTED_LIST_VALUE_TYPE; } return errn; } static int _encodeNBitIntegerValue(bitstream_t* stream, integer_t* iv, uint16_t nbits, int32_t lowerBound) { int errn; uint32_t val; switch(iv->type) { /* Unsigned Integer */ case EXI_UNSIGNED_INTEGER_8: val = iv->val.int8 - lowerBound; break; case EXI_UNSIGNED_INTEGER_16: val = iv->val.int16 - lowerBound; break; case EXI_UNSIGNED_INTEGER_32: val = iv->val.int32 - lowerBound; break; case EXI_UNSIGNED_INTEGER_64: val = iv->val.int64 - lowerBound; break; /* (Signed) Integer */ case EXI_INTEGER_8: val = iv->val.uint8 - lowerBound; break; case EXI_INTEGER_16: val = iv->val.uint16 - lowerBound; break; case EXI_INTEGER_32: val = iv->val.uint32 - lowerBound; break; case EXI_INTEGER_64: val = iv->val.uint64 - lowerBound; break; default: return -1; } errn = encodeNBitUnsignedInteger(stream, nbits, val); return errn; } #define MAX_NUMBER_CHARACTERS 50 char nameCharacters [MAX_NUMBER_CHARACTERS]; /* #define MAX_NUMBER_URI 1 #define MAX_NUMBER_LOCALNAMES 0 char * uris [MAX_NUMBER_URI]; exi_name_table_runtime_t nameTableRuntime = {MAX_NUMBER_URI, uris, 0}; */ int exiInitEncoder(bitstream_t* stream, exi_state_t* state, exi_name_table_runtime_t runtimeTable) { /* init grammar state */ state->stackIndex = 0; state->grammarStack[0] = DOCUMENT; /* string tables */ state->nameTablePrepopulated = exiNameTablePrepopulated; state->nameTableRuntime = runtimeTable; /* encode header */ return writeEXIHeader(stream); } int exiEncodeStartDocument(bitstream_t* stream, exi_state_t* state) { if ( state->grammarStack[state->stackIndex] == 0 ) { /* move on */ state->grammarStack[state->stackIndex] = 1; return 0; } return EXI_ERROR_UNEXPECTED_START_DOCUMENT; } int exiEncodeEndDocument(bitstream_t* stream, exi_state_t* state) { if ( state->grammarStack[state->stackIndex] == 2) { encodeFinish(stream); return 0; } return EXI_ERROR_UNEXPECTED_END_DOCUMENT; } static int _exiEncodeNamespaceUriID(bitstream_t* stream, exi_name_table_prepopulated_t* nameTable, exi_name_table_runtime_t* runtimeTable, uint16_t uriID) { int errn; uint16_t uriCodingLength; uint16_t uriSize; errn = exiGetUriSize(nameTable, runtimeTable, &uriSize); if (errn) { return errn; } /* URI Entries + 1 */ errn = exiGetCodingLength(uriSize + 1, &uriCodingLength); if (errn) { return errn; } /* uri string value found */ /* ==> value(i+1) is encoded as n-bit unsigned integer */ errn = encodeNBitUnsignedInteger(stream, uriCodingLength, uriID+1); return errn; } static int _exiEncodeLocalNameID(bitstream_t* stream, exi_name_table_prepopulated_t* nameTable, exi_name_table_runtime_t* runtimeTable, uint16_t uriID, uint16_t localNameID) { int errn; uint16_t localNameSize; uint16_t localNameCodingLength; /* string value found in local partition */ /* ==> string value is represented as zero (0) encoded as an */ errn = encodeUnsignedInteger32(stream, 0 ); if (errn < 0) { return errn; } /* Unsigned Integer followed by an the compact identifier of the */ /* string value as an n-bit unsigned integer n is log2 m and m is */ /* the number of entries in the string table partition */ errn = exiGetLocalNameSize(nameTable, runtimeTable, uriID, &localNameSize); if (errn < 0) { return errn; } errn = exiGetCodingLength(localNameSize, &localNameCodingLength); if (errn) { return errn; } errn = encodeNBitUnsignedInteger(stream, localNameCodingLength, localNameID); return errn; } static int _exiEncodeStartElement(bitstream_t* stream, uint16_t nbits, uint32_t val, exi_state_t* state, eqname_t* se, uint16_t stackId, uint16_t newState) { /* event-code */ int errn = encodeNBitUnsignedInteger(stream, nbits, val); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = stackId; /* push element on stack */ return exiPushStack(state, newState, se); } int exiEncodeStartElement(bitstream_t* stream, exi_state_t* state, eqname_t* se) { switch (state->grammarStack[state->stackIndex]) { case 1: /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ if ( se->localPart == 0 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter ) */ return _exiEncodeStartElement(stream, 7, 0, state, se, 2, 3); } else if ( se->localPart == 2 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 7, 1, state, se, 2, 25); } else if ( se->localPart == 4 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 7, 2, state, se, 2, 27); } else if ( se->localPart == 2 && se->namespaceURI == 7 ) { /* SE( {urn:iso:15118:2:2010:MsgDef}BodyElement ) */ return _exiEncodeStartElement(stream, 7, 3, state, se, 2, 40); } else if ( se->localPart == 2 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CableCheckReq ) */ return _exiEncodeStartElement(stream, 7, 4, state, se, 2, 42); } else if ( se->localPart == 4 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CableCheckRes ) */ return _exiEncodeStartElement(stream, 7, 5, state, se, 2, 56); } else if ( se->localPart == 0 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod ) */ return _exiEncodeStartElement(stream, 7, 6, state, se, 2, 70); } else if ( se->localPart == 6 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq ) */ return _exiEncodeStartElement(stream, 7, 7, state, se, 2, 76); } else if ( se->localPart == 8 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes ) */ return _exiEncodeStartElement(stream, 7, 8, state, se, 2, 91); } else if ( se->localPart == 10 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq ) */ return _exiEncodeStartElement(stream, 7, 9, state, se, 2, 110); } else if ( se->localPart == 12 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes ) */ return _exiEncodeStartElement(stream, 7, 10, state, se, 2, 117); } else if ( se->localPart == 14 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq ) */ return _exiEncodeStartElement(stream, 7, 11, state, se, 2, 127); } else if ( se->localPart == 16 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes ) */ return _exiEncodeStartElement(stream, 7, 12, state, se, 2, 145); } else if ( se->localPart == 21 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingStatusReq ) */ return _exiEncodeStartElement(stream, 7, 13, state, se, 2, 220); } else if ( se->localPart == 23 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingStatusRes ) */ return _exiEncodeStartElement(stream, 7, 14, state, se, 2, 222); } else if ( se->localPart == 25 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq ) */ return _exiEncodeStartElement(stream, 7, 15, state, se, 2, 248); } else if ( se->localPart == 27 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes ) */ return _exiEncodeStartElement(stream, 7, 16, state, se, 2, 254); } else if ( se->localPart == 32 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CurrentDemandReq ) */ return _exiEncodeStartElement(stream, 7, 17, state, se, 2, 257); } else if ( se->localPart == 34 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CurrentDemandRes ) */ return _exiEncodeStartElement(stream, 7, 18, state, se, 2, 269); } else if ( se->localPart == 18 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter ) */ return _exiEncodeStartElement(stream, 7, 19, state, se, 2, 132); } else if ( se->localPart == 21 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter ) */ return _exiEncodeStartElement(stream, 7, 20, state, se, 2, 281); } else if ( se->localPart == 23 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 7, 21, state, se, 2, 204); } else if ( se->localPart == 25 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 7, 22, state, se, 2, 61); } else if ( se->localPart == 28 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 7, 23, state, se, 2, 44); } else if ( se->localPart == 3 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DSAKeyValue ) */ return _exiEncodeStartElement(stream, 7, 24, state, se, 2, 286); } else if ( se->localPart == 5 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestMethod ) */ return _exiEncodeStartElement(stream, 7, 25, state, se, 2, 297); } else if ( se->localPart == 7 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestValue ) */ return _exiEncodeStartElement(stream, 7, 26, state, se, 2, 302); } else if ( se->localPart == 34 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter ) */ return _exiEncodeStartElement(stream, 7, 27, state, se, 2, 142); } else if ( se->localPart == 45 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter ) */ return _exiEncodeStartElement(stream, 7, 28, state, se, 2, 304); } else if ( se->localPart == 51 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 7, 29, state, se, 2, 215); } else if ( se->localPart == 65 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus ) */ return _exiEncodeStartElement(stream, 7, 30, state, se, 2, 306); } else if ( se->localPart == 69 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVStatus ) */ return _exiEncodeStartElement(stream, 7, 31, state, se, 2, 308); } else if ( se->localPart == 72 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Entry ) */ return _exiEncodeStartElement(stream, 7, 32, state, se, 2, 310); } else if ( se->localPart == 14 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyInfo ) */ return _exiEncodeStartElement(stream, 7, 33, state, se, 2, 313); } else if ( se->localPart == 16 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyName ) */ return _exiEncodeStartElement(stream, 7, 34, state, se, 2, 316); } else if ( se->localPart == 17 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyValue ) */ return _exiEncodeStartElement(stream, 7, 35, state, se, 2, 318); } else if ( se->localPart == 19 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Manifest ) */ return _exiEncodeStartElement(stream, 7, 36, state, se, 2, 371); } else if ( se->localPart == 60 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq ) */ return _exiEncodeStartElement(stream, 7, 37, state, se, 2, 383); } else if ( se->localPart == 62 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes ) */ return _exiEncodeStartElement(stream, 7, 38, state, se, 2, 391); } else if ( se->localPart == 21 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}MgmtData ) */ return _exiEncodeStartElement(stream, 7, 39, state, se, 2, 368); } else if ( se->localPart == 23 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Object ) */ return _exiEncodeStartElement(stream, 7, 40, state, se, 2, 395); } else if ( se->localPart == 26 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPData ) */ return _exiEncodeStartElement(stream, 7, 41, state, se, 2, 355); } else if ( se->localPart == 89 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry ) */ return _exiEncodeStartElement(stream, 7, 42, state, se, 2, 158); } else if ( se->localPart == 65 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq ) */ return _exiEncodeStartElement(stream, 7, 43, state, se, 2, 402); } else if ( se->localPart == 67 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes ) */ return _exiEncodeStartElement(stream, 7, 44, state, se, 2, 406); } else if ( se->localPart == 70 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq ) */ return _exiEncodeStartElement(stream, 7, 45, state, se, 2, 412); } else if ( se->localPart == 72 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes ) */ return _exiEncodeStartElement(stream, 7, 46, state, se, 2, 426); } else if ( se->localPart == 74 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PreChargeReq ) */ return _exiEncodeStartElement(stream, 7, 47, state, se, 2, 430); } else if ( se->localPart == 76 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PreChargeRes ) */ return _exiEncodeStartElement(stream, 7, 48, state, se, 2, 435); } else if ( se->localPart == 32 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RSAKeyValue ) */ return _exiEncodeStartElement(stream, 7, 49, state, se, 2, 320); } else if ( se->localPart == 34 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Reference ) */ return _exiEncodeStartElement(stream, 7, 50, state, se, 2, 374); } else if ( se->localPart == 106 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval ) */ return _exiEncodeStartElement(stream, 7, 51, state, se, 2, 160); } else if ( se->localPart == 36 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RetrievalMethod ) */ return _exiEncodeStartElement(stream, 7, 52, state, se, 2, 326); } else if ( se->localPart == 110 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList ) */ return _exiEncodeStartElement(stream, 7, 53, state, se, 2, 148); } else if ( se->localPart == 115 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SASchedules ) */ return _exiEncodeStartElement(stream, 7, 54, state, se, 2, 217); } else if ( se->localPart == 38 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKIData ) */ return _exiEncodeStartElement(stream, 7, 55, state, se, 2, 363); } else if ( se->localPart == 119 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry ) */ return _exiEncodeStartElement(stream, 7, 56, state, se, 2, 184); } else if ( se->localPart == 128 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge ) */ return _exiEncodeStartElement(stream, 7, 57, state, se, 2, 440); } else if ( se->localPart == 88 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDetailReq ) */ return _exiEncodeStartElement(stream, 7, 58, state, se, 2, 461); } else if ( se->localPart == 90 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDetailRes ) */ return _exiEncodeStartElement(stream, 7, 59, state, se, 2, 464); } else if ( se->localPart == 92 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq ) */ return _exiEncodeStartElement(stream, 7, 60, state, se, 2, 488); } else if ( se->localPart == 94 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes ) */ return _exiEncodeStartElement(stream, 7, 61, state, se, 2, 492); } else if ( se->localPart == 99 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq ) */ return _exiEncodeStartElement(stream, 7, 62, state, se, 2, 510); } else if ( se->localPart == 101 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes ) */ return _exiEncodeStartElement(stream, 7, 63, state, se, 2, 522); } else if ( se->localPart == 105 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionSetupReq ) */ return _exiEncodeStartElement(stream, 7, 64, state, se, 2, 525); } else if ( se->localPart == 107 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionSetupRes ) */ return _exiEncodeStartElement(stream, 7, 65, state, se, 2, 530); } else if ( se->localPart == 109 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionStopReq ) */ return _exiEncodeStartElement(stream, 7, 66, state, se, 2, 536); } else if ( se->localPart == 110 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionStopRes ) */ return _exiEncodeStartElement(stream, 7, 67, state, se, 2, 538); } else if ( se->localPart == 42 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Signature ) */ return _exiEncodeStartElement(stream, 7, 68, state, se, 2, 541); } else if ( se->localPart == 43 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureMethod ) */ return _exiEncodeStartElement(stream, 7, 69, state, se, 2, 548); } else if ( se->localPart == 45 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureProperties ) */ return _exiEncodeStartElement(stream, 7, 70, state, se, 2, 564); } else if ( se->localPart == 47 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureProperty ) */ return _exiEncodeStartElement(stream, 7, 71, state, se, 2, 567); } else if ( se->localPart == 50 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureValue ) */ return _exiEncodeStartElement(stream, 7, 72, state, se, 2, 558); } else if ( se->localPart == 52 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignedInfo ) */ return _exiEncodeStartElement(stream, 7, 73, state, se, 2, 544); } else if ( se->localPart == 144 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TimeInterval ) */ return _exiEncodeStartElement(stream, 7, 74, state, se, 2, 169); } else if ( se->localPart == 54 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transform ) */ return _exiEncodeStartElement(stream, 7, 75, state, se, 2, 332); } else if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 7, 76, state, se, 2, 330); } else if ( se->localPart == 5 && se->namespaceURI == 7 ) { /* SE( {urn:iso:15118:2:2010:MsgDef}V2G_Message ) */ return _exiEncodeStartElement(stream, 7, 77, state, se, 2, 574); } else if ( se->localPart == 113 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq ) */ return _exiEncodeStartElement(stream, 7, 78, state, se, 2, 592); } else if ( se->localPart == 115 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes ) */ return _exiEncodeStartElement(stream, 7, 79, state, se, 2, 595); } else if ( se->localPart == 60 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Data ) */ return _exiEncodeStartElement(stream, 7, 80, state, se, 2, 340); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 7, 81, state, se, 2, 73); } break; case 3: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ if ( se->localPart == 30 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DepartureTime ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 4, 5); } break; case 4: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ if ( se->localPart == 31 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EAmount ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 9, 10); } break; case 9: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ if ( se->localPart == 40 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 21, 10); } break; case 10: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ if ( se->localPart == 84 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Multiplier ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 11, 12); } break; case 11: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ if ( se->localPart == 145 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Unit ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 14, 15); } else if ( se->localPart == 146 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Value ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 17, 18); } break; case 14: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ if ( se->localPart == 146 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Value ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 17, 18); } break; case 20: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ if ( se->localPart == 84 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Multiplier ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 11, 12); } break; case 21: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ if ( se->localPart == 39 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 22, 10); } break; case 22: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ if ( se->localPart == 44 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 23, 10); } break; case 24: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ if ( se->localPart == 30 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DepartureTime ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 4, 5); } break; case 25: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ if ( se->localPart == 4 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 26, 27); } break; case 26: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ if ( se->localPart == 57 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 36, 10); } break; case 27: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ if ( se->localPart == 102 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 28, 29); } break; case 28: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ if ( se->localPart == 105 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RCD ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 31, 29); } break; case 31: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ShutDownTime)] */ if ( se->localPart == 138 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ShutDownTime ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 32, 33); } break; case 32: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}StopCharging)] */ if ( se->localPart == 140 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}StopCharging ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 34, 29); } break; case 35: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ if ( se->localPart == 102 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 28, 29); } break; case 36: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ if ( se->localPart == 56 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 37, 10); } break; case 37: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ if ( se->localPart == 61 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 38, 10); } break; case 39: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ if ( se->localPart == 4 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 26, 27); } break; case 42: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ if ( se->localPart == 37 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 43, 44); } break; case 44: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ if ( se->localPart == 49 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVReady ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 45, 29); } break; case 45: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ if ( se->localPart == 33 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 46, 29); } else if ( se->localPart == 47 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 47, 29); } else if ( se->localPart == 38 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 48, 49); } break; case 46: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ if ( se->localPart == 47 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 47, 29); } else if ( se->localPart == 38 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 48, 49); } break; case 47: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ if ( se->localPart == 38 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 48, 49); } break; case 48: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC)] */ if ( se->localPart == 48 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 51, 52); } break; case 54: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ if ( se->localPart == 49 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVReady ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 45, 29); } break; case 55: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ if ( se->localPart == 37 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 43, 44); } break; case 56: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 57, 58); } break; case 57: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ if ( se->localPart == 36 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 60, 61); } break; case 61: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ if ( se->localPart == 55 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 62, 63); } else if ( se->localPart == 66 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 65, 66); } break; case 62: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ if ( se->localPart == 66 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 65, 66); } break; case 68: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ if ( se->localPart == 55 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 62, 63); } else if ( se->localPart == 66 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 65, 66); } break; case 69: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 57, 58); } break; case 71: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 72, 73); } break; case 72: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 72, 73); } break; case 73: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 602, 73); } break; case 74: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 72, 73); } break; case 75: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 72, 73); } break; case 76: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ if ( se->localPart == 64 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 78, 79); } break; case 77: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ if ( se->localPart == 64 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 78, 79); } break; case 78: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ if ( se->localPart == 58 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 81, 82); } break; case 81: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ if ( se->localPart == 38 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DHParams ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 87, 88); } break; case 82: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ if ( se->localPart == 108 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 83, 84); } break; case 83: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ if ( se->localPart == 108 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 83, 84); } break; case 86: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ if ( se->localPart == 108 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 83, 84); } break; case 90: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ if ( se->localPart == 64 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 78, 79); } break; case 92: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 93, 58); } break; case 93: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ if ( se->localPart == 30 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 94, 95); } break; case 94: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ if ( se->localPart == 31 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 102, 103); } break; case 95: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ if ( se->localPart == 8 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Certificate ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 96, 79); } break; case 96: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ if ( se->localPart == 141 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SubCertificates ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 97, 98); } break; case 98: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ if ( se->localPart == 8 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Certificate ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 99, 79); } break; case 99: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ if ( se->localPart == 8 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Certificate ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 99, 79); } break; case 100: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ if ( se->localPart == 8 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Certificate ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 99, 79); } break; case 101: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ if ( se->localPart == 8 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Certificate ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 96, 79); } break; case 102: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ if ( se->localPart == 38 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DHParams ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 105, 88); } break; case 105: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ if ( se->localPart == 29 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 106, 107); } break; case 109: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 93, 58); } break; case 110: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ if ( se->localPart == 30 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 112, 95); } break; case 111: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ if ( se->localPart == 30 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 112, 95); } break; case 112: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ if ( se->localPart == 29 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 113, 107); } break; case 113: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ if ( se->localPart == 58 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 114, 82); } break; case 114: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ if ( se->localPart == 38 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DHParams ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 115, 88); } break; case 116: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ if ( se->localPart == 30 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 112, 95); } break; case 118: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 119, 58); } break; case 119: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ if ( se->localPart == 30 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 120, 95); } break; case 120: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ if ( se->localPart == 31 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 121, 103); } break; case 121: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ if ( se->localPart == 38 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DHParams ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 122, 88); } break; case 122: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ if ( se->localPart == 29 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 123, 107); } break; case 123: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ if ( se->localPart == 83 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}RetryCounter ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 124, 125); } break; case 126: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 119, 58); } break; case 127: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ if ( se->localPart == 44 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 128, 129); } break; case 128: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter)] */ if ( se->localPart == 0 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 131, 3); } else if ( se->localPart == 18 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 131, 132); } else if ( se->localPart == 34 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 131, 142); } break; case 132: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ if ( se->localPart == 28 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 133, 44); } break; case 133: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ if ( se->localPart == 41 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 134, 10); } break; case 134: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ if ( se->localPart == 42 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 135, 10); } else if ( se->localPart == 43 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 136, 10); } break; case 135: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ if ( se->localPart == 43 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 136, 10); } break; case 136: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ if ( se->localPart == 36 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 137, 10); } else if ( se->localPart == 37 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 138, 10); } else if ( se->localPart == 77 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}FullSOC ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 139, 52); } else if ( se->localPart == 7 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}BulkSOC ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 140, 52); } break; case 137: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ if ( se->localPart == 37 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 138, 10); } else if ( se->localPart == 77 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}FullSOC ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 139, 52); } else if ( se->localPart == 7 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}BulkSOC ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 140, 52); } break; case 138: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ if ( se->localPart == 77 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}FullSOC ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 139, 52); } else if ( se->localPart == 7 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}BulkSOC ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 140, 52); } break; case 139: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ if ( se->localPart == 7 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}BulkSOC ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 140, 52); } break; case 141: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ if ( se->localPart == 28 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 133, 44); } break; case 144: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ if ( se->localPart == 44 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 128, 129); } break; case 145: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 146, 58); } break; case 146: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter)] */ if ( se->localPart == 110 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 147, 148); } else if ( se->localPart == 115 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SASchedules ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 147, 217); } else if ( se->localPart == 2 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 203, 25); } else if ( se->localPart == 23 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 203, 204); } else if ( se->localPart == 51 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 3, 4, state, se, 203, 215); } break; case 147: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter)] */ if ( se->localPart == 2 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 203, 25); } else if ( se->localPart == 23 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 203, 204); } else if ( se->localPart == 51 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 203, 215); } break; case 148: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ if ( se->localPart == 112 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 149, 150); } break; case 149: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ if ( se->localPart == 112 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 149, 150); } break; case 150: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ if ( se->localPart == 113 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 151, 152); } break; case 151: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ if ( se->localPart == 88 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 154, 155); } break; case 154: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ if ( se->localPart == 117 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SalesTariff ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 173, 174); } break; case 155: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ if ( se->localPart == 91 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 156, 152); } break; case 156: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ if ( se->localPart == 89 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 157, 158); } break; case 157: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ if ( se->localPart == 89 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 157, 158); } break; case 158: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ if ( se->localPart == 106 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 159, 160); } else if ( se->localPart == 144 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TimeInterval ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 159, 169); } break; case 159: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ if ( se->localPart == 87 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PMax ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 166, 167); } break; case 160: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ if ( se->localPart == 179 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}start ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 161, 162); } break; case 161: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), END_ELEMENT] */ if ( se->localPart == 156 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}duration ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 163, 164); } break; case 165: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ if ( se->localPart == 179 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}start ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 161, 162); } break; case 171: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ if ( se->localPart == 106 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 159, 160); } else if ( se->localPart == 144 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TimeInterval ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 159, 169); } break; case 172: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ if ( se->localPart == 91 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 156, 152); } break; case 175: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ if ( se->localPart == 121 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 176, 152); } break; case 176: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ if ( se->localPart == 118 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 177, 178); } else if ( se->localPart == 86 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 180, 181); } break; case 177: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ if ( se->localPart == 86 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 180, 181); } break; case 180: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ if ( se->localPart == 119 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 183, 184); } break; case 183: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ if ( se->localPart == 119 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 183, 184); } break; case 184: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ if ( se->localPart == 106 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 185, 160); } else if ( se->localPart == 144 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TimeInterval ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 185, 169); } break; case 185: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ if ( se->localPart == 32 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 186, 181); } break; case 186: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ if ( se->localPart == 14 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 186, 187); } break; case 187: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ if ( se->localPart == 180 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}startValue ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 188, 189); } break; case 188: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ if ( se->localPart == 16 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Cost ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 188, 190); } break; case 190: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ if ( se->localPart == 153 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}costKind ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 191, 192); } break; case 191: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount)] */ if ( se->localPart == 147 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}amount ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 194, 195); } break; case 194: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), END_ELEMENT] */ if ( se->localPart == 148 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 196, 12); } break; case 197: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ if ( se->localPart == 153 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}costKind ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 191, 192); } break; case 198: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ if ( se->localPart == 180 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}startValue ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 188, 189); } break; case 199: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ if ( se->localPart == 106 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 185, 160); } else if ( se->localPart == 144 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TimeInterval ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 185, 169); } break; case 200: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ if ( se->localPart == 121 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 176, 152); } break; case 201: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ if ( se->localPart == 113 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 151, 152); } break; case 202: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ if ( se->localPart == 112 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 149, 150); } break; case 204: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ if ( se->localPart == 25 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 205, 61); } break; case 205: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ if ( se->localPart == 58 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 206, 10); } break; case 206: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ if ( se->localPart == 59 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 207, 10); } else if ( se->localPart == 60 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 208, 10); } break; case 207: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ if ( se->localPart == 60 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 208, 10); } break; case 208: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ if ( se->localPart == 62 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 209, 10); } break; case 209: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ if ( se->localPart == 63 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 210, 10); } break; case 210: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ if ( se->localPart == 53 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 211, 10); } else if ( se->localPart == 64 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 212, 10); } break; case 211: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ if ( se->localPart == 64 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 212, 10); } break; case 212: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ if ( se->localPart == 54 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 213, 10); } break; case 214: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ if ( se->localPart == 25 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 205, 61); } break; case 219: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 146, 58); } break; case 222: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 223, 58); } break; case 223: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ if ( se->localPart == 46 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 224, 225); } break; case 224: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ if ( se->localPart == 84 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 227, 152); } else if ( se->localPart == 47 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 228, 10); } else if ( se->localPart == 59 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeterInfo ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 229, 230); } else if ( se->localPart == 79 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ReceiptRequired ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 245, 29); } break; case 227: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ if ( se->localPart == 47 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 228, 10); } else if ( se->localPart == 59 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeterInfo ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 229, 230); } else if ( se->localPart == 79 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ReceiptRequired ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 245, 29); } break; case 228: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ if ( se->localPart == 59 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeterInfo ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 229, 230); } else if ( se->localPart == 79 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ReceiptRequired ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 245, 29); } break; case 229: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ if ( se->localPart == 79 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ReceiptRequired ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 245, 29); } break; case 230: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ if ( se->localPart == 80 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}MeterID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 231, 232); } break; case 231: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ if ( se->localPart == 82 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}MeterReading ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 234, 10); } else if ( se->localPart == 139 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 235, 236); } else if ( se->localPart == 83 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}MeterStatus ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 238, 239); } else if ( se->localPart == 143 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TMeter ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 241, 242); } break; case 234: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ if ( se->localPart == 139 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 235, 236); } else if ( se->localPart == 83 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}MeterStatus ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 238, 239); } else if ( se->localPart == 143 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TMeter ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 241, 242); } break; case 235: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ if ( se->localPart == 83 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}MeterStatus ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 238, 239); } else if ( se->localPart == 143 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TMeter ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 241, 242); } break; case 238: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ if ( se->localPart == 143 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TMeter ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 241, 242); } break; case 244: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ if ( se->localPart == 80 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}MeterID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 231, 232); } break; case 245: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ if ( se->localPart == 0 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 246, 27); } break; case 247: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 223, 58); } break; case 249: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ if ( se->localPart == 57 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}GenChallenge ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 250, 251); } break; case 253: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ if ( se->localPart == 57 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}GenChallenge ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 250, 251); } break; case 254: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 255, 58); } break; case 256: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 255, 58); } break; case 257: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ if ( se->localPart == 37 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 258, 44); } break; case 258: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ if ( se->localPart == 55 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVTargetCurrent ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 259, 10); } break; case 259: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ if ( se->localPart == 43 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 260, 10); } else if ( se->localPart == 41 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 261, 10); } else if ( se->localPart == 42 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 262, 10); } else if ( se->localPart == 1 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}BulkChargingComplete ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 263, 29); } else if ( se->localPart == 19 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingComplete ) */ return _exiEncodeStartElement(stream, 3, 4, state, se, 264, 29); } break; case 260: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ if ( se->localPart == 41 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 261, 10); } else if ( se->localPart == 42 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 262, 10); } else if ( se->localPart == 1 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}BulkChargingComplete ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 263, 29); } else if ( se->localPart == 19 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingComplete ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 264, 29); } break; case 261: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ if ( se->localPart == 42 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 262, 10); } else if ( se->localPart == 1 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}BulkChargingComplete ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 263, 29); } else if ( se->localPart == 19 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingComplete ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 264, 29); } break; case 262: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ if ( se->localPart == 1 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}BulkChargingComplete ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 263, 29); } else if ( se->localPart == 19 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingComplete ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 264, 29); } break; case 263: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ if ( se->localPart == 19 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingComplete ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 264, 29); } break; case 264: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ if ( se->localPart == 81 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 265, 10); } else if ( se->localPart == 80 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 266, 10); } else if ( se->localPart == 56 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVTargetVoltage ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 267, 10); } break; case 265: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ if ( se->localPart == 80 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 266, 10); } else if ( se->localPart == 56 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVTargetVoltage ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 267, 10); } break; case 266: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ if ( se->localPart == 56 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVTargetVoltage ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 267, 10); } break; case 268: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ if ( se->localPart == 37 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 258, 44); } break; case 269: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 270, 58); } break; case 270: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ if ( se->localPart == 36 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 271, 61); } break; case 271: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ if ( se->localPart == 53 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 272, 10); } break; case 272: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ if ( se->localPart == 52 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 273, 10); } break; case 273: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved)] */ if ( se->localPart == 45 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 274, 29); } break; case 274: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved)] */ if ( se->localPart == 54 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 275, 29); } break; case 275: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved)] */ if ( se->localPart == 51 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 276, 29); } break; case 276: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ if ( se->localPart == 50 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 277, 10); } else if ( se->localPart == 48 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 278, 10); } else if ( se->localPart == 49 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 279, 10); } break; case 277: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ if ( se->localPart == 48 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 278, 10); } else if ( se->localPart == 49 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 279, 10); } break; case 278: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ if ( se->localPart == 49 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 279, 10); } break; case 280: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 270, 58); } break; case 281: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ if ( se->localPart == 28 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 282, 44); } break; case 282: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ if ( se->localPart == 6 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 283, 29); } else if ( se->localPart == 10 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 284, 29); } break; case 283: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ if ( se->localPart == 10 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 284, 29); } break; case 285: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ if ( se->localPart == 28 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 282, 44); } break; case 286: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ if ( se->localPart == 25 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}P ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 287, 288); } else if ( se->localPart == 10 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}G ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 291, 288); } else if ( se->localPart == 69 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Y ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 292, 288); } break; case 287: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ if ( se->localPart == 31 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Q ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 290, 288); } break; case 290: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ if ( se->localPart == 10 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}G ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 291, 288); } else if ( se->localPart == 69 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Y ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 292, 288); } break; case 291: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ if ( se->localPart == 69 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Y ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 292, 288); } break; case 292: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ if ( se->localPart == 13 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}J ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 293, 288); } else if ( se->localPart == 41 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Seed ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 294, 288); } break; case 293: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ if ( se->localPart == 41 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Seed ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 294, 288); } break; case 294: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ if ( se->localPart == 30 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PgenCounter ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 295, 288); } break; case 296: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ if ( se->localPart == 25 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}P ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 287, 288); } else if ( se->localPart == 10 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}G ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 291, 288); } else if ( se->localPart == 69 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Y ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 292, 288); } break; case 298: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 299, 73); } break; case 299: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 299, 73); } break; case 300: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 299, 73); } break; case 301: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 299, 73); } break; case 310: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ if ( se->localPart == 106 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 311, 160); } else if ( se->localPart == 144 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TimeInterval ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 311, 169); } break; case 312: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ if ( se->localPart == 106 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 311, 160); } else if ( se->localPart == 144 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TimeInterval ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 311, 169); } break; case 313: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 16 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyName ) */ return _exiEncodeStartElement(stream, 4, 1, state, se, 315, 316); } else if ( se->localPart == 17 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyValue ) */ return _exiEncodeStartElement(stream, 4, 2, state, se, 315, 318); } else if ( se->localPart == 36 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RetrievalMethod ) */ return _exiEncodeStartElement(stream, 4, 3, state, se, 315, 326); } else if ( se->localPart == 60 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Data ) */ return _exiEncodeStartElement(stream, 4, 4, state, se, 315, 340); } else if ( se->localPart == 26 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPData ) */ return _exiEncodeStartElement(stream, 4, 5, state, se, 315, 355); } else if ( se->localPart == 38 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKIData ) */ return _exiEncodeStartElement(stream, 4, 6, state, se, 315, 363); } else if ( se->localPart == 21 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}MgmtData ) */ return _exiEncodeStartElement(stream, 4, 7, state, se, 315, 368); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 4, 8, state, se, 315, 73); } break; case 314: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 16 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyName ) */ return _exiEncodeStartElement(stream, 4, 0, state, se, 315, 316); } else if ( se->localPart == 17 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyValue ) */ return _exiEncodeStartElement(stream, 4, 1, state, se, 315, 318); } else if ( se->localPart == 36 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RetrievalMethod ) */ return _exiEncodeStartElement(stream, 4, 2, state, se, 315, 326); } else if ( se->localPart == 60 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Data ) */ return _exiEncodeStartElement(stream, 4, 3, state, se, 315, 340); } else if ( se->localPart == 26 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPData ) */ return _exiEncodeStartElement(stream, 4, 4, state, se, 315, 355); } else if ( se->localPart == 38 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKIData ) */ return _exiEncodeStartElement(stream, 4, 5, state, se, 315, 363); } else if ( se->localPart == 21 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}MgmtData ) */ return _exiEncodeStartElement(stream, 4, 6, state, se, 315, 368); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 4, 7, state, se, 315, 73); } break; case 315: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 16 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyName ) */ return _exiEncodeStartElement(stream, 4, 0, state, se, 315, 316); } else if ( se->localPart == 17 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyValue ) */ return _exiEncodeStartElement(stream, 4, 1, state, se, 315, 318); } else if ( se->localPart == 36 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RetrievalMethod ) */ return _exiEncodeStartElement(stream, 4, 2, state, se, 315, 326); } else if ( se->localPart == 60 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Data ) */ return _exiEncodeStartElement(stream, 4, 3, state, se, 315, 340); } else if ( se->localPart == 26 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPData ) */ return _exiEncodeStartElement(stream, 4, 4, state, se, 315, 355); } else if ( se->localPart == 38 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKIData ) */ return _exiEncodeStartElement(stream, 4, 5, state, se, 315, 363); } else if ( se->localPart == 21 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}MgmtData ) */ return _exiEncodeStartElement(stream, 4, 6, state, se, 315, 368); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 4, 7, state, se, 315, 73); } break; case 318: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 3 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DSAKeyValue ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 319, 286); } else if ( se->localPart == 32 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RSAKeyValue ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 319, 320); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 319, 73); } break; case 320: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ if ( se->localPart == 22 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Modulus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 321, 288); } break; case 321: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ if ( se->localPart == 9 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Exponent ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 322, 288); } break; case 323: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ if ( se->localPart == 22 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Modulus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 321, 288); } break; case 324: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 3 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DSAKeyValue ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 319, 286); } else if ( se->localPart == 32 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RSAKeyValue ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 319, 320); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 319, 73); } break; case 325: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 3 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DSAKeyValue ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 319, 286); } else if ( se->localPart == 32 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RSAKeyValue ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 319, 320); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 319, 73); } break; case 326: /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 329, 330); } break; case 327: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 329, 330); } break; case 328: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 329, 330); } break; case 330: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ if ( se->localPart == 54 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transform ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 331, 332); } break; case 331: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ if ( se->localPart == 54 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transform ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 331, 332); } break; case 333: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 68 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}XPath ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 334, 335); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 334, 73); } break; case 334: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 68 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}XPath ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 334, 335); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 334, 73); } break; case 336: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 68 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}XPath ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 334, 335); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 334, 73); } break; case 337: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 68 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}XPath ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 334, 335); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 334, 73); } break; case 338: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ if ( se->localPart == 54 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transform ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 331, 332); } break; case 339: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 329, 330); } break; case 340: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ if ( se->localPart == 63 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 341, 342); } else if ( se->localPart == 65 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509SKI ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 341, 349); } else if ( se->localPart == 67 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509SubjectName ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 341, 351); } else if ( se->localPart == 59 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Certificate ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 341, 352); } else if ( se->localPart == 58 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509CRL ) */ return _exiEncodeStartElement(stream, 3, 4, state, se, 341, 353); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 5, state, se, 341, 73); } break; case 341: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC, END_ELEMENT] */ if ( se->localPart == 63 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 341, 342); } else if ( se->localPart == 65 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509SKI ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 341, 349); } else if ( se->localPart == 67 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509SubjectName ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 341, 351); } else if ( se->localPart == 59 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Certificate ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 341, 352); } else if ( se->localPart == 58 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509CRL ) */ return _exiEncodeStartElement(stream, 3, 4, state, se, 341, 353); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 5, state, se, 341, 73); } break; case 342: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ if ( se->localPart == 62 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509IssuerName ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 343, 344); } break; case 343: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ if ( se->localPart == 66 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509SerialNumber ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 345, 346); } break; case 348: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ if ( se->localPart == 62 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509IssuerName ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 343, 344); } break; case 354: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ if ( se->localPart == 63 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 341, 342); } else if ( se->localPart == 65 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509SKI ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 341, 349); } else if ( se->localPart == 67 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509SubjectName ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 341, 351); } else if ( se->localPart == 59 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Certificate ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 341, 352); } else if ( se->localPart == 58 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509CRL ) */ return _exiEncodeStartElement(stream, 3, 4, state, se, 341, 353); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 5, state, se, 341, 73); } break; case 355: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ if ( se->localPart == 28 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPKeyID ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 356, 357); } else if ( se->localPart == 29 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 360, 361); } break; case 356: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ if ( se->localPart == 29 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 358, 359); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 358, 73); } break; case 358: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 358, 73); } break; case 360: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 360, 73); } break; case 362: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ if ( se->localPart == 28 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPKeyID ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 356, 357); } else if ( se->localPart == 29 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 360, 361); } break; case 363: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ if ( se->localPart == 40 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKISexp ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 364, 365); } break; case 364: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ if ( se->localPart == 40 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKISexp ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 364, 365); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 366, 73); } break; case 366: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ if ( se->localPart == 40 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKISexp ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 364, 365); } break; case 367: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ if ( se->localPart == 40 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKISexp ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 364, 365); } break; case 369: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 16 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyName ) */ return _exiEncodeStartElement(stream, 4, 0, state, se, 315, 316); } else if ( se->localPart == 17 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyValue ) */ return _exiEncodeStartElement(stream, 4, 1, state, se, 315, 318); } else if ( se->localPart == 36 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RetrievalMethod ) */ return _exiEncodeStartElement(stream, 4, 2, state, se, 315, 326); } else if ( se->localPart == 60 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Data ) */ return _exiEncodeStartElement(stream, 4, 3, state, se, 315, 340); } else if ( se->localPart == 26 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPData ) */ return _exiEncodeStartElement(stream, 4, 4, state, se, 315, 355); } else if ( se->localPart == 38 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKIData ) */ return _exiEncodeStartElement(stream, 4, 5, state, se, 315, 363); } else if ( se->localPart == 21 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}MgmtData ) */ return _exiEncodeStartElement(stream, 4, 6, state, se, 315, 368); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 4, 7, state, se, 315, 73); } break; case 370: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 16 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyName ) */ return _exiEncodeStartElement(stream, 4, 0, state, se, 315, 316); } else if ( se->localPart == 17 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyValue ) */ return _exiEncodeStartElement(stream, 4, 1, state, se, 315, 318); } else if ( se->localPart == 36 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}RetrievalMethod ) */ return _exiEncodeStartElement(stream, 4, 2, state, se, 315, 326); } else if ( se->localPart == 60 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}X509Data ) */ return _exiEncodeStartElement(stream, 4, 3, state, se, 315, 340); } else if ( se->localPart == 26 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}PGPData ) */ return _exiEncodeStartElement(stream, 4, 4, state, se, 315, 355); } else if ( se->localPart == 38 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SPKIData ) */ return _exiEncodeStartElement(stream, 4, 5, state, se, 315, 363); } else if ( se->localPart == 21 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}MgmtData ) */ return _exiEncodeStartElement(stream, 4, 6, state, se, 315, 368); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 4, 7, state, se, 315, 73); } break; case 371: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ if ( se->localPart == 34 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Reference ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 373, 374); } break; case 372: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ if ( se->localPart == 34 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Reference ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 373, 374); } break; case 373: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ if ( se->localPart == 34 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Reference ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 373, 374); } break; case 374: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 378, 330); } else if ( se->localPart == 5 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestMethod ) */ return _exiEncodeStartElement(stream, 3, 4, state, se, 379, 297); } break; case 375: /* StartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 378, 330); } else if ( se->localPart == 5 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestMethod ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 379, 297); } break; case 376: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 378, 330); } else if ( se->localPart == 5 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestMethod ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 379, 297); } break; case 377: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 378, 330); } else if ( se->localPart == 5 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestMethod ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 379, 297); } break; case 378: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( se->localPart == 5 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestMethod ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 379, 297); } break; case 379: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ if ( se->localPart == 7 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestValue ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 380, 302); } break; case 381: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( se->localPart == 56 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Transforms ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 378, 330); } else if ( se->localPart == 5 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}DigestMethod ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 379, 297); } break; case 382: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ if ( se->localPart == 34 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Reference ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 373, 374); } break; case 383: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ if ( se->localPart == 104 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionID ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 385, 386); } break; case 384: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ if ( se->localPart == 104 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 385, 386); } break; case 385: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ if ( se->localPart == 84 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 388, 152); } else if ( se->localPart == 59 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeterInfo ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 389, 230); } break; case 388: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ if ( se->localPart == 59 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeterInfo ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 389, 230); } break; case 390: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ if ( se->localPart == 104 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 385, 386); } break; case 391: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 392, 58); } break; case 392: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ if ( se->localPart == 0 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 393, 27); } break; case 394: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 392, 58); } break; case 395: /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 399, 73); } break; case 396: /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 399, 73); } break; case 397: /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 399, 73); } break; case 398: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 399, 73); } break; case 399: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 399, 73); } break; case 400: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 399, 73); } break; case 401: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 399, 73); } break; case 402: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ if ( se->localPart == 29 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 403, 107); } break; case 403: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ if ( se->localPart == 30 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 404, 95); } break; case 405: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ if ( se->localPart == 29 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 403, 107); } break; case 406: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 407, 58); } break; case 407: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ if ( se->localPart == 57 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}GenChallenge ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 408, 251); } break; case 408: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ if ( se->localPart == 39 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DateTimeNow ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 409, 410); } break; case 411: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 407, 58); } break; case 412: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ if ( se->localPart == 78 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ReadyToChargeState ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 413, 29); } break; case 413: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ if ( se->localPart == 20 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingProfile ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 414, 415); } else if ( se->localPart == 21 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 424, 281); } else if ( se->localPart == 45 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 424, 304); } break; case 414: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ if ( se->localPart == 21 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 424, 281); } else if ( se->localPart == 45 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 424, 304); } break; case 415: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ if ( se->localPart == 113 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 416, 152); } break; case 416: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ if ( se->localPart == 103 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 417, 418); } break; case 417: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ if ( se->localPart == 103 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 417, 418); } break; case 418: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ if ( se->localPart == 12 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 419, 420); } break; case 419: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ if ( se->localPart == 11 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 421, 167); } break; case 422: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ if ( se->localPart == 12 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 419, 420); } break; case 423: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ if ( se->localPart == 113 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 416, 152); } break; case 425: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ if ( se->localPart == 78 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ReadyToChargeState ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 413, 29); } break; case 426: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 427, 58); } break; case 427: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus)] */ if ( se->localPart == 4 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 428, 27); } else if ( se->localPart == 25 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 428, 61); } else if ( se->localPart == 65 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus ) */ return _exiEncodeStartElement(stream, 2, 2, state, se, 428, 306); } break; case 429: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 427, 58); } break; case 430: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ if ( se->localPart == 37 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 431, 44); } break; case 431: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ if ( se->localPart == 56 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVTargetVoltage ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 432, 10); } break; case 432: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ if ( se->localPart == 55 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVTargetCurrent ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 433, 10); } break; case 434: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ if ( se->localPart == 37 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 431, 44); } break; case 435: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 436, 58); } break; case 436: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ if ( se->localPart == 36 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 437, 61); } break; case 437: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ if ( se->localPart == 53 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 438, 10); } break; case 439: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 436, 58); } break; case 440: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ if ( se->localPart == 134 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceTag ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 441, 442); } break; case 441: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ if ( se->localPart == 76 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}FreeService ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 456, 29); } break; case 442: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ if ( se->localPart == 130 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 443, 444); } break; case 443: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ if ( se->localPart == 131 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceName ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 446, 447); } else if ( se->localPart == 127 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 449, 450); } else if ( se->localPart == 133 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceScope ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 452, 453); } break; case 446: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ if ( se->localPart == 127 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 449, 450); } else if ( se->localPart == 133 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceScope ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 452, 453); } break; case 449: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ if ( se->localPart == 133 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceScope ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 452, 453); } break; case 455: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ if ( se->localPart == 130 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 443, 444); } break; case 456: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ if ( se->localPart == 71 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 457, 458); } break; case 460: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ if ( se->localPart == 134 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceTag ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 441, 442); } break; case 461: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ if ( se->localPart == 96 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 462, 444); } break; case 463: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ if ( se->localPart == 96 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 462, 444); } break; case 464: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 465, 58); } break; case 465: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ if ( se->localPart == 96 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 466, 444); } break; case 466: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ if ( se->localPart == 98 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceParameterList ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 467, 468); } break; case 468: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ if ( se->localPart == 95 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ParameterSet ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 469, 470); } break; case 469: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ if ( se->localPart == 95 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ParameterSet ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 469, 470); } break; case 470: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ if ( se->localPart == 96 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 471, 472); } break; case 471: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter)] */ if ( se->localPart == 94 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Parameter ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 473, 474); } break; case 473: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ if ( se->localPart == 94 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Parameter ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 473, 474); } break; case 476: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue)] */ if ( se->localPart == 149 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}boolValue ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 477, 29); } else if ( se->localPart == 150 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}byteValue ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 477, 478); } else if ( se->localPart == 177 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}shortValue ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 477, 480); } else if ( se->localPart == 162 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}intValue ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 477, 481); } else if ( se->localPart == 168 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}physicalValue ) */ return _exiEncodeStartElement(stream, 3, 4, state, se, 477, 10); } else if ( se->localPart == 181 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}stringValue ) */ return _exiEncodeStartElement(stream, 3, 5, state, se, 477, 483); } break; case 484: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue)] */ if ( se->localPart == 149 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}boolValue ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 477, 29); } else if ( se->localPart == 150 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}byteValue ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 477, 478); } else if ( se->localPart == 177 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}shortValue ) */ return _exiEncodeStartElement(stream, 3, 2, state, se, 477, 480); } else if ( se->localPart == 162 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}intValue ) */ return _exiEncodeStartElement(stream, 3, 3, state, se, 477, 481); } else if ( se->localPart == 168 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}physicalValue ) */ return _exiEncodeStartElement(stream, 3, 4, state, se, 477, 10); } else if ( se->localPart == 181 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}stringValue ) */ return _exiEncodeStartElement(stream, 3, 5, state, se, 477, 483); } break; case 485: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ if ( se->localPart == 96 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 471, 472); } break; case 486: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ if ( se->localPart == 95 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ParameterSet ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 469, 470); } break; case 487: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 465, 58); } break; case 488: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ if ( se->localPart == 103 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceScope ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 489, 453); } else if ( se->localPart == 87 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceCategory ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 490, 450); } break; case 489: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ if ( se->localPart == 87 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceCategory ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 490, 450); } break; case 491: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ if ( se->localPart == 103 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceScope ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 489, 453); } else if ( se->localPart == 87 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceCategory ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 490, 450); } break; case 492: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 493, 58); } break; case 493: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions)] */ if ( se->localPart == 69 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PaymentOptions ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 494, 495); } break; case 494: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ if ( se->localPart == 18 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargeService ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 500, 440); } break; case 495: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ if ( se->localPart == 99 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PaymentOption ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 496, 497); } break; case 496: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ if ( se->localPart == 99 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PaymentOption ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 496, 497); } break; case 499: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ if ( se->localPart == 99 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}PaymentOption ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 496, 497); } break; case 500: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ if ( se->localPart == 97 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceList ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 501, 502); } break; case 502: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ if ( se->localPart == 126 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Service ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 503, 504); } break; case 503: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ if ( se->localPart == 126 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Service ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 503, 504); } break; case 504: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ if ( se->localPart == 134 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceTag ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 505, 442); } break; case 505: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ if ( se->localPart == 76 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}FreeService ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 506, 29); } break; case 507: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ if ( se->localPart == 134 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceTag ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 505, 442); } break; case 508: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ if ( se->localPart == 126 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}Service ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 503, 504); } break; case 509: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 493, 58); } break; case 510: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ if ( se->localPart == 85 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 511, 497); } break; case 511: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList)] */ if ( se->localPart == 86 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SelectedServiceList ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 512, 513); } break; case 513: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ if ( se->localPart == 123 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SelectedService ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 514, 515); } break; case 514: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ if ( se->localPart == 123 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SelectedService ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 514, 515); } break; case 515: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ if ( se->localPart == 130 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 516, 444); } break; case 516: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), END_ELEMENT] */ if ( se->localPart == 96 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 517, 518); } break; case 519: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ if ( se->localPart == 130 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 516, 444); } break; case 520: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ if ( se->localPart == 123 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}SelectedService ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 514, 515); } break; case 521: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ if ( se->localPart == 85 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 511, 497); } break; case 522: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 523, 58); } break; case 524: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 523, 58); } break; case 525: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ if ( se->localPart == 40 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVCCID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 526, 527); } break; case 529: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ if ( se->localPart == 40 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVCCID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 526, 527); } break; case 530: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 531, 58); } break; case 531: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ if ( se->localPart == 46 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 532, 225); } break; case 532: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), END_ELEMENT] */ if ( se->localPart == 39 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DateTimeNow ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 533, 534); } break; case 535: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 531, 58); } break; case 538: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 539, 58); } break; case 540: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 539, 58); } break; case 541: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ if ( se->localPart == 52 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignedInfo ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 543, 544); } break; case 542: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ if ( se->localPart == 52 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignedInfo ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 543, 544); } break; case 543: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ if ( se->localPart == 50 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureValue ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 557, 558); } break; case 544: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ if ( se->localPart == 0 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 546, 70); } break; case 545: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ if ( se->localPart == 0 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 546, 70); } break; case 546: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ if ( se->localPart == 43 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureMethod ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 547, 548); } break; case 547: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ if ( se->localPart == 34 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Reference ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 555, 374); } break; case 549: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 11 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}HMACOutputLength ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 550, 551); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 550, 73); } break; case 550: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 550, 73); } break; case 553: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 11 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}HMACOutputLength ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 550, 551); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 550, 73); } break; case 554: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( se->localPart == 11 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}HMACOutputLength ) */ return _exiEncodeStartElement(stream, 3, 0, state, se, 550, 551); } else { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 550, 73); } break; case 555: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ if ( se->localPart == 34 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Reference ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 555, 374); } break; case 556: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ if ( se->localPart == 0 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 546, 70); } break; case 557: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ if ( se->localPart == 14 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}KeyInfo ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 562, 313); } else if ( se->localPart == 23 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Object ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 562, 395); } break; case 562: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ if ( se->localPart == 23 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Object ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 562, 395); } break; case 563: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ if ( se->localPart == 52 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignedInfo ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 543, 544); } break; case 564: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ if ( se->localPart == 47 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureProperty ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 566, 567); } break; case 565: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ if ( se->localPart == 47 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureProperty ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 566, 567); } break; case 566: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ if ( se->localPart == 47 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureProperty ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 566, 567); } break; case 569: /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 570, 73); } break; case 570: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 570, 73); } break; case 571: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 570, 73); } break; case 572: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 570, 73); } break; case 573: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ if ( se->localPart == 47 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}SignatureProperty ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 566, 567); } break; case 574: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ if ( se->localPart == 4 && se->namespaceURI == 7 ) { /* SE( {urn:iso:15118:2:2010:MsgDef}Header ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 575, 576); } break; case 575: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ if ( se->localPart == 0 && se->namespaceURI == 7 ) { /* SE( {urn:iso:15118:2:2010:MsgDef}Body ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 589, 590); } break; case 576: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ if ( se->localPart == 2 && se->namespaceURI == 8 ) { /* SE( {urn:iso:15118:2:2010:MsgHeader}SessionID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 577, 386); } break; case 577: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ if ( se->localPart == 1 && se->namespaceURI == 8 ) { /* SE( {urn:iso:15118:2:2010:MsgHeader}Notification ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 578, 579); } else if ( se->localPart == 42 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Signature ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 587, 541); } break; case 578: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ if ( se->localPart == 42 && se->namespaceURI == 4 ) { /* SE( {http://www.w3.org/2000/09/xmldsig#}Signature ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 587, 541); } break; case 579: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ if ( se->localPart == 74 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}FaultCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 580, 581); } break; case 580: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ if ( se->localPart == 75 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}FaultMsg ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 583, 584); } break; case 586: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ if ( se->localPart == 74 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}FaultCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 580, 581); } break; case 588: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ if ( se->localPart == 2 && se->namespaceURI == 8 ) { /* SE( {urn:iso:15118:2:2010:MsgHeader}SessionID ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 577, 386); } break; case 590: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), END_ELEMENT] */ if ( se->localPart == 2 && se->namespaceURI == 7 ) { /* SE( {urn:iso:15118:2:2010:MsgDef}BodyElement ) */ return _exiEncodeStartElement(stream, 6, 0, state, se, 591, 40); } else if ( se->localPart == 2 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CableCheckReq ) */ return _exiEncodeStartElement(stream, 6, 1, state, se, 591, 42); } else if ( se->localPart == 4 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CableCheckRes ) */ return _exiEncodeStartElement(stream, 6, 2, state, se, 591, 56); } else if ( se->localPart == 6 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq ) */ return _exiEncodeStartElement(stream, 6, 3, state, se, 591, 76); } else if ( se->localPart == 8 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes ) */ return _exiEncodeStartElement(stream, 6, 4, state, se, 591, 91); } else if ( se->localPart == 10 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq ) */ return _exiEncodeStartElement(stream, 6, 5, state, se, 591, 110); } else if ( se->localPart == 12 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes ) */ return _exiEncodeStartElement(stream, 6, 6, state, se, 591, 117); } else if ( se->localPart == 14 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq ) */ return _exiEncodeStartElement(stream, 6, 7, state, se, 591, 127); } else if ( se->localPart == 16 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes ) */ return _exiEncodeStartElement(stream, 6, 8, state, se, 591, 145); } else if ( se->localPart == 21 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingStatusReq ) */ return _exiEncodeStartElement(stream, 6, 9, state, se, 591, 220); } else if ( se->localPart == 23 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingStatusRes ) */ return _exiEncodeStartElement(stream, 6, 10, state, se, 591, 222); } else if ( se->localPart == 25 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq ) */ return _exiEncodeStartElement(stream, 6, 11, state, se, 591, 248); } else if ( se->localPart == 27 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes ) */ return _exiEncodeStartElement(stream, 6, 12, state, se, 591, 254); } else if ( se->localPart == 32 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CurrentDemandReq ) */ return _exiEncodeStartElement(stream, 6, 13, state, se, 591, 257); } else if ( se->localPart == 34 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CurrentDemandRes ) */ return _exiEncodeStartElement(stream, 6, 14, state, se, 591, 269); } else if ( se->localPart == 60 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq ) */ return _exiEncodeStartElement(stream, 6, 15, state, se, 591, 383); } else if ( se->localPart == 62 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes ) */ return _exiEncodeStartElement(stream, 6, 16, state, se, 591, 391); } else if ( se->localPart == 65 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq ) */ return _exiEncodeStartElement(stream, 6, 17, state, se, 591, 402); } else if ( se->localPart == 67 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes ) */ return _exiEncodeStartElement(stream, 6, 18, state, se, 591, 406); } else if ( se->localPart == 70 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq ) */ return _exiEncodeStartElement(stream, 6, 19, state, se, 591, 412); } else if ( se->localPart == 72 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes ) */ return _exiEncodeStartElement(stream, 6, 20, state, se, 591, 426); } else if ( se->localPart == 74 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PreChargeReq ) */ return _exiEncodeStartElement(stream, 6, 21, state, se, 591, 430); } else if ( se->localPart == 76 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PreChargeRes ) */ return _exiEncodeStartElement(stream, 6, 22, state, se, 591, 435); } else if ( se->localPart == 88 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDetailReq ) */ return _exiEncodeStartElement(stream, 6, 23, state, se, 591, 461); } else if ( se->localPart == 90 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDetailRes ) */ return _exiEncodeStartElement(stream, 6, 24, state, se, 591, 464); } else if ( se->localPart == 92 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq ) */ return _exiEncodeStartElement(stream, 6, 25, state, se, 591, 488); } else if ( se->localPart == 94 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes ) */ return _exiEncodeStartElement(stream, 6, 26, state, se, 591, 492); } else if ( se->localPart == 99 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq ) */ return _exiEncodeStartElement(stream, 6, 27, state, se, 591, 510); } else if ( se->localPart == 101 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes ) */ return _exiEncodeStartElement(stream, 6, 28, state, se, 591, 522); } else if ( se->localPart == 105 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionSetupReq ) */ return _exiEncodeStartElement(stream, 6, 29, state, se, 591, 525); } else if ( se->localPart == 107 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionSetupRes ) */ return _exiEncodeStartElement(stream, 6, 30, state, se, 591, 530); } else if ( se->localPart == 109 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionStopReq ) */ return _exiEncodeStartElement(stream, 6, 31, state, se, 591, 536); } else if ( se->localPart == 110 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionStopRes ) */ return _exiEncodeStartElement(stream, 6, 32, state, se, 591, 538); } else if ( se->localPart == 113 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq ) */ return _exiEncodeStartElement(stream, 6, 33, state, se, 591, 592); } else if ( se->localPart == 115 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes ) */ return _exiEncodeStartElement(stream, 6, 34, state, se, 591, 595); } break; case 592: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ if ( se->localPart == 37 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 593, 44); } break; case 594: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ if ( se->localPart == 37 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 593, 44); } break; case 595: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 596, 58); } break; case 596: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ if ( se->localPart == 36 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 597, 61); } break; case 597: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ if ( se->localPart == 53 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 598, 10); } break; case 599: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ if ( se->localPart == 82 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ResponseCode ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 596, 58); } break; case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), END_ELEMENT] */ if ( se->localPart == 2 && se->namespaceURI == 7 ) { /* SE( {urn:iso:15118:2:2010:MsgDef}BodyElement ) */ return _exiEncodeStartElement(stream, 6, 0, state, se, 591, 40); } else if ( se->localPart == 2 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CableCheckReq ) */ return _exiEncodeStartElement(stream, 6, 1, state, se, 591, 42); } else if ( se->localPart == 4 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CableCheckRes ) */ return _exiEncodeStartElement(stream, 6, 2, state, se, 591, 56); } else if ( se->localPart == 6 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq ) */ return _exiEncodeStartElement(stream, 6, 3, state, se, 591, 76); } else if ( se->localPart == 8 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes ) */ return _exiEncodeStartElement(stream, 6, 4, state, se, 591, 91); } else if ( se->localPart == 10 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq ) */ return _exiEncodeStartElement(stream, 6, 5, state, se, 591, 110); } else if ( se->localPart == 12 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes ) */ return _exiEncodeStartElement(stream, 6, 6, state, se, 591, 117); } else if ( se->localPart == 14 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq ) */ return _exiEncodeStartElement(stream, 6, 7, state, se, 591, 127); } else if ( se->localPart == 16 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes ) */ return _exiEncodeStartElement(stream, 6, 8, state, se, 591, 145); } else if ( se->localPart == 21 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingStatusReq ) */ return _exiEncodeStartElement(stream, 6, 9, state, se, 591, 220); } else if ( se->localPart == 23 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ChargingStatusRes ) */ return _exiEncodeStartElement(stream, 6, 10, state, se, 591, 222); } else if ( se->localPart == 25 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq ) */ return _exiEncodeStartElement(stream, 6, 11, state, se, 591, 248); } else if ( se->localPart == 27 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes ) */ return _exiEncodeStartElement(stream, 6, 12, state, se, 591, 254); } else if ( se->localPart == 32 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CurrentDemandReq ) */ return _exiEncodeStartElement(stream, 6, 13, state, se, 591, 257); } else if ( se->localPart == 34 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}CurrentDemandRes ) */ return _exiEncodeStartElement(stream, 6, 14, state, se, 591, 269); } else if ( se->localPart == 60 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq ) */ return _exiEncodeStartElement(stream, 6, 15, state, se, 591, 383); } else if ( se->localPart == 62 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes ) */ return _exiEncodeStartElement(stream, 6, 16, state, se, 591, 391); } else if ( se->localPart == 65 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq ) */ return _exiEncodeStartElement(stream, 6, 17, state, se, 591, 402); } else if ( se->localPart == 67 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes ) */ return _exiEncodeStartElement(stream, 6, 18, state, se, 591, 406); } else if ( se->localPart == 70 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq ) */ return _exiEncodeStartElement(stream, 6, 19, state, se, 591, 412); } else if ( se->localPart == 72 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes ) */ return _exiEncodeStartElement(stream, 6, 20, state, se, 591, 426); } else if ( se->localPart == 74 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PreChargeReq ) */ return _exiEncodeStartElement(stream, 6, 21, state, se, 591, 430); } else if ( se->localPart == 76 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}PreChargeRes ) */ return _exiEncodeStartElement(stream, 6, 22, state, se, 591, 435); } else if ( se->localPart == 88 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDetailReq ) */ return _exiEncodeStartElement(stream, 6, 23, state, se, 591, 461); } else if ( se->localPart == 90 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDetailRes ) */ return _exiEncodeStartElement(stream, 6, 24, state, se, 591, 464); } else if ( se->localPart == 92 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq ) */ return _exiEncodeStartElement(stream, 6, 25, state, se, 591, 488); } else if ( se->localPart == 94 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes ) */ return _exiEncodeStartElement(stream, 6, 26, state, se, 591, 492); } else if ( se->localPart == 99 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq ) */ return _exiEncodeStartElement(stream, 6, 27, state, se, 591, 510); } else if ( se->localPart == 101 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes ) */ return _exiEncodeStartElement(stream, 6, 28, state, se, 591, 522); } else if ( se->localPart == 105 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionSetupReq ) */ return _exiEncodeStartElement(stream, 6, 29, state, se, 591, 525); } else if ( se->localPart == 107 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionSetupRes ) */ return _exiEncodeStartElement(stream, 6, 30, state, se, 591, 530); } else if ( se->localPart == 109 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionStopReq ) */ return _exiEncodeStartElement(stream, 6, 31, state, se, 591, 536); } else if ( se->localPart == 110 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}SessionStopRes ) */ return _exiEncodeStartElement(stream, 6, 32, state, se, 591, 538); } else if ( se->localPart == 113 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq ) */ return _exiEncodeStartElement(stream, 6, 33, state, se, 591, 592); } else if ( se->localPart == 115 && se->namespaceURI == 5 ) { /* SE( {urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes ) */ return _exiEncodeStartElement(stream, 6, 34, state, se, 591, 595); } break; case 601: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ if ( se->localPart == 4 && se->namespaceURI == 7 ) { /* SE( {urn:iso:15118:2:2010:MsgDef}Header ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 575, 576); } break; case 602: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 602, 73); } break; case 627: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 3, 1, state, se, 628, 73); } break; case 628: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ { /* SE( null ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 628, 73); } break; case 688: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ if ( se->localPart == 106 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval ) */ return _exiEncodeStartElement(stream, 2, 0, state, se, 311, 160); } else if ( se->localPart == 144 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}TimeInterval ) */ return _exiEncodeStartElement(stream, 2, 1, state, se, 311, 169); } break; case 691: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ if ( se->localPart == 134 && se->namespaceURI == 6 ) { /* SE( {urn:iso:15118:2:2010:MsgDataTypes}ServiceTag ) */ return _exiEncodeStartElement(stream, 1, 0, state, se, 505, 442); } break; default: return EXI_ERROR_UNEXPECTED_START_ELEMENT; } return EXI_ERROR_UNEXPECTED_START_ELEMENT; } /* Look first for qualified name */ int exiEncodeStartElementGeneric(bitstream_t* stream, exi_state_t* state, string_ascii_t* namespaceURI , string_ascii_t* localName) { int errn = -1; return errn; } static int _exiEncodeEndElementUndeclared(bitstream_t* stream, exi_state_t* state) { int16_t currentID = state->grammarStack[state->stackIndex]; switch (currentID) { case 7: /* Element[] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 0, 0); encodeNBitUnsignedInteger(stream, 2, 0); return 0; case 376: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 286: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 3, 0); return 0; case 265: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 228: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ case 210: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ case 68: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 571: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 262: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 199: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 282: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ case 206: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ case 46: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ case 385: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ case 381: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 134: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ case 171: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 312: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 572: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 290: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ case 11: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ case 362: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ case 176: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 2, 2); encodeNBitUnsignedInteger(stream, 2, 0); return 0; case 476: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue)] */ case 340: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 3, 6); encodeNBitUnsignedInteger(stream, 3, 0); return 0; case 158: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 544: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 61: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 688: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 569: /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 110: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 558: /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ case 567: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ case 564: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 371: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 76: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ case 184: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 355: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ case 377: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 541: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 310: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 383: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 2, 2); encodeNBitUnsignedInteger(stream, 3, 0); return 0; case 164: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 49: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 372: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 584: /* FirstStartTag[CHARACTERS[STRING]] */ case 187: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ case 568: /* StartTag[ATTRIBUTE[STRING](Target)] */ case 391: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 662: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 79: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 670: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 651: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 150: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 236: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 645: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 515: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 77: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ case 613: /* FirstStartTag[CHARACTERS[STRING]] */ case 18: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 27: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ case 192: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 332: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 603: /* FirstStartTag[CHARACTERS[LIST]] */ case 12: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 617: /* FirstStartTag[CHARACTERS[LIST]] */ case 527: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 242: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 480: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 418: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ case 25: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ case 98: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 88: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 103: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 621: /* FirstStartTag[CHARACTERS[STRING]] */ case 534: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 174: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 167: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 504: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 653: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 666: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 637: /* FirstStartTag[CHARACTERS[DECIMAL]] */ case 576: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ case 155: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ case 148: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ case 353: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 363: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ case 63: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 368: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 530: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 545: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 464: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 330: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ case 674: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 239: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 29: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ case 542: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 189: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 672: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 95: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 3: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ case 631: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 641: /* FirstStartTag[CHARACTERS[STRING]] */ case 91: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 152: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 673: /* FirstStartTag[CHARACTERS[STRING]] */ case 281: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 384: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ case 430: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 361: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 658: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 579: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ case 406: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 619: /* FirstStartTag[CHARACTERS[STRING]] */ case 288: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 129: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 297: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 461: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 117: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 160: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ case 230: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ case 538: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 478: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 442: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 609: /* FirstStartTag[CHARACTERS[STRING]] */ case 458: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 581: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 412: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ case 607: /* FirstStartTag[CHARACTERS[STRING]] */ case 402: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 513: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ case 502: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ case 574: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ case 410: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 615: /* FirstStartTag[CHARACTERS[STRING]] */ case 565: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 551: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 560: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 125: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 692: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 655: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 525: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ case 639: /* FirstStartTag[CHARACTERS[FLOAT]] */ case 470: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ case 232: /* FirstStartTag[CHARACTERS[STRING]] */ case 522: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 190: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ case 632: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 450: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 195: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 444: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 10: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ case 178: /* FirstStartTag[CHARACTERS[STRING]] */ case 386: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 346: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 659: /* FirstStartTag[CHARACTERS[STRING]] */ case 657: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 248: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 472: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 118: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 679: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 357: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 415: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 678: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 92: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 595: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 661: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 453: /* FirstStartTag[CHARACTERS[STRING]] */ case 481: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 84: /* FirstStartTag[CHARACTERS[STRING]] */ case 435: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 611: /* FirstStartTag[CHARACTERS[LIST]] */ case 676: /* FirstStartTag[CHARACTERS[STRING]] */ case 548: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 559: /* StartTag[CHARACTERS[BINARY_BASE64]] */ case 691: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 342: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ case 249: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ case 643: /* FirstStartTag[CHARACTERS[FLOAT]] */ case 251: /* FirstStartTag[CHARACTERS[STRING]] */ case 344: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 349: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 145: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 15: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 33: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 483: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 352: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 623: /* FirstStartTag[CHARACTERS[STRING]] */ case 495: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ case 420: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 649: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 132: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 605: /* FirstStartTag[CHARACTERS[STRING]] */ case 320: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ case 592: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 175: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ case 625: /* FirstStartTag[CHARACTERS[STRING]] */ case 42: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 518: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 66: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 497: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 447: /* FirstStartTag[CHARACTERS[STRING]] */ case 492: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 127: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ case 269: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 629: /* FirstStartTag[CHARACTERS[STRING]] */ case 107: /* FirstStartTag[CHARACTERS[STRING]] */ case 70: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 56: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 225: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 181: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 351: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 668: /* FirstStartTag[CHARACTERS[STRING]] */ case 664: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 52: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 257: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 254: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 162: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 82: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ case 475: /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ case 468: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ case 633: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 647: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 365: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 426: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 440: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 44: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ case 302: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 359: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 510: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ case 204: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ case 111: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 222: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 335: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 58: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 316: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 635: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 5: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 474: /* FirstStartTag[ATTRIBUTE[STRING](Name)] */ case 681: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 0); return 0; case 370: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 369: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 4, 9); encodeNBitUnsignedInteger(stream, 2, 0); return 0; case 314: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 4, 9); encodeNBitUnsignedInteger(stream, 3, 0); return 0; case 354: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ case 484: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 3, 6); encodeNBitUnsignedInteger(stream, 2, 0); return 0; case 324: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 260: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 325: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 224: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 2, 0); return 0; case 374: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 3, 5); encodeNBitUnsignedInteger(stream, 3, 0); return 0; case 313: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 4, 10); encodeNBitUnsignedInteger(stream, 3, 0); return 0; case 375: /* StartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 318: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 3, 0); return 0; case 159: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ case 367: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ case 434: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 482: /* Element[CHARACTERS[INTEGER]] */ case 614: /* Element[CHARACTERS[STRING]] */ case 350: /* Element[CHARACTERS[BINARY_BASE64]] */ case 640: /* Element[CHARACTERS[FLOAT]] */ case 9: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ case 202: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ case 122: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 620: /* Element[CHARACTERS[STRING]] */ case 682: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 423: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 531: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ case 317: /* Element[CHARACTERS[STRING]] */ case 408: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ case 552: /* Element[CHARACTERS[INTEGER]] */ case 520: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ case 201: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 209: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ case 237: /* Element[CHARACTERS[BINARY_BASE64]] */ case 28: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ case 275: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved)] */ case 528: /* Element[CHARACTERS[BINARY_HEX]] */ case 431: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 669: /* Element[CHARACTERS[STRING]] */ case 675: /* Element[CHARACTERS[DATETIME]] */ case 636: /* Element[CHARACTERS[DATETIME]] */ case 274: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved)] */ case 104: /* Element[CHARACTERS[BINARY_BASE64]] */ case 648: /* Element[CHARACTERS[DATETIME]] */ case 126: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 379: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ case 494: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ case 121: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 601: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ case 493: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions)] */ case 283: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ case 81: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 456: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ case 105: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 54: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ case 459: /* Element[CHARACTERS[ENUMERATION]] */ case 509: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 604: /* Element[CHARACTERS[LIST]] */ case 612: /* Element[CHARACTERS[LIST]] */ case 343: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ case 660: /* Element[CHARACTERS[STRING]] */ case 425: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ case 626: /* Element[CHARACTERS[STRING]] */ case 287: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ case 31: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ShutDownTime)] */ case 207: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ case 116: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 519: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 465: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 441: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ case 671: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 109: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 219: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 499: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ case 388: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ case 403: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 39: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ case 69: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 667: /* Element[CHARACTERS[INTEGER]] */ case 460: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 16: /* Element[CHARACTERS[ENUMERATION]] */ case 392: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ case 608: /* Element[CHARACTERS[STRING]] */ case 582: /* Element[CHARACTERS[ENUMERATION]] */ case 597: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 120: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ case 151: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ case 268: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 644: /* Element[CHARACTERS[FLOAT]] */ case 654: /* Element[CHARACTERS[DATETIME]] */ case 182: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 57: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 511: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList)] */ case 405: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 291: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ case 24: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ case 59: /* Element[CHARACTERS[ENUMERATION]] */ case 26: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ case 80: /* Element[CHARACTERS[BINARY_BASE64]] */ case 36: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ case 540: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 78: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ case 180: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ case 89: /* Element[CHARACTERS[BINARY_BASE64]] */ case 535: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 198: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ case 529: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ case 4: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ case 263: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 507: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 197: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ case 390: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ case 48: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC)] */ case 240: /* Element[CHARACTERS[INTEGER]] */ case 191: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount)] */ case 416: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ case 113: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ case 94: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ case 93: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 323: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ case 616: /* Element[CHARACTERS[STRING]] */ case 270: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 422: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ case 665: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 223: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ case 463: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 543: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ case 303: /* Element[CHARACTERS[BINARY_BASE64]] */ case 634: /* Element[CHARACTERS[DATETIME]] */ case 208: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ case 85: /* Element[CHARACTERS[STRING]] */ case 179: /* Element[CHARACTERS[STRING]] */ case 30: /* Element[CHARACTERS[BOOLEAN]] */ case 471: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter)] */ case 638: /* Element[CHARACTERS[DECIMAL]] */ case 594: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 144: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ case 205: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ case 563: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 20: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ case 177: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ case 606: /* Element[CHARACTERS[STRING]] */ case 130: /* Element[CHARACTERS[ENUMERATION]] */ case 508: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ case 243: /* Element[CHARACTERS[INTEGER]] */ case 123: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ case 19: /* Element[CHARACTERS[INTEGER]] */ case 622: /* Element[CHARACTERS[STRING]] */ case 382: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 256: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 86: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ case 229: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ case 445: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 258: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ case 226: /* Element[CHARACTERS[BINARY_HEX]] */ case 618: /* Element[CHARACTERS[LIST]] */ case 289: /* Element[CHARACTERS[BINARY_BASE64]] */ case 646: /* Element[CHARACTERS[DATETIME]] */ case 448: /* Element[CHARACTERS[STRING]] */ case 294: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ case 112: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 114: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 347: /* Element[CHARACTERS[INTEGER]] */ case 90: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ case 677: /* Element[CHARACTERS[STRING]] */ case 642: /* Element[CHARACTERS[STRING]] */ case 266: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 14: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ case 610: /* Element[CHARACTERS[STRING]] */ case 596: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 407: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ case 37: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ case 585: /* Element[CHARACTERS[STRING]] */ case 479: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 141: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 53: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 8: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 62: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 394: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 650: /* Element[CHARACTERS[DATETIME]] */ case 338: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ case 214: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ case 436: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 321: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ case 32: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}StopCharging)] */ case 135: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ case 245: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ case 101: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 211: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ case 680: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 156: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ case 119: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 233: /* Element[CHARACTERS[STRING]] */ case 253: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ case 486: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ case 67: /* Element[CHARACTERS[ENUMERATION]] */ case 153: /* Element[CHARACTERS[INTEGER]] */ case 419: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ case 437: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 411: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 271: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 432: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ case 387: /* Element[CHARACTERS[BINARY_HEX]] */ case 272: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ case 624: /* Element[CHARACTERS[STRING]] */ case 455: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 656: /* Element[CHARACTERS[BINARY_HEX]] */ case 546: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ case 547: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 50: /* Element[CHARACTERS[ENUMERATION]] */ case 273: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved)] */ case 652: /* Element[CHARACTERS[DATETIME]] */ case 556: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 599: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 64: /* Element[CHARACTERS[ENUMERATION]] */ case 35: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ case 22: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ case 168: /* Element[CHARACTERS[INTEGER]] */ case 252: /* Element[CHARACTERS[STRING]] */ case 47: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ case 165: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ case 498: /* Element[CHARACTERS[ENUMERATION]] */ case 108: /* Element[CHARACTERS[STRING]] */ case 102: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 586: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ case 487: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 485: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ case 429: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 505: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ case 172: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ case 378: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 133: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ case 244: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ case 663: /* Element[CHARACTERS[INTEGER]] */ case 524: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 13: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 693: /* Element[CHARACTERS[ENUMERATION]] */ case 285: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 630: /* Element[CHARACTERS[STRING]] */ case 454: /* Element[CHARACTERS[STRING]] */ case 100: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 21: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ case 185: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ case 193: /* Element[CHARACTERS[ENUMERATION]] */ case 280: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 521: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ case 439: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 451: /* Element[CHARACTERS[ENUMERATION]] */ case 575: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ case 561: /* Element[CHARACTERS[BINARY_BASE64]] */ case 55: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 573: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 200: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ case 348: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ case 588: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ case 247: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 0); return 0; case 259: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 146: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 3, 5); encodeNBitUnsignedInteger(stream, 2, 0); return 0; case 45: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ case 427: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus)] */ case 264: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 128: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter)] */ case 261: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 296: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ case 227: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ case 147: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter)] */ /* 1st level and 2nd level event code */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 2, 0); return 0; } return EXI_ERROR_UNEXPECTED_END_ELEMENT; } int exiEncodeEndElement(bitstream_t* stream, exi_state_t* state) { int errn = 0; int16_t currentID = state->grammarStack[state->stackIndex]; switch (currentID) { case 315: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 4, 8); break; case 341: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC, END_ELEMENT] */ errn = encodeNBitUnsignedInteger(stream, 3, 6); break; case 334: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 333: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 336: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 337: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 397: /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 549: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 553: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 554: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 73: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 627: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 3, 2); break; case 72: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 71: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 74: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 75: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 83: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ case 99: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ case 96: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ case 139: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ case 161: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), END_ELEMENT] */ case 157: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ case 194: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), END_ELEMENT] */ case 188: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ case 186: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ case 183: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ case 154: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ case 149: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ case 212: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ case 238: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ case 278: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ case 293: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ case 299: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 298: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 300: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 301: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 331: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ case 328: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ case 339: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ case 358: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ case 360: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ case 366: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ case 373: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ case 399: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 398: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 400: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 401: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 417: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ case 449: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ case 473: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ case 469: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ case 466: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ case 489: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 496: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ case 503: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ case 500: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ case 516: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), END_ELEMENT] */ case 514: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ case 532: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), END_ELEMENT] */ case 550: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 555: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ case 562: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ case 570: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 566: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ case 580: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ case 578: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ case 602: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 628: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 2, 1); break; case 6: /* Element[END_ELEMENT] */ case 17: /* Element[END_ELEMENT] */ case 23: /* Element[END_ELEMENT] */ case 34: /* Element[END_ELEMENT] */ case 38: /* Element[END_ELEMENT] */ case 40: /* First(xsi:type)StartTag[END_ELEMENT] */ case 41: /* Element[END_ELEMENT] */ case 51: /* Element[END_ELEMENT] */ case 43: /* Element[END_ELEMENT] */ case 65: /* Element[END_ELEMENT] */ case 60: /* Element[END_ELEMENT] */ case 87: /* Element[END_ELEMENT] */ case 97: /* Element[END_ELEMENT] */ case 106: /* Element[END_ELEMENT] */ case 115: /* Element[END_ELEMENT] */ case 124: /* Element[END_ELEMENT] */ case 131: /* Element[END_ELEMENT] */ case 140: /* Element[END_ELEMENT] */ case 142: /* First(xsi:type)StartTag[END_ELEMENT] */ case 143: /* Element[END_ELEMENT] */ case 163: /* Element[END_ELEMENT] */ case 166: /* Element[END_ELEMENT] */ case 169: /* First(xsi:type)StartTag[END_ELEMENT] */ case 170: /* Element[END_ELEMENT] */ case 196: /* Element[END_ELEMENT] */ case 173: /* Element[END_ELEMENT] */ case 203: /* Element[END_ELEMENT] */ case 213: /* Element[END_ELEMENT] */ case 215: /* First(xsi:type)StartTag[END_ELEMENT] */ case 216: /* Element[END_ELEMENT] */ case 217: /* First(xsi:type)StartTag[END_ELEMENT] */ case 218: /* Element[END_ELEMENT] */ case 220: /* FirstStartTag[END_ELEMENT] */ case 221: /* Element[END_ELEMENT] */ case 241: /* Element[END_ELEMENT] */ case 246: /* Element[END_ELEMENT] */ case 250: /* Element[END_ELEMENT] */ case 255: /* Element[END_ELEMENT] */ case 267: /* Element[END_ELEMENT] */ case 279: /* Element[END_ELEMENT] */ case 284: /* Element[END_ELEMENT] */ case 295: /* Element[END_ELEMENT] */ case 304: /* First(xsi:type)StartTag[END_ELEMENT] */ case 305: /* Element[END_ELEMENT] */ case 306: /* First(xsi:type)StartTag[END_ELEMENT] */ case 307: /* Element[END_ELEMENT] */ case 308: /* First(xsi:type)StartTag[END_ELEMENT] */ case 309: /* Element[END_ELEMENT] */ case 311: /* Element[END_ELEMENT] */ case 322: /* Element[END_ELEMENT] */ case 329: /* Element[END_ELEMENT] */ case 345: /* Element[END_ELEMENT] */ case 380: /* Element[END_ELEMENT] */ case 389: /* Element[END_ELEMENT] */ case 393: /* Element[END_ELEMENT] */ case 404: /* Element[END_ELEMENT] */ case 409: /* Element[END_ELEMENT] */ case 421: /* Element[END_ELEMENT] */ case 424: /* Element[END_ELEMENT] */ case 428: /* Element[END_ELEMENT] */ case 433: /* Element[END_ELEMENT] */ case 438: /* Element[END_ELEMENT] */ case 452: /* Element[END_ELEMENT] */ case 457: /* Element[END_ELEMENT] */ case 462: /* Element[END_ELEMENT] */ case 477: /* Element[END_ELEMENT] */ case 467: /* Element[END_ELEMENT] */ case 490: /* Element[END_ELEMENT] */ case 506: /* Element[END_ELEMENT] */ case 501: /* Element[END_ELEMENT] */ case 517: /* Element[END_ELEMENT] */ case 512: /* Element[END_ELEMENT] */ case 523: /* Element[END_ELEMENT] */ case 526: /* Element[END_ELEMENT] */ case 533: /* Element[END_ELEMENT] */ case 536: /* FirstStartTag[END_ELEMENT] */ case 537: /* Element[END_ELEMENT] */ case 539: /* Element[END_ELEMENT] */ case 583: /* Element[END_ELEMENT] */ case 587: /* Element[END_ELEMENT] */ case 591: /* Element[END_ELEMENT] */ case 593: /* Element[END_ELEMENT] */ case 598: /* Element[END_ELEMENT] */ case 589: /* Element[END_ELEMENT] */ case 683: /* FirstStartTag[END_ELEMENT] */ case 684: /* FirstStartTag[END_ELEMENT] */ case 685: /* FirstStartTag[END_ELEMENT] */ case 686: /* FirstStartTag[END_ELEMENT] */ case 687: /* FirstStartTag[END_ELEMENT] */ case 689: /* FirstStartTag[END_ELEMENT] */ case 690: /* FirstStartTag[END_ELEMENT] */ case 694: /* FirstStartTag[END_ELEMENT] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); break; case 590: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), END_ELEMENT] */ case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), END_ELEMENT] */ errn = encodeNBitUnsignedInteger(stream, 6, 35); break; case 137: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ case 234: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ case 276: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ case 326: /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ case 396: /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 413: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ case 443: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ errn = encodeNBitUnsignedInteger(stream, 3, 3); break; case 319: /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 2, 0); break; case 138: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ case 235: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ case 277: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ case 292: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ case 327: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ case 356: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ case 364: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ case 414: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ case 446: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ case 488: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 491: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 557: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ case 577: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ errn = encodeNBitUnsignedInteger(stream, 2, 2); break; case 136: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ case 231: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ case 395: /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 3, 4); break; default: if (currentID < 0) { /* runtime grammars */ return -1; } else { errn = _exiEncodeEndElementUndeclared(stream, state); if (errn < 0) { return errn; } } /* return EXI_ERROR_UNEXPECTED_END_ELEMENT; */ } if (errn < 0) { return errn; } /* pop item */ return exiPopStack(state); } static int _exiValueToString(exi_value_t* val) { if (val->type == EXI_DATATYPE_STRING) { return 0; } else { /* TODO convert typed value to string */ return EXI_ERROR_CONVERSION_TYPE_TO_STRING; } } int exiEncodeCharacters(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { int errn; int16_t currentID = state->grammarStack[state->stackIndex]; switch (currentID) { case 627: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 628; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 3, 5); } break; case 333: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 336; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 2, 3); } break; case 634: case 636: case 646: case 648: case 650: case 652: case 654: case 675: /* Element[CHARACTERS[DATETIME]] */ if (val->type == EXI_DATATYPE_DATETIME) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeDateTime(stream, &val->datetime); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 399: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 399; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 318: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 324; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 71: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 74; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 2, 3); } break; case 571: case 572: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 1); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 571; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 2); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 74: case 75: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 74; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 400: case 401: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 400; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 569: /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 1); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 571; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 2); encodeNBitUnsignedInteger(stream, 3, 4); } break; case 334: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 334; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 64: case 193: case 451: case 582: /* Element[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 2, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 444: case 664: case 670: case 678: case 679: case 681: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeUnsignedInteger(stream, &val->integer); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 72: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 72; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 628: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 628; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 638: /* Element[CHARACTERS[DECIMAL]] */ if (val->type == EXI_DATATYPE_DECIMAL) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeDecimal(stream, &val->decimal); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 395: /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 5); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 400; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 6); encodeNBitUnsignedInteger(stream, 3, 5); } break; case 13: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 3, -3); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 316: case 335: case 344: case 351: case 368: case 483: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 15: case 49: case 66: case 458: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 4, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 640: case 644: /* Element[CHARACTERS[FLOAT]] */ if (val->type == EXI_DATATYPE_FLOAT) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeFloat(stream, &val->float_me); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 396: /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 4); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 400; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 5); encodeNBitUnsignedInteger(stream, 2, 3); } break; case 73: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 602; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 3, 5); } break; case 549: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 553; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 2, 3); } break; case 298: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 300; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 2, 3); } break; case 349: case 352: case 353: case 357: case 359: case 361: case 365: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ if (val->type == EXI_DATATYPE_BINARY_BASE64) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeBinary(stream, &val->binary); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 53: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 7, 0); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 570: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 570; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 12: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 3, -3); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 558: /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ if (val->type == EXI_DATATYPE_BINARY_BASE64) { encodeNBitUnsignedInteger(stream, 2, 1); errn = encodeBinary(stream, &val->binary); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 2); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 553: case 554: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 553; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 19: case 153: case 168: case 240: case 243: case 347: case 482: case 552: case 663: case 667: /* Element[CHARACTERS[INTEGER]] */ if (val->type == EXI_DATATYPE_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeInteger(stream, &val->integer); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 300: case 301: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 300; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 79: case 88: case 103: case 236: case 288: case 302: case 560: case 631: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ if (val->type == EXI_DATATYPE_BINARY_BASE64) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeBinary(stream, &val->binary); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 152: case 167: case 239: case 551: case 657: case 658: case 661: case 662: case 666: case 672: /* FirstStartTag[CHARACTERS[INTEGER]] */ if (val->type == EXI_DATATYPE_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeInteger(stream, &val->integer); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 398: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 400; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 2, 3); } break; case 85: case 108: case 179: case 233: case 252: case 317: case 448: case 454: case 585: case 606: case 608: case 610: case 614: case 616: case 620: case 622: case 624: case 626: case 630: case 642: case 660: case 669: case 677: /* Element[CHARACTERS[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 129: case 692: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 3, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 637: /* FirstStartTag[CHARACTERS[DECIMAL]] */ if (val->type == EXI_DATATYPE_DECIMAL) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeDecimal(stream, &val->decimal); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 8: case 445: case 665: case 671: case 680: case 682: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeUnsignedInteger(stream, &val->integer); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 479: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 8, -128); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 63: case 192: case 450: case 581: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 2, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 80: case 89: case 104: case 237: case 289: case 303: case 350: case 561: /* Element[CHARACTERS[BINARY_BASE64]] */ if (val->type == EXI_DATATYPE_BINARY_BASE64) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeBinary(stream, &val->binary); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 84: case 107: case 178: case 232: case 251: case 447: case 453: case 584: case 605: case 607: case 609: case 613: case 615: case 619: case 621: case 623: case 625: case 629: case 641: case 659: case 668: case 673: case 676: /* FirstStartTag[CHARACTERS[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 314: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 4, 8); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 369; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 4, 9); encodeNBitUnsignedInteger(stream, 3, 4); } break; case 18: case 125: case 242: case 346: case 410: case 472: case 480: case 481: case 518: case 534: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ if (val->type == EXI_DATATYPE_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeInteger(stream, &val->integer); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 58: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 5, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 226: case 387: case 528: case 656: /* Element[CHARACTERS[BINARY_HEX]] */ if (val->type == EXI_DATATYPE_BINARY_HEX) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeBinary(stream, &val->binary); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 369: case 370: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 4, 8); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 369; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 4, 9); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 319: /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 1); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 319; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 2); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 498: /* Element[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 315: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 4, 9); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 315; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 4, 10); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 52: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 7, 0); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 602: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 602; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 29: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ if (val->type == EXI_DATATYPE_BOOLEAN) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeBoolean(stream, val->boolean); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 478: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 8, -128); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 16: case 50: case 67: case 459: /* Element[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 4, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 633: case 635: case 645: case 647: case 649: case 651: case 653: case 674: /* FirstStartTag[CHARACTERS[DATETIME]] */ if (val->type == EXI_DATATYPE_DATETIME) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeDateTime(stream, &val->datetime); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 604: case 612: case 618: /* Element[CHARACTERS[LIST]] */ if (val->type == EXI_DATATYPE_LIST) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeUnsignedInteger32(stream, val->list.len); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 336: case 337: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 336; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 313: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 4, 9); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 369; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 4, 10); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 639: case 643: /* FirstStartTag[CHARACTERS[FLOAT]] */ if (val->type == EXI_DATATYPE_FLOAT) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeFloat(stream, &val->float_me); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 603: case 611: case 617: /* FirstStartTag[CHARACTERS[LIST]] */ if (val->type == EXI_DATATYPE_LIST) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeUnsignedInteger32(stream, val->list.len); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 550: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 550; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 497: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 559: /* StartTag[CHARACTERS[BINARY_BASE64]] */ if (val->type == EXI_DATATYPE_BINARY_BASE64) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeBinary(stream, &val->binary); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 4); } break; case 182: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 8, 0); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 181: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 8, 0); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 59: /* Element[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 5, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 225: case 386: case 527: case 655: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ if (val->type == EXI_DATATYPE_BINARY_HEX) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeBinary(stream, &val->binary); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 299: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 299; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 2, 3); encodeNBitUnsignedInteger(stream, 1, 1); } break; case 5: case 33: case 162: case 164: case 189: case 195: case 420: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeUnsignedInteger(stream, &val->integer); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 397: /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 400; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 2, 3); } break; case 632: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ if (val->type == EXI_DATATYPE_NBIT_UNSIGNED_INTEGER) { encodeNBitUnsignedInteger(stream, 1, 0); errn = _encodeNBitIntegerValue(stream, &val->integer, 8, -128); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 3, 6); } break; case 30: /* Element[CHARACTERS[BOOLEAN]] */ if (val->type == EXI_DATATYPE_BOOLEAN) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeBoolean(stream, val->boolean); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 324: case 325: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if (val->type == EXI_DATATYPE_STRING) { encodeNBitUnsignedInteger(stream, 3, 3); errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 324; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 3, 4); encodeNBitUnsignedInteger(stream, 2, 2); } break; case 130: case 693: /* Element[CHARACTERS[ENUMERATION]] */ if (val->type == EXI_DATATYPE_ENUMERATION) { encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 3, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 6; return 0; } else { /* deviant characters */ encodeNBitUnsignedInteger(stream, 1, 1); encodeNBitUnsignedInteger(stream, 2, 2); } break; default: return EXI_ERROR_UNEXPECTED_CHARACTERS; } if (currentID < 0) { /* runtime rules */ return -1; } else { /* convert typed value to string for EXI encoding */ errn = _exiValueToString(val); if (errn) { return errn; } /* undeclared CH event code already written */ /* encode deviant value */ errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move to element content rule if not already */ errn = exiMoveToElementContentRule( state); } return errn; } int exiEncodeAttribute(bitstream_t* stream, exi_state_t* state, eqname_t* at, exi_value_t* val) { int16_t currentID = state->grammarStack[state->stackIndex]; switch (currentID) { case 70: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ if ( at->localPart == 0 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 71; return 0; } } break; case 76: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 77; return 0; } } break; case 91: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 92; return 0; } } break; case 110: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 111; return 0; } } break; case 117: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 118; return 0; } } break; case 174: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 175; return 0; } } break; case 248: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 249; return 0; } } break; case 297: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ if ( at->localPart == 0 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 298; return 0; } } break; case 313: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 4, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 314; return 0; } } break; case 326: /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ if ( at->localPart == 6 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 327; return 0; } } else if ( at->localPart == 7 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 1); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 328; return 0; } } break; case 327: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ if ( at->localPart == 7 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 328; return 0; } } break; case 332: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ if ( at->localPart == 0 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 333; return 0; } } break; case 371: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 372; return 0; } } break; case 374: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 375; return 0; } } else if ( at->localPart == 6 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 1); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 376; return 0; } } else if ( at->localPart == 7 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 2); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 377; return 0; } } break; case 375: /* StartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( at->localPart == 6 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 376; return 0; } } else if ( at->localPart == 7 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 1); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 377; return 0; } } break; case 376: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ if ( at->localPart == 7 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 377; return 0; } } break; case 383: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 384; return 0; } } break; case 395: /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( at->localPart == 1 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 396; return 0; } } else if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 1); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 397; return 0; } } else if ( at->localPart == 3 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 2); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 398; return 0; } } break; case 396: /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 397; return 0; } } else if ( at->localPart == 3 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 1); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 398; return 0; } } break; case 397: /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ if ( at->localPart == 3 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 3, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 398; return 0; } } break; case 474: /* FirstStartTag[ATTRIBUTE[STRING](Name)] */ if ( at->localPart == 4 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 475; return 0; } } break; case 475: /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ if ( at->localPart == 8 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_ENUMERATION) { errn = encodeNBitUnsignedInteger(stream, 3, val->enumeration); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 476; return 0; } } break; case 541: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 542; return 0; } } break; case 544: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 545; return 0; } } break; case 548: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ if ( at->localPart == 0 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 549; return 0; } } break; case 558: /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 559; return 0; } } break; case 564: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 565; return 0; } } break; case 567: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ if ( at->localPart == 2 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 568; return 0; } } else if ( at->localPart == 5 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 2, 1); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 569; return 0; } } break; case 568: /* StartTag[ATTRIBUTE[STRING](Target)] */ if ( at->localPart == 5 && at->namespaceURI == 0 ) { encodeNBitUnsignedInteger(stream, 1, 0); if (val->type == EXI_DATATYPE_STRING) { errn = encodeStringValue(stream, &val->string); if (errn) { return errn; } /* move on */ state->grammarStack[state->stackIndex] = 569; return 0; } } break; } /* no expected attribute */ if (currentID < 0) { /* runtime element */ return -1; } else { return +1; } /* return EXI_ERROR_UNEXPECTED_ATTRIBUTE; */ } int exiEncodeAttributeXsiNil(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { switch (state->grammarStack[state->stackIndex]) { } if (errn < 0) { return errn; } errn = encodeBoolean(stream, val->boolean); if (errn >= 0 && val->boolean) { /* handle xsi:nil == true */ errn = exiHandleXsiNilTrue(state); } return errn; } int exiEncodeAttributeXsiType(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { /* encode xsi:type event code */ switch (state->grammarStack[state->stackIndex]) { case 5: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 18: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 33: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 40: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 0); break; case 125: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 142: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 0); break; case 162: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 164: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 169: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 0); break; case 189: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 195: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 215: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 0); break; case 217: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 0); break; case 242: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 304: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 0); break; case 306: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 0); break; case 308: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 0); break; case 310: errn = encodeNBitUnsignedInteger(stream, 2, 2); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 316: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 335: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 344: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 346: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 349: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 351: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 352: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 353: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 357: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 359: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 361: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 365: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 368: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 410: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 420: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 472: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 478: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 480: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 481: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 483: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 504: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 518: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; case 534: errn = encodeNBitUnsignedInteger(stream, 1, 1); errn = encodeNBitUnsignedInteger(stream, 3, 1); break; default: return EXI_ERROR_UNEXPECTED_ATTRIBUTE_XSI_TYPE; } if (errn < 0) { return errn; } /* encode qname */ errn = _exiEncodeNamespaceUriID(stream, &state->nameTablePrepopulated, &state->nameTableRuntime, val->eqname.namespaceURI); if (errn < 0) { return errn; } errn = _exiEncodeLocalNameID(stream, &state->nameTablePrepopulated, &state->nameTableRuntime, val->eqname.namespaceURI, val->eqname.localPart); if (errn < 0) { return errn; } /* handle xsi type cast */ errn = exiHandleXsiType(state, &val->eqname); return errn; } #endif