Schema Validation Issues
[email protected] ("Mezzophanti") Mon, 6 Sep 2004 18:30:15 +0800
| Newsgroups | php.xml.dev |
|---|---|
| Message-ID | <[email protected]> |
Hey all. On seeing the new DOM XML/XSLT/XPath et al integration with PHP5 I
thought - finally!
However, that didn't last too long :)
I'm almost certain this isn't an issue with the new systems ... more likely
an issue with my old brain ... but thought I'd head to the source for any
advice/pointers/flamings as required.
Anyway .. enough rambling ... the issue:
I have an xml schema and an xml sample file that should validate against the
schema.
I get the error 'Invalid Schema' and I was pretty sure the schema was right
...
To double-check I used an old example schema (from on of the Visual
Quickstart Guides I picked up 5 years ago) thinking this should work - it
did before :)
I Ran the schema across it's own sample xml file and got same error.
I then ran the schema against the wc3 schema validation service and it
'seems' to validate?
Pasted below is the schema file and the xml file being validated. What have
I missed here? Anyone?
----- SCHEMA FILE -----
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">
<xsd:element name="endangered_species" type="endspeciesType"/>
<xsd:complexType name="endspeciesType">
<xsd:sequence>
<xsd:element name="animal" type="animalType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="animalType">
<xsd:sequence>
<xsd:element ref="name" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="threats" type="threatsType"/>
<xsd:element name="weight" type="xsd:string" minOccurs="0"/>
<xsd:element name="length" type="xsd:string" minOccurs="0"/>
<xsd:element ref="source"/>
<xsd:element name="picture" type="pictureType"/>
<xsd:element name="subspecies" type="subspeciesType" minOccurs="1"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!--Here are the global declarations of the name and source elements. Notice
that they are considerably simplified for this example. -->
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="source" type="xsd:string"/>
<xsd:complexType name="threatsType">
<xsd:sequence>
<xsd:element name="threat" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="pictureType">
<xsd:complexContent>
<xsd:restriction base="xsd:anyType">
<xsd:attribute name="filename" type="xsd:uriReference" use="required"/>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="subspeciesType">
<xsd:sequence>
<xsd:element ref="name" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="region" type="xsd:string"/>
<xsd:element name="population">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:nonNegativeInteger">
<xsd:attribute name="year" type="xsd:year"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
---- END ---
--- XML file ---
<?xml version="1.0"?>
<endangered_species xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.cookwood.com/xml/examples/namespac
es/global_endspecies.xsd">
<animal>
<name>Tiger</name>
<name>panthera tigris</name>
<threats><threat>poachers</threat>
<threat>habitat destruction</threat>
<threat>trade in tiger bones for traditional Chinese medicine
(TCM)</threat>
</threats>
<weight>500 pounds</weight>
<length>3 yards from nose to tail</length>
<source>World Wildlife Fund</source>
<picture filename="tiger.jpg" x="200" y="197"/>
<subspecies>
<name>Amur or Siberian</name>
<name>P.t. altaica</name>
<region>Far East Russia</region>
<population year="1999">445</population>
</subspecies>
<subspecies>
<name>Balian</name>
<name>P.t. balica</name>
<region>Bali</region>
<population year="1937">0</population>
</subspecies>
<subspecies>
<name>Javan</name>
<name>P.t. sondaica</name>
<region>Java</region>
<population year="1972">0</population>
</subspecies>
<subspecies>
<name>Caspian</name>
<name>P.t. virgata</name>
<region>Caspian Sea</region>
<population year="1950">0</population>
</subspecies>
<subspecies>
<name>Bengal</name>
<name>P.t. tigris</name>
<region>India</region>
<population year="1999">3159</population>
</subspecies>
<subspecies>
<name>Sumatran</name>
<name>P.t. sumatrae</name>
<region>India, Bangladesh</region>
<population year="1999">400</population>
</subspecies>
<subspecies>
<name>Amoy</name>
<name>P.t. amoyensis</name>
<region>South China</region>
<population year="1999">20</population>
</subspecies>
<subspecies>
<name>Indo-chinese</name>
<name>P.t. corbetti</name>
<region>Indo-China</region>
<population year="1998">1227</population>
</subspecies>
</animal>
<animal>
<name>Black Rhino</name>
<name>diceros bicornis</name>
<threats><threat>poaching to satisfy demand for rhino horn in traditional
Asian medicines and as decorative dagger handles in Middle East</threat>
<threat>habitat destruction</threat>
</threats>
<source>World Wildlife Fund</source>
<picture filename="rhino.jpg" x="200" y="158"/>
<subspecies>
<name>Southern Black Rhino</name>
<name>D.b. minor</name>
<region>Zimbabwe and South Africa</region>
<population year="1999">1365</population>
</subspecies>
<subspecies>
<name>Southwestern Black Rhino</name>
<name>D.b. bicornis</name>
<region>Namibia</region>
<population year="1999">740</population>
</subspecies>
<subspecies>
<name>Eastern Black Rhino</name>
<name>D.b. michaeli</name>
<region>Kenya (Ethiopia and Rwanda)</region>
<population year="1999">485</population>
</subspecies>
<subspecies>
<name>Northwestern Black Rhino</name>
<name>D.b. longipes</name>
<region>Cameroon</region>
<population year="1999">10</population>
</subspecies>
</animal>
</endangered_species>
---- END ---