You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2006/03/27 18:15:55 UTC

svn commit: r389186 - in /webservices/axis/site/cpp: ./ arch/ images/c/

Author: dicka
Date: Mon Mar 27 08:15:52 2006
New Revision: 389186

URL: http://svn.apache.org/viewcvs?rev=389186&view=rev
Log:
Updates to Axis C++ Website documentation.

Including:
- addition of Trace guide
- addition of XSD Objects developers guide (previously only available within package, not on web site)
- updates to Contributors list

Added:
    webservices/axis/site/cpp/TraceGuide.html
    webservices/axis/site/cpp/TraceGuide.pdf
    webservices/axis/site/cpp/arch/XSD_Objects.pdf
    webservices/axis/site/cpp/images/c/XSDObjects_Heirarchy.gif   (with props)
    webservices/axis/site/cpp/images/c/XSD_Decimal_DerivedTypes.JPG   (with props)
    webservices/axis/site/cpp/images/c/XSD_Objects_Heirarchy.JPG   (with props)
    webservices/axis/site/cpp/images/c/XSD_PrimitiveTypes.JPG   (with props)
    webservices/axis/site/cpp/images/c/XSD_String_DerivedTypes.JPG   (with props)
Modified:
    webservices/axis/site/cpp/arch/XSD_Objects.html
    webservices/axis/site/cpp/documentation.html
    webservices/axis/site/cpp/documentation.pdf
    webservices/axis/site/cpp/who.html
    webservices/axis/site/cpp/who.pdf

Added: webservices/axis/site/cpp/TraceGuide.html
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/TraceGuide.html?rev=389186&view=auto
==============================================================================
--- webservices/axis/site/cpp/TraceGuide.html (added)
+++ webservices/axis/site/cpp/TraceGuide.html Mon Mar 27 08:15:52 2006
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<link rel="stylesheet" href="../skin/tigris.css" type="text/css">
+<link rel="stylesheet" href="../skin/mysite.css" type="text/css">
+<link rel="stylesheet" href="../skin/site.css" type="text/css">
+<link media="print" rel="stylesheet" href="../skin/print.css" type="text/css">
+<title>The Axis C++ Trace Guide</title>
+</head>
+<body bgcolor="white" class="composite">
+<div id="banner">
+<table width="100%" cellpadding="8" cellspacing="0" summary="banner" border="0">
+<tbody>
+<tr>
+<td align="left">
+<div class="groupLogo">
+<a href="http://ws.apache.org/"><img border="0" class="logoImage" alt="The Apache WebServices Project" src="../images/project-logo.jpg"></a>
+</div>
+</td><td align="right">
+<div class="projectLogo">
+<a href="http://ws.apache.org/axis/"><img border="0" class="logoImage" alt="The Apache Axis Project" src="../images/axis.jpg"></a>
+</div>
+</td><td valign="top" rowspan="2" align="right" class="search">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<td bgcolor="#a5b6c6" colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="3"><img height="8" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="ws.apache.org" name="sitesearch" type="hidden"><input size="10" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="GO" type="submit">
+<br>
+                          Search WS</td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="3"><img height="7" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td class="bottom-left-thick"></td><td bgcolor="#a5b6c6"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td class="bottom-right-thick"></td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
+<tbody>
+<tr class="status">
+<td><a href="http://www.apache.org/">Apache</a> | <a href="http://ws.apache.org/">WS</a><a href=""></a></td><td id="tabs">
+<div class="tab">
+<span class="selectedTab"><a class="base-selected" href="../index.html">WebServices-Axis</a></span>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table id="main" width="100%" cellpadding="8" cellspacing="0" summary="" border="0">
+<tbody>
+<tr valign="top">
+<td id="leftcol">
+<div id="navcolumn">
+<div class="menuBar">
+<div class="menu">
+<span class="menuLabel">Axis</span>
+ 
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/index.html">Introduction</a>
+</div>
+ 
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/news.html">News</a>
+</div>
+ 
+<div class="menuItem">
+<a href="http://wiki.apache.org/ws/FrontPage/Axis">FAQ/Wiki</a>
+</div>
+ 
+<div class="menu">
+<span class="menuLabel">Get Involved</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/overview.html">Overview</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/cvs.html">CVS Repository</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/mail.html">Mailing Lists</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/ref.html">Reference Library</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/bugs.html">Bugs</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/howtobuild.html">HowToBuildSite</a>
+</div>
+ 
+</div>
+ 
+<div class="menu">
+<span class="menuLabel">Axis (Java)</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/index.html">Documentation</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/install.html">Installation</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/user-guide.html">User's Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/developers-guide.html">Developer's Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/integration-guide.html">Integration Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/architecture-guide.html">Architecture Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/reference.html">Reference Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/reading.html">Reading Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/requirements.html">Requirements</a>
+</div>
+ 
+</div>
+ 
+<div class="menu">
+<span class="menuLabel">Axis (C++)</span>
+  
+<div class="menuItem">
+<a href="../cpp/index.html">Home</a>
+</div>
+  
+<div class="menuItem">
+<a href="../cpp/documentation.html">Documentation</a>
+</div>
+  
+<div class="menuItem">
+<a href="../cpp/download.html">Download</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://wiki.apache.org/ws/FrontPage/AxisCPP">Wiki Pages</a>
+</div>
+  
+<div class="menuItem">
+<a href="../cpp/who.html">Who we are</a>
+</div>
+  
+</div>
+
+<div class="menu">
+<span class="menuLabel">Downloads</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/releases.html">Releases</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/interim.html">Interim Drops</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://cvs.apache.org/viewcvs/ws-axis/">Source Code</a>
+</div>
+
+</div>
+
+<div class="menu">
+<span class="menuLabel">Translation</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/ja/index.html">Japanese</a>
+</div>
+
+</div>
+
+<div class="menu">
+<span class="menuLabel">Related Projects</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/wsif/">WSIF</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://cvs.apache.org/viewcvs/*checkout*/ws-wsil/java/README.htm">WSIL</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://www-124.ibm.com/developerworks/projects/wsdl4j/">WSDL4J</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://www.uddi4j.org/">UDDI4J</a>
+</div>
+
+</div>
+
+<div class="menu">
+<span class="menuLabel">Misc</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/who.html">Who We Are</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/contact.html">Contact</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/legal.html">Legal</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/docs.html">Notes/Docs</a>
+</div>
+
+</div>
+
+
+</div>
+</div>
+</div>
+</td><td>
+<div id="bodycol">
+<div class="app">
+<div align="center">
+<h1>The Axis C++ Trace Guide</h1>
+</div>
+<div class="h3">
+<div class="h3">
+<h3>Introducion</h3>
+</div>
+<p>This documents describes the trace facilities within Axis C++, how to enable them and how to make use of the produced trace.</p>
+<div class="h3">
+<h3>Contents</h3>
+</div>
+<ul>
+<li>
+<a href="#RuntimeTrace">Runtime Trace</a> 
+<ul>
+<li>
+<a href="#enablingRuntimeTrace">Enabling runtime trace</a>
+</li>
+<li>
+<a href="#readingRuntimeTrace">Reading runtime trace</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#StartupTrace">Startup Trace</a> 
+<ul>
+<li>
+<a href="#enablingStartupTrace">Enabling startup trace</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#InterestingTraceEntries">Interesting Trace Entries</a>
+</li>
+</ul>
+<p>
+<a name="RuntimeTrace"></a>
+</p>
+<div class="h3">
+<h3>Runtime Trace</h3>
+</div>
+<p>To aid the development team in understanding the problems of users, the Axis C++ engine has been instrumented with trace.</p>
+<p>
+<a name="enablingRuntimeTrace"></a>
+</p>
+<div class="h4">
+<h4>Enabling runtime trace</h4>
+</div>
+<p>Trace is enabled at runtime by adding the following to <span class="codefrag">axiscpp.conf</span>:</p>
+<p>
+<span class="codefrag">ClientLogPath:&lt;path to log file&gt;</span>
+</p>
+<p>
+<a name="readingRuntimeTrace"></a>
+</p>
+<div class="h4">
+<h4>Reading runtime trace</h4>
+</div>
+<p>The Axis C++ runtime trace is produced in a format compatible with the Trace Analyzer for WebSphere Application Server, which is available from here:</p>
+<p>
+<a href="http://www.alphaworks.ibm.com/tech/ta4was">Trace Analyzer for WebSphere Application Server</a>
+</p>
+<p>However, it is also possible to use any text editor. Each line is made up of the following columns:</p>
+<ul>
+<li>date/time</li>
+<li>thread ID</li>
+<li>Class name, a - indicates a c-style gloval function</li>
+<li>Trace type: <ul>
+<li>&gt; (entry)</li>
+<li>&lt; (exit)</li>
+<li>X (exception)</li>
+<li>I (information)</li>
+</ul>
+</li>
+<li>Method name</li>
+<li>
+<span class="codefrag">this</span> pointer for instance methods</li>
+<li>comma seperated list of parameters <ul>
+<li>[nnnnnnnn] Data in hex</li>
+<li>&lt;...&gt; Data in ascii</li>
+<li>For pointers address is given before data</li>
+<li>For void*, only 1st byte of data is given, as there is no way of knowing size of data.</li>
+</ul>
+</li>
+</ul>
+<p>So, a typical entry would be:</p>
+<p>
+<span class="codefrag">[27/03/2006 16:21:48:945 Time] 4220 AxisConfig &gt; getAxisConfProperty @00376358,[00000000] &lt;....&gt;</span>
+</p>
+<p>Some other things to watch for are:</p>
+<ul>
+<li>An entry containing: <span class="codefrag">------------&gt;</span> indicates that it is a multiline entry</li>
+<li>
+<span class="codefrag">&lt;BADPOINTER&gt;</span> means the trace attempted to dereference a pointer causing a SIGSEGV which the trace has caught.</li>
+<li>
+<span class="codefrag">&lt;UNKNOWNTYPE&gt;</span> means the trace tool and runtime have got out of step. You have found a bug!</li>
+<li>
+<span class="codefrag">&lt;ANONYMOUS&gt;</span> means that it is unnamed in the method signature.</li>
+</ul>
+<p>
+<a name="StartUpTrace"></a>
+</p>
+<div class="h3">
+<h3>Startup Trace</h3>
+</div>
+<p>One shortcoming of the runtime trace is that it only begins tracing after the configuration file has been loaded and the <span class="codefrag">ClientLogPath</span> entry read. This means any problems that occur before this, for example while reading the configuration file, are missed. To overcome this the Axis C++ engine has also been instrumented with startup trace, this starts tracing at the first call into the Axis engine and everything up to the point at which runtime trace starts.</p>
+<p>Startup trace uses the same formatting as the runtime trace.</p>
+<p>
+<a name="enablingStartupTrace"></a>
+</p>
+<div class="h4">
+<h4>Enabling startup trace</h4>
+</div>
+<p>Startup trace is enabled by setting the following environment variable:</p>
+<p>
+<span class="codefrag">AXISCPP_STARTUP_TRACE=&lt;path to startup log file&gt;</span>
+</p>
+<p>
+<a name="InterestingTraceEntries"></a>
+</p>
+<div class="h3">
+<h3>Interesting Trace Entries</h3>
+</div>
+<p>Here are a few entries well worth looking for when you first receive a trace file.</p>
+<div class="h4">
+<h4>Stub Destructor</h4>
+</div>
+<p>Check lines in the trace file immediately preceding the entry for ~Stub, as this is typically the first method run following a <span class="codefrag">SIGSEGV</span>.</p>
+<div class="h4">
+<h4>Exception Entries</h4>
+</div>
+<p>Check any exception entries, which is indicated by an X in the 3rd column. These actually indicate that an exception has been caught. If you see <span class="codefrag">@&lt;number&gt;</span> this indicates which catch block, if more than one present in the current method. You can use this, along with the trace lines immediately preceding, to determine fairly closely exactly where the trace was thrown. You will also see trace entries for the exception constructor if it is an Axis C++ exception.</p>
+<div class="h4">
+<h4>HTTPChannel::operator&lt;&lt;</h4>
+</div>
+<p>The entry trace for <span class="codefrag">operator&lt;&lt;</span> on <span class="codefrag">HTTPChannel</span>shows the message that will sent on the wire. Although the HTTP Header and SOAP message tend to be in seperate calls to this method. This allows for diagnosis of some problems with the message, without requiring the use of a tcp/ip monitoring tool.</p>
+<div id="pdf" align="right">
+<a href="TraceGuide.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
+          PDF</a>
+</div>
+</div>
+</div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<div id="footer">
+<table summary="footer" cellspacing="0" cellpadding="4" width="100%" border="0">
+<tbody>
+<tr>
+<td colspan="2">
+<div align="center">
+<div class="copyright">
+              Copyright &copy; 2000-2005&nbsp;The Apache Software Foundation. All rights reserved.
+            </div>
+</div>
+</td>
+</tr>
+<tr>
+<td align="left"></td><td align="right">
+<div align="right">
+<div class="credit"></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</body>
+</html>

