Best Content Model Re: XML Schemas: Best Practices
Can I make a comment that the best practises documents must fight hard to stop the tendency to use as the null hypothesis data element <element name="Title" type="string"/> rather than <element name="Title" type="anyType"/> or even the equivalent <element name="Title" /> which (I think) is or will probably be available. The reason is that it is an internationalization requirement for text in Chinese and Japanese to support Ruby annotations and for text in Arabic, Hebrew and perhaps Chinese to support BIDI (bidirectionality) elements. So, for general text, only make an element simpleType string if there is a hard requirement that it does not contain free text, that it is not going to be used for the languages above, that it will not be annotated or have other elements inserted. Instead of using a type derived from String, use a type derived from anyType with mixed content and wildcard it to allow subelements from other namespaces only. Allow xml:lang. That should be the typical way to declare anything that is likely to be free text. Otherwise, as soon as someone wants to annotate or use has international requirements, they have to break the typing somehow. So, in general, String should be used for constraining formal data only. The best practise for general text is a slightly open (i.e., data allowed and other namespace elements) content model. Cheers Rick Jelliffe
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format