blob: 5035cdf4ee146da8a42cf5dd189a0a6167ef2829 [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>Using XML Schema Infoset Model classes</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 set up the development environment, create and load XML Schema models, work with namespaces, and reuse definitions across XML Schema models. This tutorial is the first of a two-part series that introduces you to XML Schema concepts and the XML Schema Infoset model.";
var justTitle="XML Schema Infoset Model, Part 1";
var tutorialPrereqs="http://www.ibm.com/developerworks/edu/os-dw-os-schema1-i.html";
var menu1blurb="Before you start";
var menu2blurb="XML Schema fundamentals";
var menu3blurb="Setting up the development environment";
var menu4blurb="Using XML Schema Infoset Model classes";
var menu5blurb="Working with XML Schema resources in Eclipse";
var menu6blurb="Working with namespaces";
var menu7blurb="You try it!";
var menu8blurb="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 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";
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 1"></td><td width="*" valign="bottom" align="right"><a border="0" href="os-schema1.zip"><img alt="ZIP" border="0" src="../default/i/icon-zip.gif"></a><a border="0" href="os-schema1-ltr.pdf"><img alt="PDF (letter)" border="0" src="../default/i/icon-pdf-ltr.gif"></a><a border="0" href="os-schema1-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="index4.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-schema1-8-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-schema1-4-1.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-schema1-4-3.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/titlebar4.jpg" alt="4. Using XML Schema Infoset Model classes"></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>Understanding the XML Schema Infoset model diagrams</b></font></td><td width="200" align="right"><font size="1" face="Verdana, Arial, sans-serif"><nobr> page 2 of 9</nobr></font></td></tr></table><br><br></p><font size="2" face="Verdana, Arial, sans-serif"><p>
The next several panels show a set of UML
diagrams that represent the XML Schema Infoset model,
using the following notation:
<ul><li>Each relationship or attribute Xyz, which we
will refer to as a feature Xyz in a diagram,
corresponds to a <font size="2" face="Courier New">getXyz()</font> method in Java for
accessing that feature.</li><li>If the feature is many-valued (in other words, (0..*)), the
<font size="2" face="Courier New">getXyz() method</font> returns a
<a href="http://java.sun.com/j2se/1.4.1/docs/api/java/util/List.html">
java.util.List</a> interface, which can be modified directly using
standard java.util.List API.</li><li>Otherwise, if the feature is single-valued, then a
corresponding <font size="2" face="Courier New">setXyz()</font> method is available for
modification.</li></ul>
</p><p>
A relationship with a black diamond corresponds to a
<i>containment relationship</i>. These form the basis for the
concrete tree structure of the XML Schema Infoset model.
</p><p>
A relationship with a white diamond corresponds to a
<i>shared pseudo-containment relationship</i>. It is used only for
documentation purposes since it is not logically
different from a relationship with no diamond. In general,
the white diamond relationships represent relationships
defined directly in the
<a href="http://www.w3.org/TR/xmlschema-0/">XML Schema specification</a>.
They are typically computed from other relations
<b>and hence should not be modified directly</b>.
The exception to this rule are relations involving
types. These consist of base-type, member-type,
item-type, and element- or attribute-type.
</p><p><b>Note:</b> The diagrams on the next several panels can also be
found in the org.eclipse.xsd/src/model/XSD.mdl model
file.
</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="index4.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-schema1-8-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-schema1-4-1.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-schema1-4-3.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>