Added: webservices/axis/site/cpp/TraceGuide.pdf
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/TraceGuide.pdf?rev=389186&view=auto
==============================================================================
--- webservices/axis/site/cpp/TraceGuide.pdf (added)
+++ webservices/axis/site/cpp/TraceGuide.pdf Mon Mar 27 08:15:52 2006
@@ -0,0 +1,269 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 2005 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GatU5hf%7-&:X@\TtP#NU.H&u+%9$L%FT.3*kKA,*nEJ&(2XGC6r/u0Aq0c>+t8\<76;LsUqSYRqbFfanP9(f?N'LNndtKsDnTE[r4gK+n91kZ$fGCUAR$&3^lRL)>M%`(=6i$JdCV\9$=@&oIOdK3h7\*/Klrl'N0U#qAHCdthYL=3%)!2Y:5aq(Tc^.6&A@u"k!n+_gq;7Ulb8OPaT<iHJQ"a;k]9tFoiJmbIERN.VI[r-5o)-uieJ+D)`6nQ'Z<1,UBl3J"kt#4g@S<$m5AhW813\OfO.W$GLB<)o1`AQI6"]`0)L(MfK'lp6N_>>[P`F*4Q0hZ9UksbRejFi[B7Q?iWS\RGP6KZd*L3j%9.Aolhk\$V.4-DCo]dY/X!tZL_;:uYPEqKk5p]#jJQE;S3TR%mo\%sBXtGa-cD'VZ@55uaS#;neNYRhbkptQ>D5@(/B0l1^"Nj6`iZ%AH%DTN`-_2!<kkh%XK<J++RRGnM%plt'C#=ZA(-c%>p?c1J=Rf!qomi!%d$@F`rn!JO)?F/mAI#jK9p2(O\ZZ9%X<.M;*6B>TcS2t@X'rT,H7'@F(te'Ju60CWEhEo,taYZmf@Hlc2d5([>+h9`#(-/N381qg=b$pm0POE5q9FDAcVON!.`4XV.X)aG1tL'*H7U;(C(qXIOG7-mUWS#]HZ8<h%uLrY'=.bS25;.c2gf^!'rc,:q?odH9)sZ?dH^G65HQ^U,nPn2F%Cr`;$F;g/.Z]#2CbuZ[MsC;C*+qc3X<8.%EE?;Pj06ar/14Wqd0RhY,"-@cau\3'VERcN2)i!7#YoCd0sAg1aX7'MjBAie;"OmbYl3SjMt)ZXhEg>!,;Q<RV^S(Q50m5QMXUA-$(=4:PpbB>>n9S18MVblNt65Qk(C>^fe'R$=<<p%$!7A?Y2`i32JLq"_m$nXYFAW7CPNh(ih]f/n#hVW8&>S3G/\#u(Ct\F-$d/-4tOWXQ4tmDt7-`W[Q"'jX3
 `!.-k>!Z[_tBB)!J7ml\.4j5':UH`O,B=SR"nPHn(]?"Z"a!OY4elI)KN&;1jd)`8uDjUg)'MaqWouk3QaLO_i$Mm.@G2SS1A0oK9>9d_q/K^I6[W#IjED\f3T`9epV!`'d0J8`K*<9E<JPr8+eqfI>:s`fU2Y>Kq'>]A7WSQ:kS_i^'8fK@I:"Qkl4D<"kHua:&0_eUpK#g`LMRGOWlE[KJm5+qA9/6LDTI&5O1?3Em:FO4Mj)OYH62gRf/1_.O:M[>lZDqB[p@iCq3LfgaOU):B[b]4PW11]@hlp_YG[<MFjI"T6Fc_FhMYTi0X7*&$UA>h`IEq`ggNSF##\b9;NiUJ@gM()#<qQ@$:a<Ig_DG;u2TO@QSc,1S#&hTX$=g<cOSOo,8Fdd^&.BnZ:p2@EBH!=L])9"aT6'sNbM$-qO,u<%L7Km7lNaCfVa[n[m]LCCDO\:bq3SN*ri+osVMVK_8c1jr*tEY-ch&:8*Y)2\!C)rkPTOT97,)M;'^s5)EK&-eP!A&>-"!CFoPRg6--l7.iC4G$`mCA$IN=-acrWcW-(UM.J;t7JE<"Vd5_oIhiOmVJ-33N9[XSlS2jh`aH`A=#csg2*S1AT"blNt65T9JI`TNd4%CNN'\`QV?L!",6P@b;TD#a\R$cNqW3>uWsN=8&-%,9F)/96ou!MTlcQGJ@KXLHp18-/>OSbCZ)YMj@e::_miA3Bq.R"k*UJ$l!D=4Dp;o9qXnGX*6Lrlgt5/0Rjt;_`itd@3I8#^OrT6ThTUP@[UjHLlLRqK+Q3?He,qRn5u*Z=g:XB^YJcO=@FQR\%uGeTkSP`s8\C&8ddYh4*_hbPagdL=&T#2B,[;l_^0$`gnZ<0KT:R*bm+a/Fcp/D:K3(nE)XhYFjpQrAiaQ5?!6q2$rG,:d9l6.)EhA]-2cf$RmVtjOMQd05\8SpDW<I,,(=\H4=cM%l&MVZ$o8)^kNg!"5EOqH#%(W1?aV9$V4H$Pnj
 RQj6%6ra*8X@^>?C"!.dtEjT~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+10 0 R
