Beispiel #1
0
        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);
        }
Beispiel #2
0
 public void WriteZeroOrMore(RelaxngZeroOrMore p)
 {
     WritePatterns(p.Patterns, true);
     w.Write('*');
 }