XSD Tutorials - Herong's Tutorial Examples - Version 5.10, by Dr. Herong Yang
Redefining Old Datatypes - XML Examples
This section describes a tutorial example on how to use elements declared with datatypes redefined with 'redefine' components.
In the previous section, we wrote a new version of "address_us.xsd" called "address_us_redefine.xsd", which inherited the "addressUs" element declaration, but redefined its datatype "addressUsType". Now let's try to write a sample XML document, address_us_redefine.xml, that conforms to this new definition.
<?xml version="1.0"?> <addressUs> <!-- address_us_redefine.xml - Copyright (c) 2013, HerongYang.com, All Rights Reserved. --> <street>1 Main Street</street> <city>New York</city> <state>NY</state> <zip>12345</zip> <country>USA</country> </addressUs>
If you try to validate this new XML document, address_us_redefine.xml, with the new schema, address_us_redefine.xsd, it will pass:
>java XsdSchemaValidator address_us_redefine.xsd address_us_redefine.xml Passed.
But if you try to validate this new XML document, address_us_redefine.xml, with the old schema, address_us.xsd, it will fail:
>java XsdSchemaValidator address_us.xsd address_us_redefine.xml Error: Line number: 11 Column number: 11 Message: cvc-complex-type.2.4.d: Invalid content was found starting with element 'country'. No child element is expected at this point. Failed with errors: 1
Last update: 2013.
Table of Contents