<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-5.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-7.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 solution</b></font></td><td width="200" align="right"><font size="1" face="Verdana, Arial, sans-serif"><nobr>    page 6 of 10</nobr></font></td></tr></table><br><br></p><font size="2" face="Verdana, Arial, sans-serif"><pre><font size="2" face="Courier New">
//Exercise 2 builds from Exercise 1
Lab1 lab1 = new Lab1();
XSDSchema schema = lab1.createSchema(xsdFile); //Schema from lab1

//Create global simple type with name="USState"
XSDSimpleTypeDefinition simpleType = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
simpleType.setName("USState");

//Set the base type to be a string
XSDSimpleTypeDefinition stringType = schema.getSchemaForSchema().
        resolveSimpleTypeDefinition(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,"string");
simpleType.setBaseTypeDefinition(stringType);

//AK Enumeration
XSDEnumerationFacet akEnum = XSDFactory.eINSTANCE.createXSDEnumerationFacet();
akEnum.setLexicalValue("AK");
simpleType.getFacetContents().add(akEnum);

//AL Enumeration
XSDEnumerationFacet alEnum = XSDFactory.eINSTANCE.createXSDEnumerationFacet();
alEnum.setLexicalValue("AL");
simpleType.getFacetContents().add(alEnum);

//AR Enumeration
XSDEnumerationFacet arEnum = XSDFactory.eINSTANCE.createXSDEnumerationFacet();
arEnum.setLexicalValue("AR");
simpleType.getFacetContents().add(arEnum);

//Add the simple type to the root schema
schema.getContents().add(simpleType);

//Save the contents of the resource to the file system.
schema.eResource().save(Collections.EMPTY_MAP);                                 
                                        </font></pre><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-5.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-7.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>