Datasheet
There are a number of XML schema languages. The dominant one is W3C XML Schema language, a lan-
guage that is undeniably very complex. The support of W3C XML Schema by the libxml2 library on which
PHP5 relies for its XML parsing is so limited that BuzzWatch prefers to use RELAX NG, a XML schema
language outsider that is both simpler and more powerful than W3C XML Schema. RELAX NG is an ISO
standard and you can find more information on RELAX NG at
http://relaxng.org.
The RELAX NG schema that is used to validate the document is:
wwaattcchh..rrnngg –– vv11..00
<?xml version=”1.0” encoding=”UTF-8”?>
<grammar xmlns=”http://relaxng.org/ns/structure/1.0”
datatypeLibrary=”http://www.w3.org/2001/XMLSchema-datatypes”>
<start>
<ref name=”watch”/>
</start>
<define name=”watch”>
<element name=”watch”>
<interleave>
<ref name=”symbol”/>
<ref name=”tag”/>
<ref name=”description”/>
<ref name=”title”/>
</interleave>
</element>
</define>
<define name=”symbol”>
<element name=”symbol”>
<data type=”NCName”>
<param name=”maxLength”>5</param>
</data>
</element>
</define>
<define name=”tag”>
<element name=”tag”>
<data type=”NCName”>
<param name=”maxLength”>16</param>
</data>
</element>
</define>
<define name=”title”>
<element name=”title”>
<data type=”token”>
<param name=”maxLength”>128</param>
</data>
</element>
</define>
<define name=”description”>
<element name=”description”>
<data type=”token”/>
</element>
</define>
</grammar>
23
Hello Web 2.0 World
04_087889 ch01.qxp 5/2/07 12:56 PM Page 23