Altova Mailing List Archives>Archive Index >xml-dev Archive Home >Recent entries >Thread Prev - enforce at least one element and at most N from a set of N elements- XSD how? >Thread Next - increment pattern for an attribute.. RE: [xml-dev] enforce at least one element and at most N from a set of N elements- XSD how?To: "'Pete Cordell'" <petexmldev@--------------.--->,"'dave'" <ceek63@-----.--->,<xml-dev@-----.---.---> Date: 11/5/2007 10:57:00 AM > But that's not particularly pretty and doesn't scale very > well. In that case it's often best to define a looser > schema, and then impose the constraint at the application > level. An example schema for that might be: > > <xs:complexType name='..'> > <xs:sequence> > <xs:element name='element1' minOccurs='0'../> > <xs:element name='element2' minOccurs='0'.../> > <xs:element name='element3' minOccurs='0'../> > <xs:element name='element4' minOccurs='0'../> > </xs:sequence> > <xs:complexType> Or with XML Schema 1.1 you can use assertions (available in Saxon 9.0, just released). For example the above type definition could become: <xs:complexType name='..'> <xs:sequence> <xs:element name='element1' minOccurs='0'../> <xs:element name='element2' minOccurs='0'.../> <xs:element name='element3' minOccurs='0'../> <xs:element name='element4' minOccurs='0'../> </xs:sequence> <xs:assert test="count(*) = 1 to 4"/> <xs:complexType> Michael Kay http://www.saxonica.com/ | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
