|
|
@@ -29,15 +29,15 @@ namespace System.Xml.Serialization
|
|
|
ArrayList maps = _typeMap.RelatedMaps;
|
|
|
if (maps != null)
|
|
|
{
|
|
|
- foreach (XmlTypeMapping map in maps)
|
|
|
+ foreach (XmlTypeMapping map in maps)
|
|
|
{
|
|
|
if (map.TypeData.SchemaType == SchemaTypes.Class || map.TypeData.SchemaType == SchemaTypes.Enum)
|
|
|
{
|
|
|
ReaderCallbackInfo info = new ReaderCallbackInfo (this, map);
|
|
|
- AddReadCallback (map.XmlType, map.Namespace, map.TypeData.Type, new XmlSerializationReadCallback (info.ReadObject));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ AddReadCallback (map.XmlType, map.Namespace, map.TypeData.Type, new XmlSerializationReadCallback (info.ReadObject));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
protected override void InitIDs ()
|
|
|
@@ -60,20 +60,20 @@ namespace System.Xml.Serialization
|
|
|
|
|
|
object ReadEncodedObject (XmlTypeMapping typeMap)
|
|
|
{
|
|
|
- object ob = null;
|
|
|
- Reader.MoveToContent();
|
|
|
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
|
|
|
- {
|
|
|
- if (Reader.LocalName == typeMap.ElementName && Reader.NamespaceURI == typeMap.Namespace)
|
|
|
- ob = ReadReferencedElement();
|
|
|
- else
|
|
|
- throw CreateUnknownNodeException();
|
|
|
- }
|
|
|
- else
|
|
|
- UnknownNode(null);
|
|
|
-
|
|
|
- ReadReferencedElements();
|
|
|
- return ob;
|
|
|
+ object ob = null;
|
|
|
+ Reader.MoveToContent();
|
|
|
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element)
|
|
|
+ {
|
|
|
+ if (Reader.LocalName == typeMap.ElementName && Reader.NamespaceURI == typeMap.Namespace)
|
|
|
+ ob = ReadReferencedElement();
|
|
|
+ else
|
|
|
+ throw CreateUnknownNodeException();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ UnknownNode(null);
|
|
|
+
|
|
|
+ ReadReferencedElements();
|
|
|
+ return ob;
|
|
|
}
|
|
|
|
|
|
object ReadMessage (XmlMembersMapping typeMap)
|
|
|
@@ -102,8 +102,8 @@ namespace System.Xml.Serialization
|
|
|
ReadMembers ((ClassMap)typeMap.ObjectMap, parameters, true);
|
|
|
|
|
|
if (_format == SerializationFormat.Encoded)
|
|
|
- ReadReferencedElements();
|
|
|
-
|
|
|
+ ReadReferencedElements();
|
|
|
+
|
|
|
return parameters;
|
|
|
}
|
|
|
|
|
|
@@ -219,8 +219,8 @@ namespace System.Xml.Serialization
|
|
|
if (_format == SerializationFormat.Encoded)
|
|
|
{
|
|
|
FixupCallbackInfo info = new FixupCallbackInfo (this, map, isValueList);
|
|
|
- fixup = new Fixup(ob, new XmlSerializationFixupCallback(info.FixupMembers), map.ElementMembers.Count);
|
|
|
- AddFixup (fixup);
|
|
|
+ fixup = new Fixup(ob, new XmlSerializationFixupCallback(info.FixupMembers), map.ElementMembers.Count);
|
|
|
+ AddFixup (fixup);
|
|
|
}
|
|
|
|
|
|
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
|
|
|
@@ -235,13 +235,13 @@ namespace System.Xml.Serialization
|
|
|
if (_format == SerializationFormat.Encoded && info.MultiReferenceType)
|
|
|
{
|
|
|
object list = ReadReferencingElement (out fixup.Ids[info.Member.Index]);
|
|
|
- if (fixup.Ids[info.Member.Index] == null) // Already read
|
|
|
+ if (fixup.Ids[info.Member.Index] == null) // Already read
|
|
|
{
|
|
|
if (IsReadOnly (info.Member, ob, isValueList)) throw CreateReadOnlyCollectionException (info.TypeData.FullTypeName);
|
|
|
else SetMemberValue (info.Member, ob, list, isValueList);
|
|
|
- }
|
|
|
- else if (!info.MappedType.TypeData.Type.IsArray)
|
|
|
- {
|
|
|
+ }
|
|
|
+ else if (!info.MappedType.TypeData.Type.IsArray)
|
|
|
+ {
|
|
|
if (IsReadOnly (info.Member, ob, isValueList))
|
|
|
list = GetMemberValue (info.Member, ob, isValueList);
|
|
|
else {
|
|
|
@@ -250,7 +250,7 @@ namespace System.Xml.Serialization
|
|
|
}
|
|
|
AddFixup (new CollectionFixup (list, new XmlSerializationCollectionFixupCallback (FillList), fixup.Ids[info.Member.Index]));
|
|
|
fixup.Ids[info.Member.Index] = null; // The member already has the value, no further fix needed.
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -274,7 +274,7 @@ namespace System.Xml.Serialization
|
|
|
{
|
|
|
object val;
|
|
|
readFlag[info.Member.Index] = true;
|
|
|
- if (_format == SerializationFormat.Encoded && info.MultiReferenceType)
|
|
|
+ if (_format == SerializationFormat.Encoded && info.MultiReferenceType)
|
|
|
{
|
|
|
val = ReadReferencingElement (out fixup.Ids[info.Member.Index]);
|
|
|
if (fixup.Ids[info.Member.Index] == null) // already read
|