RelaxngPattern CreatePatternFromParticle(XmlSchemaParticle xsdp) { RelaxngSingleContentPattern rngp = null; if (xsdp.MinOccurs == 0 && xsdp.MaxOccursString == "unbounded") { rngp = new RelaxngZeroOrMore(); } else if (xsdp.MinOccurs == 1 && xsdp.MaxOccursString == "unbounded") { rngp = new RelaxngOneOrMore(); } else if (xsdp.MinOccurs == 0) { rngp = new RelaxngOptional(); } RelaxngPattern child = CreatePatternFromParticleCore(xsdp); if (rngp == null) { return(child); } rngp.Patterns.Add(child); return(rngp); }
public void WriteZeroOrMore(RelaxngZeroOrMore p) { WritePatterns(p.Patterns, true); w.Write('*'); }