In the June issue of XML-Journal I mentioned that we need a set of best
practices that rein in the complexities of XML Schema. The set offered at
www.xfront.com is a great start, but they cater to the XML Schema extremists,
and I'd like to modify them, offering some alternative best practices for
"the rest of us."
You'll have to refer to www.xfront.org/BestPracticesHomepage.html to get a
full description of the issues discussed below. Following are some ground
rules I used to build my "modified" best practices list: The Over 10 Page
Rule (acronym: O10P Rule): Any "Best Practice" that takes more than 10 pages
to describe shouldn't be a best practice. The Safe and Sane Use of Namespaces
Rule (acronym: SASUONS Rule): This rule is applied as needed to maintain the
sanity of the schema developer with respect to the use of namespaces.
Best Practice #1
Issue: When should a... (more)
Whether it's the Russian dolls, Salami Slices, or Chameleon Schemas discussed
at www.xfront.com, the dizzying array of elements and attributes (and their
complex interactions) found in the XML Schema specification, or the multitude
of UML stereotypes at www.xmlmodeling.com, W3C XML Schema will disappear into
oblivion without a non-XML syntax and a set of easy-to-use and -understand
best practices and modeling techniques.
There's been a lot of interest in XML Schema, and well there should be. A lot
of very smart people put the XML Schema spec together, and I'm sure it took
an ama... (more)
Schema languages are languages that allow you to specify the structure of XML
instance documents. RELAX NG (see www.relaxng.org) is an XML schema language
that is considered to be simple, yet powerful. This article gives an overview
of an important concept of the RELAX NG schema language called patterns. The
power of RELAX NG can be found in its patterns.
Schema languages also describe the allowed names of elements and attributes
that are found in XML instance documents. And they allow you to specify
element ordering, occurrence, and allowed content, like simple text, or
datatyp... (more)