diff options
-rw-r--r-- | mcs/class/System.XML/System.Xml/ChangeLog | 5 | ||||
-rw-r--r-- | mcs/class/System.XML/System.Xml/DTDObjectModel.cs | 33 |
2 files changed, 26 insertions, 12 deletions
diff --git a/mcs/class/System.XML/System.Xml/ChangeLog b/mcs/class/System.XML/System.Xml/ChangeLog index c4d1f01a753..323241c9245 100644 --- a/mcs/class/System.XML/System.Xml/ChangeLog +++ b/mcs/class/System.XML/System.Xml/ChangeLog @@ -1,5 +1,10 @@ 2005-12-15 Atsushi Enomoto <atsushi@ximian.com> + * DTDObjectModel.cs : (CreateXsdParticle) element particle was + missing occurence indicators. + +2005-12-15 Atsushi Enomoto <atsushi@ximian.com> + * DTDObjectModel.cs : some fixes on GetXmlSchema() - make generated schema cleaner. - enumeration was missing for attribute type. diff --git a/mcs/class/System.XML/System.Xml/DTDObjectModel.cs b/mcs/class/System.XML/System.Xml/DTDObjectModel.cs index 715f4596651..e411b8fa08d 100644 --- a/mcs/class/System.XML/System.Xml/DTDObjectModel.cs +++ b/mcs/class/System.XML/System.Xml/DTDObjectModel.cs @@ -439,6 +439,27 @@ namespace Mono.Xml internal XmlSchemaParticle CreateXsdParticle () { + XmlSchemaParticle p = CreateXsdParticleCore (); + if (p == null) + return null; + + switch (Occurence) { + case DTDOccurence.Optional: + p.MinOccurs = 0; + break; + case DTDOccurence.OneOrMore: + p.MaxOccursString = "unbounded"; + break; + case DTDOccurence.ZeroOrMore: + p.MinOccurs = 0; + p.MaxOccursString = "unbounded"; + break; + } + return p; + } + + XmlSchemaParticle CreateXsdParticleCore () + { XmlSchemaParticle p = null; if (ElementName != null) { XmlSchemaElement el = new XmlSchemaElement (); @@ -462,18 +483,6 @@ namespace Mono.Xml } p = gb; } - switch (Occurence) { - case DTDOccurence.Optional: - p.MinOccurs = 0; - break; - case DTDOccurence.OneOrMore: - p.MaxOccursString = "unbounded"; - break; - case DTDOccurence.ZeroOrMore: - p.MinOccurs = 0; - p.MaxOccursString = "unbounded"; - break; - } return p; } |