* *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.
svn path=/trunk/mcs/; revision=3383
--- /dev/null
+2002-03-27 Duncan Mak <duncan@ximian.com>
+
+ * *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.
\ No newline at end of file
// Author: Dwivedi, Ajay kumar\r
// Adwiv@Yahoo.com\r
-// Author: Dwivedi, Ajay kumar\r
-// Adwiv@Yahoo.com\r
using System;\r
using System.Xml;\r
using System.IO;\r
/// <summary>\r
/// Summary description for XmlSchema.\r
/// </summary>\r
- [XmlRoot] \r
+ [XmlRoot("schema",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public class XmlSchema : XmlSchemaObject\r
{\r
//public constants\r
+ [XmlIgnore]\r
public const string InstanceNamespace = "http://www.w3.org/2001/XMLSchema-instance";\r
+ [XmlIgnore]\r
public const string Namespace = "http://www.w3.org/2001/XMLSchema";\r
\r
//private fields\r
private XmlSchemaObjectTable schemaTypes ;\r
private string targetNamespace ;\r
private XmlAttribute[] unhandledAttributes ;\r
- private string version ;\r
-\r
+ private string version;\r
+ private string language;\r
\r
public XmlSchema()\r
{\r
isCompiled = false;\r
items = new XmlSchemaObjectCollection();\r
}\r
+\r
+ #region Properties\r
+\r
[DefaultValue(XmlSchemaForm.None)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("attributeFormDefault")]\r
public XmlSchemaForm AttributeFormDefault \r
{\r
get{ return attributeFormDefault; }\r
set{ this.attributeFormDefault = value;}\r
}\r
+\r
[XmlIgnore]\r
public XmlSchemaObjectTable AttributeGroups \r
{\r
get{ return attributeGroups; }\r
}\r
+ \r
[XmlIgnore]\r
public XmlSchemaObjectTable Attributes \r
{\r
get{ return attributes;}\r
}\r
+ \r
[DefaultValue(XmlSchemaDerivationMethod.None)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("blockDefault")]\r
public XmlSchemaDerivationMethod BlockDefault \r
{\r
get{ return blockDefault;}\r
set{ blockDefault = value;}\r
}\r
+ \r
[DefaultValue(XmlSchemaForm.None)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("elementFormDefault")]\r
public XmlSchemaForm ElementFormDefault \r
{\r
get{ return elementFormDefault;}\r
set{ elementFormDefault = value;}\r
}\r
+\r
[XmlIgnore]\r
public XmlSchemaObjectTable Elements \r
{\r
get{ return elements;}\r
}\r
+\r
[DefaultValue(XmlSchemaDerivationMethod.None)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("finalDefault")]\r
public XmlSchemaDerivationMethod FinalDefault \r
{\r
get{ return finalDefault;}\r
set{ finalDefault = value;}\r
}\r
+\r
[XmlIgnore]\r
public XmlSchemaObjectTable Groups \r
{\r
get{ return groups;}\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("id")]\r
public string Id \r
{\r
get{ return id;}\r
set{ id = value;}\r
}\r
- [XmlElement]\r
+ \r
+ [XmlElement("include",typeof(XmlSchemaInclude),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("import",typeof(XmlSchemaImport),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("redefine",typeof(XmlSchemaRedefine),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Includes \r
{\r
get{ return includes;}\r
}\r
+ \r
[XmlIgnore]\r
public bool IsCompiled \r
{\r
get{ return isCompiled;}\r
}\r
- [XmlElement]\r
+ \r
+ [XmlElement("simpleType",typeof(XmlSchemaSimpleType),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("complexType",typeof(XmlSchemaComplexType),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("group",typeof(XmlSchemaGroup),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ //Only Schema's attributeGroup has type XmlSchemaAttributeGroup.\r
+ //Others (complextype, restrictions etc) must have XmlSchemaAttributeGroupRef\r
+ [XmlElement("attributeGroup",typeof(XmlSchemaAttributeGroup),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("element",typeof(XmlSchemaElement),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("attribute",typeof(XmlSchemaAttribute),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("notation",typeof(XmlSchemaNotation),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("annotation",typeof(XmlSchemaAnnotation),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Items \r
{\r
get{ return items;}\r
}\r
+ \r
[XmlIgnore]\r
public XmlSchemaObjectTable Notations \r
{\r
get{ return notations;}\r
}\r
+ \r
[XmlIgnore]\r
public XmlSchemaObjectTable SchemaTypes \r
{\r
get{ return schemaTypes;}\r
}\r
- [XmlAttribute]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("targetNamespace")]\r
public string TargetNamespace \r
{\r
get{ return targetNamespace;}\r
set{ targetNamespace = value;}\r
}\r
+ \r
[XmlAnyAttribute]\r
public XmlAttribute[] UnhandledAttributes \r
{\r
get{ return unhandledAttributes;}\r
set{ unhandledAttributes = value;}\r
}\r
- [XmlAttribute]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("version")]\r
public string Version \r
{\r
get{ return version;}\r
set{ version = value;}\r
}\r
\r
+ // New attribute defined in W3C schema element\r
+ [System.Xml.Serialization.XmlAttribute("xml:lang")]\r
+ public string Language\r
+ {\r
+ get{ return language; }\r
+ set{ language = value; }\r
+ }\r
+\r
+ #endregion\r
+\r
// Methods\r
[MonoTODO]\r
- public void Compile(System.Xml.Schema.ValidationEventHandler validationEventHandler)\r
+ public void Compile(ValidationEventHandler validationEventHandler)\r
{\r
+ attributeGroups = null;\r
+\r
}\r
\r
public static XmlSchema Read(TextReader reader, ValidationEventHandler validationEventHandler)\r
{\r
return Read(new XmlTextReader(stream),validationEventHandler);\r
}\r
+ //<ToBeRemoved>\r
+ private static void Serializer_UnknownAttribute(object sender, XmlAttributeEventArgs e)\r
+ {\r
+ Console.WriteLine("Unknown Attribute");\r
+ Console.WriteLine("\t" + e.Attr.Name + " " + e.Attr.InnerXml);\r
+ Console.WriteLine("\t LineNumber: " + e.LineNumber);\r
+ Console.WriteLine("\t LinePosition: " + e.LinePosition);\r
+ }\r
+ private static void Serializer_UnknownElement(object sender, XmlElementEventArgs e)\r
+ {\r
+ Console.WriteLine("Unknown Element");\r
+ Console.WriteLine("\t" + e.Element.Name + " " + e.Element.InnerXml);\r
+ Console.WriteLine("\t LineNumber: " + e.LineNumber);\r
+ Console.WriteLine("\t LinePosition: " + e.LinePosition);\r
+ }\r
+ private static void Serializer_UnknownNode(object sender, XmlNodeEventArgs e)\r
+ {\r
+ Console.WriteLine("Unknown Node");\r
+ Console.WriteLine("\t" + e.Name + " " + e.Text);\r
+ Console.WriteLine("\t LineNumber: " + e.LineNumber);\r
+ Console.WriteLine("\t LinePosition: " + e.LinePosition);\r
+ }\r
+ private static void Serializer_UnknownAttribute(object sender, UnreferencedObjectEventArgs e)\r
+ {\r
+ Console.WriteLine("Unknown");\r
+ Console.WriteLine("\t" + e.UnreferencedId);\r
+ Console.WriteLine("\t" + e.UnreferencedObject);\r
+ }\r
+ //</ToBeRemoved>\r
[MonoTODO]\r
public static XmlSchema Read(XmlReader reader, ValidationEventHandler validationEventHandler)\r
{\r
- return null;\r
+ XmlSerializer xser = new XmlSerializer(typeof(XmlSchema));\r
+ //<ToBeRemoved>\r
+ xser.UnknownAttribute += new XmlAttributeEventHandler(Serializer_UnknownAttribute);\r
+ xser.UnknownElement += new XmlElementEventHandler(Serializer_UnknownElement);\r
+ xser.UnknownNode += new XmlNodeEventHandler(Serializer_UnknownNode);\r
+ xser.UnreferencedObject += new UnreferencedObjectEventHandler(Serializer_UnknownAttribute);\r
+ //</ToBeRemoved>\r
+ return (XmlSchema) xser.Deserialize(reader);\r
}\r
-\r
public void Write(System.IO.Stream stream)\r
{\r
- Write(new XmlTextWriter(stream,null),null);\r
+ Write(stream,null);\r
}\r
public void Write(System.IO.TextWriter writer)\r
{\r
- Write(new XmlTextWriter(writer),null);\r
+ Write(writer,null);\r
}\r
public void Write(System.Xml.XmlWriter writer)\r
{\r
}\r
public void Write(System.IO.TextWriter writer, System.Xml.XmlNamespaceManager namespaceManager)\r
{\r
- Write(new XmlTextWriter(writer),namespaceManager);\r
+ XmlTextWriter xwriter = new XmlTextWriter(writer);\r
+ // This is why the Write was not writing schema with line breaks\r
+ xwriter.Formatting = Formatting.Indented;\r
+ Write(xwriter,namespaceManager);\r
}\r
[MonoTODO]\r
public void Write(System.Xml.XmlWriter writer, System.Xml.XmlNamespaceManager namespaceManager)\r
{\r
+ XmlSerializerNamespaces xns;\r
+ \r
+ if(Namespaces != null)\r
+ {\r
+ xns = new XmlSerializerNamespaces(this.Namespaces);\r
+ }\r
+ else\r
+ {\r
+ xns = new XmlSerializerNamespaces();\r
+ }\r
+\r
+ if(namespaceManager != null)\r
+ {\r
+ foreach(string name in namespaceManager)\r
+ {\r
+ //xml and xmlns namespaced are added by default in namespaceManager. \r
+ //So we should ignore them\r
+ if(name!="xml" && name != "xmlns")\r
+ xns.Add(name,namespaceManager.LookupNamespace(name));\r
+ }\r
+ }\r
+ \r
+ this.Namespaces = xns;\r
+ \r
+ XmlSerializer xser = new XmlSerializer(typeof(XmlSchema));\r
+ xser.Serialize(writer,this,xns);\r
+ writer.Flush();\r
}\r
}\r
}\r
{\r
items = new XmlSchemaObjectCollection();\r
}\r
- [XmlElement]\r
+ [XmlElement("element",typeof(XmlSchemaElement),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public override XmlSchemaObjectCollection Items \r
{\r
get{ return items; }\r
/// <summary>\r
/// Summary description for XmlSchemaAnnotated.\r
/// </summary>\r
+ // Include all childrens of this class\r
+// [XmlInclude(typeof(XmlSchemaAnyAttribute)),\r
+// XmlInclude(typeof(XmlSchemaAttribute)),\r
+// XmlInclude(typeof(XmlSchemaAttributeGroup)),\r
+// XmlInclude(typeof(XmlSchemaAttributeGroupRef)),\r
+// XmlInclude(typeof(XmlSchemaContent)),\r
+// XmlInclude(typeof(XmlSchemaContentModel)),\r
+// XmlInclude(typeof(XmlSchemaFacet)),\r
+// XmlInclude(typeof(XmlSchemaGroup)),\r
+// XmlInclude(typeof(XmlSchemaIdentityConstraint)),\r
+// XmlInclude(typeof(XmlSchemaNotation)),\r
+// XmlInclude(typeof(XmlSchemaParticle)),\r
+// XmlInclude(typeof(XmlSchemaSimpleTypeContent)),\r
+// XmlInclude(typeof(XmlSchemaType)),\r
+// XmlInclude(typeof(XmlSchemaXPath))]\r
public class XmlSchemaAnnotated : XmlSchemaObject\r
{\r
private XmlSchemaAnnotation annotation;\r
\r
public XmlSchemaAnnotated()\r
{}\r
- [XmlElement]\r
+ \r
+ [XmlElement("annotation",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnnotation Annotation \r
{ \r
- get{ return this.annotation; } \r
- set{ this.annotation = value; } \r
+ get{ return annotation; } \r
+ set{ annotation = value; } \r
}\r
- [XmlAttribute]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("id")]\r
public string Id \r
{ \r
- get{ return this.id; } \r
+ get{ return id; } \r
set{ id = value; } \r
}\r
+ \r
[XmlAnyAttribute]\r
public XmlAttribute[] UnhandledAttributes \r
{ \r
\r
public XmlSchemaAnnotation()\r
{\r
+ items = new XmlSchemaObjectCollection();\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("id")]\r
public string Id \r
{\r
get{ return id; } \r
set{ id = value; }\r
}\r
- [XmlElement]\r
- public XmlSchemaObjectCollection Items \r
+ \r
+ [XmlElement("appinfo",typeof(XmlSchemaAppInfo),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("documentation",typeof(XmlSchemaDocumentation),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ public XmlSchemaObjectCollection Items\r
{\r
get{ return items; }\r
}\r
+ \r
[XmlAnyAttribute]\r
public XmlAttribute[] UnhandledAttributes \r
{\r
public XmlSchemaAny()\r
{\r
nameSpace = string.Empty;\r
- processing = XmlSchemaContentProcessing.Strict;\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("namespace")]\r
public string Namespace \r
{\r
get{ return nameSpace; } \r
set{ nameSpace = value; }\r
}\r
- [DefaultValue(XmlSchemaContentProcessing.Strict)]\r
- [XmlAttribute]\r
- public XmlSchemaContentProcessing ProcessContents \r
+ \r
+ [DefaultValue(XmlSchemaContentProcessing.None)]\r
+ [System.Xml.Serialization.XmlAttribute("processContents")]\r
+ public XmlSchemaContentProcessing ProcessContents\r
{ \r
get{ return processing; } \r
set{ processing = value; }\r
public class XmlSchemaAnyAttribute : XmlSchemaAnnotated\r
{\r
private string nameSpace;\r
- public XmlSchemaContentProcessing processing;\r
+ private XmlSchemaContentProcessing processing;\r
\r
public XmlSchemaAnyAttribute()\r
{\r
nameSpace = string.Empty;\r
- this.processing = XmlSchemaContentProcessing.Strict;\r
}\r
\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("namespace")]\r
public string Namespace \r
{ \r
get{ return nameSpace; } \r
set{ nameSpace = value; } \r
}\r
- [DefaultValue(XmlSchemaContentProcessing.Strict)]\r
- [XmlAttribute]\r
+ \r
+ [DefaultValue(XmlSchemaContentProcessing.None)]\r
+ [System.Xml.Serialization.XmlAttribute("processContents")]\r
public XmlSchemaContentProcessing ProcessContents \r
{ \r
get{ return processing; } \r
get{ return markup; }\r
set{ markup = value; }\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("source")]\r
public string Source \r
{\r
get{ return source; } \r
{\r
//FIXME: Docs says the default is optional.\r
//Whereas the MS implementation has default None.\r
- use = XmlSchemaUse.Optional;\r
+ use = XmlSchemaUse.None;\r
qualifiedName = XmlQualifiedName.Empty;\r
refName = XmlQualifiedName.Empty;\r
}\r
{ //FIXME: This is not correct. Is it?\r
get{ return attributeType; }\r
}\r
- //FIXME: what is the default value?\r
- [DefaultValue("")]\r
- [XmlAttribute]\r
+\r
+ [DefaultValue(null)]\r
+ [System.Xml.Serialization.XmlAttribute("default")]\r
public string DefaultValue \r
{\r
get{ return defaultValue;}\r
defaultValue = value;\r
}\r
}\r
- [DefaultValue("")]\r
- [XmlAttribute]\r
+\r
+ [DefaultValue(null)]\r
+ [System.Xml.Serialization.XmlAttribute("fixed")]\r
public string FixedValue \r
{\r
get{ return fixedValue;}\r
fixedValue = value;\r
}\r
}\r
+\r
[DefaultValue(XmlSchemaForm.None)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("form")]\r
public XmlSchemaForm Form \r
{\r
get{ return form;}\r
set{ form = value;}\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("name")]\r
public string Name \r
{\r
get{ return name;}\r
get{ return qualifiedName;}\r
}\r
\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("ref")]\r
public XmlQualifiedName RefName \r
{\r
get{ return refName;}\r
refName = value; \r
}\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("simpleType",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaSimpleType SchemaType \r
{\r
get{ return schemaType;}\r
set{ schemaType = value;}\r
}\r
- [XmlAttribute]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("type")]\r
public XmlQualifiedName SchemaTypeName \r
{\r
get{ return schemaTypeName;}\r
set{ schemaTypeName = value;}\r
}\r
- [DefaultValue(XmlSchemaUse.Optional)]\r
- [XmlAttribute]\r
+\r
+ [DefaultValue(XmlSchemaUse.None)]\r
+ [System.Xml.Serialization.XmlAttribute("use")]\r
public XmlSchemaUse Use \r
{\r
get{ return use;}\r
//FIXME:\r
redefined = this;\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("anyAttribute",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnyAttribute AnyAttribute \r
{\r
get{ return any;}\r
set{ any = value;}\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("attribute",typeof(XmlSchemaAttribute),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("attributeGroup",typeof(XmlSchemaAttributeGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Attributes \r
{\r
get{ return attributes;}\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("name")]\r
public string Name \r
{\r
get{ return name;}\r
set{ name = value;}\r
}\r
+\r
//Undocumented property\r
[XmlIgnore]\r
public XmlSchemaAttributeGroup RedefinedAttributeGroup \r
public XmlSchemaAttributeGroupRef()\r
{}\r
\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("ref")]\r
public XmlQualifiedName RefName \r
{\r
- get{ return refName;}\r
- set\r
- {\r
- refName = value; \r
- }\r
+ get{ return refName; }\r
+ set{ refName = value; }\r
}\r
}\r
}\r
{\r
items = new XmlSchemaObjectCollection();\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("element",typeof(XmlSchemaElement),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("group",typeof(XmlSchemaGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("choice",typeof(XmlSchemaChoice),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("sequence",typeof(XmlSchemaSequence),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("any",typeof(XmlSchemaAny),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public override XmlSchemaObjectCollection Items \r
{\r
get{ return items; }\r
{\r
return this.htable.Contains(ns);\r
}\r
- public bool Contains(System.Xml.Schema.XmlSchema schema)\r
+ public bool Contains(XmlSchema schema)\r
{\r
return this.htable.Contains(schema.TargetNamespace); \r
}\r
- public void CopyTo(System.Xml.Schema.XmlSchema[] array, int index)\r
+ public void CopyTo(XmlSchema[] array, int index)\r
{\r
\r
}\r
private bool isMixed;\r
\r
public XmlSchemaComplexContent()\r
- {\r
- }\r
- [XmlElement]\r
+ {}\r
+\r
+ [XmlElement("restriction",typeof(XmlSchemaComplexContentRestriction),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("extension",typeof(XmlSchemaComplexContentExtension),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public override XmlSchemaContent Content \r
{\r
get{ return content; } \r
set{ content = value; }\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("mixed")]\r
public bool IsMixed \r
{\r
get{ return isMixed; } \r
{\r
attributes = new XmlSchemaObjectCollection();\r
}\r
- [XmlElement]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("base")]\r
+ public XmlQualifiedName BaseTypeName \r
+ {\r
+ get{ return baseTypeName; }\r
+ set{ baseTypeName = value; }\r
+ }\r
+ [XmlElement("anyAttribute",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnyAttribute AnyAttribute \r
{\r
get{ return any; }\r
set{ any = value;}\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("attribute",typeof(XmlSchemaAttribute),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("attributeGroup",typeof(XmlSchemaAttributeGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Attributes \r
{\r
get{ return attributes; }\r
}\r
- [XmlAttribute]\r
- public XmlQualifiedName BaseTypeName \r
- {\r
- get{ return baseTypeName; }\r
- set{ baseTypeName = value; }\r
- }\r
- [XmlElement]\r
+\r
+ [XmlElement("group",typeof(XmlSchemaGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("all",typeof(XmlSchemaAll),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("choice",typeof(XmlSchemaChoice),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("sequence",typeof(XmlSchemaSequence),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaParticle Particle\r
{\r
get{ return particle; }\r
/// <summary>\r
/// Summary description for XmlSchemaComplexContentRestriction.\r
/// </summary>\r
- public class XmlSchemaComplexContentRestriction\r
+ public class XmlSchemaComplexContentRestriction : XmlSchemaContent\r
{\r
private XmlSchemaAnyAttribute any;\r
private XmlSchemaObjectCollection attributes;\r
attributes = new XmlSchemaObjectCollection();\r
}\r
\r
- [XmlElement]\r
+ [System.Xml.Serialization.XmlAttribute("base")]\r
+ public XmlQualifiedName BaseTypeName \r
+ {\r
+ get{ return baseTypeName; }\r
+ set{ baseTypeName = value; }\r
+ }\r
+\r
+ [XmlElement("anyAttribute",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnyAttribute AnyAttribute \r
{\r
get{ return any; }\r
set{ any = value; }\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("attribute",typeof(XmlSchemaAttribute),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("attributeGroup",typeof(XmlSchemaAttributeGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Attributes \r
{\r
get{ return attributes; }\r
}\r
- [XmlAttribute]\r
- public XmlQualifiedName BaseTypeName \r
- {\r
- get{ return baseTypeName; }\r
- set{ baseTypeName = value; }\r
- }\r
- [XmlElement]\r
+\r
+ [XmlElement("group",typeof(XmlSchemaGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("all",typeof(XmlSchemaAll),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("choice",typeof(XmlSchemaChoice),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("sequence",typeof(XmlSchemaSequence),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaParticle Particle \r
{\r
get{ return particle; }\r
\r
public XmlSchemaComplexType()\r
{\r
+ attributes = new XmlSchemaObjectCollection();\r
block = XmlSchemaDerivationMethod.None;\r
}\r
\r
- [XmlElement]\r
+ #region Attributes\r
+\r
+ [DefaultValue(XmlSchemaDerivationMethod.None)]\r
+ [System.Xml.Serialization.XmlAttribute("block")]\r
+ public XmlSchemaDerivationMethod Block\r
+ {\r
+ get{ return block; }\r
+ set{ block = value; }\r
+ }\r
+ [DefaultValue(false)]\r
+ [System.Xml.Serialization.XmlAttribute("abstract")]\r
+ public bool IsAbstract \r
+ {\r
+ get{ return isAbstract; }\r
+ set{ isAbstract = value; }\r
+ }\r
+ [DefaultValue(false)]\r
+ [System.Xml.Serialization.XmlAttribute("mixed")]\r
+ public override bool IsMixed\r
+ {\r
+ get{ return isMixed; }\r
+ set{ isMixed = value; }\r
+ }\r
+ \r
+ #endregion\r
+ \r
+ #region Elements\r
+ [XmlElement("anyAttribute",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnyAttribute AnyAttribute \r
{\r
get{ return anyAttribute; }\r
set{ anyAttribute = value; }\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("attribute",typeof(XmlSchemaAttribute),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("attributeGroup",typeof(XmlSchemaAttributeGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Attributes \r
{\r
get{ return attributes; }\r
}\r
+ \r
+ [XmlElement("simpleContent",typeof(XmlSchemaSimpleContent),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("complexContent",typeof(XmlSchemaComplexContent),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ public XmlSchemaContentModel ContentModel \r
+ {\r
+ get{ return contentModel; } \r
+ set{ contentModel = value; }\r
+ }\r
+\r
+ [XmlElement("group",typeof(XmlSchemaGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("all",typeof(XmlSchemaAll),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("choice",typeof(XmlSchemaChoice),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("sequence",typeof(XmlSchemaSequence),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ public XmlSchemaParticle Particle \r
+ {\r
+ get{ return particle; } \r
+ set{ particle = value; }\r
+ }\r
+\r
+ #endregion\r
+\r
+ #region XmlIgnore\r
[XmlIgnore]\r
public XmlSchemaObjectTable AttributeUses \r
{\r
{\r
get{ return attributeWildcard; }\r
}\r
- [DefaultValue(XmlSchemaDerivationMethod.None)]\r
- [XmlAttribute]\r
- public XmlSchemaDerivationMethod Block \r
- {\r
- get{ return block; }\r
- set{ block = value; }\r
- }\r
[XmlIgnore]\r
public XmlSchemaDerivationMethod BlockResolved \r
{\r
get{ return blockResolved; }\r
}\r
- [XmlElement]\r
- public XmlSchemaContentModel ContentModel \r
- {\r
- get{ return contentModel; } \r
- set{ contentModel = value; }\r
- }\r
[XmlIgnore]\r
public XmlSchemaContentType ContentType \r
{\r
{\r
get{ return contentTypeParticle; }\r
}\r
- [DefaultValue(true)]\r
- [XmlAttribute]\r
- public bool IsAbstract \r
- {\r
- get{ return isAbstract; }\r
- set{ isAbstract = value; }\r
- }\r
- [DefaultValue(true)]\r
- [XmlAttribute]\r
- public override bool IsMixed\r
- {\r
- get{ return isMixed; }\r
- set{ isMixed = value; }\r
- }\r
- [XmlElement]\r
- public XmlSchemaParticle Particle \r
- {\r
- get{ return particle; } \r
- set{ particle = value; }\r
- }\r
+ #endregion\r
}\r
}\r
{\r
[XmlIgnore]\r
None = 0,\r
- [XmlEnum]\r
+ [XmlEnum("skip")]\r
Skip = 1,\r
- [XmlEnum]\r
+ [XmlEnum("lax")]\r
Lax = 2, \r
- [XmlEnum]\r
+ [XmlEnum("strict")]\r
Strict = 3, \r
}\r
}\r
[Flags]\r
public enum XmlSchemaDerivationMethod\r
{\r
- [XmlEnum]\r
+ [XmlEnum("empty")]\r
Empty = 0x00000000, \r
- [XmlEnum]\r
+ [XmlEnum("substitution")]\r
Substitution= 0x00000001, \r
- [XmlEnum]\r
+ [XmlEnum("extension")]\r
Extension = 0x00000002, \r
- [XmlEnum]\r
+ [XmlEnum("restriction")]\r
Restriction = 0x00000004, \r
- [XmlEnum]\r
+ [XmlEnum("list")]\r
List = 0x00000008, \r
- [XmlEnum]\r
+ [XmlEnum("union")]\r
Union = 0x00000010, \r
- [XmlEnum]\r
+ [XmlEnum("#all")]\r
All = 0x000000FF,\r
[XmlIgnore]\r
None = 0x00000100, \r
{\r
source = string.Empty;\r
}\r
- [XmlAttribute]\r
- public string Language \r
- {\r
- get{ return language; }\r
- set{ language = value; }\r
- }\r
+\r
[XmlAnyElement]\r
[XmlText]\r
public XmlNode[] Markup \r
get{ return markup; }\r
set{ markup = value; }\r
}\r
- [XmlAttribute]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("source")]\r
public string Source \r
{\r
get{ return source; } \r
set{ source = value; }\r
}\r
+\r
+ [System.Xml.Serialization.XmlAttribute("xml:lang")]\r
+ public string Language \r
+ {\r
+ get{ return language; }\r
+ set{ language = value; }\r
+ }\r
}\r
}\r
public XmlSchemaElement()\r
{\r
block = XmlSchemaDerivationMethod.None;\r
- constraints = new XmlSchemaObjectCollection();\r
final = XmlSchemaDerivationMethod.None;\r
- finalResolved = XmlSchemaDerivationMethod.None;\r
- name = string.Empty;\r
+ constraints = new XmlSchemaObjectCollection();\r
qName = XmlQualifiedName.Empty;\r
substitutionGroup = XmlQualifiedName.Empty;\r
}\r
+\r
+ #region Attributes\r
+ \r
+ [DefaultValue(false)]\r
+ [System.Xml.Serialization.XmlAttribute("abstract")]\r
+ public bool IsAbstract \r
+ {\r
+ get{ return isAbstract; }\r
+ set{ isAbstract = value; }\r
+ }\r
+\r
[DefaultValue(XmlSchemaDerivationMethod.None)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("block")]\r
public XmlSchemaDerivationMethod Block \r
{\r
get{ return block; }\r
set{ block = value; }\r
}\r
- [XmlIgnore]\r
- public XmlSchemaDerivationMethod BlockResolved \r
- {\r
- get{ return blockResolved; }\r
- }\r
- [XmlElement]\r
- public XmlSchemaObjectCollection Constraints \r
- {\r
- get{ return constraints; }\r
- }\r
- [DefaultValue("")]\r
- [XmlAttribute]\r
+ \r
+ [DefaultValue(null)]\r
+ [System.Xml.Serialization.XmlAttribute("default")]\r
public string DefaultValue \r
{\r
get{ return defaultValue; }\r
set{ defaultValue = value; }\r
}\r
- [XmlIgnore]\r
- public object ElementType \r
- {\r
- get{ return elementType; }\r
- }\r
+ \r
[DefaultValue(XmlSchemaDerivationMethod.None)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("final")]\r
public XmlSchemaDerivationMethod Final \r
{\r
get{ return final; }\r
set{ final = value; }\r
}\r
- [XmlIgnore]\r
- public XmlSchemaDerivationMethod FinalResolved \r
- {\r
- get{ return finalResolved; }\r
- }\r
- [DefaultValue("")]\r
- [XmlAttribute]\r
+\r
+ [DefaultValue(null)]\r
+ [System.Xml.Serialization.XmlAttribute("fixed")]\r
public string FixedValue \r
{\r
get{ return fixedValue; }\r
set{ fixedValue = value; }\r
}\r
[DefaultValue(XmlSchemaForm.None)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("form")]\r
public XmlSchemaForm Form \r
{\r
get{ return form; }\r
set{ form = value; }\r
}\r
- [DefaultValue(true)]\r
- [XmlAttribute]\r
- public bool IsAbstract \r
- {\r
- get{ return isAbstract; }\r
- set{ isAbstract = value; }\r
- }\r
+\r
[DefaultValue(false)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("nillable")]\r
public bool IsNillable \r
{\r
get{ return isNillable; }\r
set{ isNillable = value; }\r
}\r
- [DefaultValue("")]\r
- [XmlAttribute]\r
+\r
+ [DefaultValue(null)]\r
+ [System.Xml.Serialization.XmlAttribute("name")]\r
public string Name \r
{\r
get{ return name; }\r
set{ name = value; }\r
}\r
- [XmlIgnore]\r
- public XmlQualifiedName QualifiedName \r
- {\r
- get{ return qName; }\r
- }\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("ref")]\r
public XmlQualifiedName RefName \r
{\r
get{ return refName; }\r
set{ refName = value;}\r
}\r
- [XmlElement]\r
- public XmlSchemaType SchemaType \r
- {\r
- get{ return schemaType; }\r
- set{ schemaType = value; }\r
- }\r
- [XmlAttribute]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("type")]\r
public XmlQualifiedName SchemaTypeName \r
{\r
get{ return schemaTypeName; }\r
set{ schemaTypeName = value; }\r
}\r
- [XmlAttribute]\r
- public XmlQualifiedName SubstitutionGroup \r
+\r
+ [System.Xml.Serialization.XmlAttribute("substitutionGroup")]\r
+ public XmlQualifiedName SubstitutionGroup\r
{\r
get{ return substitutionGroup; }\r
set{ substitutionGroup = value; }\r
}\r
+\r
+\r
+ #endregion\r
+\r
+ #region Elements\r
+ \r
+ [XmlElement("unique",typeof(XmlSchemaUnique),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("key",typeof(XmlSchemaKey),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("keyref",typeof(XmlSchemaKeyref),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ public XmlSchemaObjectCollection Constraints \r
+ {\r
+ get{ return constraints; }\r
+ }\r
+\r
+ [XmlElement("simpleType",typeof(XmlSchemaSimpleType),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("complexType",typeof(XmlSchemaComplexType),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ public XmlSchemaType SchemaType \r
+ {\r
+ get{ return schemaType; }\r
+ set{ schemaType = value; }\r
+ }\r
+ \r
+ #endregion\r
+\r
+ #region XmlIgnore\r
+ [XmlIgnore]\r
+ public XmlSchemaDerivationMethod BlockResolved \r
+ {\r
+ get{ return blockResolved; }\r
+ }\r
+\r
+ [XmlIgnore]\r
+ public object ElementType \r
+ {\r
+ get{ return elementType; }\r
+ }\r
+ \r
+ [XmlIgnore]\r
+ public XmlSchemaDerivationMethod FinalResolved \r
+ {\r
+ get{ return finalResolved; }\r
+ }\r
+\r
+ [XmlIgnore]\r
+ public XmlQualifiedName QualifiedName \r
+ {\r
+ get{ return qName; }\r
+ }\r
+\r
+\r
+ #endregion\r
}\r
}\r
private XmlAttribute[] unhandledAttributes;\r
\r
protected XmlSchemaExternal()\r
- {\r
- }\r
- [XmlAttribute]\r
+ {}\r
+\r
+ [System.Xml.Serialization.XmlAttribute("id")]\r
public string Id \r
{\r
get{ return id; }\r
set{ id = value; }\r
}\r
+\r
[XmlIgnore]\r
public XmlSchema Schema \r
{\r
get{ return schema; }\r
set{ schema = value; }\r
}\r
- [XmlAttribute]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("schemaLocation")]\r
public string SchemaLocation \r
{\r
get{ return location; } \r
val = string.Empty;\r
}\r
[DefaultValue(false)]\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("fixed")]\r
public virtual bool IsFixed \r
{\r
get{ return isFixed; }\r
set{ isFixed = value; }\r
}\r
- [XmlAttribute]\r
- public string Value \r
+ [System.Xml.Serialization.XmlAttribute("value")]\r
+ public string Value\r
{\r
get{ return val; } \r
set{ val = value; }\r
{\r
[XmlIgnore]\r
None = 0x00000000, \r
- [XmlEnum]\r
+ [XmlEnum("qualified")]\r
Qualified = 0x00000001, \r
- [XmlEnum]\r
+ [XmlEnum("unqualified")]\r
Unqualified = 0x00000002, \r
}\r
}\r
\r
public XmlSchemaGroup()\r
{\r
- name = string.Empty;\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("name")]\r
public string Name \r
{\r
get{ return name; } \r
set{ name = value; }\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("all",typeof(XmlSchemaAll),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("choice",typeof(XmlSchemaChoice),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("sequence",typeof(XmlSchemaSequence),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaGroupBase Particle\r
{\r
get{ return particle; }\r
{\r
get{ return particle; }\r
}\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("ref")]\r
public XmlQualifiedName RefName \r
{\r
get{ return refName; } \r
fields = new XmlSchemaObjectCollection();\r
qName = XmlQualifiedName.Empty;\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("field",typeof(XmlSchemaXPath),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Fields \r
{\r
get{ return fields; }\r
}\r
- [XmlAttribute]\r
+\r
+ [XmlElement("selector",typeof(XmlSchemaXPath),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ public XmlSchemaXPath Selector \r
+ {\r
+ get{ return selector; } \r
+ set{ selector = value; }\r
+ }\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("name")]\r
public string Name \r
{\r
get{ return name; } \r
set{ name = value; }\r
}\r
+ \r
[XmlIgnore]\r
public XmlQualifiedName QualifiedName \r
{\r
get{ return qName; }\r
}\r
- [XmlElement]\r
- public XmlSchemaXPath Selector \r
- {\r
- get{ return selector; } \r
- set{ selector = value; }\r
- }\r
}\r
}\r
public XmlSchemaImport()\r
{\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("annotation",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnnotation Annotation \r
{\r
get{ return annotation; } \r
set{ annotation = value; }\r
}\r
- [XmlAttribute]\r
+ \r
+ [System.Xml.Serialization.XmlAttribute("namespace")]\r
public string Namespace \r
{\r
get{ return nameSpace; } \r
public XmlSchemaInclude()\r
{\r
}\r
- [XmlElement]\r
+ [XmlElement("annotation",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnnotation Annotation \r
{\r
get{ return annotation; } \r
public XmlSchemaKeyref()\r
{\r
}\r
- [XmlAttribute]\r
- public XmlQualifiedName Refer \r
+\r
+ [System.Xml.Serialization.XmlAttribute("refer")]\r
+ public XmlQualifiedName Refer\r
{\r
get{ return refer; } \r
set{ refer = value; }\r
public XmlSchemaNotation()\r
{\r
}\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("name")]\r
public string Name \r
{\r
get{ return name; } \r
set{ name = value; }\r
}\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("public")]\r
public string Public \r
{\r
get{ return pub; } \r
set{ pub = value; }\r
}\r
- [XmlAttribute]\r
+ [System.Xml.Serialization.XmlAttribute("system")]\r
public string System \r
{\r
get{ return system; } \r
/// <summary>\r
/// Summary description for XmlSchemaObject.\r
/// </summary>\r
+// [XmlInclude(typeof(XmlSchema)),\r
+// XmlInclude(typeof(XmlSchemaAnnotated)),\r
+// XmlInclude(typeof(XmlSchemaAnnotation)),\r
+// XmlInclude(typeof(XmlSchemaAppInfo)),\r
+// XmlInclude(typeof(XmlSchemaDocumentation)),\r
+// XmlInclude(typeof(XmlSchemaExternal))]\r
public abstract class XmlSchemaObject\r
{\r
private int lineNumber;\r
get{ return sourceUri; } \r
set{ sourceUri = value; } \r
}\r
+\r
// Undocumented Property\r
[XmlNamespaceDeclarations]\r
public XmlSerializerNamespaces Namespaces \r
/// </summary>\r
public class XmlSchemaObjectCollection : System.Collections.CollectionBase\r
{\r
+ private XmlSchemaObject parent;\r
+\r
public XmlSchemaObjectCollection()\r
{\r
}\r
- [MonoTODO]\r
public XmlSchemaObjectCollection(XmlSchemaObject parent)\r
{\r
+ this.parent = parent;\r
}\r
\r
// Properties\r
}\r
\r
// Methods\r
- public int Add(System.Xml.Schema.XmlSchemaObject item)\r
+ public int Add(XmlSchemaObject item)\r
{\r
return this.List.Add(item);\r
}\r
\r
- public bool Contains(System.Xml.Schema.XmlSchemaObject item)\r
+ public bool Contains(XmlSchemaObject item)\r
{\r
return this.List.Contains(item);\r
}\r
\r
- public void CopyTo(System.Xml.Schema.XmlSchemaObject[] array, int index)\r
+ public void CopyTo(XmlSchemaObject[] array, int index)\r
{\r
this.List.CopyTo(array,index);\r
}\r
return (XmlSchemaObjectEnumerator) new object();\r
}\r
\r
- public int IndexOf(System.Xml.Schema.XmlSchemaObject item)\r
+ public int IndexOf(XmlSchemaObject item)\r
{\r
return this.List.IndexOf(item);\r
}\r
\r
- public void Insert(int index, System.Xml.Schema.XmlSchemaObject item)\r
+ public void Insert(int index, XmlSchemaObject item)\r
{\r
this.List.Insert(index, item);\r
}\r
[MonoTODO]\r
protected override void OnSet(int index,object oldValue,object newValue){}\r
\r
- public void Remove(System.Xml.Schema.XmlSchemaObject item)\r
+ public void Remove(XmlSchemaObject item)\r
{\r
this.List.Remove(item);\r
}\r
minOccurs = decimal.One;\r
maxOccurs = decimal.One;\r
}\r
- [XmlIgnore]\r
- public decimal MaxOccurs \r
+\r
+ #region Attributes\r
+\r
+ [System.Xml.Serialization.XmlAttribute("maxOccurs")]\r
+ public string MaxOccursString\r
{\r
- get{ return maxOccurs; } \r
+ get{ return maxstr; }\r
set\r
{\r
- if(value >= 0 && (value == Decimal.Truncate(value)))\r
- maxOccurs = value;\r
+ if(value == "unbounded")\r
+ {\r
+ maxstr = value;\r
+ maxOccurs = decimal.MaxValue;\r
+ }\r
else\r
- throw new XmlSchemaException("MaxOccurs must be a non-negative number",null);\r
+ {\r
+ decimal val = decimal.Parse(value);\r
+ if(val >= 0 && (val == Decimal.Truncate(val)))\r
+ {\r
+ maxOccurs = val;\r
+ maxstr = value;\r
+ }\r
+ else\r
+ {\r
+ throw new XmlSchemaException\r
+ ("MaxOccurs must be a non-negative integer",null);\r
+ }\r
+ }\r
}\r
}\r
- [XmlAttribute]\r
- public string MaxOccursString \r
+\r
+ [System.Xml.Serialization.XmlAttribute("minOccurs")]\r
+ public string MinOccursString\r
{\r
- get{ return maxstr; }\r
+ get{ return minstr; }\r
set\r
{\r
- if(value == "unbounded")\r
+ decimal val = decimal.Parse(value);\r
+ if(val >= 0 && (val == Decimal.Truncate(val)))\r
{\r
- maxstr = value;\r
- maxOccurs = decimal.MaxValue;\r
+ minOccurs = val;\r
+ minstr = value;\r
}\r
else\r
{\r
- decimal val = decimal.Parse(value);\r
- //Setting through the property\r
- MaxOccurs = val;\r
- maxstr = value;\r
+ throw new XmlSchemaException\r
+ ("MinOccursString must be a non-negative number",null); \r
}\r
}\r
}\r
+\r
+ #endregion\r
+\r
+ #region XmlIgnore\r
+\r
[XmlIgnore]\r
- public decimal MinOccurs\r
+ public decimal MaxOccurs \r
{\r
- get{ return minOccurs; }\r
+ get{ return maxOccurs; } \r
set\r
{\r
- if(value >= 0 && (value == Decimal.Truncate(value)))\r
- minOccurs = value;\r
- else\r
- throw new XmlSchemaException("MinOccursString must be a non-negative number",null); \r
+ MaxOccursString = value.ToString();\r
}\r
}\r
- [XmlAttribute]\r
- public string MinOccursString\r
+\r
+ [XmlIgnore]\r
+ public decimal MinOccurs\r
{\r
- get{ return minstr; }\r
+ get{ return minOccurs; }\r
set\r
{\r
- MinOccurs = decimal.Parse(value);\r
- minstr = value;\r
+ MinOccursString = value.ToString();\r
}\r
}\r
+ #endregion\r
}\r
}
\ No newline at end of file
{\r
get{ return groups; }\r
}\r
- [XmlElement]\r
+ [XmlElement("annotation",typeof(XmlSchemaAnnotation),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("simpleType",typeof(XmlSchemaSimpleType),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("complexType",typeof(XmlSchemaComplexType),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("group",typeof(XmlSchemaGroup),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ //NOTE: AttributeGroup and not AttributeGroupRef\r
+ [XmlElement("attributeGroup",typeof(XmlSchemaAttributeGroup),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Items \r
{\r
get{ return items; }\r
{\r
items = new XmlSchemaObjectCollection();\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("element",typeof(XmlSchemaElement),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("group",typeof(XmlSchemaGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("choice",typeof(XmlSchemaChoice),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("sequence",typeof(XmlSchemaSequence),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("any",typeof(XmlSchemaAny),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public override XmlSchemaObjectCollection Items \r
{\r
get{ return items; }\r
public XmlSchemaSimpleContent()\r
{\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("restriction",typeof(XmlSchemaSimpleContentRestriction),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("extension",typeof(XmlSchemaSimpleContentExtension),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public override XmlSchemaContent Content \r
{\r
get{ return content; } \r
attributes = new XmlSchemaObjectCollection();\r
}\r
\r
- [XmlElement]\r
+ [XmlElement("anyAttribute",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnyAttribute AnyAttribute \r
{\r
get{ return any; }\r
set{ any = value; }\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("attribute",typeof(XmlSchemaAttribute),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("attributeGroup",typeof(XmlSchemaAttributeGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Attributes \r
{\r
get{ return attributes; }\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("base")]\r
public XmlQualifiedName BaseTypeName \r
{\r
get{ return baseTypeName; }\r
facets = new XmlSchemaObjectCollection();\r
}\r
\r
- [XmlElement]\r
+ [System.Xml.Serialization.XmlAttribute("base")]\r
+ public XmlQualifiedName BaseTypeName \r
+ {\r
+ get{ return baseTypeName; }\r
+ set{ baseTypeName = value; }\r
+ }\r
+\r
+ [XmlElement("anyAttribute",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaAnyAttribute AnyAttribute \r
{\r
get{ return any; }\r
set{ any = value; }\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("attribute",typeof(XmlSchemaAttribute),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("attributeGroup",typeof(XmlSchemaAttributeGroupRef),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Attributes \r
{\r
get{ return attributes; }\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("simpleType",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaSimpleType BaseType \r
{ \r
get{ return baseType; } \r
set{ baseType = value; } \r
}\r
- [XmlAttribute]\r
- public XmlQualifiedName BaseTypeName \r
- {\r
- get{ return baseTypeName; }\r
- set{ baseTypeName = value; }\r
- }\r
- [XmlElement]\r
+ \r
+ \r
+ [XmlElement("minExclusive",typeof(XmlSchemaMinExclusiveFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("minInclusive",typeof(XmlSchemaMinInclusiveFacet),Namespace="http://www.w3.org/2001/XMLSchema")] \r
+ [XmlElement("maxExclusive",typeof(XmlSchemaMaxExclusiveFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("maxInclusive",typeof(XmlSchemaMaxInclusiveFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("totalDigits",typeof(XmlSchemaTotalDigitsFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("fractionDigits",typeof(XmlSchemaFractionDigitsFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("length",typeof(XmlSchemaLengthFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("minLength",typeof(XmlSchemaMinLengthFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("maxLength",typeof(XmlSchemaMaxLengthFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("enumeration",typeof(XmlSchemaEnumerationFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("whiteSpace",typeof(XmlSchemaWhiteSpaceFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("pattern",typeof(XmlSchemaPatternFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Facets \r
{ \r
get{ return facets; } \r
/// <summary>\r
/// Summary description for XmlSchemaSimpleType.\r
/// </summary>\r
- public class XmlSchemaSimpleType\r
+ public class XmlSchemaSimpleType : XmlSchemaType\r
{\r
private XmlSchemaSimpleTypeContent content;\r
\r
public XmlSchemaSimpleType()\r
{\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("restriction",typeof(XmlSchemaSimpleTypeRestriction),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("list",typeof(XmlSchemaSimpleTypeList),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("union",typeof(XmlSchemaSimpleTypeUnion),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaSimpleTypeContent Content\r
{\r
get{ return content; } \r
\r
public XmlSchemaSimpleTypeList()\r
{}\r
- [XmlElement]\r
+\r
+ [XmlElement("simpleType",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaSimpleType ItemType \r
{\r
get{ return itemType; } \r
itemTypeName = null;\r
}\r
}\r
- [XmlAttribute]\r
- public XmlQualifiedName ItemTypeName \r
+\r
+ [System.Xml.Serialization.XmlAttribute("itemType")]\r
+ public XmlQualifiedName ItemTypeName\r
{\r
get{ return itemTypeName; } \r
set\r
{\r
facets = new XmlSchemaObjectCollection();\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("simpleType",Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaSimpleType BaseType \r
{\r
get{ return baseType; } \r
set{ baseType = value; }\r
}\r
- [XmlAttribute]\r
+\r
+ [System.Xml.Serialization.XmlAttribute("base")]\r
public XmlQualifiedName BaseTypeName \r
{\r
get{ return baseTypeName; } \r
set{ baseTypeName = value; }\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("minExclusive",typeof(XmlSchemaMinExclusiveFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("minInclusive",typeof(XmlSchemaMinInclusiveFacet),Namespace="http://www.w3.org/2001/XMLSchema")] \r
+ [XmlElement("maxExclusive",typeof(XmlSchemaMaxExclusiveFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("maxInclusive",typeof(XmlSchemaMaxInclusiveFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("totalDigits",typeof(XmlSchemaTotalDigitsFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("fractionDigits",typeof(XmlSchemaFractionDigitsFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("length",typeof(XmlSchemaLengthFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("minLength",typeof(XmlSchemaMinLengthFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("maxLength",typeof(XmlSchemaMaxLengthFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("enumeration",typeof(XmlSchemaEnumerationFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("whiteSpace",typeof(XmlSchemaWhiteSpaceFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
+ [XmlElement("pattern",typeof(XmlSchemaPatternFacet),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection Facets \r
{\r
get{ return facets; }\r
{\r
baseTypes = new XmlSchemaObjectCollection();\r
}\r
- [XmlElement]\r
+\r
+ [XmlElement("simpleType",typeof(XmlSchemaSimpleType),Namespace="http://www.w3.org/2001/XMLSchema")]\r
public XmlSchemaObjectCollection BaseTypes \r
{\r
get{ return baseTypes; }\r
}\r
- [XmlAttribute]\r
- public XmlQualifiedName[] MemberTypes \r
+\r
+ [System.Xml.Serialization.XmlAttribute("memberTypes")]\r
+ public XmlQualifiedName[] MemberTypes\r
{\r
get{ return memberTypes; } \r
set{ memberTypes = value; }\r
/// <summary>\r
/// Summary description for XmlSchemaType.\r
/// </summary>\r
+ [XmlInclude(typeof(XmlSchemaSimpleType))]\r
public class XmlSchemaType : XmlSchemaAnnotated\r
{\r
private object baseSchemaType;\r
{\r
final = XmlSchemaDerivationMethod.None;\r
}\r
+\r
+ #region Attributes\r
+ [System.Xml.Serialization.XmlAttribute("name")]\r
+ public string Name \r
+ {\r
+ get{ return name; }\r
+ set{ name = value; }\r
+ }\r
+ [DefaultValue(XmlSchemaDerivationMethod.None)]\r
+ [System.Xml.Serialization.XmlAttribute("final")]\r
+ public XmlSchemaDerivationMethod Final \r
+ {\r
+ get{ return final; }\r
+ set{ final = value; }\r
+ }\r
+ #endregion\r
+\r
+ #region XmlIgnore\r
[XmlIgnore]\r
public object BaseSchemaType \r
{\r
{\r
get{ return derivedBy; }\r
}\r
- [DefaultValue(XmlSchemaDerivationMethod.None)]\r
- [XmlAttribute]\r
- public XmlSchemaDerivationMethod Final \r
- {\r
- get{ return final; }\r
- set{ final = value; }\r
- }\r
[XmlIgnore]\r
public XmlSchemaDerivationMethod FinalResolved \r
{\r
get{ return isMixed; }\r
set{ isMixed = value; } \r
}\r
- [XmlAttribute]\r
- public string Name \r
- {\r
- get{ return name; }\r
- set{ name = value; }\r
- }\r
[XmlIgnore]\r
public XmlQualifiedName QualifiedName \r
{\r
get{ return qName; }\r
}\r
+ #endregion\r
}\r
}\r
{\r
[XmlIgnore]\r
None = 0x00000000, \r
- [XmlEnum]\r
+ [XmlEnum("optional")]\r
Optional = 0x00000001, \r
- [XmlEnum]\r
+ [XmlEnum("prohibited")]\r
Prohibited = 0x00000002, \r
- [XmlEnum]\r
+ [XmlEnum("required")]\r
Required = 0x00000003, \r
}\r
}\r
public XmlSchemaXPath()\r
{\r
}\r
- [DefaultValue("")]\r
- [XmlAttribute]\r
+ [DefaultValue(null)]\r
+ [System.Xml.Serialization.XmlAttribute("xpath")]\r
public string XPath \r
{\r
get{ return xpath; } \r