4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# This file is used to parse a xml file of .PKG file
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# This program and the accompanying materials are licensed and made available
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# under the terms and conditions of the BSD License which accompanies this
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncXmlParserMisc
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncfrom Logger.StringTable import ERR_XML_PARSER_REQUIRED_ITEM_MISSING
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync## ConvertVariableName()
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# Convert VariableName to be L"string",
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# input of UCS-2 format Hex Array or L"string" (C style.) could be converted successfully,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# others will not.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# @param VariableName: string need to be converted
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# @retval: the L quoted string converted if success, else None will be returned
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync # check for L quoted string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if VariableName.startswith('L"') and VariableName.endswith('"'):
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync # check for Hex Array, it should be little endian even number of hex numbers
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return None
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return None
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return None
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync## IsRequiredItemListNull
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# Check if a required XML section item/attribue is NULL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# @param ItemList: The list of items to be checked
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# @param XmlTreeLevel: The error message tree level
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ErrorMsg = ERR_XML_PARSER_REQUIRED_ITEM_MISSING % (Key, Msg)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Logger.Error('\nUPT', PARSER_ERROR, ErrorMsg, RaiseError=True)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync## Get help text
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# @param HelpText