} //WriteXmlSchemaSimpleType() //XmlSchemaParticle public static void WriteXmlSchemaParticle(XmlSchemaParticle particle, XmlSchema myXmlSchema, XmlTextWriter myXmlTextWriter) { if (particle is XmlSchemaElement) { WriteXmlSchemaElement((XmlSchemaElement)particle, myXmlSchema, myXmlTextWriter); } //if else if (particle is XmlSchemaSequence) { myXmlTextWriter.WriteStartElement("sequence", XmlSchema.Namespace); foreach (XmlSchemaParticle particle1 in ((XmlSchemaSequence)particle).Items) { WriteXmlSchemaParticle(particle1, myXmlSchema, myXmlTextWriter); } myXmlTextWriter.WriteEndElement(); } //else if else if (particle is XmlSchemaGroupRef) { XmlSchemaGroupRef xsgr = (XmlSchemaGroupRef)particle; XmlSchemaGroup group = (XmlSchemaGroup)myXmlSchema.Groups[xsgr.RefName]; WriteXmlSchemaGroup(group, myXmlSchema, myXmlTextWriter, xsgr.RefName.Name); } //else if else { Console.WriteLine("Not Implemented for this type: {0}", particle.ToString()); } //else } //WriteXmlSchemaParticle()
} //WriteExampleAttribute() // Write example particles public static void WriteExampleParticle(XmlSchemaParticle particle, XmlSchema myXmlSchema, XmlTextWriter myXmlTextWriter) { Decimal max; if (particle.MaxOccurs == -1 || particle.MaxOccurs > 10000) { max = 5; } //if else { max = particle.MaxOccurs; } //else for (int i = 0; i < max; i++) { if (particle is XmlSchemaElement) { WriteExampleElement((XmlSchemaElement)particle, myXmlSchema, myXmlTextWriter); } //if else if (particle is XmlSchemaSequence) { foreach (XmlSchemaParticle particle1 in ((XmlSchemaSequence)particle).Items) { WriteExampleParticle(particle1, myXmlSchema, myXmlTextWriter); } } //else if else if (particle is XmlSchemaGroupRef) { XmlSchemaGroupRef xsgr = (XmlSchemaGroupRef)particle; XmlSchemaGroup group = (XmlSchemaGroup)myXmlSchema.Groups[xsgr.RefName]; WriteExampleParticle(group.Particle, myXmlSchema, myXmlTextWriter); } //else if else { Console.WriteLine("Not Implemented for this type: {0}", particle.ToString()); } //else } //for } //WriteExampleParticle()
// Write example particles protected virtual void WriteExampleParticle(XmlSchemaParticle particle, XmlWriter writer) { Decimal max; if (particle.MaxOccurs == -1 || particle.MaxOccurs > 10000) { max = 2; } else { max = particle.MaxOccurs; } for (int i = 0; i < max; i++) { if (particle is XmlSchemaElement) { WriteExampleElement((XmlSchemaElement)particle, writer); } else if (particle is XmlSchemaSequence) { foreach (XmlSchemaParticle particle1 in ((XmlSchemaSequence)particle).Items) { WriteExampleParticle(particle1, writer); } } else if (particle is XmlSchemaChoice) { WriteExampleParticle ((XmlSchemaParticle)((XmlSchemaChoice)particle).Items[0], writer); } else { Console.WriteLine("Not Implemented for this type: {0}", particle.ToString()); } } }
} //WriteExampleAttribute() // Write example particles public static void WriteExampleParticle(XmlSchemaParticle particle, XmlSchema myXmlSchema, XmlTextWriter myXmlTextWriter) { Decimal max; if (particle.MaxOccurs == -1 || particle.MaxOccurs > 10000) { max = 5; } //if else { max = particle.MaxOccurs; } //else for (int i = 0; i < max; i ++) { if (particle is XmlSchemaElement) { WriteExampleElement((XmlSchemaElement)particle, myXmlSchema, myXmlTextWriter); } //if else if (particle is XmlSchemaSequence) { foreach (XmlSchemaParticle particle1 in ((XmlSchemaSequence)particle).Items) WriteExampleParticle(particle1, myXmlSchema, myXmlTextWriter); } //else if else if (particle is XmlSchemaGroupRef) { XmlSchemaGroupRef xsgr = (XmlSchemaGroupRef)particle; XmlSchemaGroup group = (XmlSchemaGroup)myXmlSchema.Groups[xsgr.RefName]; WriteExampleParticle(group.Particle, myXmlSchema, myXmlTextWriter); } //else if else { Console.WriteLine("Not Implemented for this type: {0}", particle.ToString()); } //else } //for } //WriteExampleParticle()
} //WriteXmlSchemaSimpleType() //XmlSchemaParticle public static void WriteXmlSchemaParticle(XmlSchemaParticle particle, XmlSchema myXmlSchema, XmlTextWriter myXmlTextWriter) { if (particle is XmlSchemaElement) { WriteXmlSchemaElement((XmlSchemaElement)particle, myXmlSchema, myXmlTextWriter); } //if else if (particle is XmlSchemaSequence) { myXmlTextWriter.WriteStartElement("sequence", XmlSchema.Namespace); foreach(XmlSchemaParticle particle1 in ((XmlSchemaSequence)particle).Items) WriteXmlSchemaParticle(particle1, myXmlSchema, myXmlTextWriter); myXmlTextWriter.WriteEndElement(); } //else if else if (particle is XmlSchemaGroupRef) { XmlSchemaGroupRef xsgr = (XmlSchemaGroupRef)particle; XmlSchemaGroup group = (XmlSchemaGroup)myXmlSchema.Groups[xsgr.RefName]; WriteXmlSchemaGroup(group, myXmlSchema, myXmlTextWriter, xsgr.RefName.Name); } //else if else { Console.WriteLine("Not Implemented for this type: {0}", particle.ToString()); } //else } //WriteXmlSchemaParticle()