blob: 85865cb655a8373591ace0b508b3bbb46ba11651 [file] [log] [blame]
<html>
<!-- This panel generated from the developerWorks XML tag set for tutorials, Version 3.0.2. (C) Copyright 2000, 2002 IBM Corporation. All rights reserved. -->
<head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Simple types</title></head><body vlink="663366" alink="330000" text="000000" bgcolor="ffffff"><script language="javascript">
<!--
var emailAbstract="This tutorial gives you the building blocks you need to set up and work with the XML Schema Infoset Model. It shows how to create all of the different constructs within the XML Schema Infoset model. This tutorial is the second of a two-part series.";
var justTitle="XML Schema Infoset Model, Part 2";
var tutorialPrereqs="http://www.ibm.com/developerworks/edu/os-dw-os-schema2-i.html";
var menu1blurb="Before you start";
var menu2blurb="Overview of XML Schema documents";
var menu3blurb="Simple types";
var menu4blurb="Complex types";
var menu5blurb="Content models";
var menu6blurb="Elements and attributes";
var menu7blurb="Pulling it all together";
var menu8blurb="You try it!";
var menu9blurb="Summary and resources";
var browser = "x";
if (navigator.userAgent.indexOf("Mozilla/4") != -1) browser = "N3";
else if (navigator.userAgent.indexOf("Mozilla/3") != -1) browser = "N3";
else browser = "x";
if (browser=="N3")
{
var menu1over=new Image(108,68);
var menu1out=new Image(108,68);
var menu2over=new Image(108,68);
var menu2out=new Image(108,68);
var menu3over=new Image(108,68);
var menu3out=new Image(108,68);
var menu4over=new Image(108,68);
var menu4out=new Image(108,68);
var menu5over=new Image(108,68);
var menu5out=new Image(108,68);
var menu6over=new Image(108,68);
var menu6out=new Image(108,68);
var menu7over=new Image(108,68);
var menu7out=new Image(108,68);
var menu8over=new Image(108,68);
var menu8out=new Image(108,68);
var menu9over=new Image(108,68);
var menu9out=new Image(108,68);
var topmainover=new Image(77,15);
var topmainout=new Image(77,15);
var bottommainover=new Image(77,15);
var bottommainout=new Image(77,15);
var topsectionover=new Image(98,15);
var topsectionout=new Image(98,15);
var bottomsectionover=new Image(98,15);
var bottomsectionout=new Image(98,15);
var topfeedbackover=new Image(80,15);
var topfeedbackout=new Image(80,15);
var bottomfeedbackover=new Image(80,15);
var bottomfeedbackout=new Image(80,15);
var toppreviousover=new Image(77,15);
var toppreviousout=new Image(77,15);
var bottompreviousover=new Image(77,15);
var bottompreviousout=new Image(77,15);
var topnextover=new Image(60,15);
var topnextout=new Image(60,15);
var bottomnextover=new Image(60,15);
var bottomnextout=new Image(60,15);
var topnextsectionover=new Image(108,15);
var topnextsectionout=new Image(108,15);
var bottomnextsectionover=new Image(108,15);
var bottomnextsectionout=new Image(108,15);
menu1over.src="imagemaster/himenu1.jpg";
menu1out.src="imagemaster/menu1.jpg";
menu2over.src="imagemaster/himenu2.jpg";
menu2out.src="imagemaster/menu2.jpg";
menu3over.src="imagemaster/himenu3.jpg";
menu3out.src="imagemaster/menu3.jpg";
menu4over.src="imagemaster/himenu4.jpg";
menu4out.src="imagemaster/menu4.jpg";
menu5over.src="imagemaster/himenu5.jpg";
menu5out.src="imagemaster/menu5.jpg";
menu6over.src="imagemaster/himenu6.jpg";
menu6out.src="imagemaster/menu6.jpg";
menu7over.src="imagemaster/himenu7.jpg";
menu7out.src="imagemaster/menu7.jpg";
menu8over.src="imagemaster/himenu8.jpg";
menu8out.src="imagemaster/menu8.jpg";
menu9over.src="imagemaster/himenu9.jpg";
menu9out.src="imagemaster/menu9.jpg";
var mainblurb="Main menu";
var sectionblurb="Section menu";
var feedbackblurb="Give feedback on this tutorial";
var previousblurb="Go to previous panel";
var nextblurb="Go to next panel";
var nextsectionblurb="Go to next section";
topmainover.src="../default/i/h-main.gif";
topmainout.src="../default/i/main.gif";
bottommainover.src="../default/i/h-main.gif";
bottommainout.src="../default/i/main.gif";
topsectionover.src="../default/i/h-section.gif";
topsectionout.src="../default/i/section.gif";
bottomsectionover.src="../default/i/h-section.gif";
bottomsectionout.src="../default/i/section.gif";
topfeedbackover.src="../default/i/h-feedback.gif";
topfeedbackout.src="../default/i/feedback.gif";
bottomfeedbackover.src="../default/i/h-feedback.gif";
bottomfeedbackout.src="../default/i/feedback.gif";
toppreviousover.src="../default/i/h-previous.gif";
toppreviousout.src="../default/i/previous.gif";
bottompreviousover.src="../default/i/h-previous.gif";
bottompreviousout.src="../default/i/previous.gif";
topnextover.src="../default/i/h-next.gif";
topnextout.src="../default/i/next.gif";
bottomnextover.src="../default/i/h-next.gif";
bottomnextout.src="../default/i/next.gif";
topnextsectionout.src="../default/i/nextsection.gif";
topnextsectionover.src="../default/i/h-nextsection.gif";
bottomnextsectionout.src="../default/i/nextsection.gif";
bottomnextsectionover.src="../default/i/h-nextsection.gif";
}
function iOut(image)
{
if (browser=="N3")document[image].src=eval(image + "out.src");
}
function iOver(image)
{
if (browser=="N3")document[image].src=eval(image + "over.src");
}
// -->
</script><script src="../default/i/emailfriend.js" language="javascript"></script><a href="#navskip"><img border="0" alt="Skip to main content" src="../default/i/c.gif"></a><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#006699">
<td width="300">
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#006699">
<td width="150"><img src="../default/i/mast_logo.gif" alt="IBM" width="160" height="47"></td>
<td width="150" background="../default/i/mgradient.gif"><font size="-2" color="#99ccff" face="Verdana, sans-serif"><b>&nbsp;</b></font><br><img src="../default/i/c.gif" width="150" height="1" alt=""></td>
</tr>
</table>
</td>
<td align="left" width="300">
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100"><a href="http://www.ibm.com/shop1/"><img border="0" src="../default/i/shopibm.gif" width="100" height="25" alt="Shop"></a></td>
<td width="100"><a href="http://www.ibm.com/support/"><img border="0" src="../default/i/support.gif" width="100" height="25" alt="Support"></a></td>
<td width="100"><a href="http://www.ibm.com/download/"><img border="0" src="../default/i/downloads.gif" width="100" height="25" alt="Downloads"></a></td>
</tr>
</table>
</td>
</tr>
</table><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#000000">
<td>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#006699" width="150"><img src="../default/i/mast_lnav_sp.gif" width="150" height="21" alt=""></td>
<td colspan="4" bgcolor="#000000">
<table border="0" cellspacing="0" cellpadding="0" height="21">
<tr>
<td height="21" bgcolor="#000000" width="79" align="center"><a class="nav" style="color: #ffffff;" href="http://www.ibm.com/home/"><font size="-2" color="#ffffff" face="Verdana, sans-serif"><b>IBM Home</b></font></a></td>
<td bgcolor="#959595" width="1"><img src="../default/i/c.gif" width="1" height="1" alt=""></td>
<td height="21" bgcolor="#000000" width="74" align="center"><a class="nav" style="color: #ffffff;" href="http://www.ibm.com/products/"><font size="-2" color="#ffffff" face="Verdana, sans-serif"><b>Products</b></font></a></td>
<td bgcolor="#959595" width="1"><img src="../default/i/c.gif" width="1" height="1" alt=""></td>
<td height="21" bgcolor="#000000" width="81" align="center"><a class="nav" style="color: #ffffff;" href="http://www.ibm.com/services/"><font size="-2" color="#ffffff" face="Verdana, sans-serif"><b>Consulting</b></font></a></td>
<td bgcolor="#959595" width="1"><img src="../default/i/c.gif" width="1" height="1" alt=""></td>
<td height="21" bgcolor="#000000" width="81" align="center"><a class="nav" style="color: #ffffff;" href="http://www.ibm.com/solutions/"><font size="-2" color="#ffffff" face="Verdana, sans-serif"><b>Industries</b></font></a></td>
<td bgcolor="#959595" width="1"><img src="../default/i/c.gif" width="1" height="1" alt=""></td>
<td height="21" bgcolor="#000000" width="57" align="center"><a class="nav" style="color: #ffffff;" href="http://www.ibm.com/news/"><font size="-2" color="#ffffff" face="Verdana, sans-serif"><b>News</b></font></a></td>
<td bgcolor="#959595" width="1"><img src="../default/i/c.gif" width="1" height="1" alt=""></td>
<td height="21" bgcolor="#000000" width="78" align="center"><a class="nav" style="color: #ffffff;" href="http://www.ibm.com/ibm/"><font size="-2" color="#ffffff" face="Verdana, sans-serif"><b>About IBM</b></font></a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td bgcolor="#ffffff" height="1" width="150"><img src="../default/i/c.gif" width="150" height="1" alt=""></td>
</tr>
<tr>
<td bgcolor="#cc6633" height="3" width="150"><img src="../default/i/c.gif" width="150" height="3" alt=""></td>
</tr>
<tr>
<td bgcolor="#333333" height="1" width="150"><img src="../default/i/c.gif" width="150" height="1" alt=""></td>
</tr>
<tr>
<td bgcolor="#000000" height="1" width="150"><img src="../default/i/c.gif" width="150" height="1" alt=""></td>
</tr>
</table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><font color="#006699" face="Verdana, sans-serif" size="-1"><a href="http://www.ibm.com/developer/">IBM developerWorks</a> : <a href="http://www.ibm.com/developer/xml/">XML</a> : <a href="http://www-106.ibm.com/developerworks/views/xml/tutorials.jsp">Education - Tutorials</a></font><br><img src="imagemaster/masthead.jpg" alt="XML Schema Infoset Model, Part 2"></td><td width="*" valign="bottom" align="right"><a border="0" href="os-schema2.zip"><img alt="ZIP" border="0" src="../default/i/icon-zip.gif"></a><a border="0" href="os-schema2-ltr.pdf"><img alt="PDF (letter)" border="0" src="../default/i/icon-pdf-ltr.gif"></a><a border="0" href="os-schema2-a4.pdf"><img alt="PDF (A4)" border="0" src="../default/i/icon-pdf-a4.gif"></a><a href="javascript:newWindow()" border="0"><img alt="e-mail" border="0" src="../default/i/icon-email.gif"></a></td></tr><tr><td height="2" colspan="2"><img height="2" width="1" src="../default/i/c.gif"></td></tr></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td width="150" height="1" bgcolor="#000000" colspan="6"><img alt="" height="1" width="150" src="../default/i/c.gif"></td></tr><tr><td background="../default/i/sw-gold.gif"><a border="0" href="index.html" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="Main menu" border="0" src="../default/i/main.gif" name="topmain"></a></td><td background="../default/i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index3.html"><img alt="Section menu" border="0" src="../default/i/section.gif" name="topsection"></a></td><td background="../default/i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="os-schema2-9-3.html"><img alt="Feedback" border="0" src="../default/i/feedback.gif" name="topfeedback"></a></td><td width="100%" background="../default/i/sw-gold.gif"><img src="../default/i/c.gif"></td><td background="../default/i/sw-gold.gif"><a border="0" onMouseOver="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;" onMouseOut="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;" href="os-schema2-3-4.html"><img alt="Previous" border="0" src="../default/i/previous.gif" name="topprevious"></a></td><td background="../default/i/sw-gold.gif"><a border="0" onMouseOver="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;" onMouseOut="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;" href="os-schema2-3-6.html"><img alt="Next" border="0" src="../default/i/next.gif" name="topnext"></a></td></tr></table><table bgcolor="ffffff" cellspacing="0" cellpadding="2" border="0" height="400" width="100%"><tr valign="bottom"><td height="25" colspan="4"><img border="0" height="25" width="562" src="imagemaster/titlebar3.jpg" alt="3. Simple types"></td></tr><tr><td bgcolor="ffffff" width="15">&nbsp;</td><td bgcolor="ffffff" width="12">&nbsp;</td><td valign="top" align="left" bgcolor="ffffff" width="*"><p><br><table cellspacing="0" cellpadding="0" border="0"><tr><td width="90%"><font size="4" face="Verdana, Arial, sans-serif"><b>Exercise 2: Create an atomic simple type with enumeration facets</b></font></td><td width="200" align="right"><font size="1" face="Verdana, Arial, sans-serif"><nobr> page 5 of 10</nobr></font></td></tr></table><br><br></p><font size="2" face="Verdana, Arial, sans-serif"><p>Using the XML Schema Model APIs and adding on to the schema document created
in <a href="os-schema2-2-2.html">Exercise 1: Create a root schema document</a>, create a user-defined simple type called "USState"
that has a primitive base type "string" and
three enumeration facets called "AK","AL", and "AR".<br>
</p><pre><font size="2" face="Courier New">
&lt;?xml version="1.0"?&gt;
&lt;schema
targetNamespace="http://www.eclipse.org/xsd/examples/po"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:po="http://www.eclipse.org/xsd/examples/po"&gt;
&lt;simpleType name="USState"&gt;
&lt;restriction base="string"&gt;
&lt;enumeration value="AK"/&gt;
&lt;enumeration value="AL"/&gt;
&lt;enumeration value="AR"/&gt;
&lt;/restriction&gt;
&lt;/simpleType&gt;
&lt;/schema&gt;
</font></pre><p>
<b>New constructs created in this exercise:</b>
<ul><li>&lt;simpleType&gt; - Global simple type with
name="USState"</li><li>&lt;enumeration&gt; - Enumeration facets ("AK","AL", and "AR")</li></ul>
<b>Solution:</b>
<a href="os-schema2-3-6.html">Exercise 2 solution</a>
</p><br></font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td background="../default/i/sw-gold.gif"><a border="0" href="index.html" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="Main menu" border="0" src="../default/i/main.gif" name="bottommain"></a></td><td background="../default/i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index3.html"><img alt="Section menu" border="0" src="../default/i/section.gif" name="bottomsection"></a></td><td background="../default/i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="os-schema2-9-3.html"><img alt="Feedback" border="0" src="../default/i/feedback.gif" name="bottomfeedback"></a></td><td width="100%" background="../default/i/sw-gold.gif"><img src="../default/i/c.gif"></td><td background="../default/i/sw-gold.gif"><a border="0" onMouseOver="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;" onMouseOut="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;" href="os-schema2-3-4.html"><img alt="Previous" border="0" src="../default/i/previous.gif" name="bottomprevious"></a></td><td background="../default/i/sw-gold.gif"><a border="0" onMouseOver="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;" onMouseOut="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;" href="os-schema2-3-6.html"><img alt="Next" border="0" src="../default/i/next.gif" name="bottomnext"></a></td></tr><tr><td width="150" height="1" bgcolor="#000000" colspan="6"><img alt="" height="1" width="150" src="../default/i/c.gif"></td></tr></table><style>
.bbg { background-color : #000000; vertical-align: middle }
a.mainlink:link { text-decoration: none; color: #ffffff; font-family: Verdana, Arial, sans-serif; font-size: 10px; font-weight: bold; }
a.mainlink:visited { text-decoration: none; color: #ffffff; font-family: Verdana, Arial, sans-serif; font-size: 10px; font-weight: bold; }
a.mainlink:hover { text-decoration: underline; color: #ffffff; font-family: Verdana, Arial, sans-serif; font-size: 10px; font-weight: bold; }
.divider { color: #999999; font-family: Verdana, Arial, sans-serif; font-size: 10px; font-weight: normal; }
</style><table width="760" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><img src="../default/i/c.gif" width="1" height="1" alt=""></td>
</tr>
<tr valign="top">
<td height="21" class="bbg"><img src="../default/i/c.gif" width="1" height="1" alt=""> <a href="http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/ibm/?origin=dwfooter" class="mainlink">About IBM</a><span class="divider"> | </span><a href="http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/privacy/?origin=dwfooter" class="mainlink">Privacy</a><span class="divider"> | </span><a href="http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/legal/?origin=dwfooter" class="mainlink">Legal</a><span class="divider"> | </span><a href="http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/contact/?origin=dwfooter" class="mainlink">Contact</a></td>
</tr>
</table><script type="text/javascript" language="JavaScript1.2" src="//www.ibm.com/common/stats/stats.js"></script><noscript><img src="//i.ihost.com/i/c.gif" width="1" height="1" alt="" border="0"></noscript></body></html>