Home arrow XML arrow Page 4 - An Introduction to XML Schemas

An Introduction to XML Schemas

XML Schemas help you control what elements appear in your XML documents. Similar to Document Type Definitions, they offer distinct advantages over the older syntax. Dan Wellman provides a basic overview, with examples to get you started working on your own.

Author Info:
By: Dan Wellman
Rating: 5 stars5 stars5 stars5 stars5 stars / 13
November 03, 2004
  1. · An Introduction to XML Schemas
  2. · Choose Your Schema
  3. · Element Declarations
  4. · Definitions and Elements
  5. · The Complete File
  6. · Validating a Document
  7. · A Few Final Tips

print this article

An Introduction to XML Schemas - Definitions and Elements
(Page 4 of 7 )

If you are creating a schema document for an XML document with many elements and child elements, you need to remember to define any simple elements directly after the complex definition that declares them. For example, if the <story> element contained child elements called <body> and <footer>, we would still define the simple element <headline> directly after the <article> complex definition. The simple definitions for <body> and <footer> would then come directly after the complex definition for the <story> element, which would follow the simple definition for <headline>. 

In this example however, the <story> element does not have children.  Now, to define the datatype of the elements we’ve declared, you just add a type declaration to the simple element definitions, in this case using the built-in datatype ‘string’:

<xsd:element name="headline" type="xsd:string" />
<xsd:element name="story" type="xsd:string" />

Wandering slightly from the task at hand here, you can constrain an element to having only certain values. If for example the news.xml document had an <author> element, with possible values of only particular names, you would use a restriction base and enumeration's to define the possible values:

<xsd:simpleType name="author">
  <xsd:restriction base="xsd:string">
    <xsd:enumeration value="Fred"/>
    <xsd:enumeration value="Barney"/>
    <xsd:enumeration value="Wilma"/>
    <xsd:enumeration value="Betty"/>

blog comments powered by Disqus

- Open XML Finally Supported by MS Office
- XML Features Added to Two Systems
- Using Regions with XSL Formatting Objects
- Using XSL Formatting Objects
- More Schematron Features
- Schematron Patterns and Validation
- Using Schematron
- Datatypes and More in RELAX NG
- Providing Options in RELAX NG
- An Introduction to RELAX NG
- Path, Predicates, and XQuery
- Using Predicates with XQuery
- Navigating Input Documents Using Paths
- XML Basics
- Introduction to XPath

Watch our Tech Videos 
Dev Articles Forums 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us 
Weekly Newsletter
Developer Updates  
Free Website Content 
Contact Us 
Site Map 
Privacy Policy 

Developer Shed Affiliates


© 2003-2019 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap
Popular Web Development Topics
All Web Development Tutorials