XML Schema Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 4.11

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) 2007 by Dr. Herong Yang. 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

Table of Contents

 About This Book

 Introduction to XML Schema

 XML Editor and Schema Processor - XMLPad

 Java API for XML Processing - JAXP

 JAXP - XML Schema (XSD) Validation

 XML Parser API - Xerces2 Java Parser

 XML Schema Language - Basics

 XML Schema Built-in Datatypes

 Complex Element Declaration

 XML Schema Location and Namespace in XML Documents

 Overriding Element Types in XML Documents

Linking Multiple Schema Documents Together

 Schema Component Reuse - "include", "redefine" or "import"

 Including Old Schema Documents - "include" Component

 Including Old Schema Documents - Examples

 Including Old Schema Documents - Errors

 Redefining Old Datatypes - "redefine" Component

Redefining Old Datatypes - XML Examples

 Redefining Old Datatypes - Errors

 Importing Declarations Across Namespaces - "import" Component

 Importing Declarations Across Namespaces - Examples

 Using Elements Declared in Different Namespaces

 Using Elements Declared in Different Namespaces - Errors

 Glossary

 References

 PDF Printing Version

Dr. Herong Yang, updated in 2009
Redefining Old Datatypes - XML Examples