/*
* 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.com
********************************************************************/ #ifndef EXI__DECODER_C #define EXI__DECODER_C #include "EXIDecoder.h" #include "EXITypes.h" #include "EXIOptions.h" #include "BitInputStream.h" #include "DecoderChannel.h" #include "CoderChannel.h" #include "StringTable.h" #include "NameTableEntries.h" #include "MethodsBag.h" #include "EXICoder.h" #include "EXIHeaderDecoder.h" #include "ErrorCodes.h" #include "QNames.h" #include "QNameDefines.h" /* local variables */ static uint32_t xsi; static uint32_t bits; static int errn; static exi_event_t currEvent; #define URI_CODEPOINTS_SIZE 35 #define LOCALNAME_CODEPOINTS_SIZE 25 uint32_t codepointsUri[URI_CODEPOINTS_SIZE]; uint32_t codepointsLocalName[LOCALNAME_CODEPOINTS_SIZE]; /*static exi_string_ucs_t stringUri = {URI_CODEPOINTS_SIZE, codepointsUri, 0};*/ /*static exi_name_entry_t uri = {EXI_NAME_ENTRY_TYPE_ID, 0, {URI_CODEPOINTS_SIZE, codepointsUri, 0}};*/ /*static exi_name_entry_t localName = {EXI_NAME_ENTRY_TYPE_ID, 0, {LOCALNAME_CODEPOINTS_SIZE, codepointsLocalName, 0}};*/ static exi_qname_t _qname = { {EXI_NAME_ENTRY_TYPE_ID, 0, {URI_CODEPOINTS_SIZE, codepointsUri, 0}}, {EXI_NAME_ENTRY_TYPE_ID, 0, {LOCALNAME_CODEPOINTS_SIZE, codepointsLocalName, 0}} }; static int _decodeNBitIntegerValue(bitstream_t* stream, exi_integer_t* iv, uint16_t nbits, int32_t lowerBound) { int errn; uint32_t val; errn = decodeNBitUnsignedInteger(stream, nbits, &val); if(errn) { return errn; } /* TODO map integer value more fine-grained */ iv->type = EXI_INTEGER_32; iv->val.int32 = val + lowerBound; return errn; } static int exiDecodeNext2Event(bitstream_t* stream, exi_state_t* state, exi_event_t* nextEvent) { uint32_t eventCode2 = 0; int16_t ruleID = state->grammarStack[state->stackIndex]; switch (ruleID) { case 399: /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); state->eventCode += 0; return errn; case 2: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 3: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 92: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 202: /* FirstStartTag[ATTRIBUTE[STRING](Name)] */ case 192: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 187: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 134: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 153: /* 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]] */ case 135: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 133: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 108: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 156: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 190: /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ case 147: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 157: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ case 533: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 186: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 188: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 132: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_TYPE; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_NIL; return errn; case 3: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 4: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 1, &state->eventCode); state->eventCode += 0; return errn; case 5: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 6: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 621: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); state->eventCode += 0; return errn; case 3: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 4: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 189: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ case 169: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_TYPE; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_NIL; return errn; case 3: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 4: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); state->eventCode += 0; return errn; case 5: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 6: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 6: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ case 4: /* Element[CHARACTERS[STRING]] */ case 15: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 24: /* 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 29: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ case 42: /* Element[CHARACTERS[ENUMERATION]] */ case 43: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ case 51: /* Element[CHARACTERS[STRING]] */ case 58: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ case 61: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ case 63: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 66: /* Element[CHARACTERS[STRING]] */ case 67: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 72: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ case 75: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ case 80: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 84: /* Element[CHARACTERS[ENUMERATION]] */ case 88: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 90: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 25: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 97: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ case 99: /* Element[CHARACTERS[STRING]] */ case 104: /* Element[CHARACTERS[INTEGER]] */ case 27: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 112: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ case 120: /* Element[CHARACTERS[ENUMERATION]] */ case 122: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ case 197: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ case 198: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ case 200: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 207: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ case 210: /* Element[CHARACTERS[DATETIME]] */ case 211: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 212: /* Element[CHARACTERS[INTEGER]] */ case 216: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 219: /* Element[CHARACTERS[INTEGER]] */ case 225: /* Element[CHARACTERS[BOOLEAN]] */ case 229: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 230: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 233: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ case 234: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved)] */ case 236: /* Element[CHARACTERS[DATETIME]] */ case 237: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 243: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 253: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ case 201: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 262: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 271: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 273: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ case 280: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ case 284: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 287: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ case 217: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 70: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ case 291: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 293: /* Element[CHARACTERS[BINARY_BASE64]] */ case 297: /* Element[CHARACTERS[STRING]] */ case 298: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 300: /* Element[CHARACTERS[STRING]] */ case 303: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ case 113: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC)] */ case 312: /* Element[CHARACTERS[INTEGER]] */ case 319: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ case 322: /* Element[CHARACTERS[LIST]] */ case 325: /* Element[CHARACTERS[DATETIME]] */ case 332: /* 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)] */ case 335: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 341: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules)] */ case 344: /* Element[CHARACTERS[LIST]] */ case 351: /* Element[CHARACTERS[STRING]] */ case 40: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ case 359: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 7: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ case 285: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 365: /* Element[CHARACTERS[ENUMERATION]] */ case 366: /* Element[CHARACTERS[INTEGER]] */ case 368: /* Element[CHARACTERS[BINARY_BASE64]] */ case 369: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification)] */ case 68: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ case 373: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ case 376: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 378: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 382: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 383: /* Element[CHARACTERS[INTEGER]] */ case 384: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 385: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 299: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 386: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 389: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 394: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 397: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ case 403: /* Element[CHARACTERS[STRING]] */ case 404: /* Element[CHARACTERS[STRING]] */ case 406: /* Element[CHARACTERS[STRING]] */ case 116: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 292: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 412: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 345: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ case 419: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ case 422: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 98: /* 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[CHARACTERS[ENUMERATION]] */ case 428: /* Element[CHARACTERS[STRING]] */ case 429: /* Element[CHARACTERS[STRING]] */ case 309: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ case 433: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 435: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ case 436: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ case 59: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ case 443: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 441: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ case 445: /* Element[CHARACTERS[ENUMERATION]] */ case 446: /* 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 208: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ case 450: /* Element[CHARACTERS[STRING]] */ case 451: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 305: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter)] */ case 452: /* Element[CHARACTERS[BINARY_BASE64]] */ case 453: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ case 455: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ case 461: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID)] */ case 460: /* Element[CHARACTERS[STRING]] */ case 464: /* 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 462: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 465: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 466: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 467: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ case 475: /* Element[CHARACTERS[BINARY_HEX]] */ case 477: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 478: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification)] */ case 274: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ case 482: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 484: /* 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 493: /* Element[CHARACTERS[STRING]] */ case 497: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ case 496: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ case 500: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ case 499: /* Element[CHARACTERS[DATETIME]] */ case 242: /* 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 501: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ case 506: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ case 508: /* Element[CHARACTERS[DATETIME]] */ case 91: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ case 511: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 512: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 514: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ case 515: /* Element[CHARACTERS[ENUMERATION]] */ case 107: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ case 520: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 519: /* Element[CHARACTERS[STRING]] */ case 94: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ case 526: /* Element[CHARACTERS[STRING]] */ case 529: /* Element[CHARACTERS[DECIMAL]] */ case 238: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ case 488: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 521: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 540: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ case 542: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ case 544: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ case 263: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ case 549: /* 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 551: /* Element[CHARACTERS[LIST]] */ case 55: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ case 481: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ case 556: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 557: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ case 513: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 239: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ case 559: /* Element[CHARACTERS[BINARY_BASE64]] */ case 87: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 76: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ case 562: /* Element[CHARACTERS[BINARY_BASE64]] */ case 254: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList)] */ case 379: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ case 567: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ case 566: /* Element[CHARACTERS[INTEGER]] */ case 571: /* Element[CHARACTERS[ENUMERATION]] */ case 486: /* 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 574: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ case 575: /* Element[CHARACTERS[ENUMERATION]] */ case 576: /* 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 578: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ case 579: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 582: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ case 260: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ case 586: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ case 589: /* 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 543: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ case 590: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay)] */ case 592: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ case 356: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 596: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory)] */ case 595: /* Element[CHARACTERS[FLOAT]] */ case 281: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 598: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 602: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ case 603: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ case 199: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ case 604: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 608: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 610: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ case 485: /* 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 611: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 612: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 614: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved)] */ case 470: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ case 615: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ case 434: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory)] */ case 617: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ case 619: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ case 618: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 430: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ case 620: /* Element[CHARACTERS[INTEGER]] */ case 487: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 437: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 624: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ case 628: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions)] */ case 580: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ case 631: /* Element[CHARACTERS[BINARY_BASE64]] */ case 632: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ case 633: /* Element[CHARACTERS[BINARY_HEX]] */ case 638: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 342: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ case 353: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ case 640: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ case 641: /* Element[CHARACTERS[STRING]] */ case 642: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 277: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 645: /* Element[CHARACTERS[FLOAT]] */ case 463: /* 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 649: /* Element[CHARACTERS[ENUMERATION]] */ case 650: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 652: /* Element[CHARACTERS[BINARY_HEX]] */ case 653: /* Element[CHARACTERS[STRING]] */ case 568: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ case 651: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ case 656: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 657: /* Element[CHARACTERS[BINARY_BASE64]] */ case 658: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 660: /* Element[CHARACTERS[INTEGER]] */ case 661: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ case 664: /* Element[CHARACTERS[STRING]] */ case 665: /* Element[CHARACTERS[STRING]] */ case 666: /* Element[CHARACTERS[DATETIME]] */ case 667: /* Element[CHARACTERS[ENUMERATION]] */ case 668: /* Element[CHARACTERS[DATETIME]] */ case 669: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ case 673: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 662: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ case 675: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ case 674: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ case 676: /* Element[CHARACTERS[ENUMERATION]] */ case 570: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ case 677: /* Element[CHARACTERS[BINARY_HEX]] */ case 679: /* Element[CHARACTERS[DATETIME]] */ case 123: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ case 213: /* 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 548: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved)] */ case 680: /* Element[CHARACTERS[ENUMERATION]] */ case 396: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 442: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ case 336: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ case 541: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ case 682: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 683: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ case 684: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 685: /* Element[CHARACTERS[ENUMERATION]] */ case 686: /* Element[CHARACTERS[STRING]] */ case 2: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount)] */ case 364: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ case 687: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 689: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 411: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ case 48: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ case 692: /* 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)] */ case 118: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay)] */ case 694: /* Element[CHARACTERS[INTEGER]] */ case 517: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 696: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ case 697: /* Element[CHARACTERS[BINARY_BASE64]] */ case 416: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ case 699: /* Element[CHARACTERS[STRING]] */ case 700: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 703: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ case 456: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ case 705: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 278: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ case 296: /* 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]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 2: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 160: /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 171: /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_TYPE; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_NIL; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 3: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); state->eventCode += 0; return errn; case 4: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 5: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 622: /* 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 203: /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ case 457: /* StartTag[ATTRIBUTE[STRING](Target)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 1, &state->eventCode); state->eventCode += 0; return errn; case 3: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 4: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 13: /* Element[END_ELEMENT] */ case 18: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), END_ELEMENT] */ case 21: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), END_ELEMENT] */ case 33: /* 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 50: /* Element[END_ELEMENT] */ case 82: /* Element[END_ELEMENT] */ case 83: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ case 96: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 109: /* Element[END_ELEMENT] */ case 121: /* Element[END_ELEMENT] */ case 125: /* Element[END_ELEMENT] */ case 30: /* Element[END_ELEMENT] */ case 204: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ case 218: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ case 220: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 224: /* Element[END_ELEMENT] */ case 232: /* Element[END_ELEMENT] */ case 244: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ case 250: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ case 256: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ case 257: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ case 261: /* Element[END_ELEMENT] */ case 264: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 206: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ case 279: /* Element[END_ELEMENT] */ case 283: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 301: /* 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] */ case 310: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ case 323: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ case 326: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ case 327: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ case 337: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ case 340: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ case 346: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ case 352: /* Element[END_ELEMENT] */ case 358: /* Element[END_ELEMENT] */ case 381: /* Element[END_ELEMENT] */ case 388: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ case 251: /* Element[END_ELEMENT] */ case 405: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 407: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ case 408: /* Element[END_ELEMENT] */ case 410: /* Element[END_ELEMENT] */ case 415: /* Element[END_ELEMENT] */ case 420: /* Element[END_ELEMENT] */ case 421: /* Element[END_ELEMENT] */ case 423: /* Element[END_ELEMENT] */ case 431: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ case 81: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ case 440: /* Element[END_ELEMENT] */ case 363: /* Element[END_ELEMENT] */ case 447: /* Element[END_ELEMENT] */ case 22: /* Element[END_ELEMENT] */ case 36: /* Element[END_ELEMENT] */ case 402: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 377: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ case 328: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ case 265: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 295: /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 471: /* 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 473: /* Element[END_ELEMENT] */ case 480: /* Element[END_ELEMENT] */ case 324: /* Element[END_ELEMENT] */ case 489: /* Element[END_ELEMENT] */ case 444: /* Element[END_ELEMENT] */ case 494: /* Element[END_ELEMENT] */ case 392: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 64: /* Element[END_ELEMENT] */ case 349: /* Element[END_ELEMENT] */ case 504: /* Element[END_ELEMENT] */ case 354: /* Element[END_ELEMENT] */ case 505: /* Element[END_ELEMENT] */ case 10: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ case 510: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 490: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ case 516: /* Element[END_ELEMENT] */ case 44: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ case 535: /* 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 62: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ case 228: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 267: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 330: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ case 89: /* Element[END_ELEMENT] */ case 370: /* Element[END_ELEMENT] */ case 530: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), END_ELEMENT] */ case 523: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ case 558: /* Element[END_ELEMENT] */ case 372: /* Element[END_ELEMENT] */ case 572: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 5: /* Element[END_ELEMENT] */ case 472: /* 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 258: /* Element[END_ELEMENT] */ case 565: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ case 581: /* Element[END_ELEMENT] */ case 584: /* Element[END_ELEMENT] */ case 585: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 587: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ case 53: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 601: /* Element[END_ELEMENT] */ case 448: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ case 605: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ case 609: /* Element[END_ELEMENT] */ case 573: /* Element[END_ELEMENT] */ case 629: /* Element[END_ELEMENT] */ case 16: /* Element[END_ELEMENT] */ case 231: /* Element[END_ELEMENT] */ case 606: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ case 644: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 646: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ case 307: /* Element[END_ELEMENT] */ case 302: /* Element[END_ELEMENT] */ case 655: /* Element[END_ELEMENT] */ case 413: /* Element[END_ELEMENT] */ case 102: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ case 607: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), END_ELEMENT] */ case 289: /* Element[END_ELEMENT] */ case 507: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ case 663: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ case 28: /* Element[END_ELEMENT] */ case 532: /* Element[END_ELEMENT] */ case 438: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ case 479: /* Element[END_ELEMENT] */ case 671: /* Element[END_ELEMENT] */ case 670: /* Element[END_ELEMENT] */ case 333: /* Element[END_ELEMENT] */ case 509: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ case 361: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ case 563: /* Element[END_ELEMENT] */ case 79: /* Element[END_ELEMENT] */ case 654: /* Element[END_ELEMENT] */ case 553: /* Element[END_ELEMENT] */ case 391: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 320: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ case 387: /* Element[END_ELEMENT] */ case 19: /* Element[END_ELEMENT] */ case 249: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 681: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 73: /* Element[END_ELEMENT] */ case 560: /* Element[END_ELEMENT] */ case 594: /* Element[END_ELEMENT] */ case 539: /* Element[END_ELEMENT] */ case 288: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ case 693: /* Element[END_ELEMENT] */ case 221: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 597: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ case 491: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ case 536: /* 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 248: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 313: /* 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] */ case 241: /* 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]] */ case 235: /* 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 34: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 400: /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 599: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 1, &state->eventCode); state->eventCode += 0; return errn; case 2: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 3: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 39: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ case 105: /* StartTag[CHARACTERS[BINARY_BASE64]] */ case 240: /* 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]] */ case 276: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 318: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 350: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 417: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ case 476: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 458: /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 564: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 577: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 395: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 643: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ case 106: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 647: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 0, &state->eventCode); state->eventCode -= 1; return errn; case 3: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 4: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 139: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_TYPE; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_NIL; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 3: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 1, &state->eventCode); state->eventCode += 0; return errn; case 4: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 5: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 1: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ case 9: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 12: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 32: /* FirstStartTag[CHARACTERS[STRING]] */ case 47: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ case 54: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 57: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 69: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ case 77: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 78: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 85: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 86: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 60: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 93: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 100: /* FirstStartTag[CHARACTERS[STRING]] */ case 101: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ case 110: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 111: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 115: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 136: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ case 223: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 226: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 141: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 214: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 246: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 181: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ case 255: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 138: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 268: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 269: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 270: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 182: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 272: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 131: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 282: /* FirstStartTag[CHARACTERS[STRING]] */ case 286: /* FirstStartTag[CHARACTERS[DECIMAL]] */ case 155: /* 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]] */ case 294: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 103: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ case 176: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 196: /* 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] */ case 329: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ case 334: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 35: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 143: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 163: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 360: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ case 130: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 331: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 117: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 367: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 259: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ case 374: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 375: /* FirstStartTag[CHARACTERS[STRING]] */ case 380: /* FirstStartTag[CHARACTERS[STRING]] */ case 174: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ case 114: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 398: /* FirstStartTag[CHARACTERS[STRING]] */ case 8: /* FirstStartTag[CHARACTERS[STRING]] */ case 23: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 409: /* FirstStartTag[CHARACTERS[STRING]] */ case 414: /* FirstStartTag[CHARACTERS[LIST]] */ case 418: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 424: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 439: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 449: /* FirstStartTag[CHARACTERS[STRING]] */ case 209: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 454: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 459: /* FirstStartTag[CHARACTERS[STRING]] */ case 142: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 468: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 469: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 162: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 165: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ case 222: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 338: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 3: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 483: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 161: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ case 495: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 357: /* FirstStartTag[CHARACTERS[STRING]] */ case 498: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 503: /* FirstStartTag[CHARACTERS[STRING]] */ case 177: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 65: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 311: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 518: /* FirstStartTag[CHARACTERS[STRING]] */ case 195: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 522: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ case 525: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 527: /* FirstStartTag[CHARACTERS[STRING]] */ case 95: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 534: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 537: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ case 538: /* FirstStartTag[CHARACTERS[STRING]] */ case 154: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 128: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ case 546: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 170: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ case 172: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ case 492: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 552: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 555: /* FirstStartTag[CHARACTERS[STRING]] */ case 146: /* 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)] */ case 158: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 168: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ case 583: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 49: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ case 588: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 26: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ case 593: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 166: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 524: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 317: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 315: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 308: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 252: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 616: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 347: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ case 623: /* FirstStartTag[CHARACTERS[FLOAT]] */ case 625: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 145: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ case 626: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ case 627: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 550: /* FirstStartTag[CHARACTERS[STRING]] */ case 630: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 71: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ case 175: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 11: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 636: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 314: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ case 554: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 148: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 648: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 591: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 183: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ case 502: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 205: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 167: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 194: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 31: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 20: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 659: /* FirstStartTag[CHARACTERS[FLOAT]] */ case 178: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 362: /* FirstStartTag[CHARACTERS[STRING]] */ case 17: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 545: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 316: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 37: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 164: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 124: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 672: /* FirstStartTag[CHARACTERS[STRING]] */ case 119: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 637: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 193: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ case 74: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ case 306: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 184: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 266: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 45: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ case 678: /* FirstStartTag[CHARACTERS[STRING]] */ case 613: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 140: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 569: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 41: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 635: /* FirstStartTag[CHARACTERS[STRING]] */ case 275: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 531: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 321: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 688: /* FirstStartTag[CHARACTERS[STRING]] */ case 690: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 245: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 152: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 695: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 180: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 304: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 698: /* FirstStartTag[CHARACTERS[LIST]] */ case 159: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 701: /* FirstStartTag[CHARACTERS[LIST]] */ case 144: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ case 702: /* FirstStartTag[CHARACTERS[STRING]] */ case 547: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 355: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ case 704: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 634: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 706: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 371: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_TYPE; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_NIL; return errn; case 3: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 4: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 0, &state->eventCode); state->eventCode -= 1; return errn; case 5: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 6: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 46: /* FirstStartTag[END_ELEMENT] */ case 52: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 56: /* First(xsi:type)StartTag[END_ELEMENT] */ case 137: /* FirstStartTag[END_ELEMENT] */ case 38: /* First(xsi:type)StartTag[END_ELEMENT] */ case 227: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 185: /* FirstStartTag[END_ELEMENT] */ case 343: /* FirstStartTag[END_ELEMENT] */ case 129: /* First(xsi:type)StartTag[END_ELEMENT] */ case 290: /* 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 393: /* FirstStartTag[END_ELEMENT] */ case 173: /* First(xsi:type)StartTag[END_ELEMENT] */ case 432: /* FirstStartTag[END_ELEMENT] */ case 150: /* First(xsi:type)StartTag[END_ELEMENT] */ case 528: /* FirstStartTag[END_ELEMENT] */ case 561: /* FirstStartTag[END_ELEMENT] */ case 191: /* First(xsi:type)StartTag[END_ELEMENT] */ case 149: /* First(xsi:type)StartTag[END_ELEMENT] */ case 639: /* FirstStartTag[END_ELEMENT] */ case 179: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 151: /* First(xsi:type)StartTag[END_ELEMENT] */ case 691: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_TYPE; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_XSI_NIL; return errn; case 2: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 3: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 0, &state->eventCode); state->eventCode -= 1; return errn; case 4: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 5: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; case 247: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 339: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 390: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 474: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ case 348: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ case 215: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 401: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode2); switch (eventCode2) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; return errn; case 1: *nextEvent = EXI_EVENT_ATTRIBUTE_INVALID_VALUE; errn = decodeNBitUnsignedInteger(stream, 0, &state->eventCode); state->eventCode -= 1; return errn; case 2: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; return errn; case 3: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; return errn; } break; default: if (ruleID < 0) { /* built-in element grammar */ if ( exi__IsStartContent(ruleID) ) { /* TODO generate 2nd level productions */ /* StartTagContent grammar */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode2); if(errn) { return errn; } switch(eventCode2) { case 0: /* 0: EE */ *nextEvent = EXI_EVENT_END_ELEMENT_UNDECLARED; break; case 1: /* 1: AT(*) */ *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED; break; case 2: /* 2: SE(*) */ *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; break; case 3: /* 3: CH */ *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; break; default: return EXI_ERROR_UNEXPECTED_EVENT_LEVEL2; break; } return errn; } else { /* TODO generate 2nd level productions */ /* ElementContent grammar */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode2); if(errn) { return errn; } switch(eventCode2) { case 0: /* 0: SE(*) */ *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED; break; case 1: /* 1: CH */ *nextEvent = EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED; break; default: return EXI_ERROR_UNEXPECTED_EVENT_LEVEL2; break; } } } else { *nextEvent = EXI_EVENT_ERROR; return EXI_ERROR_UNEXPECTED_EVENT_LEVEL2; } break; } return EXI_ERROR_UNEXPECTED_EVENT_LEVEL2; } static int _exiDecodeNamespaceUri(bitstream_t* stream, exi_state_t* state, exi_name_entry_t* uri) { /* exi_string_ascii_t* namespaceURI, uint32_t* uriID) {*/ uint16_t uriSize, uriCodingLength; uint32_t uriID; int errn; errn = exiGetUriSize(&state->nameTablePrepopulated, &state->nameTableRuntime, &uriSize); if (errn) { return errn; } /* URI Entries + 1 */ errn = exiGetCodingLength(uriSize + 1, &uriCodingLength); if (errn) { return errn; } errn = decodeNBitUnsignedInteger(stream, uriCodingLength, &uriID); if (errn) { return errn; } if (uriID == 0) { /* uri string value was not found */ /* ==> zero (0) as an n-nit unsigned integer */ /* followed by uri encoded as string */ uri->type = EXI_NAME_ENTRY_TYPE_STRING_AND_ID; errn = decodeString(stream, &uri->str); if (errn) { return errn; } /* after encoding string value is added to table */ errn = exiAddUri(&state->nameTablePrepopulated, &state->nameTableRuntime); /*, namespaceURI->chars); */ if (errn) { return errn; } uri->id = uriSize; /* uriID = uriSize; */ } else { /* uri string value found */ /* ==> value(i+1) is encoded as n-bit unsigned integer */ uri->type = EXI_NAME_ENTRY_TYPE_ID; uri->id = (uint16_t)(uriID - 1); /* *uriID = *uriID - 1; */ } return 0; } static int _exiDecodeLocalName(bitstream_t* stream, exi_state_t* state, uint16_t uriID, exi_name_entry_t* localName) { /* exi_string_ascii_t* localName, uint32_t* localNameID, uint32_t uriID) { */ uint32_t localNameID; uint16_t slen; uint16_t localNameSize; uint16_t localNameCodingLength; int errn = decodeUnsignedInteger16(stream, &slen); if (errn) { return errn; } if (slen > 0) { /* string value was not found in local partition */ /* ==> string literal is encoded as a String */ /* with the length of the string incremented by one */ localName->type = EXI_NAME_ENTRY_TYPE_STRING_AND_ID; if (slen-- >= (localName->str.size) ) { return EXI_ERROR_OUT_OF_BOUNDS; } localName->str.len = slen; errn = decodeCharacters(stream, slen, localName->str.codepoints); /*if (slen-- >= localName->size) { return EXI_ERROR_OUT_OF_BOUNDS; } errn = decodeCharactersASCII(stream, slen, localName->chars); */ if (errn) { return errn; } /* After encoding the string value, it is added to the string table */ /* partition and assigned the next available compact identifier */ errn = exiAddLocalName(&state->nameTablePrepopulated, &state->nameTableRuntime, uriID, &localName->id); /* uriID); *//*, localName->chars); */ /*if (errn) { return errn; }*/ /* TODO UCD Profile */ /* qname = addLocalName(localName, uriID); */ } else { /* string value found in local partition */ /* ==> string value is represented as zero (0) encoded as an */ /* 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 */ localName->type = EXI_NAME_ENTRY_TYPE_ID; errn = exiGetLocalNameSize(&state->nameTablePrepopulated, &state->nameTableRuntime, uriID, &localNameSize); /* uriID, &localNameSize); */ if (errn) { return errn; } errn = exiGetCodingLength(localNameSize, &localNameCodingLength); if (errn) { return errn; } errn = decodeNBitUnsignedInteger(stream, localNameCodingLength, &localNameID); /* localNameID);*/ localName->id = (uint16_t)(localNameID); /*if (errn) { return errn; }*/ } return errn; } static int _exiDecodeQName(bitstream_t* stream, exi_state_t* state, uint16_t* qnameID, exi_qname_t* qname) { /*uint32_t uriID; uint32_t localNameID;*/ /* const char * clocalName; */ /* uri */ int errn =_exiDecodeNamespaceUri(stream, state, &qname->uri); /* &qname->namespaceURI, &uriID); */ if (errn) { return errn; } /* localName */ errn = _exiDecodeLocalName(stream, state, qname->uri.id, &qname->localName); /* &qname->localName, &localNameID, uriID); */ if (errn) { return errn; } /* errn = exiGetLocalName(nameTable, runtimeTable, uriID, localNameID, &clocalName); if (errn) { return errn; } strcpy ( qname->localName.chars, clocalName ); */ if (_qname.localName.type == EXI_NAME_ENTRY_TYPE_STRING_AND_ID) { errn = exiAddEQName(state, qnameID, qname->uri.id, qname->localName.id); } else { /* IDs known --> retrieve qnameID */ errn = exiGetQNameID(state, qname->uri.id, qname->localName.id, qnameID); } return errn; } static int _exiDecodeStartElement(exi_state_t* state, uint16_t qnameID, uint16_t stackId, uint16_t newState) { /*uint16_t ns, uint16_t ln, uint16_t qn, */ /*se->namespaceURI = ns; se->localPart = ln; se->qname = qn;*/ /* move on */ state->grammarStack[state->stackIndex] = stackId; /* push element on stack */ return exi__PushStack(state, newState, qnameID); /* se);*/ } int exiGetLastQName(exi_qname_t** qname) { *qname = &_qname; return 0; } int exiDecodeListValue(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, exi_value_t* val, exi_list_t lt) { uint32_t uint32; val->type = lt.type; switch(lt.type) { case EXI_DATATYPE_BINARY_BASE64: case EXI_DATATYPE_BINARY_HEX: errn = decodeBinary(stream, &val->binary); break; case EXI_DATATYPE_BOOLEAN: errn = decodeBoolean(stream, &val->boolean); break; case EXI_DATATYPE_BOOLEAN_FACET: errn = decodeNBitUnsignedInteger(stream, 2, &uint32); val->boolean = uint32 > 1; break; case EXI_DATATYPE_DECIMAL: errn = decodeDecimal(stream, &val->decimal); break; case EXI_DATATYPE_FLOAT: errn = decodeFloat(stream, &val->float_me); break; case EXI_DATATYPE_NBIT_UNSIGNED_INTEGER: errn = EXI_UNSUPPORTED_LIST_VALUE_TYPE; break; case EXI_DATATYPE_UNSIGNED_INTEGER: errn = decodeUnsignedInteger(stream, &val->integer); break; case EXI_DATATYPE_INTEGER: errn = decodeInteger(stream, &val->integer); break; case EXI_DATATYPE_DATETIME: errn = decodeDateTime(stream,lt.datetimeType, &val->datetime); break; case EXI_DATATYPE_STRING: errn = decodeStringValue(stream, state, qnameID, &val->str); break; default: return EXI_UNSUPPORTED_LIST_VALUE_TYPE; } return errn; } int exiInitDecoder(bitstream_t* stream, exi_state_t* state, exi_name_table_runtime_t runtimeTable, exi_string_table_t stringTable) { #if EXI_VALUE_PARTITION_CAPACITY != 0 #if EXI_VALUE_MAX_LENGTH != 0 int i; #endif /* EXI_VALUE_MAX_LENGTH != 0 */ #endif /* EXI_VALUE_PARTITION_CAPACITY != 0 */ /* init grammar state */ state->stackIndex = 0; state->grammarStack[0] = DOCUMENT; /* name table */ state->nameTablePrepopulated = exiNameTablePrepopulated; state->nameTableRuntime = runtimeTable; /* next qname ID */ state->nextQNameID = EXI_NUMBER_OF_PREPOPULATED_QNAMES; /* string table */ state->stringTable = stringTable; state->stringTable.numberOfGlobalStrings = 0; #if EXI_VALUE_PARTITION_CAPACITY != 0 #if EXI_VALUE_MAX_LENGTH != 0 for(i=0; i<(state->stringTable.sizeLocalStrings); i++) { state->stringTable.numberOfLocalStrings[i] = 0; } #endif /* EXI_VALUE_MAX_LENGTH != 0 */ #endif /* EXI_VALUE_PARTITION_CAPACITY != 0 */ /* runtime grammars */ state->numberOfRuntimeGrammars = 0; /* Avoid warning: Unused declaration of variable 'name' */ xsi = 0; bits = 0; /* decode header */ return readEXIHeader(stream); } int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, exi_event_t* nextEvent) { uint16_t codingLength; uint16_t numberOfProductions; uint32_t eventCode1; int16_t ruleID = state->grammarStack[state->stackIndex]; state->eventCode = 0; errn = 0; switch (ruleID) { case 83: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ case 491: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 1: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 2: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 155: /* 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]] */ case 576: /* 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 296: /* 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]] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 2: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 3: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 4: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 200: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 201: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ case 458: /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 1: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 2: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 204: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ case 490: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 1: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 2: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 3: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 647: /* 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 692: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: case 5: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 6: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 622: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 1: case 2: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 3: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 126: /* 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] */ errn = decodeNBitUnsignedInteger(stream, 7, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 81: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 33: /* 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 472: /* 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 536: /* 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 235: /* 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] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 3: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 4: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 92: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 134: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 156: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 157: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ case 186: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 188: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 132: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 1: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 2: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 169: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 3: case 4: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 5: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 24: /* 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 332: /* 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)] */ case 98: /* 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 446: /* 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 146: /* 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)] */ case 486: /* 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 589: /* 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 463: /* 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 213: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 3: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 153: /* 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]] */ errn = decodeNBitUnsignedInteger(stream, 4, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 8: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 9: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 10: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 160: /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 3: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 4: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 5: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 6: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 313: /* 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 = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 5: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 6: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 7: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 171: /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 2: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 3: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 4: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 18: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), END_ELEMENT] */ case 21: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), END_ELEMENT] */ case 218: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ case 244: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ case 250: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ case 256: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ case 257: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ case 206: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ case 323: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ case 326: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ case 337: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ case 340: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ case 346: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ case 407: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ case 431: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ case 81: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ case 377: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ case 328: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ case 474: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ case 10: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ case 44: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ case 62: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ case 330: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ case 530: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), END_ELEMENT] */ case 523: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ case 572: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 565: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ case 587: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ case 448: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ case 348: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ case 606: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ case 646: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ case 102: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ case 607: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), END_ELEMENT] */ case 663: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ case 438: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ case 361: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ case 320: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ case 288: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ case 597: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 1: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 2: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 202: /* FirstStartTag[ATTRIBUTE[STRING](Name)] */ case 192: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 187: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 135: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 133: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 108: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 147: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ case 533: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ case 203: /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ case 457: /* StartTag[ATTRIBUTE[STRING](Target)] */ errn = decodeNBitUnsignedInteger(stream, 1, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 1: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 310: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ case 327: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ case 388: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ case 585: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 605: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ case 507: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ case 509: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ case 179: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ case 34: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: case 1: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 2: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 3: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 1: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ case 6: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ case 9: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 15: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 29: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ case 39: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ case 43: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ case 47: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ case 54: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 58: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ case 61: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ case 63: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 67: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 69: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ case 72: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ case 75: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ case 78: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 80: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 86: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 88: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 90: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 93: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 97: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ case 101: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ case 27: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 110: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 112: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ case 122: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ case 198: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ case 207: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ case 136: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ case 216: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 230: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 233: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ case 234: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved)] */ case 141: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 237: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 243: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ case 253: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ case 181: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ case 138: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 262: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 271: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 182: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 273: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ case 280: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ case 131: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 284: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 287: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ case 217: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 70: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ case 291: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 298: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 303: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ case 103: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ case 113: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC)] */ case 176: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 318: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 319: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ case 329: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ case 35: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 143: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 350: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ case 163: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 360: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ case 130: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 7: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ case 285: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 259: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ case 369: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification)] */ case 68: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ case 376: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 378: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 382: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 174: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ case 299: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 386: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 394: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 116: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 292: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 412: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ case 417: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ case 345: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ case 419: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ case 422: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 309: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ case 433: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 435: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ case 436: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ case 59: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ case 441: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ case 208: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ case 305: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter)] */ case 453: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ case 455: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ case 461: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID)] */ case 462: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 142: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 466: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 467: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ case 165: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ case 476: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 338: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 477: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 478: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification)] */ case 482: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 497: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ case 496: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ case 500: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ case 501: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ case 177: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ case 506: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ case 91: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ case 512: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 514: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ case 107: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ case 520: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 195: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 94: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ case 522: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ case 95: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 238: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ case 537: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ case 488: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 521: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 540: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ case 542: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ case 128: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ case 170: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ case 172: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ case 263: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ case 55: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ case 481: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ case 556: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 557: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ case 513: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 239: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ case 87: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 158: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 76: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ case 254: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList)] */ case 564: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 379: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ case 567: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ case 168: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ case 574: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ case 577: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ case 578: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ case 579: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 582: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ case 395: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 260: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ case 586: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ case 49: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ case 590: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay)] */ case 592: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ case 26: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ case 356: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ case 596: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory)] */ case 166: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 281: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ case 598: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ case 603: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ case 199: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ case 604: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 524: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 608: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 610: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ case 612: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 614: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved)] */ case 470: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ case 617: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ case 619: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ case 618: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 430: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ case 347: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ case 437: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ case 624: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ case 145: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ case 626: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ case 628: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions)] */ case 71: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ case 632: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ case 638: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ case 342: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ case 353: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ case 314: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ case 640: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ case 642: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 277: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 183: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ case 643: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ case 568: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ case 167: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 194: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ case 656: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 658: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 178: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 661: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ case 106: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ case 37: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ case 164: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 669: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ case 662: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ case 675: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ case 674: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ case 570: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ case 193: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ case 184: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 45: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ case 123: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ case 548: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved)] */ case 140: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 396: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ case 442: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ case 336: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ case 541: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ case 682: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 683: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ case 684: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 2: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount)] */ case 364: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ case 321: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ case 687: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ case 689: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 411: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ case 48: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ case 118: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay)] */ case 180: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 517: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 696: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ case 700: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 144: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ case 703: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ case 355: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ case 456: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ case 705: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ case 278: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ errn = decodeNBitUnsignedInteger(stream, 1, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 1: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 0: /* Document[START_DOCUMENT] */ case 425: /* Fragment[START_DOCUMENT] */ *nextEvent = EXI_EVENT_START_DOCUMENT; break; case 621: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 2: case 3: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 4: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 127: /* DocEnd[END_DOCUMENT] */ *nextEvent = EXI_EVENT_END_DOCUMENT; break; case 295: /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 1: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 2: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 220: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 264: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 339: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 510: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 267: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 215: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 221: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 1: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 2: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 3: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 4: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 190: /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 1: *nextEvent = EXI_EVENT_CHARACTERS; break; case 2: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 4: /* Element[CHARACTERS[STRING]] */ case 12: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 32: /* FirstStartTag[CHARACTERS[STRING]] */ case 42: /* Element[CHARACTERS[ENUMERATION]] */ case 51: /* Element[CHARACTERS[STRING]] */ case 57: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 66: /* Element[CHARACTERS[STRING]] */ case 77: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 84: /* Element[CHARACTERS[ENUMERATION]] */ case 85: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 60: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 100: /* FirstStartTag[CHARACTERS[STRING]] */ case 99: /* Element[CHARACTERS[STRING]] */ case 104: /* Element[CHARACTERS[INTEGER]] */ case 105: /* StartTag[CHARACTERS[BINARY_BASE64]] */ case 111: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 120: /* Element[CHARACTERS[ENUMERATION]] */ case 210: /* Element[CHARACTERS[DATETIME]] */ case 211: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 212: /* Element[CHARACTERS[INTEGER]] */ case 219: /* Element[CHARACTERS[INTEGER]] */ case 223: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 225: /* Element[CHARACTERS[BOOLEAN]] */ case 226: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 229: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 236: /* Element[CHARACTERS[DATETIME]] */ case 214: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 246: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 255: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 268: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 269: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 270: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 272: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 282: /* FirstStartTag[CHARACTERS[STRING]] */ case 286: /* FirstStartTag[CHARACTERS[DECIMAL]] */ case 293: /* Element[CHARACTERS[BINARY_BASE64]] */ case 294: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 297: /* Element[CHARACTERS[STRING]] */ case 300: /* Element[CHARACTERS[STRING]] */ case 312: /* Element[CHARACTERS[INTEGER]] */ case 322: /* Element[CHARACTERS[LIST]] */ case 325: /* Element[CHARACTERS[DATETIME]] */ case 334: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 344: /* Element[CHARACTERS[LIST]] */ case 351: /* Element[CHARACTERS[STRING]] */ case 359: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 331: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 117: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 365: /* Element[CHARACTERS[ENUMERATION]] */ case 366: /* Element[CHARACTERS[INTEGER]] */ case 367: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 368: /* Element[CHARACTERS[BINARY_BASE64]] */ case 374: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 375: /* FirstStartTag[CHARACTERS[STRING]] */ case 380: /* FirstStartTag[CHARACTERS[STRING]] */ case 383: /* Element[CHARACTERS[INTEGER]] */ case 384: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 385: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 389: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 114: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 398: /* FirstStartTag[CHARACTERS[STRING]] */ case 8: /* FirstStartTag[CHARACTERS[STRING]] */ case 403: /* Element[CHARACTERS[STRING]] */ case 404: /* Element[CHARACTERS[STRING]] */ case 406: /* Element[CHARACTERS[STRING]] */ case 23: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 409: /* FirstStartTag[CHARACTERS[STRING]] */ case 414: /* FirstStartTag[CHARACTERS[LIST]] */ case 418: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 424: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 427: /* Element[CHARACTERS[ENUMERATION]] */ case 428: /* Element[CHARACTERS[STRING]] */ case 429: /* Element[CHARACTERS[STRING]] */ case 439: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 445: /* Element[CHARACTERS[ENUMERATION]] */ case 449: /* FirstStartTag[CHARACTERS[STRING]] */ case 450: /* Element[CHARACTERS[STRING]] */ case 209: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 452: /* Element[CHARACTERS[BINARY_BASE64]] */ case 454: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 460: /* Element[CHARACTERS[STRING]] */ case 459: /* FirstStartTag[CHARACTERS[STRING]] */ case 468: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 469: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 475: /* Element[CHARACTERS[BINARY_HEX]] */ case 222: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 3: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 483: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 493: /* Element[CHARACTERS[STRING]] */ case 495: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 357: /* FirstStartTag[CHARACTERS[STRING]] */ case 499: /* Element[CHARACTERS[DATETIME]] */ case 498: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 503: /* FirstStartTag[CHARACTERS[STRING]] */ case 508: /* Element[CHARACTERS[DATETIME]] */ case 65: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 511: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 311: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 515: /* Element[CHARACTERS[ENUMERATION]] */ case 518: /* FirstStartTag[CHARACTERS[STRING]] */ case 519: /* Element[CHARACTERS[STRING]] */ case 525: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 526: /* Element[CHARACTERS[STRING]] */ case 527: /* FirstStartTag[CHARACTERS[STRING]] */ case 529: /* Element[CHARACTERS[DECIMAL]] */ case 534: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 538: /* FirstStartTag[CHARACTERS[STRING]] */ case 154: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 546: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 492: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 551: /* Element[CHARACTERS[LIST]] */ case 552: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 555: /* FirstStartTag[CHARACTERS[STRING]] */ case 559: /* Element[CHARACTERS[BINARY_BASE64]] */ case 562: /* Element[CHARACTERS[BINARY_BASE64]] */ case 566: /* Element[CHARACTERS[INTEGER]] */ case 571: /* Element[CHARACTERS[ENUMERATION]] */ case 575: /* Element[CHARACTERS[ENUMERATION]] */ case 583: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 593: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 595: /* Element[CHARACTERS[FLOAT]] */ case 611: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 317: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 315: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 308: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 252: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 616: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 620: /* Element[CHARACTERS[INTEGER]] */ case 623: /* FirstStartTag[CHARACTERS[FLOAT]] */ case 625: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 627: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 550: /* FirstStartTag[CHARACTERS[STRING]] */ case 631: /* Element[CHARACTERS[BINARY_BASE64]] */ case 630: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 633: /* Element[CHARACTERS[BINARY_HEX]] */ case 11: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 636: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 554: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 641: /* Element[CHARACTERS[STRING]] */ case 645: /* Element[CHARACTERS[FLOAT]] */ case 148: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 648: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 649: /* Element[CHARACTERS[ENUMERATION]] */ case 650: /* Element[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ case 591: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 652: /* Element[CHARACTERS[BINARY_HEX]] */ case 653: /* Element[CHARACTERS[STRING]] */ case 502: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 205: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 31: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 657: /* Element[CHARACTERS[BINARY_BASE64]] */ case 20: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 659: /* FirstStartTag[CHARACTERS[FLOAT]] */ case 660: /* Element[CHARACTERS[INTEGER]] */ case 362: /* FirstStartTag[CHARACTERS[STRING]] */ case 17: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 664: /* Element[CHARACTERS[STRING]] */ case 665: /* Element[CHARACTERS[STRING]] */ case 666: /* Element[CHARACTERS[DATETIME]] */ case 667: /* Element[CHARACTERS[ENUMERATION]] */ case 545: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 316: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ case 668: /* Element[CHARACTERS[DATETIME]] */ case 124: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 672: /* FirstStartTag[CHARACTERS[STRING]] */ case 673: /* Element[CHARACTERS[UNSIGNED_INTEGER]] */ case 119: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 637: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 676: /* Element[CHARACTERS[ENUMERATION]] */ case 74: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ case 306: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 677: /* Element[CHARACTERS[BINARY_HEX]] */ case 266: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 678: /* FirstStartTag[CHARACTERS[STRING]] */ case 613: /* FirstStartTag[CHARACTERS[INTEGER]] */ case 679: /* Element[CHARACTERS[DATETIME]] */ case 680: /* Element[CHARACTERS[ENUMERATION]] */ case 569: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 41: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 635: /* FirstStartTag[CHARACTERS[STRING]] */ case 275: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 685: /* Element[CHARACTERS[ENUMERATION]] */ case 686: /* Element[CHARACTERS[STRING]] */ case 531: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ case 688: /* FirstStartTag[CHARACTERS[STRING]] */ case 690: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 245: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ case 694: /* Element[CHARACTERS[INTEGER]] */ case 695: /* FirstStartTag[CHARACTERS[DATETIME]] */ case 697: /* Element[CHARACTERS[BINARY_BASE64]] */ case 304: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 698: /* FirstStartTag[CHARACTERS[LIST]] */ case 699: /* Element[CHARACTERS[STRING]] */ case 159: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ case 701: /* FirstStartTag[CHARACTERS[LIST]] */ case 702: /* FirstStartTag[CHARACTERS[STRING]] */ case 547: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 704: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ case 634: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ case 706: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ case 371: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_CHARACTERS; break; case 1: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 240: /* 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]] */ case 464: /* 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 242: /* 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]] */ errn = decodeNBitUnsignedInteger(stream, 4, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 7: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 8: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 9: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 241: /* 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 = decodeNBitUnsignedInteger(stream, 4, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 7: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 8: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 9: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 10: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 96: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 247: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 283: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 390: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 405: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 402: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 265: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 392: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 228: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 53: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 644: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 391: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 249: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 681: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 401: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 248: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 1: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 2: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 3: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 400: /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 1: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 2: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 3: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 4: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 139: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ case 599: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 1: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 2: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 3: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 399: /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 2: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 3: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 4: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 5: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 25: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ case 115: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 197: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ case 276: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 335: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 341: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules)] */ case 40: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ case 373: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ case 397: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ case 443: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 451: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ case 465: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ case 162: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 274: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ case 161: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ case 544: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ case 588: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 543: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ case 602: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 615: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ case 434: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory)] */ case 487: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ case 580: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ case 175: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 651: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ case 152: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ case 416: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: case 1: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 2: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 471: /* 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 535: /* 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] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 4: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 5: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 426: /* FragmentContent[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:MsgBody}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), 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:MsgDataTypes}Certificate), 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}ChargeService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart), 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:MsgDataTypes}ConsumptionCost), 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}ContractID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), 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:MsgBody}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime), 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}EAmount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter), 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}EVErrorCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), 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({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), 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#}Modulus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), 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:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), 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:MsgDataTypes}PowerSwitchClosed), 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:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), 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}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), 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}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID), 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:MsgDataTypes}SigMeterReading), 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}SubCertificates), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), 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:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value), 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#}X509CRL), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName), 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#}X509SerialNumber), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), 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}costKind), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), 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}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ errn = decodeNBitUnsignedInteger(stream, 8, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 91: case 92: case 93: case 94: case 95: case 96: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: case 123: case 124: case 125: case 126: case 127: case 128: case 129: case 130: case 131: case 132: case 133: case 134: case 135: case 136: case 137: case 138: case 139: case 140: case 141: case 142: case 143: case 144: case 145: case 146: case 147: case 148: case 149: case 150: case 151: case 152: case 153: case 154: case 155: case 156: case 157: case 158: case 159: case 160: case 161: case 162: case 163: case 164: case 165: case 166: case 167: case 168: case 169: case 170: case 171: case 172: case 173: case 174: case 175: case 176: case 177: case 178: case 179: case 180: case 181: case 182: case 183: case 184: case 185: case 186: case 187: case 188: case 189: case 190: case 191: case 192: case 193: case 194: case 195: case 196: case 197: case 198: case 199: case 200: case 201: case 202: case 203: case 204: case 205: case 206: case 207: case 208: case 209: case 210: case 211: case 212: case 213: case 214: case 215: case 216: case 217: case 218: case 219: case 220: case 221: case 222: case 223: case 224: case 225: case 226: case 227: case 228: case 229: case 230: case 231: case 232: case 233: case 234: case 235: case 236: case 237: case 238: case 239: case 240: case 241: case 242: case 243: case 244: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 245: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 246: *nextEvent = EXI_EVENT_END_DOCUMENT; break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 52: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ case 227: /* FirstStartTag[ATTRIBUTE_GENERIC, START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_ATTRIBUTE_GENERIC; break; case 1: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 2: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 3: *nextEvent = EXI_EVENT_CHARACTERS_GENERIC; break; case 4: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 484: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 5: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 196: /* 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] */ case 549: /* 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] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 5: *nextEvent = EXI_EVENT_START_ELEMENT_GENERIC; break; case 6: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 13: /* Element[END_ELEMENT] */ case 46: /* FirstStartTag[END_ELEMENT] */ case 50: /* Element[END_ELEMENT] */ case 56: /* First(xsi:type)StartTag[END_ELEMENT] */ case 82: /* Element[END_ELEMENT] */ case 109: /* Element[END_ELEMENT] */ case 121: /* Element[END_ELEMENT] */ case 125: /* Element[END_ELEMENT] */ case 137: /* FirstStartTag[END_ELEMENT] */ case 30: /* Element[END_ELEMENT] */ case 38: /* First(xsi:type)StartTag[END_ELEMENT] */ case 224: /* Element[END_ELEMENT] */ case 185: /* FirstStartTag[END_ELEMENT] */ case 232: /* Element[END_ELEMENT] */ case 261: /* Element[END_ELEMENT] */ case 279: /* Element[END_ELEMENT] */ case 343: /* FirstStartTag[END_ELEMENT] */ case 129: /* First(xsi:type)StartTag[END_ELEMENT] */ case 352: /* Element[END_ELEMENT] */ case 358: /* Element[END_ELEMENT] */ case 381: /* Element[END_ELEMENT] */ case 393: /* FirstStartTag[END_ELEMENT] */ case 251: /* Element[END_ELEMENT] */ case 408: /* Element[END_ELEMENT] */ case 410: /* Element[END_ELEMENT] */ case 173: /* First(xsi:type)StartTag[END_ELEMENT] */ case 415: /* Element[END_ELEMENT] */ case 420: /* Element[END_ELEMENT] */ case 421: /* Element[END_ELEMENT] */ case 423: /* Element[END_ELEMENT] */ case 432: /* FirstStartTag[END_ELEMENT] */ case 440: /* Element[END_ELEMENT] */ case 363: /* Element[END_ELEMENT] */ case 447: /* Element[END_ELEMENT] */ case 22: /* Element[END_ELEMENT] */ case 36: /* Element[END_ELEMENT] */ case 473: /* Element[END_ELEMENT] */ case 480: /* Element[END_ELEMENT] */ case 324: /* Element[END_ELEMENT] */ case 489: /* Element[END_ELEMENT] */ case 444: /* Element[END_ELEMENT] */ case 494: /* Element[END_ELEMENT] */ case 64: /* Element[END_ELEMENT] */ case 150: /* First(xsi:type)StartTag[END_ELEMENT] */ case 349: /* Element[END_ELEMENT] */ case 504: /* Element[END_ELEMENT] */ case 354: /* Element[END_ELEMENT] */ case 505: /* Element[END_ELEMENT] */ case 516: /* Element[END_ELEMENT] */ case 528: /* FirstStartTag[END_ELEMENT] */ case 89: /* Element[END_ELEMENT] */ case 370: /* Element[END_ELEMENT] */ case 558: /* Element[END_ELEMENT] */ case 372: /* Element[END_ELEMENT] */ case 561: /* FirstStartTag[END_ELEMENT] */ case 5: /* Element[END_ELEMENT] */ case 258: /* Element[END_ELEMENT] */ case 581: /* Element[END_ELEMENT] */ case 584: /* Element[END_ELEMENT] */ case 601: /* Element[END_ELEMENT] */ case 609: /* Element[END_ELEMENT] */ case 191: /* First(xsi:type)StartTag[END_ELEMENT] */ case 573: /* Element[END_ELEMENT] */ case 149: /* First(xsi:type)StartTag[END_ELEMENT] */ case 629: /* Element[END_ELEMENT] */ case 16: /* Element[END_ELEMENT] */ case 231: /* Element[END_ELEMENT] */ case 639: /* FirstStartTag[END_ELEMENT] */ case 307: /* Element[END_ELEMENT] */ case 302: /* Element[END_ELEMENT] */ case 655: /* Element[END_ELEMENT] */ case 413: /* Element[END_ELEMENT] */ case 289: /* Element[END_ELEMENT] */ case 28: /* Element[END_ELEMENT] */ case 532: /* Element[END_ELEMENT] */ case 479: /* Element[END_ELEMENT] */ case 671: /* Element[END_ELEMENT] */ case 670: /* Element[END_ELEMENT] */ case 333: /* Element[END_ELEMENT] */ case 563: /* Element[END_ELEMENT] */ case 79: /* Element[END_ELEMENT] */ case 151: /* First(xsi:type)StartTag[END_ELEMENT] */ case 654: /* Element[END_ELEMENT] */ case 553: /* Element[END_ELEMENT] */ case 387: /* Element[END_ELEMENT] */ case 19: /* Element[END_ELEMENT] */ case 73: /* Element[END_ELEMENT] */ case 560: /* Element[END_ELEMENT] */ case 691: /* FirstStartTag[END_ELEMENT] */ case 594: /* Element[END_ELEMENT] */ case 539: /* Element[END_ELEMENT] */ case 693: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &state->eventCode); switch (state->eventCode) { case 0: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 1: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 301: /* 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] */ case 290: /* 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] */ errn = decodeNBitUnsignedInteger(stream, 6, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 35: *nextEvent = EXI_EVENT_END_ELEMENT; break; case 36: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 485: /* 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)] */ errn = decodeNBitUnsignedInteger(stream, 3, &state->eventCode); switch (state->eventCode) { case 0: case 1: case 2: case 3: *nextEvent = EXI_EVENT_START_ELEMENT; break; case 4: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; case 189: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ errn = decodeNBitUnsignedInteger(stream, 2, &state->eventCode); switch (state->eventCode) { case 0: case 1: *nextEvent = EXI_EVENT_ATTRIBUTE; break; case 2: /* 2nd level events */ errn = exiDecodeNext2Event(stream, state, nextEvent); break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } break; default: if(ruleID < 0) { /* built-in element grammar */ numberOfProductions = state->runtimeGrammars[(ruleID + 1)*(-1)].numberOfProductions; if(numberOfProductions > 0) { /* decode 1st level event code */ errn = exiGetCodingLength(numberOfProductions + 1, &codingLength); if(errn) { return errn; } errn = decodeNBitUnsignedInteger(stream, codingLength, &eventCode1); if(errn) { return errn; } if(eventCode1 == numberOfProductions) { /* 2nd level */ errn = exiDecodeNext2Event(stream, state, nextEvent); } else { /* 1st level event not supported in profile */ errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; } } else { errn = exiDecodeNext2Event(stream, state, nextEvent); } } else { *nextEvent = EXI_EVENT_ERROR; errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; } break; } currEvent = *nextEvent; return errn; } #ifndef __GNUC__ #pragma warning( disable : 4100 ) /* warning unreferenced parameter 'stream' */ #endif /* __GNUC__ */ int exiDecodeStartDocument(bitstream_t* stream, exi_state_t* state) { if ( state->grammarStack[state->stackIndex] == 0 ) { /* move on */ state->grammarStack[state->stackIndex] = 126; return 0; } if ( state->grammarStack[state->stackIndex] == 425 ) { /* move on */ state->grammarStack[state->stackIndex] = 426; return 0; } return EXI_ERROR_UNEXPECTED_START_DOCUMENT; } #ifndef __GNUC__ #pragma warning( default : 4100 ) /* warning unreferenced parameter 'stream' */ #endif /* __GNUC__ */ #ifndef __GNUC__ #pragma warning( disable : 4100 ) /* warning unreferenced parameter 'stream' */ #endif /* __GNUC__ */ int exiDecodeEndDocument(bitstream_t* stream, exi_state_t* state) { if ( state->grammarStack[state->stackIndex] == 127) { return 0; } if ( state->grammarStack[state->stackIndex] == 426) { return 0; } return EXI_ERROR_UNEXPECTED_END_DOCUMENT; } #ifndef __GNUC__ #pragma warning( default : 4100 ) /* warning unreferenced parameter 'stream' */ #endif /* __GNUC__ */ int exiDecodeStartElement(bitstream_t* stream, exi_state_t* state, uint16_t* qnameID) { errn = EXI_ERROR_UNEXPECTED_START_ELEMENT; switch(currEvent) { case EXI_EVENT_START_ELEMENT: switch (state->grammarStack[state->stackIndex]) { case 1: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 404, 2, 3); break; } break; case 2: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 398, 21, 627); break; } break; case 6: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 189, 7, 8); break; } break; case 7: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 170, 232, 334); break; } break; case 9: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 257, 10, 11); break; } break; case 10: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 392, 421, 110); break; } break; case 15: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 16, 17); break; } break; case 18: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 407, 19, 20); break; } break; case 21: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 399, 22, 23); break; } break; case 24: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 213, 25, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 212, 27, 26); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 188, 28, 26); break; } break; case 25: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 212, 27, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 188, 28, 26); break; } break; case 26: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 336, 544, 23); break; } break; case 27: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 188, 28, 26); break; } break; case 29: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 185, 30, 31); break; } break; case 33: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 151, 34, 35); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 270, 36, 37); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 294, 36, 38); break; } break; case 34: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 270, 36, 37); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 294, 36, 38); break; } break; case 35: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 366, 342, 209); break; } break; case 37: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 277, 580, 145); break; } break; case 39: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 236, 40, 41); break; } break; case 40: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 216, 353, 209); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 191, 354, 355); break; } break; case 43: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 341, 44, 45); break; } break; case 44: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 370, 532, 533); break; } break; case 45: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 344, 208, 209); break; } break; case 47: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 253, 48, 49); break; } break; case 48: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 306, 661, 26); break; } break; case 49: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 355, 541, 74); break; } break; case 54: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 55, 17); break; } break; case 55: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 185, 341, 31); break; } break; case 58: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 339, 59, 60); break; } break; case 59: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 372, 438, 175); break; } break; case 61: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 315, 62, 26); break; } break; case 62: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 303, 539, 26); break; } break; case 63: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 228, 64, 65); break; } break; case 67: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 188, 68, 26); break; } break; case 68: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 187, 372, 26); break; } break; case 69: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 441, 70, 71); break; } break; case 70: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 437, 289, 290); break; } break; case 71: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 445, 507, 41); break; } break; case 72: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 259, 73, 74); break; } break; case 75: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 211, 76, 74); break; } break; case 76: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 131, 560, 49); break; } break; case 78: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 79, 17); break; } break; case 80: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 257, 81, 11); break; } break; case 81: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 257, 81, 11); break; } break; case 86: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 87, 17); break; } break; case 87: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 167, 412, 115); break; } break; case 88: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 184, 89, 26); break; } break; case 90: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 113, 91, 92); break; } break; case 91: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 111, 509, 190); break; } break; case 92: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 61, 107, 108); break; } break; case 93: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 387, 94, 95); break; } break; case 94: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 328, 505, 74); break; } break; case 95: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 383, 434, 65); break; } break; case 97: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 298, 98, 74); break; } break; case 98: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 282, 197, 74); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 296, 112, 74); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 287, 113, 114); break; } break; case 101: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 348, 102, 103); break; } break; case 102: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 348, 102, 103); break; } break; case 103: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 349, 305, 306); break; } break; case 106: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 61, 107, 108); break; } break; case 107: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 104, 517, 187); break; } break; case 110: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 257, 81, 11); break; } break; case 112: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 287, 113, 114); break; } break; case 113: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 297, 307, 308); break; } break; case 115: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 304, 116, 117); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 318, 118, 119); break; } break; case 116: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 318, 118, 119); break; } break; case 118: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 337, 478, 12); break; } break; case 122: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 261, 123, 124); break; } break; case 123: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 260, 224, 613); break; } break; case 126: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 249, 127, 128); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 251, 127, 47); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 253, 127, 49); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 439, 127, 129); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 133, 127, 130); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 135, 127, 131); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 61, 127, 108); break; case 7: errn = _exiDecodeStartElement(state, *qnameID = 137, 127, 132); break; case 8: errn = _exiDecodeStartElement(state, *qnameID = 139, 127, 133); break; case 9: errn = _exiDecodeStartElement(state, *qnameID = 141, 127, 134); break; case 10: errn = _exiDecodeStartElement(state, *qnameID = 143, 127, 135); break; case 11: errn = _exiDecodeStartElement(state, *qnameID = 145, 127, 136); break; case 12: errn = _exiDecodeStartElement(state, *qnameID = 147, 127, 54); break; case 13: errn = _exiDecodeStartElement(state, *qnameID = 152, 127, 137); break; case 14: errn = _exiDecodeStartElement(state, *qnameID = 154, 127, 138); break; case 15: errn = _exiDecodeStartElement(state, *qnameID = 156, 127, 139); break; case 16: errn = _exiDecodeStartElement(state, *qnameID = 158, 127, 140); break; case 17: errn = _exiDecodeStartElement(state, *qnameID = 163, 127, 141); break; case 18: errn = _exiDecodeStartElement(state, *qnameID = 165, 127, 142); break; case 19: errn = _exiDecodeStartElement(state, *qnameID = 267, 127, 143); break; case 20: errn = _exiDecodeStartElement(state, *qnameID = 270, 127, 37); break; case 21: errn = _exiDecodeStartElement(state, *qnameID = 272, 127, 144); break; case 22: errn = _exiDecodeStartElement(state, *qnameID = 274, 127, 115); break; case 23: errn = _exiDecodeStartElement(state, *qnameID = 277, 127, 145); break; case 24: errn = _exiDecodeStartElement(state, *qnameID = 64, 127, 146); break; case 25: errn = _exiDecodeStartElement(state, *qnameID = 66, 127, 147); break; case 26: errn = _exiDecodeStartElement(state, *qnameID = 68, 127, 148); break; case 27: errn = _exiDecodeStartElement(state, *qnameID = 283, 127, 149); break; case 28: errn = _exiDecodeStartElement(state, *qnameID = 294, 127, 38); break; case 29: errn = _exiDecodeStartElement(state, *qnameID = 300, 127, 56); break; case 30: errn = _exiDecodeStartElement(state, *qnameID = 317, 127, 150); break; case 31: errn = _exiDecodeStartElement(state, *qnameID = 321, 127, 151); break; case 32: errn = _exiDecodeStartElement(state, *qnameID = 324, 127, 152); break; case 33: errn = _exiDecodeStartElement(state, *qnameID = 75, 127, 153); break; case 34: errn = _exiDecodeStartElement(state, *qnameID = 77, 127, 154); break; case 35: errn = _exiDecodeStartElement(state, *qnameID = 78, 127, 155); break; case 36: errn = _exiDecodeStartElement(state, *qnameID = 80, 127, 156); break; case 37: errn = _exiDecodeStartElement(state, *qnameID = 192, 127, 157); break; case 38: errn = _exiDecodeStartElement(state, *qnameID = 194, 127, 158); break; case 39: errn = _exiDecodeStartElement(state, *qnameID = 82, 127, 159); break; case 40: errn = _exiDecodeStartElement(state, *qnameID = 84, 127, 160); break; case 41: errn = _exiDecodeStartElement(state, *qnameID = 87, 127, 161); break; case 42: errn = _exiDecodeStartElement(state, *qnameID = 342, 127, 162); break; case 43: errn = _exiDecodeStartElement(state, *qnameID = 197, 127, 163); break; case 44: errn = _exiDecodeStartElement(state, *qnameID = 199, 127, 164); break; case 45: errn = _exiDecodeStartElement(state, *qnameID = 202, 127, 165); break; case 46: errn = _exiDecodeStartElement(state, *qnameID = 204, 127, 166); break; case 47: errn = _exiDecodeStartElement(state, *qnameID = 206, 127, 167); break; case 48: errn = _exiDecodeStartElement(state, *qnameID = 208, 127, 86); break; case 49: errn = _exiDecodeStartElement(state, *qnameID = 93, 127, 168); break; case 50: errn = _exiDecodeStartElement(state, *qnameID = 95, 127, 169); break; case 51: errn = _exiDecodeStartElement(state, *qnameID = 359, 127, 170); break; case 52: errn = _exiDecodeStartElement(state, *qnameID = 97, 127, 171); break; case 53: errn = _exiDecodeStartElement(state, *qnameID = 363, 127, 172); break; case 54: errn = _exiDecodeStartElement(state, *qnameID = 368, 127, 173); break; case 55: errn = _exiDecodeStartElement(state, *qnameID = 99, 127, 174); break; case 56: errn = _exiDecodeStartElement(state, *qnameID = 372, 127, 175); break; case 57: errn = _exiDecodeStartElement(state, *qnameID = 381, 127, 176); break; case 58: errn = _exiDecodeStartElement(state, *qnameID = 220, 127, 177); break; case 59: errn = _exiDecodeStartElement(state, *qnameID = 222, 127, 178); break; case 60: errn = _exiDecodeStartElement(state, *qnameID = 224, 127, 179); break; case 61: errn = _exiDecodeStartElement(state, *qnameID = 226, 127, 180); break; case 62: errn = _exiDecodeStartElement(state, *qnameID = 231, 127, 181); break; case 63: errn = _exiDecodeStartElement(state, *qnameID = 233, 127, 182); break; case 64: errn = _exiDecodeStartElement(state, *qnameID = 237, 127, 183); break; case 65: errn = _exiDecodeStartElement(state, *qnameID = 239, 127, 184); break; case 66: errn = _exiDecodeStartElement(state, *qnameID = 241, 127, 185); break; case 67: errn = _exiDecodeStartElement(state, *qnameID = 242, 127, 78); break; case 68: errn = _exiDecodeStartElement(state, *qnameID = 103, 127, 186); break; case 69: errn = _exiDecodeStartElement(state, *qnameID = 104, 127, 187); break; case 70: errn = _exiDecodeStartElement(state, *qnameID = 106, 127, 188); break; case 71: errn = _exiDecodeStartElement(state, *qnameID = 108, 127, 189); break; case 72: errn = _exiDecodeStartElement(state, *qnameID = 111, 127, 190); break; case 73: errn = _exiDecodeStartElement(state, *qnameID = 113, 127, 92); break; case 74: errn = _exiDecodeStartElement(state, *qnameID = 395, 127, 191); break; case 75: errn = _exiDecodeStartElement(state, *qnameID = 115, 127, 192); break; case 76: errn = _exiDecodeStartElement(state, *qnameID = 117, 127, 193); break; case 77: errn = _exiDecodeStartElement(state, *qnameID = 442, 127, 69); break; case 78: errn = _exiDecodeStartElement(state, *qnameID = 245, 127, 194); break; case 79: errn = _exiDecodeStartElement(state, *qnameID = 247, 127, 195); break; case 80: errn = _exiDecodeStartElement(state, *qnameID = 121, 127, 196); break; } break; case 128: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 279, 497, 545); break; } break; case 130: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 168, 363, 145); break; } break; case 131: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 281, 17); break; } break; case 132: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 196, 199, 11); break; } break; case 134: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 161, 396, 9); break; } break; case 136: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 175, 213, 214); break; } break; case 138: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 260, 17); break; } break; case 139: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 189, 349, 8); break; } break; case 140: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 379, 17); break; } break; case 141: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 168, 239, 145); break; } break; case 142: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 271, 17); break; } break; case 143: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 277, 345, 145); break; } break; case 144: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 274, 542, 115); break; } break; case 145: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 298, 98, 74); break; } break; case 146: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 86, 273, 275); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 71, 481, 275); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 130, 327, 275); break; } break; case 152: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 359, 444, 170); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 395, 444, 191); break; } break; case 153: /* 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]] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 77, 241, 154); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 78, 241, 155); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 97, 241, 171); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 121, 241, 196); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 87, 241, 161); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 99, 241, 174); break; case 7: errn = _exiDecodeStartElement(state, *qnameID = 82, 241, 159); break; } break; case 155: /* 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]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 64, 295, 146); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 93, 295, 168); break; } break; case 156: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 95, 565, 169); break; } break; case 157: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 236, 40, 41); break; } break; case 158: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 419, 17); break; } break; case 161: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 89, 490, 246); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 90, 491, 492); break; } break; case 162: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 359, 470, 170); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 395, 470, 191); break; } break; case 163: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 160, 356, 357); break; } break; case 164: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 6, 17); break; } break; case 165: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 210, 33, 74); break; } break; case 166: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 463, 17); break; } break; case 167: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 168, 67, 145); break; } break; case 168: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 83, 570, 275); break; } break; case 169: /* 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)] */ switch(state->eventCode) { case 3: errn = _exiDecodeStartElement(state, *qnameID = 117, 277, 193); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 66, 278, 147); break; } break; case 170: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 430, 18, 547); break; } break; case 171: /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ switch(state->eventCode) { case 2: errn = _exiDecodeStartElement(state, *qnameID = 117, 82, 193); break; } break; case 172: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 365, 320, 321); break; } break; case 174: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 101, 204, 205); break; } break; case 175: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 359, 336, 170); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 395, 336, 191); break; } break; case 176: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 387, 309, 95); break; } break; case 177: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 228, 64, 65); break; } break; case 178: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 217, 17); break; } break; case 179: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 235, 572, 518); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 219, 573, 85); break; } break; case 180: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 628, 17); break; } break; case 181: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 217, 254, 245); break; } break; case 182: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 16, 17); break; } break; case 183: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 171, 629, 223); break; } break; case 184: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 238, 17); break; } break; case 186: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 113, 91, 92); break; } break; case 188: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 108, 377, 189); break; } break; case 193: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 115, 431, 192); break; } break; case 194: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 168, 231, 145); break; } break; case 195: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 521, 17); break; } break; case 196: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 124, 313, 314); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 126, 313, 77); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 128, 313, 315); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 120, 313, 316); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 119, 313, 317); break; } break; case 197: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 296, 112, 74); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 287, 113, 114); break; } break; case 198: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 196, 199, 11); break; } break; case 199: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 190, 386, 360); break; } break; case 204: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 101, 204, 205); break; } break; case 206: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 101, 204, 205); break; } break; case 207: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 344, 208, 209); break; } break; case 208: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 342, 448, 162); break; } break; case 213: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 249, 670, 128); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 267, 670, 143); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 283, 670, 149); break; } break; case 215: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 129, 221, 222); break; } break; case 216: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 217, 17); break; } break; case 217: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 228, 288, 65); break; } break; case 218: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 265, 218, 1); break; } break; case 220: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 129, 221, 222); break; } break; case 221: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 129, 221, 222); break; } break; case 230: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 168, 231, 145); break; } break; case 233: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 175, 213, 214); break; } break; case 234: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 182, 235, 74); break; } break; case 235: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 181, 605, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 179, 606, 26); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 180, 516, 26); break; } break; case 237: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 238, 17); break; } break; case 238: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 177, 530, 531); break; } break; case 239: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 187, 484, 26); break; } break; case 240: /* 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]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 77, 241, 154); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 78, 241, 155); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 97, 241, 171); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 121, 241, 196); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 87, 241, 161); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 99, 241, 174); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 82, 241, 159); break; } break; case 241: /* 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]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 77, 241, 154); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 78, 241, 155); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 97, 241, 171); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 121, 241, 196); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 87, 241, 161); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 99, 241, 174); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 82, 241, 159); break; } break; case 242: /* 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]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 77, 241, 154); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 78, 241, 155); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 97, 241, 171); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 121, 241, 196); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 87, 241, 161); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 99, 241, 174); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 82, 241, 159); break; } break; case 243: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 257, 10, 11); break; } break; case 244: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 352, 244, 245); break; } break; case 250: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 394, 251, 252); break; } break; case 253: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 352, 244, 245); break; } break; case 254: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 218, 494, 522); break; } break; case 256: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 117, 82, 193); break; } break; case 257: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 229, 258, 259); break; } break; case 259: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 379, 337, 338); break; } break; case 260: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 177, 461, 531); break; } break; case 262: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 184, 263, 26); break; } break; case 263: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 183, 548, 26); break; } break; case 264: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 72, 265, 266); break; } break; case 267: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 72, 265, 266); break; } break; case 271: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 167, 262, 115); break; } break; case 273: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 92, 274, 275); break; } break; case 274: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 71, 481, 275); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 130, 327, 275); break; } break; case 276: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 117, 277, 193); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 66, 278, 147); break; } break; case 277: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 66, 278, 147); break; } break; case 278: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 68, 601, 148); break; } break; case 280: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 91, 125, 275); break; } break; case 281: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 167, 29, 115); break; } break; case 284: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 285, 17); break; } break; case 285: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 161, 364, 9); break; } break; case 287: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 253, 48, 49); break; } break; case 288: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 230, 558, 101); break; } break; case 290: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 439, 302, 129); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 133, 302, 130); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 135, 302, 131); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 137, 302, 132); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 139, 302, 133); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 141, 302, 134); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 143, 302, 135); break; case 7: errn = _exiDecodeStartElement(state, *qnameID = 145, 302, 136); break; case 8: errn = _exiDecodeStartElement(state, *qnameID = 147, 302, 54); break; case 9: errn = _exiDecodeStartElement(state, *qnameID = 152, 302, 137); break; case 10: errn = _exiDecodeStartElement(state, *qnameID = 154, 302, 138); break; case 11: errn = _exiDecodeStartElement(state, *qnameID = 156, 302, 139); break; case 12: errn = _exiDecodeStartElement(state, *qnameID = 158, 302, 140); break; case 13: errn = _exiDecodeStartElement(state, *qnameID = 163, 302, 141); break; case 14: errn = _exiDecodeStartElement(state, *qnameID = 165, 302, 142); break; case 15: errn = _exiDecodeStartElement(state, *qnameID = 192, 302, 157); break; case 16: errn = _exiDecodeStartElement(state, *qnameID = 194, 302, 158); break; case 17: errn = _exiDecodeStartElement(state, *qnameID = 197, 302, 163); break; case 18: errn = _exiDecodeStartElement(state, *qnameID = 199, 302, 164); break; case 19: errn = _exiDecodeStartElement(state, *qnameID = 202, 302, 165); break; case 20: errn = _exiDecodeStartElement(state, *qnameID = 204, 302, 166); break; case 21: errn = _exiDecodeStartElement(state, *qnameID = 206, 302, 167); break; case 22: errn = _exiDecodeStartElement(state, *qnameID = 208, 302, 86); break; case 23: errn = _exiDecodeStartElement(state, *qnameID = 220, 302, 177); break; case 24: errn = _exiDecodeStartElement(state, *qnameID = 222, 302, 178); break; case 25: errn = _exiDecodeStartElement(state, *qnameID = 224, 302, 179); break; case 26: errn = _exiDecodeStartElement(state, *qnameID = 226, 302, 180); break; case 27: errn = _exiDecodeStartElement(state, *qnameID = 231, 302, 181); break; case 28: errn = _exiDecodeStartElement(state, *qnameID = 233, 302, 182); break; case 29: errn = _exiDecodeStartElement(state, *qnameID = 237, 302, 183); break; case 30: errn = _exiDecodeStartElement(state, *qnameID = 239, 302, 184); break; case 31: errn = _exiDecodeStartElement(state, *qnameID = 241, 302, 185); break; case 32: errn = _exiDecodeStartElement(state, *qnameID = 242, 302, 78); break; case 33: errn = _exiDecodeStartElement(state, *qnameID = 245, 302, 194); break; case 34: errn = _exiDecodeStartElement(state, *qnameID = 247, 302, 195); break; } break; case 291: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 169, 292, 269); break; } break; case 292: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 160, 411, 357); break; } break; case 296: /* 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]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 64, 295, 146); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 93, 295, 168); break; } break; case 298: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 299, 17); break; } break; case 299: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 161, 303, 9); break; } break; case 301: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 439, 302, 129); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 133, 302, 130); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 135, 302, 131); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 137, 302, 132); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 139, 302, 133); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 141, 302, 134); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 143, 302, 135); break; case 7: errn = _exiDecodeStartElement(state, *qnameID = 145, 302, 136); break; case 8: errn = _exiDecodeStartElement(state, *qnameID = 147, 302, 54); break; case 9: errn = _exiDecodeStartElement(state, *qnameID = 152, 302, 137); break; case 10: errn = _exiDecodeStartElement(state, *qnameID = 154, 302, 138); break; case 11: errn = _exiDecodeStartElement(state, *qnameID = 156, 302, 139); break; case 12: errn = _exiDecodeStartElement(state, *qnameID = 158, 302, 140); break; case 13: errn = _exiDecodeStartElement(state, *qnameID = 163, 302, 141); break; case 14: errn = _exiDecodeStartElement(state, *qnameID = 165, 302, 142); break; case 15: errn = _exiDecodeStartElement(state, *qnameID = 192, 302, 157); break; case 16: errn = _exiDecodeStartElement(state, *qnameID = 194, 302, 158); break; case 17: errn = _exiDecodeStartElement(state, *qnameID = 197, 302, 163); break; case 18: errn = _exiDecodeStartElement(state, *qnameID = 199, 302, 164); break; case 19: errn = _exiDecodeStartElement(state, *qnameID = 202, 302, 165); break; case 20: errn = _exiDecodeStartElement(state, *qnameID = 204, 302, 166); break; case 21: errn = _exiDecodeStartElement(state, *qnameID = 206, 302, 167); break; case 22: errn = _exiDecodeStartElement(state, *qnameID = 208, 302, 86); break; case 23: errn = _exiDecodeStartElement(state, *qnameID = 220, 302, 177); break; case 24: errn = _exiDecodeStartElement(state, *qnameID = 222, 302, 178); break; case 25: errn = _exiDecodeStartElement(state, *qnameID = 224, 302, 179); break; case 26: errn = _exiDecodeStartElement(state, *qnameID = 226, 302, 180); break; case 27: errn = _exiDecodeStartElement(state, *qnameID = 231, 302, 181); break; case 28: errn = _exiDecodeStartElement(state, *qnameID = 233, 302, 182); break; case 29: errn = _exiDecodeStartElement(state, *qnameID = 237, 302, 183); break; case 30: errn = _exiDecodeStartElement(state, *qnameID = 239, 302, 184); break; case 31: errn = _exiDecodeStartElement(state, *qnameID = 241, 302, 185); break; case 32: errn = _exiDecodeStartElement(state, *qnameID = 242, 302, 78); break; case 33: errn = _exiDecodeStartElement(state, *qnameID = 245, 302, 194); break; case 34: errn = _exiDecodeStartElement(state, *qnameID = 247, 302, 195); break; } break; case 303: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 162, 291, 304); break; } break; case 305: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 347, 340, 202); break; } break; case 309: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 328, 430, 74); break; } break; case 310: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 335, 250, 311); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 394, 251, 252); break; } break; case 313: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 124, 313, 314); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 126, 313, 77); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 128, 313, 315); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 120, 313, 316); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 119, 313, 317); break; } break; case 314: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 123, 568, 569); break; } break; case 318: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 299, 17); break; } break; case 319: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 365, 320, 321); break; } break; case 320: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 365, 320, 321); break; } break; case 321: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 366, 43, 209); break; } break; case 323: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 256, 324, 308); break; } break; case 326: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 84, 326, 160); break; } break; case 327: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 74, 328, 275); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 102, 280, 275); break; } break; case 328: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 102, 280, 275); break; } break; case 329: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 326, 330, 331); break; } break; case 330: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 327, 420, 550); break; } break; case 332: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 251, 333, 47); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 272, 333, 144); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 300, 333, 56); break; } break; case 335: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 359, 336, 170); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 395, 336, 191); break; } break; case 336: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 281, 346, 60); break; } break; case 337: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 379, 337, 338); break; } break; case 338: /* First(xsi:type)StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 387, 94, 95); break; } break; case 339: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 72, 265, 266); break; } break; case 340: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 347, 340, 202); break; } break; case 341: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 363, 332, 172); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 368, 332, 173); break; } break; case 342: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 356, 587, 537); break; } break; case 345: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 290, 416, 26); break; } break; case 346: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 263, 346, 347); break; } break; case 347: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 431, 218, 552); break; } break; case 348: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 189, 349, 8); break; } break; case 350: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 113, 91, 92); break; } break; case 353: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 191, 354, 355); break; } break; case 355: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 332, 535, 100); break; } break; case 356: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 161, 594, 9); break; } break; case 360: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 361, 361, 362); break; } break; case 361: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 361, 361, 362); break; } break; case 364: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 162, 512, 304); break; } break; case 369: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 313, 370, 371); break; } break; case 373: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 191, 75, 355); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 211, 76, 74); break; } break; case 376: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 108, 377, 189); break; } break; case 377: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 108, 377, 189); break; } break; case 378: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 379, 17); break; } break; case 379: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 185, 563, 31); break; } break; case 382: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 387, 94, 95); break; } break; case 386: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 169, 387, 269); break; } break; case 388: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 329, 323, 308); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 256, 324, 308); break; } break; case 394: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 168, 239, 145); break; } break; case 395: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 161, 396, 9); break; } break; case 396: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 160, 436, 357); break; } break; case 397: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 302, 61, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 315, 62, 26); break; } break; case 407: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 95, 407, 169); break; } break; case 411: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 215, 671, 616); break; } break; case 412: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 184, 413, 26); break; } break; case 416: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 291, 578, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 292, 471, 26); break; } break; case 417: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 196, 199, 11); break; } break; case 419: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 131, 109, 49); break; } break; case 422: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 168, 363, 145); break; } break; case 426: /* FragmentContent[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:MsgBody}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), 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:MsgDataTypes}Certificate), 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}ChargeService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart), 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:MsgDataTypes}ConsumptionCost), 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}ContractID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), 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:MsgBody}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime), 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}EAmount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter), 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}EVErrorCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), 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({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), 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#}Modulus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), 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:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), 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:MsgDataTypes}PowerSwitchClosed), 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:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), 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}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), 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}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID), 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:MsgDataTypes}SigMeterReading), 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}SubCertificates), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), 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:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value), 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#}X509CRL), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName), 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#}X509SerialNumber), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), 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}costKind), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), 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}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 249, 426, 128); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 251, 426, 47); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 131, 426, 49); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 253, 426, 49); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 437, 426, 290); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 439, 426, 129); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 132, 426, 74); break; case 7: errn = _exiDecodeStartElement(state, *qnameID = 255, 426, 74); break; case 8: errn = _exiDecodeStartElement(state, *qnameID = 256, 426, 308); break; case 9: errn = _exiDecodeStartElement(state, *qnameID = 133, 426, 130); break; case 10: errn = _exiDecodeStartElement(state, *qnameID = 135, 426, 131); break; case 11: errn = _exiDecodeStartElement(state, *qnameID = 61, 426, 108); break; case 12: errn = _exiDecodeStartElement(state, *qnameID = 257, 426, 11); break; case 13: errn = _exiDecodeStartElement(state, *qnameID = 137, 426, 132); break; case 14: errn = _exiDecodeStartElement(state, *qnameID = 139, 426, 133); break; case 15: errn = _exiDecodeStartElement(state, *qnameID = 141, 426, 134); break; case 16: errn = _exiDecodeStartElement(state, *qnameID = 143, 426, 135); break; case 17: errn = _exiDecodeStartElement(state, *qnameID = 145, 426, 136); break; case 18: errn = _exiDecodeStartElement(state, *qnameID = 147, 426, 54); break; case 19: errn = _exiDecodeStartElement(state, *qnameID = 149, 426, 176); break; case 20: errn = _exiDecodeStartElement(state, *qnameID = 150, 426, 74); break; case 21: errn = _exiDecodeStartElement(state, *qnameID = 259, 426, 74); break; case 22: errn = _exiDecodeStartElement(state, *qnameID = 151, 426, 35); break; case 23: errn = _exiDecodeStartElement(state, *qnameID = 260, 426, 613); break; case 24: errn = _exiDecodeStartElement(state, *qnameID = 261, 426, 124); break; case 25: errn = _exiDecodeStartElement(state, *qnameID = 152, 426, 137); break; case 26: errn = _exiDecodeStartElement(state, *qnameID = 154, 426, 138); break; case 27: errn = _exiDecodeStartElement(state, *qnameID = 263, 426, 347); break; case 28: errn = _exiDecodeStartElement(state, *qnameID = 156, 426, 139); break; case 29: errn = _exiDecodeStartElement(state, *qnameID = 158, 426, 140); break; case 30: errn = _exiDecodeStartElement(state, *qnameID = 160, 426, 357); break; case 31: errn = _exiDecodeStartElement(state, *qnameID = 161, 426, 9); break; case 32: errn = _exiDecodeStartElement(state, *qnameID = 162, 426, 304); break; case 33: errn = _exiDecodeStartElement(state, *qnameID = 265, 426, 1); break; case 34: errn = _exiDecodeStartElement(state, *qnameID = 163, 426, 141); break; case 35: errn = _exiDecodeStartElement(state, *qnameID = 165, 426, 142); break; case 36: errn = _exiDecodeStartElement(state, *qnameID = 267, 426, 143); break; case 37: errn = _exiDecodeStartElement(state, *qnameID = 270, 426, 37); break; case 38: errn = _exiDecodeStartElement(state, *qnameID = 272, 426, 144); break; case 39: errn = _exiDecodeStartElement(state, *qnameID = 167, 426, 115); break; case 40: errn = _exiDecodeStartElement(state, *qnameID = 274, 426, 115); break; case 41: errn = _exiDecodeStartElement(state, *qnameID = 168, 426, 145); break; case 42: errn = _exiDecodeStartElement(state, *qnameID = 277, 426, 145); break; case 43: errn = _exiDecodeStartElement(state, *qnameID = 169, 426, 269); break; case 44: errn = _exiDecodeStartElement(state, *qnameID = 64, 426, 146); break; case 45: errn = _exiDecodeStartElement(state, *qnameID = 170, 426, 554); break; case 46: errn = _exiDecodeStartElement(state, *qnameID = 279, 426, 545); break; case 47: errn = _exiDecodeStartElement(state, *qnameID = 66, 426, 147); break; case 48: errn = _exiDecodeStartElement(state, *qnameID = 68, 426, 148); break; case 49: errn = _exiDecodeStartElement(state, *qnameID = 280, 426, 26); break; case 50: errn = _exiDecodeStartElement(state, *qnameID = 281, 426, 60); break; case 51: errn = _exiDecodeStartElement(state, *qnameID = 171, 426, 223); break; case 52: errn = _exiDecodeStartElement(state, *qnameID = 282, 426, 74); break; case 53: errn = _exiDecodeStartElement(state, *qnameID = 283, 426, 149); break; case 54: errn = _exiDecodeStartElement(state, *qnameID = 285, 426, 26); break; case 55: errn = _exiDecodeStartElement(state, *qnameID = 286, 426, 26); break; case 56: errn = _exiDecodeStartElement(state, *qnameID = 287, 426, 114); break; case 57: errn = _exiDecodeStartElement(state, *qnameID = 288, 426, 26); break; case 58: errn = _exiDecodeStartElement(state, *qnameID = 289, 426, 26); break; case 59: errn = _exiDecodeStartElement(state, *qnameID = 172, 426, 26); break; case 60: errn = _exiDecodeStartElement(state, *qnameID = 290, 426, 26); break; case 61: errn = _exiDecodeStartElement(state, *qnameID = 173, 426, 26); break; case 62: errn = _exiDecodeStartElement(state, *qnameID = 291, 426, 26); break; case 63: errn = _exiDecodeStartElement(state, *qnameID = 174, 426, 26); break; case 64: errn = _exiDecodeStartElement(state, *qnameID = 292, 426, 26); break; case 65: errn = _exiDecodeStartElement(state, *qnameID = 293, 426, 26); break; case 66: errn = _exiDecodeStartElement(state, *qnameID = 294, 426, 38); break; case 67: errn = _exiDecodeStartElement(state, *qnameID = 296, 426, 74); break; case 68: errn = _exiDecodeStartElement(state, *qnameID = 297, 426, 308); break; case 69: errn = _exiDecodeStartElement(state, *qnameID = 298, 426, 74); break; case 70: errn = _exiDecodeStartElement(state, *qnameID = 175, 426, 214); break; case 71: errn = _exiDecodeStartElement(state, *qnameID = 300, 426, 56); break; case 72: errn = _exiDecodeStartElement(state, *qnameID = 176, 426, 74); break; case 73: errn = _exiDecodeStartElement(state, *qnameID = 302, 426, 26); break; case 74: errn = _exiDecodeStartElement(state, *qnameID = 303, 426, 26); break; case 75: errn = _exiDecodeStartElement(state, *qnameID = 177, 426, 531); break; case 76: errn = _exiDecodeStartElement(state, *qnameID = 304, 426, 117); break; case 77: errn = _exiDecodeStartElement(state, *qnameID = 178, 426, 26); break; case 78: errn = _exiDecodeStartElement(state, *qnameID = 305, 426, 26); break; case 79: errn = _exiDecodeStartElement(state, *qnameID = 306, 426, 26); break; case 80: errn = _exiDecodeStartElement(state, *qnameID = 179, 426, 26); break; case 81: errn = _exiDecodeStartElement(state, *qnameID = 307, 426, 26); break; case 82: errn = _exiDecodeStartElement(state, *qnameID = 180, 426, 26); break; case 83: errn = _exiDecodeStartElement(state, *qnameID = 308, 426, 26); break; case 84: errn = _exiDecodeStartElement(state, *qnameID = 181, 426, 26); break; case 85: errn = _exiDecodeStartElement(state, *qnameID = 309, 426, 26); break; case 86: errn = _exiDecodeStartElement(state, *qnameID = 310, 426, 26); break; case 87: errn = _exiDecodeStartElement(state, *qnameID = 311, 426, 26); break; case 88: errn = _exiDecodeStartElement(state, *qnameID = 312, 426, 26); break; case 89: errn = _exiDecodeStartElement(state, *qnameID = 313, 426, 371); break; case 90: errn = _exiDecodeStartElement(state, *qnameID = 315, 426, 26); break; case 91: errn = _exiDecodeStartElement(state, *qnameID = 182, 426, 74); break; case 92: errn = _exiDecodeStartElement(state, *qnameID = 183, 426, 26); break; case 93: errn = _exiDecodeStartElement(state, *qnameID = 184, 426, 26); break; case 94: errn = _exiDecodeStartElement(state, *qnameID = 185, 426, 31); break; case 95: errn = _exiDecodeStartElement(state, *qnameID = 317, 426, 150); break; case 96: errn = _exiDecodeStartElement(state, *qnameID = 318, 426, 119); break; case 97: errn = _exiDecodeStartElement(state, *qnameID = 186, 426, 74); break; case 98: errn = _exiDecodeStartElement(state, *qnameID = 321, 426, 151); break; case 99: errn = _exiDecodeStartElement(state, *qnameID = 187, 426, 26); break; case 100: errn = _exiDecodeStartElement(state, *qnameID = 188, 426, 26); break; case 101: errn = _exiDecodeStartElement(state, *qnameID = 323, 426, 469); break; case 102: errn = _exiDecodeStartElement(state, *qnameID = 324, 426, 152); break; case 103: errn = _exiDecodeStartElement(state, *qnameID = 70, 426, 275); break; case 104: errn = _exiDecodeStartElement(state, *qnameID = 326, 426, 331); break; case 105: errn = _exiDecodeStartElement(state, *qnameID = 327, 426, 550); break; case 106: errn = _exiDecodeStartElement(state, *qnameID = 328, 426, 74); break; case 107: errn = _exiDecodeStartElement(state, *qnameID = 329, 426, 308); break; case 108: errn = _exiDecodeStartElement(state, *qnameID = 71, 426, 275); break; case 109: errn = _exiDecodeStartElement(state, *qnameID = 189, 426, 8); break; case 110: errn = _exiDecodeStartElement(state, *qnameID = 72, 426, 266); break; case 111: errn = _exiDecodeStartElement(state, *qnameID = 441, 426, 71); break; case 112: errn = _exiDecodeStartElement(state, *qnameID = 74, 426, 275); break; case 113: errn = _exiDecodeStartElement(state, *qnameID = 75, 426, 153); break; case 114: errn = _exiDecodeStartElement(state, *qnameID = 77, 426, 154); break; case 115: errn = _exiDecodeStartElement(state, *qnameID = 78, 426, 155); break; case 116: errn = _exiDecodeStartElement(state, *qnameID = 190, 426, 360); break; case 117: errn = _exiDecodeStartElement(state, *qnameID = 80, 426, 156); break; case 118: errn = _exiDecodeStartElement(state, *qnameID = 332, 426, 100); break; case 119: errn = _exiDecodeStartElement(state, *qnameID = 191, 426, 355); break; case 120: errn = _exiDecodeStartElement(state, *qnameID = 334, 426, 26); break; case 121: errn = _exiDecodeStartElement(state, *qnameID = 335, 426, 311); break; case 122: errn = _exiDecodeStartElement(state, *qnameID = 192, 426, 157); break; case 123: errn = _exiDecodeStartElement(state, *qnameID = 194, 426, 158); break; case 124: errn = _exiDecodeStartElement(state, *qnameID = 82, 426, 159); break; case 125: errn = _exiDecodeStartElement(state, *qnameID = 83, 426, 275); break; case 126: errn = _exiDecodeStartElement(state, *qnameID = 336, 426, 23); break; case 127: errn = _exiDecodeStartElement(state, *qnameID = 444, 426, 329); break; case 128: errn = _exiDecodeStartElement(state, *qnameID = 337, 426, 12); break; case 129: errn = _exiDecodeStartElement(state, *qnameID = 339, 426, 60); break; case 130: errn = _exiDecodeStartElement(state, *qnameID = 196, 426, 11); break; case 131: errn = _exiDecodeStartElement(state, *qnameID = 84, 426, 160); break; case 132: errn = _exiDecodeStartElement(state, *qnameID = 86, 426, 275); break; case 133: errn = _exiDecodeStartElement(state, *qnameID = 87, 426, 161); break; case 134: errn = _exiDecodeStartElement(state, *qnameID = 89, 426, 246); break; case 135: errn = _exiDecodeStartElement(state, *qnameID = 90, 426, 424); break; case 136: errn = _exiDecodeStartElement(state, *qnameID = 340, 426, 613); break; case 137: errn = _exiDecodeStartElement(state, *qnameID = 341, 426, 45); break; case 138: errn = _exiDecodeStartElement(state, *qnameID = 342, 426, 162); break; case 139: errn = _exiDecodeStartElement(state, *qnameID = 344, 426, 209); break; case 140: errn = _exiDecodeStartElement(state, *qnameID = 347, 426, 202); break; case 141: errn = _exiDecodeStartElement(state, *qnameID = 348, 426, 103); break; case 142: errn = _exiDecodeStartElement(state, *qnameID = 349, 426, 634); break; case 143: errn = _exiDecodeStartElement(state, *qnameID = 197, 426, 163); break; case 144: errn = _exiDecodeStartElement(state, *qnameID = 199, 426, 164); break; case 145: errn = _exiDecodeStartElement(state, *qnameID = 352, 426, 245); break; case 146: errn = _exiDecodeStartElement(state, *qnameID = 201, 426, 626); break; case 147: errn = _exiDecodeStartElement(state, *qnameID = 91, 426, 275); break; case 148: errn = _exiDecodeStartElement(state, *qnameID = 202, 426, 165); break; case 149: errn = _exiDecodeStartElement(state, *qnameID = 204, 426, 166); break; case 150: errn = _exiDecodeStartElement(state, *qnameID = 355, 426, 74); break; case 151: errn = _exiDecodeStartElement(state, *qnameID = 206, 426, 167); break; case 152: errn = _exiDecodeStartElement(state, *qnameID = 208, 426, 86); break; case 153: errn = _exiDecodeStartElement(state, *qnameID = 356, 426, 537); break; case 154: errn = _exiDecodeStartElement(state, *qnameID = 92, 426, 275); break; case 155: errn = _exiDecodeStartElement(state, *qnameID = 358, 426, 74); break; case 156: errn = _exiDecodeStartElement(state, *qnameID = 93, 426, 168); break; case 157: errn = _exiDecodeStartElement(state, *qnameID = 210, 426, 74); break; case 158: errn = _exiDecodeStartElement(state, *qnameID = 211, 426, 74); break; case 159: errn = _exiDecodeStartElement(state, *qnameID = 95, 426, 169); break; case 160: errn = _exiDecodeStartElement(state, *qnameID = 359, 426, 170); break; case 161: errn = _exiDecodeStartElement(state, *qnameID = 212, 426, 26); break; case 162: errn = _exiDecodeStartElement(state, *qnameID = 213, 426, 26); break; case 163: errn = _exiDecodeStartElement(state, *qnameID = 214, 426, 17); break; case 164: errn = _exiDecodeStartElement(state, *qnameID = 97, 426, 171); break; case 165: errn = _exiDecodeStartElement(state, *qnameID = 215, 426, 616); break; case 166: errn = _exiDecodeStartElement(state, *qnameID = 361, 426, 362); break; case 167: errn = _exiDecodeStartElement(state, *qnameID = 363, 426, 172); break; case 168: errn = _exiDecodeStartElement(state, *qnameID = 365, 426, 321); break; case 169: errn = _exiDecodeStartElement(state, *qnameID = 216, 426, 209); break; case 170: errn = _exiDecodeStartElement(state, *qnameID = 366, 426, 209); break; case 171: errn = _exiDecodeStartElement(state, *qnameID = 368, 426, 173); break; case 172: errn = _exiDecodeStartElement(state, *qnameID = 99, 426, 174); break; case 173: errn = _exiDecodeStartElement(state, *qnameID = 101, 426, 205); break; case 174: errn = _exiDecodeStartElement(state, *qnameID = 370, 426, 533); break; case 175: errn = _exiDecodeStartElement(state, *qnameID = 371, 426, 635); break; case 176: errn = _exiDecodeStartElement(state, *qnameID = 372, 426, 175); break; case 177: errn = _exiDecodeStartElement(state, *qnameID = 374, 426, 209); break; case 178: errn = _exiDecodeStartElement(state, *qnameID = 102, 426, 275); break; case 179: errn = _exiDecodeStartElement(state, *qnameID = 217, 426, 245); break; case 180: errn = _exiDecodeStartElement(state, *qnameID = 376, 426, 524); break; case 181: errn = _exiDecodeStartElement(state, *qnameID = 218, 426, 522); break; case 182: errn = _exiDecodeStartElement(state, *qnameID = 379, 426, 338); break; case 183: errn = _exiDecodeStartElement(state, *qnameID = 219, 426, 85); break; case 184: errn = _exiDecodeStartElement(state, *qnameID = 380, 426, 85); break; case 185: errn = _exiDecodeStartElement(state, *qnameID = 381, 426, 176); break; case 186: errn = _exiDecodeStartElement(state, *qnameID = 220, 426, 177); break; case 187: errn = _exiDecodeStartElement(state, *qnameID = 222, 426, 178); break; case 188: errn = _exiDecodeStartElement(state, *qnameID = 224, 426, 179); break; case 189: errn = _exiDecodeStartElement(state, *qnameID = 226, 426, 180); break; case 190: errn = _exiDecodeStartElement(state, *qnameID = 228, 426, 65); break; case 191: errn = _exiDecodeStartElement(state, *qnameID = 383, 426, 65); break; case 192: errn = _exiDecodeStartElement(state, *qnameID = 229, 426, 259); break; case 193: errn = _exiDecodeStartElement(state, *qnameID = 384, 426, 409); break; case 194: errn = _exiDecodeStartElement(state, *qnameID = 230, 426, 101); break; case 195: errn = _exiDecodeStartElement(state, *qnameID = 231, 426, 181); break; case 196: errn = _exiDecodeStartElement(state, *qnameID = 233, 426, 182); break; case 197: errn = _exiDecodeStartElement(state, *qnameID = 235, 426, 518); break; case 198: errn = _exiDecodeStartElement(state, *qnameID = 386, 426, 518); break; case 199: errn = _exiDecodeStartElement(state, *qnameID = 387, 426, 95); break; case 200: errn = _exiDecodeStartElement(state, *qnameID = 236, 426, 41); break; case 201: errn = _exiDecodeStartElement(state, *qnameID = 445, 426, 41); break; case 202: errn = _exiDecodeStartElement(state, *qnameID = 237, 426, 183); break; case 203: errn = _exiDecodeStartElement(state, *qnameID = 239, 426, 184); break; case 204: errn = _exiDecodeStartElement(state, *qnameID = 241, 426, 185); break; case 205: errn = _exiDecodeStartElement(state, *qnameID = 242, 426, 78); break; case 206: errn = _exiDecodeStartElement(state, *qnameID = 391, 426, 534); break; case 207: errn = _exiDecodeStartElement(state, *qnameID = 103, 426, 186); break; case 208: errn = _exiDecodeStartElement(state, *qnameID = 104, 426, 187); break; case 209: errn = _exiDecodeStartElement(state, *qnameID = 106, 426, 188); break; case 210: errn = _exiDecodeStartElement(state, *qnameID = 108, 426, 189); break; case 211: errn = _exiDecodeStartElement(state, *qnameID = 111, 426, 190); break; case 212: errn = _exiDecodeStartElement(state, *qnameID = 113, 426, 92); break; case 213: errn = _exiDecodeStartElement(state, *qnameID = 392, 426, 110); break; case 214: errn = _exiDecodeStartElement(state, *qnameID = 394, 426, 252); break; case 215: errn = _exiDecodeStartElement(state, *qnameID = 395, 426, 191); break; case 216: errn = _exiDecodeStartElement(state, *qnameID = 115, 426, 192); break; case 217: errn = _exiDecodeStartElement(state, *qnameID = 117, 426, 193); break; case 218: errn = _exiDecodeStartElement(state, *qnameID = 396, 426, 418); break; case 219: errn = _exiDecodeStartElement(state, *qnameID = 442, 426, 69); break; case 220: errn = _exiDecodeStartElement(state, *qnameID = 397, 426, 502); break; case 221: errn = _exiDecodeStartElement(state, *qnameID = 245, 426, 194); break; case 222: errn = _exiDecodeStartElement(state, *qnameID = 247, 426, 195); break; case 223: errn = _exiDecodeStartElement(state, *qnameID = 119, 426, 317); break; case 224: errn = _exiDecodeStartElement(state, *qnameID = 120, 426, 316); break; case 225: errn = _exiDecodeStartElement(state, *qnameID = 121, 426, 196); break; case 226: errn = _exiDecodeStartElement(state, *qnameID = 123, 426, 569); break; case 227: errn = _exiDecodeStartElement(state, *qnameID = 124, 426, 314); break; case 228: errn = _exiDecodeStartElement(state, *qnameID = 126, 426, 77); break; case 229: errn = _exiDecodeStartElement(state, *qnameID = 127, 426, 625); break; case 230: errn = _exiDecodeStartElement(state, *qnameID = 128, 426, 315); break; case 231: errn = _exiDecodeStartElement(state, *qnameID = 129, 426, 222); break; case 232: errn = _exiDecodeStartElement(state, *qnameID = 130, 426, 275); break; case 233: errn = _exiDecodeStartElement(state, *qnameID = 398, 426, 627); break; case 234: errn = _exiDecodeStartElement(state, *qnameID = 399, 426, 23); break; case 235: errn = _exiDecodeStartElement(state, *qnameID = 400, 426, 74); break; case 236: errn = _exiDecodeStartElement(state, *qnameID = 401, 426, 630); break; case 237: errn = _exiDecodeStartElement(state, *qnameID = 404, 426, 3); break; case 238: errn = _exiDecodeStartElement(state, *qnameID = 407, 426, 20); break; case 239: errn = _exiDecodeStartElement(state, *qnameID = 413, 426, 454); break; case 240: errn = _exiDecodeStartElement(state, *qnameID = 419, 426, 26); break; case 241: errn = _exiDecodeStartElement(state, *qnameID = 428, 426, 636); break; case 242: errn = _exiDecodeStartElement(state, *qnameID = 430, 426, 547); break; case 243: errn = _exiDecodeStartElement(state, *qnameID = 431, 426, 552); break; case 244: errn = _exiDecodeStartElement(state, *qnameID = 432, 426, 637); break; } break; case 430: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 323, 279, 469); break; } break; case 431: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 115, 431, 192); break; } break; case 433: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 383, 434, 65); break; } break; case 434: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 384, 596, 409); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 380, 597, 85); break; } break; case 435: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 326, 330, 331); break; } break; case 436: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 190, 437, 360); break; } break; case 437: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 169, 489, 269); break; } break; case 438: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 372, 438, 175); break; } break; case 441: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 311, 442, 26); break; } break; case 442: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 312, 397, 26); break; } break; case 443: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 359, 444, 170); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 395, 444, 191); break; } break; case 446: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 178, 373, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 191, 75, 355); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 211, 76, 74); break; } break; case 448: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 342, 448, 162); break; } break; case 451: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 117, 277, 193); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 66, 278, 147); break; } break; case 453: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 379, 337, 338); break; } break; case 455: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 289, 456, 26); break; } break; case 456: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 288, 683, 26); break; } break; case 461: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 216, 446, 209); break; } break; case 462: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 463, 17); break; } break; case 463: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 253, 352, 49); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 274, 352, 115); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 317, 352, 150); break; } break; case 464: /* 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]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 77, 241, 154); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 78, 241, 155); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 97, 241, 171); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 121, 241, 196); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 87, 241, 161); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 99, 241, 174); break; case 6: errn = _exiDecodeStartElement(state, *qnameID = 82, 241, 159); break; } break; case 465: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 304, 116, 117); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 318, 118, 119); break; } break; case 466: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 55, 17); break; } break; case 467: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 115, 431, 192); break; } break; case 470: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 340, 584, 613); break; } break; case 471: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 285, 472, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 286, 388, 26); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 329, 323, 308); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 256, 324, 308); break; } break; case 472: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 286, 388, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 329, 323, 308); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 256, 324, 308); break; } break; case 474: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 117, 82, 193); break; } break; case 476: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 285, 17); break; } break; case 477: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 79, 17); break; } break; case 478: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 313, 479, 371); break; } break; case 481: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 130, 327, 275); break; } break; case 482: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 161, 396, 9); break; } break; case 484: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 174, 485, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 172, 486, 26); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 173, 487, 26); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 132, 488, 74); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 150, 24, 74); break; } break; case 485: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 172, 486, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 173, 487, 26); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 132, 488, 74); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 150, 24, 74); break; } break; case 486: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 173, 487, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 132, 488, 74); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 150, 24, 74); break; } break; case 487: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 132, 488, 74); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 150, 24, 74); break; } break; case 488: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 150, 24, 74); break; } break; case 490: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 90, 83, 424); break; } break; case 496: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 349, 305, 306); break; } break; case 497: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 280, 455, 26); break; } break; case 500: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 149, 257, 176); break; } break; case 501: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 397, 423, 502); break; } break; case 506: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 445, 507, 41); break; } break; case 507: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 444, 646, 329); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 103, 408, 186); break; } break; case 509: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 75, 326, 153); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 84, 326, 160); break; } break; case 510: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 129, 221, 222); break; } break; case 512: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 169, 513, 269); break; } break; case 513: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 160, 440, 357); break; } break; case 514: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 309, 441, 26); break; } break; case 517: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 95, 407, 169); break; } break; case 520: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 260, 17); break; } break; case 521: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 167, 88, 115); break; } break; case 522: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 376, 523, 524); break; } break; case 523: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 376, 523, 524); break; } break; case 524: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 383, 607, 65); break; } break; case 530: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 170, 553, 554); break; } break; case 535: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 334, 536, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 391, 310, 534); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 335, 250, 311); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 394, 251, 252); break; } break; case 536: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 391, 310, 534); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 335, 250, 311); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 394, 251, 252); break; } break; case 537: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 261, 123, 124); break; } break; case 540: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 355, 541, 74); break; } break; case 541: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 358, 590, 74); break; } break; case 542: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 307, 543, 26); break; } break; case 543: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 308, 514, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 309, 441, 26); break; } break; case 544: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 396, 501, 418); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 397, 423, 502); break; } break; case 548: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 176, 614, 74); break; } break; case 549: /* 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] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 124, 313, 314); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 126, 313, 77); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 128, 313, 315); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 120, 313, 316); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 119, 313, 317); break; } break; case 556: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 366, 342, 209); break; } break; case 557: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 431, 218, 552); break; } break; case 564: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 95, 565, 169); break; } break; case 565: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 95, 565, 169); break; } break; case 567: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 123, 568, 569); break; } break; case 568: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 127, 654, 625); break; } break; case 570: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 70, 410, 275); break; } break; case 572: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 219, 573, 85); break; } break; case 574: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 101, 204, 205); break; } break; case 576: /* 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]] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 64, 295, 146); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 93, 295, 168); break; } break; case 577: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 108, 377, 189); break; } break; case 578: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 292, 471, 26); break; } break; case 579: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 277, 580, 145); break; } break; case 580: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 255, 72, 74); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 259, 73, 74); break; } break; case 582: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 210, 33, 74); break; } break; case 585: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 235, 572, 518); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 219, 573, 85); break; } break; case 586: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 348, 102, 103); break; } break; case 587: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 356, 587, 537); break; } break; case 588: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 359, 444, 170); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 395, 444, 191); break; } break; case 589: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 86, 273, 275); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 71, 481, 275); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 130, 327, 275); break; } break; case 590: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 337, 369, 591); break; } break; case 592: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 441, 70, 71); break; } break; case 596: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 380, 597, 85); break; } break; case 597: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 386, 504, 518); break; } break; case 598: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 419, 17); break; } break; case 599: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 117, 82, 193); break; } break; case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 217, 254, 245); break; } break; case 602: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 359, 470, 170); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 395, 470, 191); break; } break; case 603: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 430, 18, 547); break; } break; case 604: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 168, 67, 145); break; } break; case 605: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 179, 606, 26); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 180, 516, 26); break; } break; case 606: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 180, 516, 26); break; } break; case 607: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 349, 447, 634); break; } break; case 608: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 277, 345, 145); break; } break; case 610: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 332, 535, 100); break; } break; case 612: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 366, 43, 209); break; } break; case 614: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 186, 234, 74); break; } break; case 615: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 89, 490, 246); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 90, 491, 492); break; } break; case 617: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 376, 523, 524); break; } break; case 618: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 6, 17); break; } break; case 619: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 274, 542, 115); break; } break; case 621: /* 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)] */ switch(state->eventCode) { case 2: errn = _exiDecodeStartElement(state, *qnameID = 117, 277, 193); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 66, 278, 147); break; } break; case 622: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ switch(state->eventCode) { case 1: errn = _exiDecodeStartElement(state, *qnameID = 117, 277, 193); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 66, 278, 147); break; } break; case 624: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 336, 544, 23); break; } break; case 626: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 352, 244, 245); break; } break; case 628: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 201, 500, 626); break; } break; case 632: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 361, 361, 362); break; } break; case 638: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 387, 309, 95); break; } break; case 640: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 279, 497, 545); break; } break; case 642: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 271, 17); break; } break; case 643: /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 374, 651, 209); break; } break; case 646: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 103, 408, 186); break; } break; case 647: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 400, 13, 74); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 401, 13, 630); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 428, 13, 636); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 413, 13, 454); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 419, 13, 26); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 432, 13, 637); break; } break; case 651: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 371, 58, 635); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 339, 59, 60); break; } break; case 656: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 61, 107, 108); break; } break; case 658: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 160, 356, 357); break; } break; case 661: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 305, 662, 26); break; } break; case 662: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 310, 415, 26); break; } break; case 663: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 189, 349, 8); break; } break; case 669: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 404, 2, 3); break; } break; case 674: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 171, 629, 223); break; } break; case 675: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 374, 651, 209); break; } break; case 682: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 281, 17); break; } break; case 683: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 293, 50, 26); break; } break; case 684: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 87, 17); break; } break; case 687: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 383, 607, 65); break; } break; case 689: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 628, 17); break; } break; case 692: /* 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)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 400, 13, 74); break; case 1: errn = _exiDecodeStartElement(state, *qnameID = 401, 13, 630); break; case 2: errn = _exiDecodeStartElement(state, *qnameID = 428, 13, 636); break; case 3: errn = _exiDecodeStartElement(state, *qnameID = 413, 13, 454); break; case 4: errn = _exiDecodeStartElement(state, *qnameID = 419, 13, 26); break; case 5: errn = _exiDecodeStartElement(state, *qnameID = 432, 13, 637); break; } break; case 696: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 236, 40, 41); break; } break; case 700: /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 214, 521, 17); break; } break; case 703: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 83, 570, 275); break; } break; case 705: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ switch(state->eventCode) { case 0: errn = _exiDecodeStartElement(state, *qnameID = 95, 565, 169); break; } break; } break; case EXI_EVENT_START_ELEMENT_NS: errn = EXI_ERROR_UNEXPECTED_START_ELEMENT; break; case EXI_EVENT_START_ELEMENT_GENERIC: case EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED: errn = _exiDecodeQName(stream, state, qnameID, &_qname); if (errn) { return errn; } /* update current rule --> element content rule (if not already) */ errn = exi__MoveToElementContentRule(state); if (errn) { return errn; } /* retrieve global grammar(existing OR runtime) and push it stack */ errn = exi__RetrieveAndPushGlobalGrammar(state, *qnameID); break; default: errn = EXI_ERROR_UNEXPECTED_START_ELEMENT; break; } return errn; } /*int exiDecodeStartElementGeneric(bitstream_t* stream, exi_state_t* state, qname_t* qname) { // decode qname int errn = _exiDecodeQName(stream, &(state->nameTablePrepopulated), &(state->nameTableRuntime), qname); if (errn) { return errn; } switch (state->grammarStack[state->stackIndex]) { // $EXI_DECODE_START_ELEMENT_GENERIC$ case DOC_CONTENT: // move on to DocEnd state->grammarStack[state->stackIndex] = DOC_END; // push new ur-type grammar on stack return exiPushStack(state, UR_TYPE_GRAMMAR_0, NULL); break; case UR_TYPE_GRAMMAR_0: // move on to UR_TYPE_GRAMMAR_1 state->grammarStack[state->stackIndex] = UR_TYPE_GRAMMAR_1; // push new ur-type grammar on stack return exiPushStack(state, UR_TYPE_GRAMMAR_0, NULL); break; case UR_TYPE_GRAMMAR_1: // remain in UR_TYPE_GRAMMAR_1 // push new ur-type grammar on stack return exiPushStack(state, UR_TYPE_GRAMMAR_0, NULL); break; default: return EXI_ERROR_UNEXPECTED_START_ELEMENT_GENERIC; } return EXI_ERROR_UNEXPECTED_START_ELEMENT_GENERIC; }*/ #ifndef __GNUC__ #pragma warning( disable : 4100 ) /* warning unreferenced parameter 'stream' */ #endif /* __GNUC__ */ int exiDecodeEndElement(bitstream_t* stream, exi_state_t* state, uint16_t* qnameID) { int16_t currentID; switch(currEvent) { case EXI_EVENT_END_ELEMENT_UNDECLARED: currentID = state->grammarStack[state->stackIndex]; if (currentID < 0) { /* runtime grammars do have IDs smaller than 0 */ /* TODO learn EE event */ return -1; } /* Note: no break statement */ default: /* copy IDs */ *qnameID = state->elementStack[state->stackIndex]; /*ee->localPart = state->elementStack[state->stackIndex].localPart; ee->namespaceURI = state->elementStack[state->stackIndex].namespaceURI;*/ return exi__PopStack(state); } } #ifndef __GNUC__ #pragma warning( default : 4100 ) /* warning unreferenced parameter 'stream' */ #endif /* __GNUC__ */ /*int exiDecodeEndElementUndeclared(bitstream_t* stream, exi_state_t* state, eqname_t* ee) { int16_t currentID = state->grammarStack[state->stackIndex]; if (currentID < 0) { // runtime grammars do have IDs smaller than 0 // TODO learn EE event return -1; } return exiDecodeEndElement(stream, state, ee); }*/ int exiDecodeCharacters(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { int16_t moveOnID = 0; errn = EXI_ERROR_UNEXPECTED_CHARACTERS; switch(currEvent) { case EXI_EVENT_CHARACTERS: case EXI_EVENT_CHARACTERS_GENERIC: switch (state->grammarStack[state->stackIndex]) { case 483: /* DATETIME */ case 668: /* DATETIME */ val->type = EXI_DATATYPE_DATETIME; errn = decodeDateTime(stream, EXI_DATETIME_DATETIME, &val->datetime); moveOnID = 5; /* move on ID */ break; case 221: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 221; /* move on ID */ break; case 679: /* DATETIME */ case 695: /* DATETIME */ val->type = EXI_DATATYPE_DATETIME; errn = decodeDateTime(stream, EXI_DATETIME_TIME, &val->datetime); moveOnID = 5; /* move on ID */ break; case 42: /* ENUMERATION */ case 114: /* ENUMERATION */ case 418: /* ENUMERATION */ case 469: /* ENUMERATION */ case 515: /* ENUMERATION */ case 667: /* ENUMERATION */ case 119: /* ENUMERATION */ case 685: /* ENUMERATION */ val->type = EXI_DATATYPE_ENUMERATION; errn = decodeNBitUnsignedInteger(stream, 4, &val->enumeration); moveOnID = 5; /* move on ID */ break; case 223: /* BINARY_HEX */ case 475: /* BINARY_HEX */ case 593: /* BINARY_HEX */ case 633: /* BINARY_HEX */ case 652: /* BINARY_HEX */ case 677: /* BINARY_HEX */ case 41: /* BINARY_HEX */ case 531: /* BINARY_HEX */ val->type = EXI_DATATYPE_BINARY_HEX; errn = decodeBinary(stream, &val->binary); moveOnID = 5; /* move on ID */ break; case 160: /* STRING */ case 402: /* STRING */ case 400: /* STRING */ case 399: /* STRING */ case 681: /* STRING */ case 401: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 402; /* move on ID */ break; case 225: /* BOOLEAN */ case 74: /* BOOLEAN */ val->type = EXI_DATATYPE_BOOLEAN; errn = decodeBoolean(stream, &val->boolean); moveOnID = 5; /* move on ID */ break; case 236: /* DATETIME */ case 525: /* DATETIME */ val->type = EXI_DATATYPE_DATETIME; errn = decodeDateTime(stream, EXI_DATETIME_GDAY, &val->datetime); moveOnID = 5; /* move on ID */ break; case 367: /* NBIT_UNSIGNED_INTEGER */ case 611: /* NBIT_UNSIGNED_INTEGER */ case 630: /* NBIT_UNSIGNED_INTEGER */ val->type = EXI_DATATYPE_NBIT_UNSIGNED_INTEGER; errn = _decodeNBitIntegerValue(stream, &val->integer, 8, -128); moveOnID = 5; /* move on ID */ break; case 391: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 391; /* move on ID */ break; case 227: /* STRING */ case 228: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 228; /* move on ID */ break; case 220: /* STRING */ case 510: /* STRING */ case 215: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 220; /* move on ID */ break; case 390: /* STRING */ case 392: /* STRING */ case 644: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 392; /* move on ID */ break; case 295: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 295; /* move on ID */ break; case 384: /* NBIT_UNSIGNED_INTEGER */ case 23: /* NBIT_UNSIGNED_INTEGER */ val->type = EXI_DATATYPE_NBIT_UNSIGNED_INTEGER; errn = _decodeNBitIntegerValue(stream, &val->integer, 3, -3); moveOnID = 5; /* move on ID */ break; case 210: /* DATETIME */ case 439: /* DATETIME */ val->type = EXI_DATATYPE_DATETIME; errn = decodeDateTime(stream, EXI_DATETIME_GMONTH, &val->datetime); moveOnID = 5; /* move on ID */ break; case 595: /* FLOAT */ case 623: /* FLOAT */ case 645: /* FLOAT */ case 659: /* FLOAT */ val->type = EXI_DATATYPE_FLOAT; errn = decodeFloat(stream, &val->float_me); moveOnID = 5; /* move on ID */ break; case 322: /* LIST */ case 344: /* LIST */ case 414: /* LIST */ case 551: /* LIST */ case 698: /* LIST */ case 701: /* LIST */ val->type = EXI_DATATYPE_LIST; val->list.type = EXI_DATATYPE_STRING; errn = decodeUnsignedInteger16(stream, &val->list.len); moveOnID = 5; /* move on ID */ break; case 649: /* ENUMERATION */ case 31: /* ENUMERATION */ case 680: /* ENUMERATION */ case 245: /* ENUMERATION */ val->type = EXI_DATATYPE_ENUMERATION; errn = decodeNBitUnsignedInteger(stream, 1, &val->enumeration); moveOnID = 5; /* move on ID */ break; case 84: /* ENUMERATION */ case 214: /* ENUMERATION */ case 498: /* ENUMERATION */ case 571: /* ENUMERATION */ val->type = EXI_DATATYPE_ENUMERATION; errn = decodeNBitUnsignedInteger(stream, 3, &val->enumeration); moveOnID = 5; /* move on ID */ break; case 286: /* DECIMAL */ case 529: /* DECIMAL */ val->type = EXI_DATATYPE_DECIMAL; errn = decodeDecimal(stream, &val->decimal); moveOnID = 5; /* move on ID */ break; case 57: /* INTEGER */ case 104: /* INTEGER */ case 111: /* INTEGER */ case 212: /* INTEGER */ case 219: /* INTEGER */ case 226: /* INTEGER */ case 272: /* INTEGER */ case 294: /* INTEGER */ case 312: /* INTEGER */ case 334: /* INTEGER */ case 366: /* INTEGER */ case 383: /* INTEGER */ case 209: /* INTEGER */ case 454: /* INTEGER */ case 495: /* INTEGER */ case 311: /* INTEGER */ case 566: /* INTEGER */ case 252: /* INTEGER */ case 616: /* INTEGER */ case 620: /* INTEGER */ case 625: /* INTEGER */ case 636: /* INTEGER */ case 554: /* INTEGER */ case 502: /* INTEGER */ case 660: /* INTEGER */ case 306: /* INTEGER */ case 266: /* INTEGER */ case 613: /* INTEGER */ case 694: /* INTEGER */ case 634: /* INTEGER */ val->type = EXI_DATATYPE_INTEGER; errn = decodeInteger(stream, &val->integer); moveOnID = 5; /* move on ID */ break; case 240: /* STRING */ case 153: /* STRING */ case 464: /* STRING */ case 242: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 242; /* move on ID */ break; case 508: /* DATETIME */ case 546: /* DATETIME */ val->type = EXI_DATATYPE_DATETIME; errn = decodeDateTime(stream, EXI_DATETIME_GYEAR, &val->datetime); moveOnID = 5; /* move on ID */ break; case 374: /* DATETIME */ case 499: /* DATETIME */ val->type = EXI_DATATYPE_DATETIME; errn = decodeDateTime(stream, EXI_DATETIME_GYEARMONTH, &val->datetime); moveOnID = 5; /* move on ID */ break; case 241: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 241; /* move on ID */ break; case 255: /* DATETIME */ case 325: /* DATETIME */ val->type = EXI_DATATYPE_DATETIME; errn = decodeDateTime(stream, EXI_DATETIME_DATE, &val->datetime); moveOnID = 5; /* move on ID */ break; case 427: /* ENUMERATION */ case 17: /* ENUMERATION */ val->type = EXI_DATATYPE_ENUMERATION; errn = decodeNBitUnsignedInteger(stream, 5, &val->enumeration); moveOnID = 5; /* move on ID */ break; case 200: /* STRING */ case 201: /* STRING */ case 458: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 201; /* move on ID */ break; case 96: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 96; /* move on ID */ break; case 283: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 283; /* move on ID */ break; case 12: /* UNSIGNED_INTEGER */ case 211: /* UNSIGNED_INTEGER */ case 229: /* UNSIGNED_INTEGER */ case 359: /* UNSIGNED_INTEGER */ case 385: /* UNSIGNED_INTEGER */ case 468: /* UNSIGNED_INTEGER */ case 65: /* UNSIGNED_INTEGER */ case 511: /* UNSIGNED_INTEGER */ case 552: /* UNSIGNED_INTEGER */ case 583: /* UNSIGNED_INTEGER */ case 627: /* UNSIGNED_INTEGER */ case 648: /* UNSIGNED_INTEGER */ case 591: /* UNSIGNED_INTEGER */ case 20: /* UNSIGNED_INTEGER */ case 545: /* UNSIGNED_INTEGER */ case 124: /* UNSIGNED_INTEGER */ case 673: /* UNSIGNED_INTEGER */ case 690: /* UNSIGNED_INTEGER */ case 547: /* UNSIGNED_INTEGER */ case 704: /* UNSIGNED_INTEGER */ val->type = EXI_DATATYPE_UNSIGNED_INTEGER; errn = decodeUnsignedInteger(stream, &val->integer); moveOnID = 5; /* move on ID */ break; case 308: /* NBIT_UNSIGNED_INTEGER */ case 650: /* NBIT_UNSIGNED_INTEGER */ val->type = EXI_DATATYPE_NBIT_UNSIGNED_INTEGER; errn = _decodeNBitIntegerValue(stream, &val->integer, 7, 0); moveOnID = 5; /* move on ID */ break; case 265: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 265; /* move on ID */ break; case 77: /* BINARY_BASE64 */ case 105: /* BINARY_BASE64 */ case 246: /* BINARY_BASE64 */ case 268: /* BINARY_BASE64 */ case 269: /* BINARY_BASE64 */ case 293: /* BINARY_BASE64 */ case 368: /* BINARY_BASE64 */ case 424: /* BINARY_BASE64 */ case 452: /* BINARY_BASE64 */ case 534: /* BINARY_BASE64 */ case 492: /* BINARY_BASE64 */ case 559: /* BINARY_BASE64 */ case 562: /* BINARY_BASE64 */ case 317: /* BINARY_BASE64 */ case 190: /* BINARY_BASE64 */ case 631: /* BINARY_BASE64 */ case 11: /* BINARY_BASE64 */ case 148: /* BINARY_BASE64 */ case 205: /* BINARY_BASE64 */ case 657: /* BINARY_BASE64 */ case 316: /* BINARY_BASE64 */ case 275: /* BINARY_BASE64 */ case 697: /* BINARY_BASE64 */ case 304: /* BINARY_BASE64 */ case 706: /* BINARY_BASE64 */ val->type = EXI_DATATYPE_BINARY_BASE64; errn = decodeBinary(stream, &val->binary); moveOnID = 5; /* move on ID */ break; case 264: /* STRING */ case 339: /* STRING */ case 267: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 267; /* move on ID */ break; case 85: /* ENUMERATION */ case 120: /* ENUMERATION */ case 331: /* ENUMERATION */ case 117: /* ENUMERATION */ case 365: /* ENUMERATION */ case 445: /* ENUMERATION */ case 3: /* ENUMERATION */ case 575: /* ENUMERATION */ case 676: /* ENUMERATION */ case 371: /* ENUMERATION */ val->type = EXI_DATATYPE_ENUMERATION; errn = decodeNBitUnsignedInteger(stream, 2, &val->enumeration); moveOnID = 5; /* move on ID */ break; case 270: /* DATETIME */ case 666: /* DATETIME */ val->type = EXI_DATATYPE_DATETIME; errn = decodeDateTime(stream, EXI_DATETIME_GMONTHDAY, &val->datetime); moveOnID = 5; /* move on ID */ break; case 155: /* STRING */ case 576: /* STRING */ case 296: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 296; /* move on ID */ break; case 60: /* NBIT_UNSIGNED_INTEGER */ case 389: /* NBIT_UNSIGNED_INTEGER */ val->type = EXI_DATATYPE_NBIT_UNSIGNED_INTEGER; errn = _decodeNBitIntegerValue(stream, &val->integer, 8, 0); moveOnID = 5; /* move on ID */ break; case 52: /* STRING */ case 53: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 53; /* move on ID */ break; case 248: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 248; /* move on ID */ break; case 4: /* STRING */ case 32: /* STRING */ case 51: /* STRING */ case 66: /* STRING */ case 99: /* STRING */ case 100: /* STRING */ case 282: /* STRING */ case 297: /* STRING */ case 300: /* STRING */ case 351: /* STRING */ case 375: /* STRING */ case 380: /* STRING */ case 398: /* STRING */ case 8: /* STRING */ case 403: /* STRING */ case 404: /* STRING */ case 406: /* STRING */ case 409: /* STRING */ case 428: /* STRING */ case 429: /* STRING */ case 449: /* STRING */ case 450: /* STRING */ case 459: /* STRING */ case 460: /* STRING */ case 222: /* STRING */ case 493: /* STRING */ case 357: /* STRING */ case 503: /* STRING */ case 518: /* STRING */ case 519: /* STRING */ case 526: /* STRING */ case 527: /* STRING */ case 538: /* STRING */ case 154: /* STRING */ case 555: /* STRING */ case 315: /* STRING */ case 550: /* STRING */ case 641: /* STRING */ case 653: /* STRING */ case 362: /* STRING */ case 664: /* STRING */ case 665: /* STRING */ case 672: /* STRING */ case 637: /* STRING */ case 678: /* STRING */ case 569: /* STRING */ case 635: /* STRING */ case 686: /* STRING */ case 688: /* STRING */ case 699: /* STRING */ case 159: /* STRING */ case 702: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 5; /* move on ID */ break; case 247: /* STRING */ case 405: /* STRING */ case 249: /* STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); moveOnID = 249; /* move on ID */ break; } if (errn) { /* error */ } else { /* move on */ state->grammarStack[state->stackIndex] = moveOnID; } break; case EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED: if (state->grammarStack[state->stackIndex] < 0) { /* runtime grammars do have IDs smaller than 0 */ return EXI_UNSUPPORTED_GRAMMAR_LEARNING_CH; } /* update current rule --> element content rule (if not already) */ errn = exi__MoveToElementContentRule(state); if (errn) { return errn; } /* read content value as STRING */ val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, state->elementStack[state->stackIndex], &val->str); break; default: errn = EXI_ERROR_UNEXPECTED_CHARACTERS; break; } return errn; } /*int exiDecodeCharactersGeneric(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { return exiDecodeCharacters(stream, state, val); }*/ /*int exiDecodeCharactersGenericUndeclared(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { int errn = 0; if (state->grammarStack[state->stackIndex] < 0) { // runtime grammars do have IDs smaller than 0 // TODO learn CH event return -1; } // update current rule --> element content rule (if not already) errn = exiMoveToElementContentRule(state); if (errn) { return errn; } // read content value // STRING val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, &val->string); return errn; }*/ int exiDecodeAttributeGenericValue(bitstream_t* stream, exi_state_t* state, uint16_t* qnameID, exi_value_t* val) { int16_t currentID; if (_qname.uri.id == 2 && _qname.localName.id == 1 ) { /* xsi:type --> QName type */ errn = exiDecodeAttributeXsiType(stream, state, val); } else { currentID = state->grammarStack[state->stackIndex]; if (currentID >= 0) { /* if schema-informed value type according global attribute */ switch(*qnameID) { default: val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); break; } } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } } return errn; } int exiDecodeAttribute(bitstream_t* stream, exi_state_t* state, uint16_t* qnameID, exi_value_t* val) { int16_t moveOnID = 0; int16_t currentID = state->grammarStack[state->stackIndex]; errn = EXI_ERROR_UNEXPECTED_ATTRIBUTE; switch(currEvent) { case EXI_EVENT_ATTRIBUTE: case EXI_EVENT_ATTRIBUTE_INVALID_VALUE: switch (currentID) { case 92: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 106; /* move on ID */ break; } break; case 108: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ switch(state->eventCode) { case 0: *qnameID = 0; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 247; /* move on ID */ break; } break; case 132: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 417; /* move on ID */ break; } break; case 133: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 476; /* move on ID */ break; } break; case 134: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 395; /* move on ID */ break; } break; case 135: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 318; /* move on ID */ break; } break; case 139: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 348; /* move on ID */ break; } break; case 147: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ switch(state->eventCode) { case 0: *qnameID = 0; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 390; /* move on ID */ break; } break; case 153: /* 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]] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 240; /* move on ID */ break; } break; case 156: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 564; /* move on ID */ break; } break; case 157: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 39; /* move on ID */ break; } break; case 160: /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: *qnameID = 1; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 399; /* move on ID */ break; case 1: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 400; /* move on ID */ break; case 2: *qnameID = 3; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 401; /* move on ID */ break; } break; case 169: /* 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)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 621; /* move on ID */ break; case 1: *qnameID = 6; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 622; /* move on ID */ break; case 2: *qnameID = 7; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 276; /* move on ID */ break; } break; case 171: /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ switch(state->eventCode) { case 0: *qnameID = 6; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 599; /* move on ID */ break; case 1: *qnameID = 7; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 474; /* move on ID */ break; } break; case 186: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 350; /* move on ID */ break; } break; case 187: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ switch(state->eventCode) { case 0: *qnameID = 0; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 339; /* move on ID */ break; } break; case 188: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 577; /* move on ID */ break; } break; case 189: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 457; /* move on ID */ break; case 1: *qnameID = 5; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 458; /* move on ID */ break; } break; case 190: /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 105; /* move on ID */ break; } break; case 192: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ switch(state->eventCode) { case 0: *qnameID = 0; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 215; /* move on ID */ break; } break; case 202: /* FirstStartTag[ATTRIBUTE[STRING](Name)] */ switch(state->eventCode) { case 0: *qnameID = 4; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 203; /* move on ID */ break; } break; case 203: /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ switch(state->eventCode) { case 0: *qnameID = 8; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_ENUMERATION; errn = decodeNBitUnsignedInteger(stream, 3, &val->enumeration); } moveOnID = 647; /* move on ID */ break; } break; case 399: /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 400; /* move on ID */ break; case 1: *qnameID = 3; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 401; /* move on ID */ break; } break; case 400: /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ switch(state->eventCode) { case 0: *qnameID = 3; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 401; /* move on ID */ break; } break; case 457: /* StartTag[ATTRIBUTE[STRING](Target)] */ switch(state->eventCode) { case 0: *qnameID = 5; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 458; /* move on ID */ break; } break; case 533: /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ switch(state->eventCode) { case 0: *qnameID = 2; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 643; /* move on ID */ break; } break; case 599: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ switch(state->eventCode) { case 0: *qnameID = 7; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 474; /* move on ID */ break; } break; case 621: /* 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)] */ switch(state->eventCode) { case 0: *qnameID = 6; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 622; /* move on ID */ break; case 1: *qnameID = 7; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 276; /* move on ID */ break; } break; case 622: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ switch(state->eventCode) { case 0: *qnameID = 7; if(currEvent == EXI_EVENT_ATTRIBUTE_INVALID_VALUE) { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } else { val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, state, *qnameID, &val->str); } moveOnID = 276; /* move on ID */ break; } break; } if (errn) { /* error */ } else { /* move on */ state->grammarStack[state->stackIndex] = moveOnID; } break; case EXI_EVENT_ATTRIBUTE_GENERIC: case EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED: errn = _exiDecodeQName(stream, state, qnameID, &_qname); if (errn) { return errn; } /* learn attribute ? */ errn = exi__LearnAttribute(state, *qnameID, _qname.uri.id, _qname.localName.id); if (errn) { return errn; } /* decode attribute value */ errn = exiDecodeAttributeGenericValue(stream, state, qnameID, val); break; default: errn = EXI_ERROR_UNEXPECTED_ATTRIBUTE; break; } return errn; } /*int exiDecodeAttributeGenericUndeclared(bitstream_t* stream, exi_state_t* state, qname_t* at, exi_value_t* val) { int errn; int16_t currentID = state->grammarStack[state->stackIndex]; if (currentID < 0) { // TODO runtime elements return -1; } else { // decode qname errn = _exiDecodeQName(stream, &(state->nameTablePrepopulated), &(state->nameTableRuntime), at); if (errn) { return errn; } } if (currentID < 0) { // TODO learn AT event return -1; } decode attribute value val->type = EXI_DATATYPE_STRING; errn = decodeStringValue(stream, &val->string); // we do not move forward in grammars return errn; }*/ int exiDecodeAttributeXsiNil(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { errn = decodeBoolean(stream, &val->boolean); if (errn >= 0 && val->boolean) { /* handle xsi:nil == true */ errn = exi__HandleXsiNilTrue(state); } return errn; } int exiDecodeAttributeXsiType(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { /*uint32_t uriID; uint32_t localNameID; */ /* uri */ errn =_exiDecodeNamespaceUri(stream, state, &_qname.uri); /* NULL, &uriID); */ if (errn) { return errn; } /* localName */ errn = _exiDecodeLocalName(stream, state, _qname.uri.id, &_qname.localName); /* NULL, &localNameID, uriID);*/ if (errn) { return errn; } val->type = EXI_DATATYPE_QNAME; val->eqname.namespaceURI = _qname.uri.id; /* uriID; */ val->eqname.localPart = _qname.localName.id; /* localNameID; */ /* handle xsi type cast */ errn = exi__HandleXsiType(state, &val->eqname); return errn; } #endif