+12 0 R
+14 0 R
+16 0 R
+18 0 R
+20 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 483.956 179.652 471.956 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 126.0 470.756 235.98 458.756 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 126.0 457.556 232.644 445.556 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 444.356 172.98 432.356 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 15 0 R
+/H /I
+>>
+endobj
+16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 126.0 431.156 231.312 419.156 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 17 0 R
+/H /I
+>>
+endobj
+18 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 417.956 226.632 405.956 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 19 0 R
+/H /I
+>>
+endobj
+20 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 174.316 334.248 162.316 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.alphaworks.ibm.com/tech/ta4was)
+/S /URI >>
+/H /I
+>>
+endobj
+21 0 obj
+<< /Length 2042 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat$9gJ[&ioUW1)hf`3XQ@*<^V...@qZV>?5_3Pt1B@W-eu1X*:P_KPM4r6'B<r[GYN:&@ee!H'HsR1A*8R%IZ+g4AQ%N^Y8YI_t/Ecm/Q)ob;rfcqTQ7kKmZN#(rB_NLsP_A4P"J>2BTd-&8S2=Vs1bBPXaK'CeK64Ps5q&ujR'mMb4E]FXlo7;U`:]A\K/8J3]]^p?I"7g2l2Llo%q>ipQZ&t<iq])r!:jUGEX_+!Jr5TZ^>Q<"7;ZAh1upk_NZ/2*+!!R*mId9If#;-+m-#^S1cLG;I8"kij&G1BbR,4dQmG3OLh&No'hJG]510Ge#`U\3Ym+</D!L4>+&.<>kCTpCWkL"W(cf$_4d51<\9@\qFTOYm'+ZW[@S&i41,3$B+MG*2'eEoVh6LpZ2hPdSS;`HHRUT34k8u<@hV[/E:9X]MAN#G-3au!!PiQEu!J%_
 !&Kthr156K:W1!!;F89TF;rF+H6(F%:1j[GdqfR<of...@goAoc>T-0,[%&WPIrKj`s9&Y])YkQ/V6R05<BO'V<@FGV0^Y\s9HhZ.Zo\9?;Y/!R04"s5:#`R[]1fTWj!#8M:c8aMa06!':E6"nH(62;>Q*%l@]^#)-$6'1TC<e?.(!)9qC@T3u+<^^"S[#'EeFiY!mG70=06^bN]5'e-E0G5k"Q.Z:Wk;YjJ['1Y0qt'.f&r2JE[%N8lDtDL*J,MP#>q;(oK[(:JeXq_Bgd;Yg-&8OJF((jMVXig?(jCYe<a-MaU99de[AHM"-k&KDN3*NOF5ug/pB0F\IUGnNWsFoi,5mLQtO!<H(U-3[A>aK[nUOki^ks!X+I9;/UTBfBg:L?&&$'X3Zk@sj#ZQ7dqkR,P]ANpZD3+R[C/>qaNfVY\:H*o.V3Y9r5KQI6nEOW4F&:='6f)<'jlHhYVeCWc<;7<'uNLZ5e&<=F%WbO>1/).Km8b[`Ltgfho;3FRt]X_3_$:<2@E3(CgbbaU1*mfZ;kX;adLMne<[(-J@s-NqEY?A,s,$5daL!^AP&0U2Rk1p5lO*.6nN2OI=m!b145X">",]$=\t<7om1=]Y($5h7*p=TQ4SR^ZVi#=>&k;*jf6>M#NVW%A>Z<,ePBLSST#-=DRp?D2YDOS__(`i1o04kAK*J!Zfn_6/k;g_EU1D#/)])R*^@HMPY2<b@Z1NIqK]Ef/W@BgR'Ta]GMT@T?kRuR4=[,ZMVsLP]%Ut[o%k.T>W?s`6W'd$r76hjnYo,A[Wdr=b#][RKXnsZOUc/F9KI*"1a-!OEStu'%Y7c,SWi6d4L:&Mer%8t9i:>rZ0,8`m&Z]DHeM5I#c<-(<11/0k%gao5?D[Pah"&brS)_(<]8%M)uB,M>Q]#gn?%:Go:t3(5"l3**oB8,*+CFas4gYSHa3XW0XSr!e;bR.d.>(TEo_MS+'OeS+`)o;?`a\_pKl,0&c2hfQKQ
 X/q8W_P)X^^i"Mtg9(U'hV[[9k`VPiUSU/LZ]J4;`lBgGBq]JRm>oA0G-.tf>~>
+endstream
+endobj
+22 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 21 0 R
+>>
+endobj
+23 0 obj
+<< /Length 1716 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GasaqgN)%,&:O:SkV8Jb#VY+)))kL7FV=GFDT$_HBfd2iJkSj/5QOG,HKhmT`._;iMB$o]_fNn)?k4$b+Q!qNYMLR`0LEUMfNn]=LPp*`aM2]!$m_/d&P</<.,)YtcW5HCqI0,GnM3_VS'QCX<l@;X\SK()F[J'I=<H=@8,Ag_#N2NbDRR2lptiVYfHV-$[=n45Hn5FA#C68qnaE4I<<fb!!qCo!6\K:ff:VJ32u!'==2jjQifEu_`Q.;6gRkWlARA*^BqXY,h/tYFD2<p233]4gGr&/;4$A.*M,BN#H3+Cn+l'>o#h&NX'Y^TVX;@+Cdhp2N`lMU'`K;5%KCnFkPTBfkP<G/_$tG,WBc;N3:]_NeE;mhGoTfmSE(u]e#<m\$W9D#8$;qK4G^=\Bll)-Y:hb;L"WX3]`E)47BYE\d[6q]"e\tAXj0YEi2@<9p1lHQVPNn(sP+l(XU_8n0eLX(U#An?SGRDVL@q<</[Nukrp7s]nr,.a7@s.h.!96]JG'7jVrbp<Gd\Fs&k*+)BRb^3pBN6ssq5Kc1215X\%&I"@=TYt+Y;n!E@ULmhN[d>?B!Y!)NoC?Aj/qb+YAW7tH"N>:/4\CKm)_r==b_O\-<^NbmIjaQG!4q0O<<8q3(Zq_Ze)'XN'e<?EK"Jum,/N[$jC?.gni?bCKf7PV,e=?[ZSbeX1Ac(ojL#p++K`+nZbhc5f@+i5fK4dA]Q6WRWL@'ZK_[cFiRX>jjjsEGW$+INh`Fg0kKg8MSNIa&Iha@m9m_u&9+["LPNH2Nk!iTCL-36kQj24XDo!u*2`_BJ%fAZ]-cO^R7tFV:eBXaRf-tj[a>3"/H,t/jJH'`2pt6n8<b]'QH7Dl?@B?e"Pj.+Ensh+PR92H3J08%l0:t:[]Z!1$QlMU+oI+<R6Z;u96V+di=.qlrk)nL@ji;!.uM/ig=PqqSBr]Y:c?F4C3Z7]Wq9`O#6<kPEH#Efj-Ms5NZA+<Lcc`cPg+s
 :Q;l(6<XnMX`Za7#L7+723K':mZU"V3*8eKs:<F3"L>1=3n's>9noPR?X(9VLW[!4OA^bW!eUEpJSV"iKHt!uLeY_MFmqK;0%9IQ3HN(j_N1N9F!?A1oT!#hRpMO<M3$h:h03pH--M1hYM3D2QU""7O(j)&S7<*f%G8VXMldpMS6n)WV\pCBY`3F)XKjO%$ZY.")K@?i9\-6N?j8'MQ3JoNaSH$s#U(j@:kIr*$f@G"Gs-(M[!(rb!.Se"fnh%JBmlM(:e>"<q=$@1?=#CG>9_oZ<b*bOo"MXG(N:PV=%cpe61(r&sW?B9[XrCO+A:O.&,Khh<)+2OU&O':%NDHX)]:PFAJAH28DQ)la_s<_EDYO]c6m]_:WU[XRSTh0ifEiS9!2W.TcjK?K"3TMG<mV(Na->W3EQ4DfYTm\$IUKgXg[_J-45LUBfa0:g4PQ9pm3I]HIE`?nn]PE054h#faObtMF8DH<4I.C!AdB?49`NR16O.]1G#dp9;=H3qE^o0Aoj>m&Dd9u5:03cUY"b9n=C/u\FYK(PK2e,C@!]lDnGPU22QGNkiiDneTtH.93Fl42C-nrU$F8;jr-n0Zr,NC@T$fA^bLk&&?K\d8.#-+Pk+`1(UC8O.dmo3K9!Ul<+3;Z7SF6r>b(H=-ohUg*%RiYp]TiF/&>Q/BY,iaPnSQ$"0BS^K`s9%%m<aJjd]_RIW:>G3j,$AjOpuHKr=APq2^8~>
+endstream
+endobj
+24 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 23 0 R
+>>
+endobj
+25 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+26 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+27 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+28 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F9
+/BaseFont /Courier
+/Encoding /WinAnsiEncoding >>
+endobj
+29 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+30 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 3
+/Kids [6 0 R 22 0 R 24 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 25 0 R /F5 26 0 R /F1 27 0 R /F9 28 0 R /F2 29 0 R /F7 30 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [null /XYZ 0.0 0.0 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [null /XYZ 0.0 0.0 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [null /XYZ 0.0 0.0 null]
+>>
+endobj
+15 0 obj
+<<
+/S /GoTo
+/D [null /XYZ 0.0 0.0 null]
+>>
+endobj
+17 0 obj
+<<
+/S /GoTo
+/D [null /XYZ 0.0 0.0 null]
+>>
+endobj
+19 0 obj
+<<
+/S /GoTo
+/D [null /XYZ 0.0 0.0 null]
+>>
+endobj
+xref
+0 31
+0000000000 65535 f 
+0000008187 00000 n 
+0000008259 00000 n 
+0000008309 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000002168 00000 n 
+0000002288 00000 n 
+0000002355 00000 n 
+0000008443 00000 n 
+0000002490 00000 n 
+0000008501 00000 n 
+0000002626 00000 n 
+0000008560 00000 n 
+0000002763 00000 n 
+0000008619 00000 n 
+0000002899 00000 n 
+0000008678 00000 n 
+0000003036 00000 n 
+0000008737 00000 n 
+0000003173 00000 n 
+0000003365 00000 n 
+0000005500 00000 n 
+0000005608 00000 n 
+0000007417 00000 n 
+0000007525 00000 n 
+0000007638 00000 n 
+0000007748 00000 n 
+0000007856 00000 n 
+0000007962 00000 n 
+0000008078 00000 n 
+trailer
+<<
+/Size 31
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+8796
+%%EOF

Modified: webservices/axis/site/cpp/arch/XSD_Objects.html
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/arch/XSD_Objects.html?rev=389186&r1=389185&r2=389186&view=diff
==============================================================================
--- webservices/axis/site/cpp/arch/XSD_Objects.html (original)
+++ webservices/axis/site/cpp/arch/XSD_Objects.html Mon Mar 27 08:15:52 2006
@@ -1,133 +1,471 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<META name="GENERATOR" content="IBM Software Development Platform">
-<TITLE>XSD_Objects.html</TITLE>
-</HEAD>
-<BODY>
-<H1 align="center">XSD Objects</H1>
-<H2>XML Schema Part 2 : Datatypes</H2>
-<P>The types and formatting of data transmitted in a SOAP message is defined by the XML Schema, in particular Part 2 : Datatypes. The full specification can be seen <A
-	href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">here</A>.</P>
-<H3>Built-in types</H3>
-<P>Within <A
-	href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes">section
-3</A>  of the above specification 44 built-in datatypes are described, encompasing Strings, numeric, time and encoded binary datatypes. These datatypes are split into two groups, primitive and derived types.</P>
-<P><IMG border="1" src="../images/XSD_Objects_Heirarchy.JPG" width="680"
-	height="588"></P>
-<H4>Primitive Types</H4>
-<P>The XML schema provides 19 primitive types. As all data is represented in text form within XML, the value space for each datatype needs to be specified, for example numeric types cannot  contain alphabetic characters. To do this, each type defines a number of contraining facets and the values within these facets allows the XML engine to validate the data. See <A
-	href="#Constraining Facets">Constraining Facets</A> below for further information on how these are used.</P>
-<P><IMG border="1" src="../images/XSD_PrimitiveTypes.JPG" width="680"
-	height="233" alt="The 19 primitive data types are: string, boolean, decimal, float, double, duration, dateTime, time, date, gYearMonth, gYear, gMonthDay, gDay, gMonth, hexBinary, base64Binary, anyURI, QName, NOTATION"></P><P>See <A
-	href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-primitive-datatypes">section
-3.2</A> of the specification for full detail on each datatype.</P>
-<H4>Derived Types</H4>
-<P>The XML Schema allows additional types to be derived from the primitive types, and has 25 built-in derived types. 12 data types are derived from the string primitive data type.</P>
-<IMG border="1" src="../images/XSD_String_DerivedTypes.JPG" width="252"
-	height="359" alt="The 12 types derived from the string primitive data type are: normalizedString, token, language, Name, NCName, ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN and NMTOKENS">
-<P>The remaining 13 data types are derived from the decimal primitive data type.</P>
-
-<P><IMG border="1" src="../images/XSD_Decimal_DerivedTypes.JPG"
-	width="503" height="359" alt="The 13 data types derived from the decimal primitive data type are: integer, nonPositiveInteger, negativeInteger, long, int, short, byte, nonNegativeInteger, unsignedLong, unsignedInt, unsignedShort, unsignedByte, positiveInteger"></P>
-<P>A derived type uses the same contraining facets as the type from which it is derived, but provides differing values for one or more facet so as to further restrict the value space. For example; the decimal allows fraction digits, while the integer derived type sets this facet to 0.</P><P>See <A
-	href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-derived">section
-3.3</A> of the specification for full detail on each datatype.</P>
-<H4>User defined derived types</H4>
-<P>In the same way as the XML Schema defines a number of built-in datatypes the user can also provide additional derived types. This can be done in the WSDL document, or an XSD referred from a WSDL document.</P>
-<P>The following shows how you can create a new type called <code>direction</code>, which is derived from the <code>NMTOKEN</code> built-in type, to only have the values <code>fromKey</code> and <code>toKey</code>, by restricting the <code>enumeration</code> constraining facet.</P>
-<PRE>	&lt;xsd:simpleType name="direction"&gt;
-		&lt;xsd:restriction base="NMTOKEN"&gt;
-			&lt;xsd:enumeration value="fromKey"/&gt;
-			&lt;xsd:enumeration value="toKey"/&gt;
-		&lt;/xsd:restriction&gt;
-	&lt;/xsd:simpleType&gt;</PRE>
-<H3><A name="Constraining Facets">Constraining Facets</A></H3>
-<P>As mentioned above, the value spaces of each of the built-in types are controlled by constraining facets. The XML Schema provides 12 constraining facets, as described in <A
-	href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-facets">section
-4.3</A>.</P>
-<P>The 12 constraining facets are:</P>
-<UL>
-<LI><code>length</code></LI>
-<LI><code>minLength</code></LI>
-<LI><code>maxLength</code></LI>
-<LI><code>pattern</code> - describes the form of the data, typically using regular expression syntax.</LI>
-<LI><code>enumeration</code> - specifies a fixed set of permitted values</LI>
-<LI><code>whiteSpace</code> - how to handle whitespace characters</LI>
-<UL>
-<LI><code>preserve</code> - value is unchanged</LI>
-<LI><code>replace</code> - all occurances of tab, line feed and carriage return are replaced with a space</LI>
-<LI><code>collapse</code> - after the process of <CODE>replace</CODE>, remove all contigious repeating occurances of spaces, and strip leading and trailing spaces</LI>
-</UL>
-<LI><code>maxInclusive</code></LI>
-<LI><code>maxExclusive</code></LI>
-<LI><code>minExclusive</code></LI>
-<LI><code>minInclusive</code></LI>
-<LI><code>totalDigits</code></LI>
-<LI><code>fractionDigits</code></LI>
-</UL>
-<P>Each primitive datatype uses a subset of these contraining facets, to suit the characteristics of that particular datatype. <A
-	href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#defn-coss">Section
-4.1.5</A> of the XML Schema provides a table of which facets are used for each datatype.</P>
-<P>It is permitted for the value of a constraining facet to be undefined, with the exception of whitespace which must be specified as one of preserve, replace or collapse.</P>
-<HR>
-<H1 align="center">Axis C++ Implementation of XSD built-in types</H1>
-<H2>C++ Objects</H2>
-<P>In version 1.5 of Apache Axis C++, an object model was introduced to the SOAP engine for the XSD built-in types. The object heirarchy mimics the order in which the datatypes are derived from each other.</P>
-<H3>IAnySimpleType Interface</H3>
-<P>All the XSD type objects implement the IAnySimpleType interface, which provides the following methods, which must be implemented by all implementing classes</P>
-<UL>
-<code>AxisChar* serialize() throw (AxisSoapException)</code><BR>
-<code>void deserialize(const AxisChar* valueAsChar) throw (AxisSoapException)</code><BR>
-<code>XSDTYPE getType()</code><BR>
-<code>void* getValue()</code>
-</UL>
-<P>In addition each implementation of this interface must provide a parameterized constructor, such that it can be constructed and will immediately serialize the provided value.</P>
-<P>The IAnySimpleType interface provides the following utility method, which should be called by all implementing classes when serializing data.</P>
-<UL>
-<code>AxisChar* serialize(const AxisChar* value) throw (AxisSoapException);</code>
-</UL>
-<P>This method resolves reserved characters (eg <code>&amp;</code> is replaced by <code>&amp;amp;</code>), processes <code>Whitespace</code>, validates <code>Pattern</code> and ensures value is contained within <code>Enumeration</code>.</P>
-<H3>Object Heirarchy</H3>
-<P>Below is a portion of the C++ object heirarchy, which, as you will notice, is very similar to the <A
-	href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes">diagram
-of built-in datatypes</A> in the XSD Schema.</P>
-<P><IMG border="1" src="../images/XSDObjects_Heirarchy.gif" width="824"
-	height="717"></P>
-<H3>Mapping XSD built-in types to C/C++ types</H3>
-<P>Within the Axis engine mappings are provided between the XSD built-in types and the native C/C++ types. To aid understanding and maintain consistency, these are declared as typedefs to match the XSD type names. These typedefs should be used throughout the engine for:</P>
-<UL>
-<LI>Clarity of code, making it clear which type is being handled at any point in the code</LI>
-<LI>Ease of maintenance, should a native type need to be altered, it need only be done in the typedef without further changes through the codebase.</LI>
-</UL>
-<H4>C++ Types</H4>
-<P>The mapping from C++ types to the XSD built-in types is defined in <code>AxisUserAPI.hpp</code>. For each XSD built-in type a corresponding typedef is declared in the form <code>xsd__&lt;<I>type</I>&gt;</code>, eg: <code>xsd__string</code>.</P>
-<P>Note: <code>AxisUserAPI.hpp</code> only declares those types currenty supported within the user API.</P>
-<H4>C Types</H4>
-<P>Similar to the C++ API, the mapping from C types to the XSD built-in types is defined in <code>AxisUserAPI.h</code>. A typedef is declared for each XSD built-in type, in the form <code>xsdc__&lt;<I>type</I>&gt;</code>, eg: <code>xsdc__string</code>.</P>
-<H3>IConstrainingFacet Interface</H3>
-<P>All the Constraining Facet objects implement the IConstrainingFacet interface. This provides the following utility method, which allows the XSD objects to determine if a given facet has been defined:</P>
-<UL><code>bool isSet();</code></UL>
-<P>The following Constraining Facet objects provide utility methods to assist the serialization/deserialization of XSD built-in types:</P>
-<UL>
-Enumeration
-<UL><code>void validateEnumeration(const AxisChar* value) throw (AxisSoapException);</code></UL>
-Pattern
-<UL><code>void validatePattern(const AxisChar* value) throw (AxisSoapException);</code></UL>
-WhiteSpace
-<UL><code>const AxisChar* processWhiteSpace(const AxisChar* valueToProcess);</code></UL>
-</UL>
-<HR>
-<H1>Current Limitations</H1>
-<H2>Function Limitation</H2>
-<P>Currently, the XSD objects are completely internal to the Axis engine. In the future we may wish to expose these on the external API, such that customers (via WSDL2Ws) will be able to derive additional simple types simply by refining one or more of the constraining facets, then simply re-using the serialization/deserialization logic we have already written.</P>
-<H2>Pattern Constraining Facet</H2>
-<P>The implementation of the pattern constraining facet is incomplete. It needs to validate against a given regular expression, following this, the pattern for each of data types needs to be updated with the regular expression to describe their particular data type.</P>
-<HR>
-<H1>References</H1>
-<P>XML Schema Part 2 : Datatypes - <A href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/</A></P>
-<H2>Outstanding Issues</H2>
-<A href="http://issues.apache.org/jira/browse/AXISCPP-291">AXISCPP-291</A> - dateTime unable to support dates prior to 1970.
-</BODY>
-</HTML>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<link rel="stylesheet" href="../../skin/tigris.css" type="text/css">
+<link rel="stylesheet" href="../../skin/mysite.css" type="text/css">
+<link rel="stylesheet" href="../../skin/site.css" type="text/css">
+<link media="print" rel="stylesheet" href="../../skin/print.css" type="text/css">
+<title>XSD Objects</title>
+</head>
+<body bgcolor="white" class="composite">
+<div id="banner">
+<table width="100%" cellpadding="8" cellspacing="0" summary="banner" border="0">
+<tbody>
+<tr>
+<td align="left">
+<div class="groupLogo">
+<a href="http://ws.apache.org/"><img border="0" class="logoImage" alt="The Apache WebServices Project" src="../../images/project-logo.jpg"></a>
+</div>
+</td><td align="right">
+<div class="projectLogo">
+<a href="http://ws.apache.org/axis/"><img border="0" class="logoImage" alt="The Apache Axis Project" src="../../images/axis.jpg"></a>
+</div>
+</td><td valign="top" rowspan="2" align="right" class="search">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<td bgcolor="#a5b6c6" colspan="3"><img height="10" width="1" alt="" src="../../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="3"><img height="8" width="1" alt="" src="../../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="../../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="ws.apache.org" name="sitesearch" type="hidden"><input size="10" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../../skin/images/spacer.gif" class="spacer"><input name="Search" value="GO" type="submit">
+<br>
+                          Search WS</td><td><img height="1" width="1" alt="" src="../../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="3"><img height="7" width="1" alt="" src="../../skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td class="bottom-left-thick"></td><td bgcolor="#a5b6c6"><img height="1" width="1" alt="" src="../../skin/images/spacer.gif" class="spacer"></td><td class="bottom-right-thick"></td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
+<tbody>
+<tr class="status">
+<td><a href="http://www.apache.org/">Apache</a> | <a href="http://ws.apache.org/">WS</a><a href=""></a></td><td id="tabs">
+<div class="tab">
+<span class="selectedTab"><a class="base-selected" href="../../index.html">WebServices-Axis</a></span>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table id="main" width="100%" cellpadding="8" cellspacing="0" summary="" border="0">
+<tbody>
+<tr valign="top">
+<td id="leftcol">
+<div id="navcolumn">
+<div class="menuBar">
+<div class="menu">
+<span class="menuLabel">Axis</span>
+ 
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/index.html">Introduction</a>
+</div>
+ 
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/news.html">News</a>
+</div>
+ 
+<div class="menuItem">
+<a href="http://wiki.apache.org/ws/FrontPage/Axis">FAQ/Wiki</a>
+</div>
+ 
+<div class="menu">
+<span class="menuLabel">Get Involved</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/overview.html">Overview</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/cvs.html">CVS Repository</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/mail.html">Mailing Lists</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/ref.html">Reference Library</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/bugs.html">Bugs</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/howtobuild.html">HowToBuildSite</a>
+</div>
+ 
+</div>
+ 
+<div class="menu">
+<span class="menuLabel">Axis (Java)</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/index.html">Documentation</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/install.html">Installation</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/user-guide.html">User's Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/developers-guide.html">Developer's Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/integration-guide.html">Integration Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/architecture-guide.html">Architecture Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/reference.html">Reference Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/reading.html">Reading Guide</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/java/requirements.html">Requirements</a>
+</div>
+ 
+</div>
+ 
+<div class="menu">
+<span class="menuLabel">Axis (C++)</span>
+  
+<div class="menuItem">
+<a href="../../cpp/index.html">Home</a>
+</div>
+  
+<div class="menuItem">
+<a href="../../cpp/documentation.html">Documentation</a>
+</div>
+  
+<div class="menuItem">
+<a href="../../cpp/download.html">Download</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://wiki.apache.org/ws/FrontPage/AxisCPP">Wiki Pages</a>
+</div>
+  
+<div class="menuItem">
+<a href="../../cpp/who.html">Who we are</a>
+</div>
+  
+</div>
+
+<div class="menu">
+<span class="menuLabel">Downloads</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/releases.html">Releases</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/interim.html">Interim Drops</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://cvs.apache.org/viewcvs/ws-axis/">Source Code</a>
+</div>
+
+</div>
+
+<div class="menu">
+<span class="menuLabel">Translation</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/ja/index.html">Japanese</a>
+</div>
+
+</div>
+
+<div class="menu">
+<span class="menuLabel">Related Projects</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/wsif/">WSIF</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://cvs.apache.org/viewcvs/*checkout*/ws-wsil/java/README.htm">WSIL</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://www-124.ibm.com/developerworks/projects/wsdl4j/">WSDL4J</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://www.uddi4j.org/">UDDI4J</a>
+</div>
+
+</div>
+
+<div class="menu">
+<span class="menuLabel">Misc</span>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/who.html">Who We Are</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/contact.html">Contact</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/legal.html">Legal</a>
+</div>
+  
+<div class="menuItem">
+<a href="http://ws.apache.org/axis/docs.html">Notes/Docs</a>
+</div>
+
+</div>
+
+
+</div>
+</div>
+</div>
+</td><td>
+<div id="bodycol">
+<div class="app">
+<div align="center">
+<h1>XSD Objects</h1>
+</div>
+<div class="h3">
+<div class="h3">
+<h3>XSD Objects</h3>
+</div>
+<div class="h4">
+<h4>XML Schema Part 2 : Datatypes</h4>
+</div>
+<p>The types and formatting of data transmitted in a SOAP message is defined by the XML Schema, in particular Part 2 : Datatypes. The full specification can be seen <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">here</a>.</p>
+<div class="h2">
+<h2>Built-in types</h2>
+</div>
+<p>Within <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes">section 3</a> of the above specification 44 built-in datatypes are described, encompasing Strings, numeric, time and encoded binary datatypes. These datatypes are split into two groups, primitive and derived types.</p>
+<p>
+<img alt="" src="../images/c/XSD_Objects_Heirarchy.JPG"></p>
+<div class="h5">
+<h5>Primitive Types</h5>
+</div>
+<p>The XML schema provides 19 primitive types. As all data is represented in text form within XML, the value space for each datatype needs to be specified, for example numeric types cannot contain alphabetic characters. To do this, each type defines a number of contraining facets and the values within these facets allows the XML engine to validate the data. See <a href="#Constraining Facets">Constraining Facets</a> below for further information on how these are used.</p>
+<p>
+<img alt="The 19 primitive data types are: string, boolean, decimal, float, double, duration, dateTime, time, date, gYearMonth, gYear, gMonthDay, gDay, gMonth, hexBinary, base64Binary, anyURI, QName, NOTATION" src="../images/c/XSD_PrimitiveTypes.JPG"></p>
+<p>See <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-primitive-datatypes">section 3.2</a> of the specification for full detail on each datatype.</p>
+<div class="h5">
+<h5>Derived Types</h5>
+</div>
+<p>The XML Schema allows additional types to be derived from the primitive types, and has 25 built-in derived types. 12 data types are derived from the string primitive data type.</p>
+<img alt="The 12 types derived from the string primitive data type are: normalizedString, token, language, Name, NCName, ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN and NMTOKENS" src="../images/c/XSD_String_DerivedTypes.JPG"><p>The remaining 13 data types are derived from the decimal primitive data type.</p>
+<p>
+<img alt="The 13 data types derived from the decimal primitive data type are: integer, nonPositiveInteger, negativeInteger, long, int, short, byte, nonNegativeInteger, unsignedLong, unsignedInt, unsignedShort, unsignedByte, positiveInteger" src="../images/c/XSD_Decimal_DerivedTypes.JPG"></p>
+<p>A derived type uses the same contraining facets as the type from which it is derived, but provides differing values for one or more facet so as to further restrict the value space. For example; the decimal allows fraction digits, while the integer derived type sets this facet to 0.</p>
+<p>See <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-derived">section 3.3</a> of the specification for full detail on each datatype.</p>
+<div class="h5">
+<h5>User defined derived types</h5>
+</div>
+<p>In the same way as the XML Schema defines a number of built-in datatypes the user can also provide additional derived types. This can be done in the WSDL document, or an XSD referred from a WSDL document.</p>
+<p>The following shows how you can create a new type called <span class="codefrag">direction</span>, which is derived from the <span class="codefrag">NMTOKEN</span> built-in type, to only have the values <span class="codefrag">fromKey</span> and <span class="codefrag">toKey</span>, by restricting the <span class="codefrag">enumeration</span> constraining facet.</p>
+<pre>   &lt;xsd:simpleType name="direction"&gt;
+        &lt;xsd:restriction base="NMTOKEN"&gt;
+            &lt;xsd:enumeration value="fromKey"/&gt;
+            &lt;xsd:enumeration value="toKey"/&gt;
+        &lt;/xsd:restriction&gt;
+    &lt;/xsd:simpleType&gt;</pre>
+<div class="h2">
+<h2>Constraining Facets</h2>
+</div>
+<p>As mentioned above, the value spaces of each of the built-in types are controlled by constraining facets. The XML Schema provides 12 constraining facets, as described in <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-facets">section 4.3</a>.</p>
+<p>The 12 constraining facets are:</p>
+<ul>
+<li>
+<span class="codefrag">length</span>
+</li>
+<li>
+<span class="codefrag">minLength</span>
+</li>
+<li>
+<span class="codefrag">maxLength</span>
+</li>
+<li>
+<span class="codefrag">pattern</span> - describes the form of the data, typically using regular expression syntax.</li>
+<li>
+<span class="codefrag">enumeration</span> - specifies a fixed set of permitted values</li>
+<li>
+<span class="codefrag">whiteSpace</span> - how to handle whitespace characters</li>
+<li style="list-style: none">
+<ul>
+<li>
+<span class="codefrag">preserve</span> - value is unchanged</li>
+<li>
+<span class="codefrag">replace</span> - all occurances of tab, line feed and carriage return are replaced with a space</li>
+<li>
+<span class="codefrag">collapse</span> - after the process of <span class="codefrag">replace</span>, remove all contigious repeating occurances of spaces, and strip leading and trailing spaces</li>
+</ul>
+</li>
+<li>
+<span class="codefrag">maxInclusive</span>
+</li>
+<li>
+<span class="codefrag">maxExclusive</span>
+</li>
+<li>
+<span class="codefrag">minExclusive</span>
+</li>
+<li>
+<span class="codefrag">minInclusive</span>
+</li>
+<li>
+<span class="codefrag">totalDigits</span>
+</li>
+<li>
+<span class="codefrag">fractionDigits</span>
+</li>
+</ul>
+<p>Each primitive datatype uses a subset of these contraining facets, to suit the characteristics of that particular datatype. <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#defn-coss">Section 4.1.5</a> of the XML Schema provides a table of which facets are used for each datatype.</p>
+<p>It is permitted for the value of a constraining facet to be undefined, with the exception of whitespace which must be specified as one of preserve, replace or collapse.</p>
+<hr>
+<div class="h3">
+<h3>Axis C++ Implementation of XSD built-in types</h3>
+</div>
+<div class="h4">
+<h4>C++ Objects</h4>
+</div>
+<p>In version 1.5 of Apache Axis C++, an object model was introduced to the SOAP engine for the XSD built-in types. The object heirarchy mimics the order in which the datatypes are derived from each other.</p>
+<div class="h2">
+<h2>IAnySimpleType Interface</h2>
+</div>
+<p>All the XSD type objects implement the IAnySimpleType interface, which provides the following methods, which must be implemented by all implementing classes</p>
+<div style="margin-left: 2em">
+<span class="codefrag">AxisChar* serialize() throw (AxisSoapException)</span>
+<br>
+<span class="codefrag">void deserialize(const AxisChar* valueAsChar) throw (AxisSoapException)</span>
+<br>
+<span class="codefrag">XSDTYPE getType()</span>
+<br>
+<span class="codefrag">void* getValue()</span>
+</div>
+<p>In addition each implementation of this interface must provide a parameterized constructor, such that it can be constructed and will immediately serialize the provided value.</p>
+<p>The IAnySimpleType interface provides the following utility method, which should be called by all implementing classes when serializing data.</p>
+<div style="margin-left: 2em">
+<span class="codefrag">AxisChar* serialize(const AxisChar* value) throw (AxisSoapException);</span>
+</div>
+<p>This method resolves reserved characters (eg <span class="codefrag">&amp;</span> is replaced by <span class="codefrag">&amp;amp;</span>), processes <span class="codefrag">Whitespace</span>, validates <span class="codefrag">Pattern</span> and ensures value is contained within <span class="codefrag">Enumeration</span>.</p>
+<div class="h2">
+<h2>Object Heirarchy</h2>
+</div>
+<p>Below is a portion of the C++ object heirarchy, which, as you will notice, is very similar to the <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes">diagram of built-in datatypes</a> in the XSD Schema.</p>
+<p>
+<img alt="" src="../images/c/XSDObjects_Heirarchy.gif"></p>
+<div class="h2">
+<h2>Mapping XSD built-in types to C/C++ types</h2>
+</div>
+<p>Within the Axis engine mappings are provided between the XSD built-in types and the native C/C++ types. To aid understanding and maintain consistency, these are declared as typedefs to match the XSD type names. These typedefs should be used throughout the engine for:</p>
+<ul>
+<li>Clarity of code, making it clear which type is being handled at any point in the code</li>
+<li>Ease of maintenance, should a native type need to be altered, it need only be done in the typedef without further changes through the codebase.</li>
+</ul>
+<div class="h5">
+<h5>C++ Types</h5>
+</div>
+<p>The mapping from C++ types to the XSD built-in types is defined in <span class="codefrag">AxisUserAPI.hpp</span>. For each XSD built-in type a corresponding typedef is declared in the form <span class="codefrag">xsd__&lt;type&gt;</span>, eg: <span class="codefrag">xsd__string</span>.</p>
+<p>Note: <span class="codefrag">AxisUserAPI.hpp</span> only declares those types currenty supported within the user API.</p>
+<div class="h5">
+<h5>C Types</h5>
+</div>
+<p>Similar to the C++ API, the mapping from C types to the XSD built-in types is defined in <span class="codefrag">AxisUserAPI.h</span>. A typedef is declared for each XSD built-in type, in the form <span class="codefrag">xsdc__&lt;type&gt;</span>, eg: <span class="codefrag">xsdc__string</span>.</p>
+<div class="h2">
+<h2>IConstrainingFacet Interface</h2>
+</div>
+<p>All the Constraining Facet objects implement the IConstrainingFacet interface. This provides the following utility method, which allows the XSD objects to determine if a given facet has been defined:</p>
+<div style="margin-left: 2em">
+<span class="codefrag">bool isSet();</span>
+</div>
+<p>The following Constraining Facet objects provide utility methods to assist the serialization/deserialization of XSD built-in types:</p>
+<div style="margin-left: 2em">Enumeration <div style="margin-left: 2em">
+<span class="codefrag">void validateEnumeration(const AxisChar* value) throw (AxisSoapException);</span>
+</div>Pattern <div style="margin-left: 2em">
+<span class="codefrag">void validatePattern(const AxisChar* value) throw (AxisSoapException);</span>
+</div>WhiteSpace <div style="margin-left: 2em">
+<span class="codefrag">const AxisChar* processWhiteSpace(const AxisChar* valueToProcess);</span>
+</div>
+</div>
+<hr>
+<div class="h3">
+<h3>Current Limitations</h3>
+</div>
+<div class="h4">
+<h4>Function Limitation</h4>
+</div>
+<p>Currently, the XSD objects are completely internal to the Axis engine. In the future we may wish to expose these on the external API, such that customers (via WSDL2Ws) will be able to derive additional simple types simply by refining one or more of the constraining facets, then simply re-using the serialization/deserialization logic we have already written.</p>
+<div class="h4">
+<h4>Pattern Constraining Facet</h4>
+</div>
+<p>The implementation of the pattern constraining facet is incomplete. It needs to validate against a given regular expression, following this, the pattern for each of data types needs to be updated with the regular expression to describe their particular data type.</p>
+<hr>
+<div class="h3">
+<h3>References</h3>
+</div>
+<p>XML Schema Part 2 : Datatypes - <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/</a>
+</p>
+<div class="h4">
+<h4>Outstanding Issues</h4>
+</div>
+<a href="http://issues.apache.org/jira/browse/AXISCPP-291">AXISCPP-291</a>
+<div id="pdf" align="right">
+<a href="XSD_Objects.pdf"><img alt="PDF" src="../../skin/images/pdfdoc.gif" class="skin"><br>
+          PDF</a>
+</div>
+</div>
+</div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<div id="footer">
+<table summary="footer" cellspacing="0" cellpadding="4" width="100%" border="0">
+<tbody>
+<tr>
+<td colspan="2">
+<div align="center">
+<div class="copyright">
+              Copyright &copy; 2000-2005&nbsp;The Apache Software Foundation. All rights reserved.
+            </div>
+</div>
+</td>
+</tr>
+<tr>
+<td align="left"></td><td align="right">
+<div align="right">
+<div class="credit"></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</body>
+</html>

Added: webservices/axis/site/cpp/arch/XSD_Objects.pdf
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/arch/XSD_Objects.pdf?rev=389186&view=auto
==============================================================================
--- webservices/axis/site/cpp/arch/XSD_Objects.pdf (added)
+++ webservices/axis/site/cpp/arch/XSD_Objects.pdf Mon Mar 27 08:15:52 2006
@@ -0,0 +1,344 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 2117 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat=,D/\Jl&H9DY,(/]JD+GZ0%3_O5[]%!L^"XYh!?[hkG;kUX(+7jCq=REj`u\l#g-[7\1=(tn`q,d,A[ARY",B_)F0aoOli1254D-PC*=r/F:>01ip"UZ^S8@6`IeMOoqOM[niWO]iHcZ6HMlqKkr97`VJh5gLM3MQX#SZ+g'.O05qpiZ>O`5=1SKY`6-`&U_U,.`nV_ZtMqm0^lNu*nroE$.o*YLq/2i?fIbS'[LB1'lZCVF53IUo0/'JY[+R)a!nZ0l2HN=k-3)gR"(VWpY(RY-D=-#O=uJTI\6+GA:!75#Ub@9lsc.gp6\(0Q/F[U?r:G#NQ)\&FW?Xj*U&&!r=mYi0HB<jp,HD/[7WAN`nR^Y#tg/j8uYE15l:$@h*`;)0E[`nuF-l?Nd-.2TURM>nGLPR'#gMHK;Hb#%Jk0?Rk:?sVG.m0eZ)*1^t-YLUU0ZIqGuGrOpH&'g+87nT^IPLL'#NZ3bn^)P(S7OlH"P;%0OSb_Wilm`rMMj:'nUnqHpXh!@^.rGAk53?up.mFsJDNk]20t:huG%K30i'=rS!%@K5LdY/'Y@Y0qO*ShpOdj9!%8rP0JW8\[i05Y<aBP/k$GfnMkS?Mo&$)77l1Ir@*nRtV!40T5fK44\>:P\B6\>K'oODPW_1Zg,J!*\g*:$60/8q*k\X12HVUR`k.'+%19Q/Bh"VP#.Fs5"u(Zu"_oqL,U=Z\I?"3"!o_&9Pg3rs/7J!riTMiM90XPRg(-l4eoPoFTAZ99,;='KV_bKH?2(CM^3jVo%o^ZC4gD6:\;C:@3r=\)\>NG\K4F3kFOW6"1XQ"Y?q(,`Y).%t:?:T186$S.qO%mBGl;LkrOFV)Trn)L.^Ac9-B1j_l$#;E0kOQ++-kCU@\R]i/ton_/F<]!T`Tp&0%IQHFR[V=7`E"-+,@[QNBRTB%-!2[pnpf9X0e8ee<[b=d+5Bdmi:M1&[`r4/*(PVZD\dR<BLHU19<g)R'eFXE
 TFuIcdftp3D\OCSJ=BiS.bSF<%?F70/`Zk#RhP#SC@R$Ra1YZ`HM(2ZV[PF(N[XUj57\bH@`n!lQl6)b;b\cX*ak]AeXP0g[c9!I\0s-jOMiN]=2\_W:k.*b'&>l/l'KQ"brMZ6`NX[L6Mj0]$\73a;U#fTmN##goOd6jZO\<_&0-Rj]THX]t37N;JU/ZFeC.JiY4D#VrDt/[4nQ"+%[mr<snf9/cYJ:1+\Zr7c+k-3`@=9'*Ln8[:A.hPMG\$"g0LnKTnu,%71B*Pp^a5ak^MiC\&r4.$5#Kh1%Ss.^(D0D2,kC?_W!GQEohf8mXbtd13fkUZ/E4r8KG3aX%GHc-3s"k:5Zu9s$>Z]]cYG(I9Vl_M#t4,`?F\J>%UkbL%S=auFHD8gMa'8l``?qnQq0<mkM'F+5k?dMRYnEi+U'^+%BC&GX;]YuNb4VZ*!88Wpu^A;M.a&MS58S<Ha*AME7lWo]tKVgpadUjT/[MQTeidJ+JoBuC\E@b#s"9Uk+Ai3`<Z9m[610%[VR>ik5hfT5kaHVbNbF$52IFh+7>P>S,8!-1:qnC5Le$cZp!6lNYf7pK49uD]1cV2'M8D")L9f#YGEA<YO)&u28/#E[,QKGnPhnE:5dI'l_DO/3-2%:@>ioNPoIK@a]DhJ-TqIEfG5H]Bm$rZeK@9!fU(Ns.jjf%j<29#-:'`UolP2%dt[*7YUkiRUT0*fOmD$:;q'kRNe[1f6VpXE]q8D<_7Il.Up8"r<fRr8N@dT*Ysh>;[[NbhqV4!7[O&,FD&WclQ(JS*r8-Y>I.(A>kduK8bJ]G<W@!!Zm-'0kR6(!+0C8]+l-GSj-@QfA1n(43@]guK9o,!ih%J)n99@tm0Qp+C%V11Y2S';S%P:9&rTpZ/IsEb-j%CD.roWm\:T#o7rQ+M]e4mtV<ifWpfSZH1\kajIq[%4cD%Rk.DQ!+H!B9c+?1qt>gtcA0qtJd]:H/#kZX(ZncM-=IeY>JK+\8
 :O\?iO]ikUrX_mbWa<fcfMitsiuG66c/or1"r0b&-'KUr\02?APW>kbZ[U0Of^,O,dPqM$2ck?Ylqcp1X[>f)C7VWZ40HWE-[OkXJL(V8G&;mO53@aL1!Xadeo:M*Z0BDi(sIt^J~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+9 0 R
+10 0 R
+12 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 450.924 498.994 471.576 486.994 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/)
+/S /URI >>
+/H /I
+>>
+endobj
+9 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 127.404 448.822 170.4 436.822 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes)
+/S /URI >>
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 311.45 185.664 299.45 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 110.328 242.65 162.324 230.65 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-primitive-datatypes)
+/S /URI >>
+/H /I
+>>
+endobj
+13 0 obj
+<< /Length 2463 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gau/Zfok)JnpS6(jX6s@$kqPJ-[&L[A@B-jS3u"6=)IX3Ort'8'WD8XRF0oi8H;/2U5jMTkJ?F1qa@(7a2Qlh#9$E._I0XZ$\Rge%79ib!D@&N@Ot'6PgDN&(Am#SYBd\X-@!G6*8Z2Djd3ri5QC@er_;n>@.@$#PRNL%P?A01)U/Ns%>VntF<$J...@j>aD\N3Y[S/mko$nK::gde.1OH0j4r2+2uqW2QGIUd[g.#9($u`&-jNUZ2sepP)6Hl>"59C,Z,JU1aB=uj)2<dmoSB;g,fP]Z4U<7m`2c@K]FR%I2J0lg/_89DcPVOqD=::7]"c.kpJo"DXT`F#c`*6_XR-K#gB\+^RQu!SO,rs/.Rg\-&L0Z/ShmK`VQnog7gfW.Tl%bUl*-@oMmsI/f:S:LO52<,dP"/&#9dck8glpR$07$>PBj\TC("#RdUiqWldd?Bk*5D^(LmLkN@*c6;=6nk\2DG3sWn4rN8p)\TaEPgIuo;a^!gI<:qZkg;\p\R\gt,P+)o"e!:Ep7p`Qt(H7WMi2RJTlp'?.b(&:Fa2?Dl#BF0Xj$2A,$G>TG:nhil>kqWaYC0>s\HbrbGc6C43fr@BPnro6pP2(_HYZpF78Z4A,-t-oe]=aY,]YE))T=TSIj*,,QT!^H(+m;He2eKQ<YDHBcGDcHh!]2eB!ij#F*2.KKR)aY`SLR_oP;8brs8$@Ku@I]]WR1/5+lm(R!?C\5tLPl$_DtGh=#P0(RA6A"'8A)/kBY-N:WnMO2Q-lZcdqr=_)"X.D*f5:j=*O$:c?sb2T!fe)^/OC3/O]lN7:?7]s6C2`_[*ckZcpMM=b,@ktmtg4FVbDQ@[tZK^<kSjB!nF0-o<h-WPiT7>C?:i9g#K5r_>lY?SqS2'6p9[!@`gQ5<r7o9s2/oh4rSIt"@++6Oa>V>RAqTELn0jj<U2Y(kA\e2!j4(Z$2C6(?E5%"UK>?Ne$jN&s#,1fe2lS8DS+0jfo='SP
 m3)3kW[!jn2!%;>JT.C#KoicO4esA+LF=1`V]oiLA(:q(Z:oe*"-'kddD8Ur<^ShULd(ea.IeF%Km9]"m_;b;J(j*g"^<V4u1d?^dg7#2J1d6&2l9c5TdD^jI;.[%2`[iGm.md%,&^,:IFq)90>)e-uX7$T("NUVaWc`jcW!/FD%:[Q;cVbkqG0mHEMP;oX,i7l5nY.#[S#*h&CT4t`4-d'j!c^.G]Q]NoTgjYI=ZjXRKHholRH8$U-@tbu2H%g=6=Zrk+nI^]<U#)QF9XfAP]r/sAa1BXgj5%?$3=.0*"f^@rEA.D4[=233bq8+6K=KqVloet*&!mR:6Hmnani^@]VM'[(j7?hUo>ui8SEQFKKZY(:*"-RISO,\l4M=r5d)/G=2U\bH@,j[?(q%Y87`>Mad<d>q&57aGXQScO\YYM-kFFY)FiUIfB[Xgm"WH4)9"qphbs4SR0c%ArMq*4?@D;bpU#Q/FOt\3Qb3N3'>bdSKNHW]`1A<I97RsL7Hu5ZpTI75]mBRlIs_oL*udB-KITQHSFUi6=YEKV?g).J@iqk5+ts`5kL>J8$k4CF9V19s=j&GD)c<!=^24Y*Y!+./C_mtfoUpBb-QJF*X%-G!#*_^I!OdoA_t8kBcb5qZ*,%gKZd6ZIE-ZIWR2H'?X*h4%JZX#Y^t^:.Q-HloSBR6$-M:>nW*Xt1O4=+=+nV"Q&As`dE+i$9=NZ$dRO\%qP)n5rs-8a?m/`!.k;Eb9$:oB,G,kXr&;QQa&@ZI5L&iT?HIG@D9B\d@(IaoN84O)]pg%@em[bu'dl!_'Ad4:`c,lZ8V7js,)`m,1?`:mAV;o1'<LLgbUh7+4PHj1H1C<ZE+<mN,Y7Tg(fj,?/AgDhf#U$>dAhV?R[n3:?87*VG#]-[3q=BSD6EpGX;LlQSpOP8_:m[V'Ks`3"B\q\?:oC"2<Ik2S<a@PFT3[\neHt',5R!D.]R+b![e@R1M/?I9[()"V"#R"2gU$
 3Ug$n1*6NGBiBOBa`3cjP)gYgLYG]_#^k*EfpRR\E`cZmL0n\l%4k<Z&...@ihYY>Rr?AU!bZjJR3eb@%B]$idCJ:otffi~>
+endstream
+endobj
+14 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 13 0 R
+/Annots 15 0 R
+>>
+endobj
+15 0 obj
+[
+16 0 R
+17 0 R
+]
+endobj
+16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 110.328 530.9 162.324 518.9 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-derived)
+/S /URI >>
+/H /I
+>>
+endobj
+17 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 289.656 141.996 277.656 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-facets)
+/S /URI >>
+/H /I
+>>
+endobj
+18 0 obj
+<< /Length 2088 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat=,=``=U&:W67i1lJq-uW#4-RWmpm^/1bdWEp:qZ)hAKFUGN,\Ym,oj-Q"()5l*ac&a%_!\[6lihi?07N\dGX4lJDnT<KhKBKU55Yr(^s@S"-7MObfN[gX^FjEA0R;^WmB(jBWT>Nc8qcG.U1gQa*]c2O-)XX$m!#;_^[^09M%BJ9kXMf-P%)H_EG1hnFe*)#RjY9Fo:1JBmNT(*:sn8Oo:dW\ku@#t@^^+1g`rS-<EZ&0C;IBlkrUG8?rZWAX$J,iM^&iRR&2;.QI^"GpPe6YG6$AZA.5S5Zmo7.Y[k^d.8a_:MjEqV=]W[8cNGVe=Us37E(RA5L%1i\.e6/E::R242g&!j*PZ7563Sf0?3_3U`(*YU%kiY-,8.["$7,0SMUsM99&OXW.]>WW78PX\@$7?sq)YH*ZdC0>6*!cmcJmNU8CH^e;3@ZZNJ^G'$c/<Y!d:$&$7nZUHqfOT&Ar3W,5;rb<J'\Mi$q5K];1%9a2<SbG:M2qLUq$JhfVW&4I)(qL*G/BoF?QT19B%EAf!@eA4!+H;UA*'\N#/-!:8q-1tM4mn=i!%d&AnFD\3=ZZ(hCh'Eoc6I\SK.l7:T"I,d2\F^D6fs"9O>n+WHe7HcBJ9iFk1atVXu@@T<Ib4A2rADY^</UgoO=<$LJle-#9C-b=lQjemo^_<(9(mLilH/MU9XoPEAU8M"M#*5M"i0XYc`'3Uk+llXd\9hd$+[<"X7Z;9#ro,\6`K'?MjOW&ISsM3g&U1NPd(=%eI#<C.ELB@RV*];_P!W-1BT'GFj:c8`Rg-9@VDD4Le#7<Za31;26T6bqiEFYdc+FG@3TPb!OR5B/>-7q8[.`lXhp\TL3Q`Eg8KA/D\O5V?E!@,h8<$!n\L;l3Z44!?H0MPo>jS&hQTZ&LTMf3-o8N9K^)ALP>cV8<ZWl%NX4H@Gmt@P*d)PLh$GPKo7Oap&C:"e<.>J](@=-=jWCbEAj*h[[AnWH"jj3'>J"/d
 ccZ=69OB;rn%icJ\n_H9"h!>OdgTqg8:&/_Ii,>Yla9+T/`-[NQ%WU32gYt6J@%;kHAo%jr)10*Qr<$'efd6s_:\(>GlA[VI+(-bi=ki1n.#+f_L/=dG^TZSL<SPm-G*8T8W(Tc\Up,ss>'f(jXKpoL+tXeg>Z:?MM@mg+h+[jg#->ODIC0ci\%G2211sD#3EcV423-%/!N[t0f4HFQDh]PkNZc?qOWP*K(d#`Ag(q:j`7r0d+oCT(eCDs4o"ALG#Ce;)Z_F<"@can_c8Zuj8SjmsJ2#g;1>=_aF*4nlbkB`.MP-A+H"_gHL[WJfrOCiS)Qi]1V"lm,+.K08;bDBBP=_,km8rkl'W9:hNC,OrY1'I#-quQGBafW`X?NEF`+C6,Cqd8=F%_ri*>N@]\We3[JN;9cC05P!*`RJ5G"mgcCG2j'j72Urh`[QVFcO'SpnFKgL[*IT,VDk)0&_c'\K!"0+(;I&$YiRH2$&Lk>4M(Jp>Ye*AW'jK*%cFd799p]>anbOlooQ\9QgM^hf*kT-qr\q^^un"\S)SEApCV@?V.]5c1&,\1[(6F&,UC:LUL]g+A178I_E0[h_Hq)Qu^N30Keh<I,MJokT@\SOR1XG$DG5Q-JDut(e1nmJ5H<`Te*_l%kLd`!lX'HAr,$XM,;Z1a1I289mFn5@>m0,KdJ]Qp;$P/1'B6-],KPmOrCh+68\)kX@n2%KZ4a4O&JY8CJ831hZ^.FF)=<djrF<$jN-.ngU!&A_((\1A)LfpgeV"(8!$Ud]<ft)Y_;m4a'7kbT5U6@>)hnf^*(?`'b,0%<3oN?/@u_2io8?sWnMX\1<8rt=l$7FX4$+c9lLIgAqO`.499:P2kKfZjj+]L<hE]c,;XFPnm'!>;J=U%"VVr&aeWC+78,AZD3ogHb*V7\/RLf6OmL3\p#B_63,a3\T[-D[m`k=O_,S16[gNB+")n>5pH\MkUs_#:UE7?d5754tZ]$`h=1VrY.`,
 6_8edlM@2:6cK6/(HG^8JV+]DQ.2M]>=Dg0'u\dak=;PERVn)7&O=ZV*J@7OcqYF:G1l3FEMHu@l%2Ehk_P_q@f8GitFlE+!ZcQiGj+.&>=~>
+endstream
+endobj
+19 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 18 0 R
+/Annots 20 0 R
+>>
+endobj
+20 0 obj
+[
+21 0 R
+]
+endobj
+21 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 212.532 542.0 275.532 530.0 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#defn-coss)
+/S /URI >>
+/H /I
+>>
+endobj
+22 0 obj
+<< /Length 2712 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat$:CN&:Bn[j:)4r&8$j%0sX8r<[omQ%r^:""?G'SqZteoFi,-#kGLm;m`)7Ns8k[9B]Y#4.m`cBH.kO<6D_n*_JSTZ$R_].;dn?Nm#3^O_aIJ;YXE@\7q8gABuX;j?*tpFaa#66ks1(4@@8#gnN)<mRL];5/ISGZA)>QKPqpn[cbVZ+oi.j)+c"qIGdR7[K2?,g;XVc6"Bbk`d3I8]ENPTQE%Q<'5@]H[8spJMH'se!UQU5('i6##!BCU;ra-,kTI+>]ef[[Bm0h<eM?!L<%V/fo,7u#-:?+@QLD+,h$F7GQ#adEm+>[_))E`J!\,M]SFaI<oh[g+o[FX2d7e91u5DWj2C5''G`7I=1N-n?8_kI^Qa.D2QM1iOi3ObWB&P(jaAT01ll<B17+(rbEFaZ')7-WWEN"f5U`n;rqQ+mOnTXjX!h3/k/HYD&gQ!Vbm4cXiqcMOncbD65qp=&kT9nGo_BV6A`8<)3s>205g\=Ghr'2X;hHKWWj`90;NuHX&KIkB.Z\gk=]G`DA7+KYp7*#HU4#I<=4Us%>HGKe5'-[e`5FT`)XSKqI+hj(s%4m7rqX6O(&/(<15"\IUp.N*!X9MD[`r20cR3FkGV@pkeN^3#D@C["p[!I"\0.L"P4)U]T+a=#1C2:W"eW*Ajt*5-_p5TU'V7jX_F$jFlT/N[Nu;J.cj>UJ!O0XC'%48Q3ftUlT8mL5^RG`1M7=Gpg7s,$/oJsD:&lhQb@7oc5uXAE89$WYT(fFD.BVTm8msdqB1+EjB@;DnTGmV"_d=taO;FYR(R%]1637O(RuB[uN;h*5LU,U*O^MHXBqrn>5\WI?]iWn)?$RTi"URc.C-V"u%La0T[q)HqIR8GWU'nej&^;@hJW$Ro<O7t'SLoITqcn#])4@^)U43d7Os7nAQ43Z5dS9_HC,FZQ]Gme@cXJW:q.qInUVDc&_\!,<=rMC#)sP5Pgq&;OZ\?E"#IRMRi3ggGD%1'#.(q5
 Kl>]mK]kDFd(m%&f1j_$Mm0p673Fm7ePGF(lCYDhU\g=Pa/0IW5"\3+Jqn.0s8K*t#W8Y/TU4tV\#dd]J@PD(2NtlD!T$Zb4LYJ'-B]X4EbPO)1TkGM+SSZ'3%T0HXLfb:Qe23>Q7VhC`T8j$cC*nhRpLXA>-'$fte7`^</b\B-S6So8/+Q;kV:kKN6W7sL_75hY&e<(d6E\0Hj%'AmOIc[`Tnmrb9::DA(HiW4OG(BgK5iTPZ`9#G3'+;@`mZ+MhW3=Io4[)Bo$kK?':6QB-+P"7]Rj0hCi>ZLalO\8l?/N<<oPMiENX?e[7cl]jnaeCmC<o&]425-:r'jPf^,0WU5mC=Y!.Es031;,.7kAoeLs1#gF69p\!/EJ'g=OhrC6%973m_eZ@ajC<n7Q+dPNf2"p7L,31P-"dL\#gB6][YJ?:NSP50EH<#R*T/9*6^$Lb`;E<#FVB2T]ZCBIKPT9>D7]H*ju@:mKl*2<Pg+D=f1N%_]`+;U`c?kM$'(2H[)`GcX;AIG9q6(3ZiUXbKBOij(-7MQ<7R]B<0[")CfYIQeg8<RPe=2&e2?[r$<c!UIL]6tdV4X3lX3%HJQfr:o7?ej*J_<p6R-BT<s`W"U,/^3G>OGjBfI66l@q(/&UODJO)b:s3<Q#B_$+FCAn&Ih:r;jZ_8O\\>61?ML#'K_ha_!-&((CU%Y/0c".cSRuM7u5rtT5j4XLLJ=I!tq<PSVSe.-3X1/G0t4:-Ci0]@/?]f43ZbW6?/a=[iTa#R:[oG:!D,X?mgG3@4$I3W&kCsl)n,UT_e'/V)Da$N)&"=02/CTisdK:6tIL*V9\T\0jrK'o^uD!<piQm&fGmR&\E@H65$o+_iD\JC``M)o,Pj67Z14>V\=kAUIFUjb\gj[fI]G#bJM>/Y4Pq"p2%RT"ch6CFK=141D1V\+nan4P&12sK"4hs;JctXKXqk5M)Km)0b]'u\b1>BTb@,T>;GJQ6D]c?fpqcqRAV
 4(?[LcM3q&^0?mtAGk^Ytg4jO:Hr]W\Nh!W`HWYPPaOh`el+3(?K$N<Hl...@m>+XN!l^J`X/*mjFC1H?oXZ]kr9t/7MG,&MjiukLp+7Y;<[,*b`P*'ANi(lR0urPcXodZbMM.*Kst,s%KboA!@.qlAS.g^i=\LBcC)VH*sVF?HJ_4#fbiCPA(D!*VsaSO%#\KncCcE-i*SJ2l<[S,%.!1/C1t4n_BSV?!#:S`M3l)26snZi_eWKEMr(acUetMCW%7j/p_-ep^8b#F#B28L+69SSdJ)Z.F"`U!FuoAd8l]7&N:K%5lXtWTIJ5fO^4]5~>
+endstream
+endobj
+23 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 22 0 R
+/Annots 24 0 R
+>>
+endobj
+24 0 obj
+[
+25 0 R
+]
+endobj
+25 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 107.664 584.228 246.648 572.228 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes)
+/S /URI >>
+/H /I
+>>
+endobj
+26 0 obj
+<< /Length 1378 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GasIh?$#$Q'Rf_Zi6gf-=Pk4TVei['Um'*8Z"K5fbru[F96=_'!j^hbqB?4PYas&,MpDu?c98u)k3HWf]MF+E5mM571C"UM(HD!#$W9K8;&DSX$,C-XI`u`e$,8&(qs=_A,,b<#h...@F>0V%GoI^0_b8*pFG_HD#TYki^o!/_KVi6A5M5P)9E9`8@K%<\/(NX,Wd33+B!h01q46!MM\'8%-ea>n!cB(@U+dPKaf\N%H@SgWR@g=<QAkmb*NM4nfO6W&mP-BI:m!bp(,FO[lD=m3>pZ?.kGX^ZtN>Fb\C,1ld9&lheeKEi4:$gL)0M[s"_U&&^?0LeqQ8.<8Q;W73RU[^KSLtISpGM2i=>$qLnD9SoT36VSoAHXj;`l`\Dk0fULF/[E\1f4&o6(@5D'("l3V,D>JC(+NUFOf6<;4ZTRe:h3.%kaP2PVoN'q/mY)\j8,!4kjBW(UcL;f0EkiHEnsjfWGfY6+3U+hP7>^%GoCG7<MgD]Q_cp$&]!+_/gOUf[i/Y+,mos!dBn,QO$Ua+CCh<,Kr;*-ZIL?%qU_4X@H:ge<L)1:@67ZXZ0FjG8U5Jm#=+Y"D/Za_-ZlkckXV%6p#6UZW@?__s[u:TDC\V'&$Cq=>r`HcpUNWc$kYAQ`,AkK@'%bh0=Y1#E(cl/`h"4&=EN0H9ccf-b[kW1,WS^&P`Q?@&,Z/V1ql2ks#GL:sgkPK($DGF'fX#=OF*hAG>r7eL'$69GGg1imLWO34.\t;fM=XW[haRLMO>j>nOPuq5&CZ:`?VJ1Zd]dL]DJ<+u<c-/JM3@@D'4MEXIFERb"k4>>L&.?:^L_G?dd_o>38-0;V&+!)N$n5A360:XF"TDs0bNLPGKB8a+LEN9%'"g#CR-\a/goZk,JY?T5r(OcR&l`!PD,WO)*q=s!`^QKj%;Jn/XF_-LA@_``cY[NH:*LT^E0uhk/jjuJ;%CFc:Y`:2Rek'D8rp
 @(E;5Q]Z.'0k_2q.D);'52@'@[It1\*b"j8G86%b0bN;4Q$90^GA'fi#m-iWZbrCh#^eW'KA*AndPsXiP/=15._UaL,(!FkNdW6CPq=O&tn\2&KTB=!pFJKR2hXWuj46na%."[QtN:*2&f_7jSJa2#??k8bddtV+&4,@J6OiXok)[[VCS!^P#QhRZ1"+O]FOMK4Ea5c=D@=>akam7q]aa"u;dBPeM;]@lAHX=H%oC$1iBBE&"$+N_=it)?A_@H3)^bFE4/%1a9?'tJ'V%kJa?7Ids3_Chp]Jp0+]l"BHBh]cV`2\Zjq]d=S.<MLi06B(7qs8Eo*GT>6//5UVIi+Pt9t-i;qH:eme#(Eg7o[auHQiXiosoXcVtY^_W/^Zrf(fj?~>
+endstream
+endobj
+27 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 26 0 R
+/Annots 28 0 R
+>>
+endobj
+28 0 obj
+[
+29 0 R
+30 0 R
+]
+endobj
+29 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 405.488 378.0 393.488 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/)
+/S /URI >>
+/H /I
+>>
+endobj
+30 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 357.154 166.032 345.154 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://issues.apache.org/jira/browse/AXISCPP-291)
+/S /URI >>
+/H /I
+>>
+endobj
+31 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+32 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+33 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F10
+/BaseFont /Courier-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+34 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+35 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F9
+/BaseFont /Courier
+/Encoding /WinAnsiEncoding >>
+endobj
+36 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+37 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 5
+/Kids [6 0 R 14 0 R 19 0 R 23 0 R 27 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 31 0 R /F5 32 0 R /F10 33 0 R /F1 34 0 R /F9 35 0 R /F2 36 0 R /F7 37 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [null /XYZ 0.0 0.0 null]
+>>
+endobj
+xref
+0 38
+0000000000 65535 f 
+0000014904 00000 n 
+0000014990 00000 n 
+0000015040 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000002280 00000 n 
+0000002400 00000 n 
+0000002445 00000 n 
+0000002649 00000 n 
+0000002870 00000 n 
+0000015186 00000 n 
+0000003004 00000 n 
+0000003236 00000 n 
+0000005792 00000 n 
+0000005915 00000 n 
+0000005949 00000 n 
+0000006167 00000 n 
+0000006379 00000 n 
+0000008560 00000 n 
+0000008683 00000 n 
+0000008710 00000 n 
+0000008921 00000 n 
+0000011726 00000 n 
+0000011849 00000 n 
+0000011876 00000 n 
+0000012100 00000 n 
+0000013571 00000 n 
+0000013694 00000 n 
+0000013728 00000 n 
+0000013928 00000 n 
+0000014127 00000 n 
+0000014240 00000 n 
+0000014350 00000 n 
+0000014465 00000 n 
+0000014573 00000 n 
+0000014679 00000 n 
+0000014795 00000 n 
+trailer
+<<
+/Size 38
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+15245
+%%EOF

Modified: webservices/axis/site/cpp/documentation.html
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/documentation.html?rev=389186&r1=389185&r2=389186&view=diff
==============================================================================
--- webservices/axis/site/cpp/documentation.html (original)
+++ webservices/axis/site/cpp/documentation.html Mon Mar 27 08:15:52 2006
@@ -294,10 +294,16 @@
 </div>
 <ul>
 <li>
-<a href="arch/ArchitectureGuide.html"><a href="arch/WSDL2Ws.html">WSDL2Ws Tool</a></a>
+<a href="TraceGuide.html">Trace Guide</a>
 </li>
 <li>
-<a href="arch/ArchitectureGuide.html"><a href="arch/mem-management.html">Memory Management Guide</a></a>
+<a href="arch/WSDL2Ws.html">WSDL2Ws Tool</a>
+</li>
+<li>
+<a href="arch/mem-management.html">Memory Management Guide</a>
+</li>
+<li>
+<a href="arch/XSD_Objects.html">XSD Objects Implementation Reference</a>
 </li>
 <li>
 <a href="arch/ArchitectureGuide.html">Architecture Guide</a>

Modified: webservices/axis/site/cpp/documentation.pdf
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/documentation.pdf?rev=389186&r1=389185&r2=389186&view=diff
==============================================================================
Binary files - no diff available.

Added: webservices/axis/site/cpp/images/c/XSDObjects_Heirarchy.gif
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/images/c/XSDObjects_Heirarchy.gif?rev=389186&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/site/cpp/images/c/XSDObjects_Heirarchy.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/site/cpp/images/c/XSD_Decimal_DerivedTypes.JPG
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/images/c/XSD_Decimal_DerivedTypes.JPG?rev=389186&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/site/cpp/images/c/XSD_Decimal_DerivedTypes.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/site/cpp/images/c/XSD_Objects_Heirarchy.JPG
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/images/c/XSD_Objects_Heirarchy.JPG?rev=389186&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/site/cpp/images/c/XSD_Objects_Heirarchy.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/site/cpp/images/c/XSD_PrimitiveTypes.JPG
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/images/c/XSD_PrimitiveTypes.JPG?rev=389186&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/site/cpp/images/c/XSD_PrimitiveTypes.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/site/cpp/images/c/XSD_String_DerivedTypes.JPG
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/images/c/XSD_String_DerivedTypes.JPG?rev=389186&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/site/cpp/images/c/XSD_String_DerivedTypes.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: webservices/axis/site/cpp/who.html
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/who.html?rev=389186&r1=389185&r2=389186&view=diff
==============================================================================
--- webservices/axis/site/cpp/who.html (original)
+++ webservices/axis/site/cpp/who.html Mon Mar 27 08:15:52 2006
@@ -260,26 +260,26 @@
 <div class="h4">
 <h4>Active Contributors</h4>
 </div>
-<p>Susantha Kumara &lt;susantha@virtusa.com, susantha@opensource.lk&gt;,</p>
-<p>Damitha Kumarage &lt;damitha@beyondm.net, damitha@opensource.lk&gt;,</p>
-<p>Roshan Weerasuriya &lt;roshan@jkcsworld.com, roshan@opensource.lk&gt;,</p>
-<p>Sanjaya Singharage &lt;sanjayas@jkcsworld.com,sanjayas@opensource.lk&gt;,</p>
 <p>John Hawkins &lt;HAWKINSJ@uk.ibm.com&gt;,</p>
-<p>Samisa Abeysinghe &lt;samisa_abeysinghe@yahoo.com&gt;,</p>
 <p>Fred Preston &lt;PRESTONF@uk.ibm.com&gt;,</p>
+<p>Adrian Dick &lt;adrian.dick@uk.ibm.com&gt;</p>
+<p>Nadir Amra &lt;amra@us.ibm.com&gt;</p>
+<div class="h4">
+<h4>Additional Contributors</h4>
+</div>
+<p>Samisa Abeysinghe &lt;samisa_abeysinghe@yahoo.com&gt;,</p>
 <p>Mark Whitlock &lt;mark_whitlock@uk.ibm.com&gt;,</p>
 <p>Andrew Perry &lt;PERRYAN@uk.ibm.com&gt;,</p>
-<p>Adrian Dick &lt;adrian.dick@uk.ibm.com&gt;,</p>
 <p>Sanjiva Weerawarana &lt;sanjiva@opensource.lk&gt;,</p>
 <p>Farhaan Mohideen &lt;farhaan@opensource.lk&gt;,</p>
 <p>Nithyakala Thangarajah &lt;nithya@opensource.lk&gt;,</p>
 <p>Rangika Mendis &lt;rangika@opensource.lk&gt;,</p>
 <p>Sharanka Perera &lt;sharanka@opensource.lk&gt;,</p>
 <p>M.F.Rinzad Ahamed &lt;rinzad@opensource.lk&gt;,</p>
-<br>
-<div class="h4">
-<h4>Additional Contributors</h4>
-</div>
+<p>Susantha Kumara &lt;susantha@virtusa.com, susantha@opensource.lk&gt;,</p>
+<p>Damitha Kumarage &lt;damitha@beyondm.net, damitha@opensource.lk&gt;,</p>
+<p>Roshan Weerasuriya &lt;roshan@jkcsworld.com, roshan@opensource.lk&gt;,</p>
+<p>Sanjaya Singharage &lt;sanjayas@jkcsworld.com,sanjayas@opensource.lk&gt;,</p>
 <p>Chaminda Divitotawela &lt;cdivitotawela@virtusa.com, chadiv@opensource.lk&gt;,</p>
 <p>Nuwan Gurusinghe &lt;nuwan@beyondm.net, nuwan@opensource.lk&gt;,</p>
 <p>Chamindra de Silva &lt;chamindra@virtusa.com&gt;,</p>

Modified: webservices/axis/site/cpp/who.pdf
URL: http://svn.apache.org/viewcvs/webservices/axis/site/cpp/who.pdf?rev=389186&r1=389185&r2=389186&view=diff
==============================================================================
Binary files - no diff available.