{\r
}\r
\r
+ [System.Xml.Serialization.XmlAttribute("source")]\r
+ public string Source \r
+ {\r
+ get{ return source; } \r
+ set{ source = value; }\r
+ }\r
+\r
[XmlAnyElement]\r
[XmlText]\r
public XmlNode[] Markup \r
set{ markup = value; }\r
}\r
\r
- [System.Xml.Serialization.XmlAttribute("source")]\r
- public string Source \r
- {\r
- get{ return source; } \r
- set{ source = value; }\r
- }\r
-\r
//<appinfo\r
// source = anyURI>\r
// Content: ({any})*\r
//</appinfo>\r
- internal static XmlSchemaAppInfo Read(XmlSchemaReader reader, ValidationEventHandler h)\r
+ internal static XmlSchemaAppInfo Read(XmlSchemaReader reader, ValidationEventHandler h, out bool skip)\r
{\r
+ skip = false;\r
XmlSchemaAppInfo appinfo = new XmlSchemaAppInfo();\r
reader.MoveToElement();\r
\r
return appinfo;\r
\r
//Content {any}*\r
- //FIXME: How to handle {any}* content\r
- while(reader.Read())\r
+ //FIXME: This is a pure Quick Hack; There must be a another method;\r
+ XmlDocument xmldoc = new XmlDocument();\r
+ xmldoc.AppendChild(xmldoc.ReadNode(reader));\r
+ XmlNode root = xmldoc.FirstChild;\r
+ if(root != null && root.ChildNodes != null)\r
{\r
- if(reader.NodeType == XmlNodeType.EndElement && reader.NamespaceURI == XmlSchema.Namespace && \r
- reader.LocalName == "appinfo")\r
- break;\r
+ appinfo.Markup = new XmlNode[root.ChildNodes.Count];\r
+ for(int i=0;i<root.ChildNodes.Count;i++)\r
+ {\r
+ appinfo.Markup[i] = root.ChildNodes[i];\r
+ }\r
}\r
+ if(reader.NodeType == XmlNodeType.Element || reader.NodeType == XmlNodeType.EndElement)\r
+ skip = true;\r
return appinfo;\r
}\r
}\r