|
@@ -55,6 +55,7 @@ class Value(object):
|
|
|
self.dataType = None
|
|
|
self.encodingRule = []
|
|
|
self.isInternal = False
|
|
|
+ self.valueRank = None
|
|
|
if xmlelement:
|
|
|
self.parseXML(xmlelement)
|
|
|
|
|
@@ -163,7 +164,7 @@ class Value(object):
|
|
|
else:
|
|
|
self.value = [self.__parseXMLSingleValue(xmlvalue, parentDataTypeNode, parent)]
|
|
|
|
|
|
- def __parseXMLSingleValue(self, xmlvalue, parentDataTypeNode, parent, alias=None, encodingPart=None):
|
|
|
+ def __parseXMLSingleValue(self, xmlvalue, parentDataTypeNode, parent, alias=None, encodingPart=None, valueRank=None):
|
|
|
|
|
|
|
|
|
|
|
@@ -193,6 +194,7 @@ class Value(object):
|
|
|
t = self.getTypeByString(enc[0], enc)
|
|
|
t.alias = alias
|
|
|
t.parseXML(xmlvalue)
|
|
|
+ t.valueRank = valueRank
|
|
|
return t
|
|
|
else:
|
|
|
if not valueIsInternalType(xmlvalue.localName):
|
|
@@ -205,7 +207,8 @@ class Value(object):
|
|
|
else:
|
|
|
|
|
|
|
|
|
- return self.__parseXMLSingleValue(xmlvalue, parentDataTypeNode, parent, alias=alias, encodingPart=enc[0])
|
|
|
+ return self.__parseXMLSingleValue(xmlvalue, parentDataTypeNode, parent,
|
|
|
+ alias=alias, encodingPart=enc[0], valueRank=enc[2] if len(enc)>2 else None)
|
|
|
elif len(enc) == 3 and isinstance(enc[0], six.string_types):
|
|
|
|
|
|
if alias == None:
|
|
@@ -214,7 +217,8 @@ class Value(object):
|
|
|
elif alias != None and len(enc[1]) > 1:
|
|
|
alias = enc[0]
|
|
|
|
|
|
- return self.__parseXMLSingleValue(xmlvalue, parentDataTypeNode, parent, alias=alias, encodingPart=enc[1])
|
|
|
+ return self.__parseXMLSingleValue(xmlvalue, parentDataTypeNode, parent,
|
|
|
+ alias=alias, encodingPart=enc[1], valueRank=enc[2] if len(enc)>2 else None)
|
|
|
else:
|
|
|
|
|
|
|