RELAX NG by Eric van der Vlist will be published by O'Reilly & Associates (ISBN: 0596004214)
You are welcome to use our annotation system to give your feedback.
Table of Contents
In the previous chapter, we saw the basics of the data pattern used with the highly restricted, built-in datatype library. The extreme simplicity of the built-in type library --limited to the two datatypes string and token-- should not be seen as a limitation of RELAX NG. Instead,it is a fundamental design decision: validating the structure and validating the content of XML documents are different problems that are better solved by different tools working in close cooperation.
The RELAX NG strategy is thus to rely on external pluggable libraries for the validation of the content of the text nodes and attributes. There is no limit to the potential variety of external type libraries which could be implemented and used by a RELAX NG schema. The designers of RELAX NG think that there is probably room for both generic type libraries and application-specific type libraries that would meet the needs of a specific domain such as mathematics, physics, or business.
It is also possible to implement type libraries specific to particular programming languages. For example, my Python implementation of RELAX NG supports a native Python type library which maps the built-in types and allows developers to define restrictions using the Python syntax.
That said, it is expected that most users will choose generic XML type libraries ranging from a library emulating DTD datatypes and the W3C XML Schema datatype library. (The ISO DSDL activity includes work on a datatype library, but it isn't published yet.) In this chapter we'll introduce the most commonly used and widely supported libraries, the W3C XML Schema and DTD compatibility type libraries.
You are welcome to use our annotation system to give your feedback.
[Annotations for this page]
All text is copyright Eric van der Vlist, Dyomedea. During development, I give permission for non-commercial copying for educational and review purposes. After publication, all text will be released under the Free Software Foundation GFDL.