xmlbeans-2.5.0.orig/0000755000175000017500000000000011331341653014162 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/docs/0000755000175000017500000000000011331341653015112 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/docs/xmlbeans.css0000644000175000017500000002724410320272567017452 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* The styles most likely to be used are: - Title: The title of the topic - h1, h2, h3: First, second, and third-level headings within the body of a topic - relatedTopics: Related Topics - procTitle: Within How Do I:... topics, for headings within the body of a topic that are followed by bulleted procedures ("To do this"). - pre: For code blocks - langinline: For code fragments within a (non-code) regular section. - notepara: Notes */ h1, h2, h3, h4, h5, p, proctitle, relatedtopics { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; } /* Use h1 for all first-level headings within the body of a topic. For the topic title, use the Title style. */ h1 { font-size: 135%; margin-top: .5em; margin-bottom: .5em; } /* Use h2 for all second-level headings. */ h2 { font-size: 125%; margin-top: 1em; margin-bottom: .6em; } /* Use h3 for all third-level headings. */ h3 { font-size: 110%; margin-top: 1em; margin-bottom: .6em; } /* Use h4 for all fourth-level headings. Note: this style looks identical to the relatedtopics and proctitle styles. */ h4 { font-size: 105%; margin-top: 1em; margin-bottom: .6em; } /* Use h5 for all fifth-level heading. Currently, there are no h5s in use in the document.*/ h5 { font-size: 100%; margin-top: 1em; margin-bottom: .6em; } /* Use the Title style for the title of a topic. */ p.Title { font-weight: bold; font-style: normal; font-family: Verdana, sans-serif; font-size: 142%; } /* This deprated tag creates a div that designates the title. */ #topictitle { } /* This deprecated tag creates a dive that designates all body text. */ #topictext { } /* Used for figure captions.*/ p.arttitle { font-weight: Bold; } /* The attribute style resembles the navtitle and partdesc styles in that it keeps the next paragraph flush with it. Use it when you list the attributes of syntax in a reference topic. The argument style should always be followed by the partdesc style. */ p.attribute { margin-top: .6em; margin-bottom: 0px; font-weight: Bold; } /* Standard HTML tag. */ body { padding: 0px 0px 0px 15px; background: #ffffff; color: #00000; font-size: 80%; font-family: Verdana, Arial, Helvetica, sans-serif; } /* Standard HTML tag. */ span.bold { font-weight: Bold; } /* Standard HTML tag. */ blockquote { margin: 0em 0em 0em 2em; padding: 0px; } /* Use the filepath style to designate file paths. It is currently a monospace file. */ span.filepath { font: 100% Courier New Courier mono; font-family: "Courier New", monospace; } /* The langinline style, like userinput and filepath, also renders text monospace. Use this to denote any individual instance of code in the context of non-coded text. For example, you would use this to denote the name of a class when you're describing it in the paragraph that precedes a code sample. To denote a code sample, however, use the
 tag. */
span.langinline {
	font: 100% Courier New Courier mono;
	font-family: "Courier New", monospace;
}

/* The listplain style narrows the margin between the formatted line and the one before it.
   It is to be used when creating a second paragraph in a list item, along with the indent and
   unindent buttons in Dreamweaver. */
p.listplain {
	margin-top: 0.7em;
	margin-bottom: 0;
	padding: 0em;
}

/* All text in the navtitle style should include a link to another topic.
   The navtitle style is used in navigational node topics, in Class reference
   topics, and in Method reference topics. For example, in the "Topics 
   Included in this Section" section of a navigation topic, you include the links to all of 
   the topics in that chapter, along with a brief description of what you'll find in each. Use the
   navtitle style for the linked text. It differs from a normal paragraph style in that it does not 
   include an extra paragraph break between the link and the descriptive text. */
p.navtitle {
	margin-top: .6em;
	margin-bottom: 0em;
}

/* The navdesc style is used in navigational node topics, in Class reference
   topics, and in Method reference topics. For example, in the "Topics Included in this Section" 
   section of a navigation topic, you include the links to all of the topics in that chapter,
   along with a brief description of what you'll find in each. Use this style for the descriptive text. 
   It indents the text one tab stop and keeps the margin between this style and the navtitle style small.  */
p.navdesc {
	margin-bottom: 1em;
	margin-left: 1.9em;
	margin-top: 0em;
}

/* The notepara style indents your text to the tab stop for note
   text. You should always begin Note text with the word "Note:" in
   boldface. */
p.notepara {
	margin-left: 2em;
	margin-right: 2em;
	margin-bottom: 1.5em;
}

/* The partname style resembles the navtitle style in that it keeps the next paragraph flush with it. 
   You use it when you list the parameters in a reference topic. It is also used currently in the 
   glossary to designate glossary entries. It renders text italic.
   The partname style should always be followed by the partdesc style.*/
p.partname {
	margin-top: .6em;
	margin-bottom: 0px;
	font-style: italic;
}

/* Use the partdesc style when you describe the function of the properties, parameters, or exceptions 
   listed in a reference topic. It is also used currently in the glossary to designate glossary 
   definitions. The style indents the description slightly.
   The partdesc style should always follow the partname or attribute style.*/
p.partdesc {
	margin-bottom: 1em;
	margin-left: 1.9em;
	margin-top: 0em;

}

/* The point of the proctitle style is the same as the point of the relatedtopics style.  
   It applies to all headings that begin with "To [do something]". It looks identical to the h4 style.  */
p.proctitle {
	font-size: 110%;
	margin-top: 1em;
	margin-bottom: .6em;
	font-weight: Bold;

}

/* Use the relatedtopics style, for the words "Related Topics" at the end of a topic. 
   It looks identical to the h4 style. */
p.relatedtopics {
	font-size: 120%;
	margin-top: 1em;
	margin-bottom: .6em;
	font-weight: Bold;
}

/* The syntax style renders text bold. Use it to style all syntax lines under the
   Syntax heading of reference topics. */
p.syntax {
	font-family: monospace;
	line-height: normal;
	font-weight: Bold;
}

/* Use the syntaxindent style to indent sub-properties of syntax declarations. */
p.syntaxindent {
	font-family: monospace;
	line-height: normal;
	font-weight: Bold;
	margin-left: 1.5em;
	margin-top: 0em;
	margin-bottom: 0px;
}


p.fileurl {
	font-size: 8pt;
}

p.modifieddate {
	font-size: 8pt;
}

/* The syntaxpartname character style renders text italic. Use it to designate 
   syntax elements in reference topics.*/
span.syntaxpartname {
	font-style: italic;
	font-weight: normal;
}

/* These specifications dictate the margins and width of tables. */
table {
	width: 90%;
	margin-top: .6em;
	margin-bottom: .3em;
}

/* The background of header cells is grey, and the text is bottom-aligned. */
th {
	padding-left: 8px;
	padding-right: 8px;
	background: #cccccc;
	text-align: left;
	font-size: 80%;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	vertical-align: bottom;
}

/* The text in normal table cells is top-aligned. */
td {
	padding-left: 8px;
	padding-right: 8px;
	background: #ffffff;
	vertical-align: top;
	font-size: 80%;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}

/* This style creates space above and below table text between paragraph and the table borders. */
p.tabletext {
	margin-top: .6em;
	margin-bottom: .6em;
}

/* The editor uses this style when creating template guides to designate a style annotation. 
   You probably won't want to use it anywhere else in the guide. */
span.template {
	color: #FF00FF;	
}

a.toc-node {
	font-size:11px;
	color:000000;
	margin-left: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
    white-space: nowrap;
    font-family: Tahoma;
    background-color:#FFFFFF;
    text-decoration:none;        
}

/* The userinput style renders text monospace.Use this style to highlight text that a user 
   types into a text field.  */
span.userinput {
	font: 100% Courier New Courier mono;
	font-family: "Courier New", monospace;
}

/* Standard HTML tags. */
ul,
ol {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	list-style-position: outside;
	list-style-image: none;
	margin-top: 0em;
	margin-bottom: 0em;
}

/* Standard HTML tag. */
ol {
	list-style-type: 1;
	margin-left: 2em;
}

/* Standard HTML tag. */
ul {
	list-style-type: disc;
	margin-left: 1.5em;
}

/* Standard HTML tag. */
li {
	margin-top: 1.3em; 
	margin-bottom: 0em;
}

a:link {
	color: #3366CC;
}
a:hover {
	x-text-underline: normal;
	/*begin!kadov{{*/ text-decoration: underline; /*}}end!kadov*/ 
}

a:active {
	x-text-underline: normal;
	/*begin!kadov{{*/ text-decoration: underline; /*}}end!kadov*/ 
}

a:visited {
	color: #803380;
}

a {
	x-text-underline: off;
	x-text-overline: off;
	x-text-line-through: off;
	/*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ 
}
a:link {
	color: #3366CC;
}

a:hover {
	x-text-underline: normal;
	/*begin!kadov{{*/ text-decoration: underline; /*}}end!kadov*/ 
}

a:active {
	x-text-underline: normal;
	/*begin!kadov{{*/ text-decoration: underline; /*}}end!kadov*/ 
}

a:visited {
	color: #000066;
}

div.footer {
}

.buttonclass
{
	font-size:10px;
	height:20px;
}

.formclass
{
	font-size:10px;
	height:17px;
}




/*DEPRECATED*/
p.codeblock {
	font-size: 100%;
	font-family: monospace;
	line-height: 1em;
	x-text-tab-stops: repeat 1in;
	white-space: nowrap;
	color: #000000;
	cursor: text;
	padding-right: 1em;
	padding-left: 1em;
	padding-top: 0em;
	padding-bottom: 0em;
	margin-bottom: 0em;
	margin-top: 0em;
	x-text-underline: Off;
	/*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ 
}

/* DEPRECATED */
p.bulletindent1 {
	margin-left: 1.5em;
	margin-top: 0;
	margin-bottom: 0;
}

/* DEPRECATED */
p.bulletindent2 {
	margin-left: 5.1em;
	margin-top: 0;
	margin-bottom: 0;
}

/* DEPRECATED */
p.bulletindent3 {
	margin-left: 4.3em;
}

/* DEPRECATED */
p.indent1 {
	margin-left: 1.5em;
	margin-right: 1.9em;
}

/* DEPRECATED */
p.indent2 {
	margin-left: 2.9em;
	margin-right: 1.9em;
}

/* DEPRECATED */
p.indent3 {
	margin-left: 4.3em;
	margin-right: 1.9em;
}

/* DEPRECATED */
p.numberedindent1 {
	margin-left: 2.2em;
	margin-top: 0;
	margin-bottom: 0;
}

/* DEPRECATED */
p.numberedindent2 {
	margin-left: 6.3em;
	margin-top: 0;
	margin-bottom: 0;
}

/* DEPRECATED */
p.numberedindent3 {
	margin-left: 10.5em;
	margin-top: 0;
	margin-bottom: 0;
}	

/* DEPRECATED */
p.tabletitle {
	margin-left: 0;
	font-weight: Bold;
}


/* These styles are used by the search results page */

.search-node {
	font-size:10px;
	color:000000;
}

a.search-node {
	font-size:10px;
	color:000000;
}
xmlbeans-2.5.0.orig/docs/stylesheet.css0000644000175000017500000000412010320272567020016 0ustar  drazzibdrazzib/*  Copyright 2004 The Apache Software Foundation
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
/* Javadoc style sheet */

/* Define colors, fonts and other style attributes here to override the defaults */

/* Page background color */
body { 	
	font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color: #FFFFFF 
}

body {
/*	padding: 0px 0px 0px 15px; */
	background: #ffffff;
	color: #00000;
	font-size: 80%;
}

/* Table colors */
.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
.TableRowColor         { background: #FFFFFF } /* White */

/* Font used in left-hand frame lists */
.FrameTitleFont   { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
.FrameItemFont    { font-size: 10pts; font-family: Helvetica, Arial, san-serif }

/* Example of smaller, sans-serif font in frames */
/* .FrameItemFont  { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */

/* Navigation bar fonts and colors */
.NavBarCell1    { background-color:#EEEEFF;}/* Light mauve */
.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}

.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}

xmlbeans-2.5.0.orig/docs/images/0000755000175000017500000000000011331341653016357 5ustar  drazzibdrazzibxmlbeans-2.5.0.orig/docs/images/conXMLTypeHierarchy.gif0000644000175000017500000005163510320272566022724 0ustar  drazzibdrazzibGIF89aawMMMfff𠠤!,awMMMfff𠠤H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0c@͛8sɳO2
JѣH*]4(BJիXjuԮKٳhӪ5*l۵pʝK]o˷߿È+^8a9?>nL˘/O.9jϠC
wԯ590׭gvsۤsͻHӳ=ƓOУKޙu뽮/]\;ΧOQCQ+E-n뭄~f▋_撊鶋HnBoavo
L@
/0
#91W q#l2%Ǜ,#r/,s}1[8w;o={D64GtfIKP7SGmaU\u_w-\aZhuvkXmtg5u	wh|_߄5x7;aWnonbgֹ[k^皅FzFꔱޕ먃;_+V{F{`.:A˕-}	f!-<үU}_Ar'{5jƪ=F,Oo*}:?
e𧯾;ysBU>G;P"MQ{gS
II{k`@aK]fAgP-< H<ʉ"|J(	
%H$=0:lGW'/N$9MQj(!r눢io^1TMDa::S+o{4*8"=#ꂐD#4CQ?դ¢/ZH%d$o)ҏ4F|;l	ݗjK-c8-Q*FiZr#'K3]'9\ьJeyHIt覹L1$C2432Ou	,:Ϩ|\a<+UOt|d)86ӃAZVŢc!>J@n44l(Ps]L!V
OPJL_])A3}art:ݓO2T5w*jY:IGET2I(W)U*y`uJֲh5UօpҸUc{]*MIJX͵Kkasdd76,˲RUܲ&fmt5j
պWmZ+*ͭpv
.K\zMni:ЍtKZͮvz
xKMz$2߾/K~_+
L2`!^K4x)K	̘	˜0+`l(K2ⴔ%'^⭴x(/~I2cԸ+7&IK_w,;NI2d*GHb8n̒u\aLy.M˕t#_fJ\e˷NC捴)oHAl3Gd(~2gBtCg4kYr:Kgf#Jkܐ2i q4QƜSi?'}L|SW ,d:^58žcєmO-WHuNVSN_wioe54HR~j׼).y6	168/H&6h|G1[sWB9{_W-sz>E>Y{~'fE?;	*g0͇az"y5x?b'Iqy7??gEaE~4~g}{yMq'Ey&{#EL7qdyg|6x{QK$Lsշ7s(/}H1|SG<5ow7G9W~wgcG'{$*NM4{50X@vNkȀEwqwa=8>G7WWh~1$u艎Hsvf8wZwtvEuon1r֋8~9HIwRH#3,%$֒;$趍jQȌFxomkXXSxF5؎ƏV5)f(HhiwYΘ	iȑ7'qBg$9pxY'~fA""vv^h'q?D(/8cgM!tykx$	E3)K='A-yLXD
9E[,YNtHYؑՐ⓼wk\jD锧xO7Vt$fKeCW=xu_ٗGG"	HfA(|m׀QMzj*xx'gvW5)Ew7y~YC~irl@y|ɜgz|0Q9(JʙPةwt>rɆ3)gX{9#hX$('NX\Hȟxd\G9vY*h'
*z^uaן2م*/9*j7j|ɇ.:OXP) S5MB,yء	l:ȥeL?~P)%	?hhnjx		42:lژA~NxX!I~kIidadx=7SDW幧:_hECDpiHlNZ;:i9jZؔHE"j+	SZIXpY
nIJS
Dમ8jn21خȯ&6)Va!&;ު)a$[ڰֆyjұHm,o.ˋ$ 05ۯK8سGߪ;K{ʴk*j&jZkV׵?`8Vf[<[+loV\t,VxkwRTM	Al뷅K}볉dӒBYG[ۧt{	y!׹h++ֺtiGD(L)H[[0*)&أM{Jt%xZ$Yk-WyG
Ƚ'@%K CiϻyK9Q[3ub
ԗIg]'ЃKIe;,Ll{aC	,hex	hQ
yԄ*(O)̘ج5j+|4i/,Lv.LĨt@QZ|i[ŇYA_L5%ƓalcLgPbȺ_(iH;4RǙkıw$<NJ,.*X)ăs7N\ϊa
XϵhAt!цv"6"
 ']0ljg)


}%$3_5-9-1C`;m?MEM.mbG-gH=қSj^
jt֖@d]9/g1֝n8rmLo;KnPdz6KmWkaV;oi؈DžIK-K=l
׻y"نDkهڕטם0)֜mث-ؙ#{ݽD8D9*gMKٻm!M]Y,R2
+
:{a&ds=ێCGiEw?C狽*CھRUXvLɴ|H3ɀ
ޤ2sMhF>9}v|t8qtCv#pl(X4ލi~|׷֊t4h`<mr^kL(([׬tM脴;ikd>x*ǗeN77KΗѷނ@K-JFH{|Mn9ÿj
锦qǫRQ'Ir>%TGn*L8΄s0h8z1X.]>V]W{Ӟɤߔȱ*jFȫPHtz⯘Jo^ɮ~^%Ͼ;*Jt~>I,-
}l˝|Mݏ;}ASK=}=R]hQ׮k_ή=aN/mp
޴]B>Opo~/N)y-	)qǘۍ=3	.\/F.ٙ/ϭpLsSsXYyOL?9sO{
ޞί罋wO(4.ټcܞU	ani뵚ɍ搧M./@D'.1#D	:رBET`ĈM~RL)I292G3=2AA4J2/Z|cTmVeZԩUDathjҗ
{jUE\Ty+cK2&PEzvޥ%W[*~[cJo搐&enn`8[63`T_{9.MPħLvekWzpjy/]9ʬ?	xMҢ~o+hx}Q{[Cfާ`փæ3/7\?O߆/Λ?OKN1
AڃAʺ.kE
oO94\GcѨe*qRxG"+!4)pE&rG/T:T35ӓK;:e,EɱQ8-iЖU/:ψ|sl$3RzR+P$E,rSAM081L)b5Nu:TYLW]$	=?}6ZitZk%M
a6\OBULqXL[>խ[xs^oUWXw7q_hK4	>W}]4nv.E#.}3xWp;fN5xđ%di'Vx[FًavcxK^gay6Yg'u_y|d]r_mhy~jq`Sjy{^[noetog;ew#{g{&7.yVy矧isnDm\iY?|~iמlO/I./O6kGo<pwA-P1Q͓.H?9&,3Ab/0"X8,h(LIբr
08AtU0ok`8^)R5`g=SWk`Ɔ4{Ol›IMC
*"S!pB/K+"ز3mq'WTYd!X$7N1I9CHnNOY/3Th/uҐBd/H*Hnp +%9RZ"cD;r2ɺV\QqrTrY[&EKQT;$'8Hdzģ3LqV2&9oYNtݑ3	3rӞgܙO~3cg@}Ԡ@Pv
hD'QVyhFPvԣ4GEOԤ'WHQR1/TS>ϥ5iNgS?*RfTbEEHTMDUrU@U]=Vixg\YZ?sk)8cW20u]\W3yz+&Xy-7XƪpmaY֭m.ZeXAV9ak"-mjCk̦֟Ӽr7i0s-aCnsSYq~Oɺ.?u@Jb +6w9fCܾ
׺tfvu5jq-p2ksO^I*Ҹ
q#a/Yb6B,Nƭd!eaE1s1s%yr&1CM\J0Wms?x	*`1ypI%Cɣ򠣮٘VU|+[AjsQ]0GQpG̡b-Nլ1͆=nygł˾zqL)9j;.L:zUU2cN;.5h+ULeKI]XCoCu[M<5m`kl؝)keӴ n6m>۬~[݊mgkۗ6nknuC4-֦7Ew)Wv{q]
\Nփ̏~mwd3;N}X
#rG1_8+LA^yw|OyA9Yyf:|a=zY,mַOu{Zg{=ip=)ue/߰64KsNX:J@E>t 䢯?e"sA!(B4@(A1Z3,|B.<>&/0>2@#2L4775B$CB˩C(ςv 8s/K?:	K29T{k=Ծ,@
$B-?KĭBWYMssGH%A.
CU
[\yA-3QA\FA+Ta1LG9k$Fz;I:85"a<0%Ŀ#r$s-s0,DDG|4F"m/"&6DC
HÈ7DH[{԰LERC9DcɶIhYH{I1Jɝɠ7T7BIIJDʷQ?қܓ|(>JJs"_4J^9ʎQJ43KO$J̾&tD4"
JqKJoARYRҒ_=$Z+H:Ӑ$S+3V,'|F	1y$,E	:S55Y@=DzRTB'LoqDmC?Xĭ\B4Ʉ2L.F9
8Ӂ:w
6
_yWJXBZ
UG >f\FSHFm3>/$ױTUsDG4j$4>P-W9(<~VAFZ%)K\4NUAHG;U+ՇFuS9zGD˺\;Y,L=W"Xe7UWd~2$ٛV^ƭG ayRE2%U
;CL9Y1JE$RÛ&Ui?%\cAXyҎ[]RIm-9C[|2[AӹZ[?I0;VA|B(
CZF4\*ܪ0\l]*k\HlAdHyӶUЫ}"IBMZcs2LZU%1ŲH,zZh"_͸͘ڲW]bm{aE^MUe֜5ULU\/U8#f4Zb<41G1ً]MUȣ^ߌ]Td]iv-%^4z_{H߃GyrW]`|
95*`\i#=a5 E_ #	lm@nF^
ɋ[-.1S"7ҙ$&I'ۑJ[Bz[85FS/䫭dB6GHVCENN
`#eJfdOVbX~-ME)K~TnUV%#`!bFf	сhcf~fwhniDEf)]O>-^'`fCvSIAjW*IO
higU2rV @g'bEy.z>`Pf̴,:m}^hDs)<
G&5xٕ֔Vhvz*+WCi#>)@%bcY-^YE&0k̠
&vbB7vƄhLjA%L4͛Ư!Ikԓku%k
kfef	c-l9aKl]i_{lll^
\lQh~fnϮv׆ؖ٦fRl±vO
(r&6<ʃ"{
n>:k'n0nnlnܾnﳫoNQ*ogZsioonD.*+6ƫ)OJ+j4M+	j
g4J+
)gJasӴ96?q8^Gg)YeINVe
M\vg;9>]rb[]C>[)O_*[m+^K	r!a"rEL>s+Be./70sF+7sActE2Ga	fPgP{dCU)w^YVa7	f҂v.cWuZ7_V}߸tw7;^]eUu_>;Tx!~`Wt:06UKctggFԗ/Fʄ_hViy&1^~fx+z!x,YJVyax``/xc\h%:WJxm!^Zsu$Ae{D$~\Kka{`ta7-&gǓ\M'k"%0>c}SMcasu$:䦃6x|YY
ŕG{d%_u,NO9ȟsucDnsVHVG7GeYԓ@Ny{xdrwE'o,h „
24Æ'Rhbċ7#H5idUlɑ%J.gҔ(Sf͜q3dϔ?
J"HG*M҃OjՏXu˕@
TdRVͮZVPNf}0Gε7oٌ&XpǔS%⻍5Ǝ=w3c=l2(-6sWu&Z6AP]\<}ۅMmnni]Y*`N*碛%i=Ria Tj4b悒RYXa^wFif&vx/;(y䴝탭~^[%ꩲ"[ЖiV:f:N/hުӽ:,Bf켠[$5,q	K0wJʻ0V_QֻgΪZ7
X{^#.gMLr{	-`8K,,+z3oh&7lq7*ԅͨklǑ(aXknƳЀ
v[\k3Y6׎g|EJTzӛKX^_.~]_hЊ.O뾓)^#3KS?i_	gS/n=ϯ>O|?pdCɀK b>V 
r C(Bn&!!1ùfkS6)F+I.=xSGLkQ!^BG6Evp+kpʙc>o\6ʠJ2}PZrOZI$1ISJz\'f.uzhJP0cTG|4ȾU)'>&H[z՟:+K6dKvkm٠CYX˞tV;=X|`ۛ6
6hKa/mlaYB.;o˪x*[	urCyǻ4Vz4;۩shJxהqV,z@Mtls$:mWUOPfui}x^[t_;s볕ܑwN\o+٩t™}ߞbE͠ڒ[|6kl*0V{|tםw}l|I:~>ܥ;<+X!7=;$-3>'xzz{Wf=k&˜ֻ݆z|[}NG
'Ok>:۽d"s84w{նȣ=9FӥۊtT}E٧v_Z]]W\
]q2E> r

^	K=e[
^`،]~8[νUOaZu EZ"M-UR8}cizRS<%.=2R
)cr9Қ^)?a9W50pBٔ]ޞ66TH:F>$DRӪ,=N-xK1Ii-,R}yfņ*N)) =~^F윂؉iŗ14Rjx+fȥ-zk7GJp&.n@`"-Sݾj`nZn&3nz.SI#52AzB&檦pB~|IPom:
ki@©Zoonr%IĆ̮zƍkv%
-xMon.bԬ*/B(pf//krgG(/eb0 'Mi
..0uY;N_
N==ӗ/p:q#f.}C.cy°-"א62
qs"A11Eh2F)'`c&')]Z2qD-+!K>.-!lDFz/bsw
phU38s4[E#CcUhsL2D2r:BIF:Wr0c.ӳޮ
VH:'	3>setd>>[)21.SCA3fECg.n7E/:4ECfXqtGIG'QJQK{J#DLwLyiMOM}='O$$O4NOQ#q&1#5S{)?5TGNU9sUbTw=H5Y1GCYW5_6y\CYuon,B~a=aPN
J !VmSM+? RM6DV݊M36tARrp rJUj֒'vvK7ϱo16pw4a>q4jvw]
e-6UG<Ib__YIq[*x#qNCq(ncT*!ϫlkkẁ6@ΪNr_+2 2azn
εrǷʫ(,vΉ*w7sJ#v'
8x#8wwn@8#!.!6L+ՂJRl?xl-wp~Z
Iykh9iy&9P!zxs]yiؼm
ퟒw890څ7Chyީwҷ>+2cYu.*inǶ1O?mwyw5QC8['wW=j8z>~&:ws
r:즠ݚ:&#{_
~\%8:*i/w7]60:wogb⺳	0^5p-
[cQ/_6ӽ#c?
7[$B-JF/>1Oq?O>W_>go>w>臾>闾>ꧾ>뷾>Ǿ>׾>>>??W/?77hGO?W_?go?w???]nLhYr4nY]7"1@48P &TaC!F8bE1fԸcGAI
MBLʂ+MlsdGof̩Ί>'efQG&UiSO4H˒UO,9Rgz
;5ذ^Y~ݪZ3U[vnڸvdշDv0׼r׭mSVzfּsgϟA{*Q$GNvjY9kڷev=مm+Nm7eGy|ru>-zuױgq˿7{”eN}qmweX_Ԓi
Nw.C?ol!D9),7ڻ-/CpEO4CD0qQyqB/Q.-2O>Or&,!!DI&S0sF 7S9dM9S=?,O8
CMTEmG!TRF+OI1TM9՘&OI-SQ?MWaU0D
u_
Va#2]_XmgMuې?\1VmR#OFqYsMW]Zլ5r|N0+t{W_X&.NXn!X)1X9AYI.QNYYnaYiqYy[_.ֲNZ饙n駡ZꩩV<EXkZDɖ(|^\p}̿HlӾ7oe1F#-w>you7#]Z^m7|n{
wr/[%/t4kqFƜm6EݹU	0'^u䗏+Uwx>uϷg<.,gn~@͏~OU
r^#G?b)
<AN0Z9&.KFmXp]
ڧƠ`=A!0z-#vSLx1j:^ŖBplq!/%
+MkHxFWoz+-G@p7}Fϝe%SYӭȄO7{Ăs\
ϓКbKv3qjP1)}M*bvhMm4־lv^ͳ6:7Vml쥎۔C	w8C۶{w0+ <ߓr|jYM0`k(8nopӍgFiB. 5>7a(+re:s;jmeN>N;ܔHcR#&H]#vrvw*
BId%^wr$7{RYW'}UX476݁M^dѻ:◷[˾oT0ׅβЗtomq+hkFa;0w\ µѩ\t
u~	4t2Izݻ1)=>9ڮHuSJ>9hػytoGmx]cvPQ8eqŽOO")f+0=/s4	%}<0qE0MPORo9aN@0if0jPvhzr0X0PZz=NϏLx	_ƎJj
Ї
Npӥ
Oе<袰VWf
_h
pI\1q	
1q!1%q)-115q9=q
@c
цk
kkjHY
onqʬo 8H/(ˬҭ*jxL$l?x;gKr,Ր0ԑl開qάm֒Dms,Ħ픠% ,|% 'KnnL rM60\,Ok!OMH-"N-
3)h#s	J'}-!E
	R넲ؒ-jRЈ.Jr*Y.]	R%*k#cYr..//A沫0[Ϭ있/0s
1mۏ3%}q%±2unLBKJS+ŢڔP]Q,?L"D2R-nJ7g@΢x(SC>N(jS:s(C=P@pr9я9r?UR=IJ3-.0J21Ai/r}b
@9-CA-?CDMDQ4EUtEYE]Ea4FetFiFmFq4GutGyG}G/H;p暍DeæPd6tI߇704@fh~.^lZSL+E+H9J+<3$sز2κRMǥ>2ԤbrY=!)OWGQQO1O:)'!ǒLO?5@URq*5220Ȟl]5^mNTCTIqu!sW}W5XuXXX5YuYYY5ZuZZuZ{tt[3lg[5{fȮ-Lm5R8l S]O0VJ ۲'\7~׎)2`%Kn%%_DbUb1;xmlbeans-2.5.0.orig/docs/images/conCursorTokenLocations.gif0000644000175000017500000004252110320272566023707 0ustar  drazzibdrazzibGIF89a𠠤!,𠠤H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sܩSϟ@
Jф>*M@NJJu(Ԫ;b
uׯ`n*6&ٲ5Ϣ]˶VnQr.ݻxҴ#߾#LpF-BA!s,c˒1DO	j6HbiE;x:s̖+[1鄧٬q.[e=8W;
:]ǧ#HٵavU{;tڥ>wrF]axux֞zexuan`CV߁&.j!\qQgSEX]\o' v`rg^HU
#Qxb5y$EKأ2iDi$y-b86`[(]|ߘ_Y&zbqu6p9Q?".$R)·^ߗe::b>)\Ub_hJꢴy`9eimJ熲ZI+ֆk>cfկ΂)t,Nj6(%ƚjԾĭr~;l
Y_y,n^({i$)!벇"Po)jDqvl\z~ytWgN(Z)<)(Ȃގ}J{9w/!_윳*n{{)Ny0q,
mTjA.Mu궡U#lVа#S*S֚U.8hQ-uF6{UY
kLYQ"(\3WS+HVK;!{2g1s<ͥ>VLd&.HNr"/Ie8ٯa3X"޾)S{YIrs[<
p_AfQMvFe4X4D̈	vӨd,dFǸ
z,j,3Wd]LT?~3ulzǶs
k8Ik}`KyK&3rmlgڗvоmS,37g^Nc&;u{weQ][f`q
IOb
3鹿_w1)Szwm	+
ah@'Ay?qpq~ۡ|fy˫rjqO{[RÄޏ?gs#=#嶯%[]\z~vk-ƱqY}YQKsQ{,c{&g>xG7"=6P0#y>n[167-lub?A>_,	GN$z=']ZqU*/֡#O96e^1WMW3i
x,c4skf75WN-{XqQ7ԄĀrQ`H8۶fQH;
5{ϕ{)2\0-*Xӕq*!ilev-S$?e,=
KJO(QJ؄PSMS^XXU(bh1THDWEjt8[fMyhVRc"чNȅHi؈Sxl4@\E8h]|Qg(WahHg舱dvWH_8ч،HlDG`##]'GNltUȅf؍8Hexgdh8((Ȋ~(x
}挒x뷍]xx1bȏH!zxHh͸9yY\Ȑ'
I鑰(of"Y?Yɒ)Y-n{
9Yyɔ7)Nȓh@jf8Y@َ(c9Vh(눒AY}yȊ9Rً׊~9xx9iryk؂;QHF'3N7ts:;gKl(E}F
VmgŃI2u*p0%;wI1~wqdyyÝ	_)!iyY)9Y	=&$}B]ȇN.vxv"&Xwz—y%?G%uCPB9YT3YN9ɣ#
SEEJ}bƤv؅1JPIX7TWZstH`c"A5wDy(9}x8\(T4rꅭ苅IIyȐ|^HNnwmjY9IyLfm	\	_Y阒OXGLp8ԩTMI;)Ěi~IɪM6٪$Inت
yʧ
jiNŬ
p
ᚨJڏ[9doړ*FI皔jn
Y!A:?ӬڰڪnxRXII
덼:+1ױZ?{JZ(ZNڇ6j7yGص]|Z@˱1+#ɴwKIuǷimr+t0}nU\rĸ~[?i[iM# ɣY(3J?_~Knᤝ2+*#+Eɗ[mkLȌjzJ8ɵK3IHKdjEn{~ꨍ@:z)Jۼ3*-=GEρk|Ea)~_|BӪL>,P؍۱}NaDŽv-'.ō:=;:_x&ȹA/?>>AŞMWs>BVK-PۉbfO[OZKeD:
\Ω>֮wS
)Nj11VkǭYZ|谣ؘd5ćl݊u6b۱^%;^}8%Q9.=հ~1ԣ+#
`#3s6)Hy#TE>74ґؔ8;7T:,4@FKmP(BC
'w>f]uTRW4W]w啼L18%"elI-Yg_yjsvIlOЉD|CvCo	kLj땵*z$.md]Vc3K@z~T1'{n=we	S#ЭݙB%4%!YnU!?Ir7t&9#Թ<ʻˊ|	[1/6q5#0	"1	A
|"@t@\A{aAA_
YAz@$R !$R*9Z
˿bz"BJ4:,<&s3C,B|]2롰)΢sS+p7,?ʲH{C{꣙a3!;qÔ(<rDԳE
bB<﹒L{;ߣŭC.QiDUd2< U+??;[Ģ!RZ70Fd[s:=aEQs]E9DA;F8Hܼ@)
t-:dv57{jH4^TG70d94I0”TbɎt!Gə+Y䵴I丒4G9I,ʗ4+J)±EgI#95ZZꚚ|z[X;ʫg4 * @*HCʪ̷nCf;$-陉(d\4Fjct̪qLwrXbK
Jq>_\+oT::MIMtjMlJ|DZm4MIMMbkIڕlɕHaTׄ#
YNϚu?({3E҄R.y:Uἤ;LER%1;3DK]$Ӛԍ3ҡEZ̿,b
3간(6ҥZEk/c٤ġXS\=e(C$:\["!PK
 #!&;S 2r=mCp"{uӼ5 פؿy"]Mɬ$	̌" 'S>X@qܵG`ţ]E/=4KlRp]Q><ɾ+6k,JJJ7ڙ^]A_bNa}YQ$#R˽-ԓl=FUZQeUa]m[퍍9[ClVXIHegJU4P`ݠ7xa<MCausa&^‹-m?.g=b4NMY}ͬUH(Eb]
+:016Q*.FB4MRc5Xۺ	/Shd6;~ؑcr$:,9e$+$UP'}O5G\|a^MSc_K`a&f-eUI^f9:V<
ae3)TkI":{6!}T?lDVakζCk~MEUd<^TVaJWV"G“D!&SEzOSqB=FnHa!--Z7V]nڊ?-\M&
]myӊϾ=^}OmvpOqo3I~vombG؃]޾p_vv~pq.xy73o'%qj~x9D6;%K8xJ}	rĔZ~ww8y4k_r
2U3A7yvƗxD֖wzzzoDmzTvuPϧOmGhA_|3u|ɏƯ76{Eaz{ӂL{>?|M}p9M!JiRyRt1=1)]ˣ2	-0r2.OX~}p6醆鯏֤}7y"{i
(-rvI/
,h „
6h0aHl@5V#ǎ5n\Pɔ*Wlr ʗ2gҬi&Μ.Θ@U
ms(҇I,iSRR*լZ:u+ذY-+ٴjײm-Tn=Yܻzwk^0ĊsK+2K\2_ȘR͢
~mHC.끬[oMTgjWZ28mƗ3o|s	'r詵7*VH}E'J<_Rӯ_W>ћsb|F ET^e]}aZ)MH f8Id!c&!QXbM"*4Rex!{  bc8x/^	ߐxxcM:"`~zh%I
ܓu%+JXaddhfQ#^fbYt')t՟q
'N	CأNF*)VvgYeԥ*8땙RY4ͪ;5(jqc#du1j0v믋iZߪ+Ja7W;w{r4mIVkӵO
ξ(pqj(`[*ֺ @;^J,\rʸ";f\\JkL?|1eekA<5OXQZf;/Y/}2I'4u5	YVu]]39+.{U^:~Q[TOK3ޙ7g-[ӣ:h$sŬouw֨z}|oN삃fYoui͸/pr,@7qmuŋ0:kzr1k#8>턀Gi,L~@,8mRwK!_x1DW3)ͻ"E,"-[D	h5h#21j#7Q}IG?
C:1PC<`s&%We9Mew%uU|,ʡ@%5-J*(;	pS8",N2
e
U%D9	L!\f@"7j9vfAWҡw(5.Wijk݂Z[W`_{{u|	s;8*QpX(l`d^qA7s~ӢaxG>m+YcL $>11,	Cc^y&	Zl~ś2>65K]ȦrE*%	r*&珷9xd;{7ͷdfoO&mE	jd&~k_.1{QʹMA=0~63nR2ɗld;
"~/aSLQYP%	(xèNT\u}qX37{-Jb1Z++E[
4,>O):AmV܍pwk?'ܫ\to8iXY'yIQ|pgC&(0/}VJwjY#zeq5|6}wf=,x'Wfh
_
:MZnLF"o`Q>c6	|¯ffJ5I
?~&woz΀
dQ=}ɝ	^y+ɞױDR>WQ)I ݟ<,i5G8G.FTM 1!!q >6Q,ؽEPtM[9%ʼn	EG	`%Y`ZiUѹڍmFV	`[:!`F{Vbՠ!5ڋIGͭVs\! [)!62]p-!"Z`eL޵]ҟ!!'Q`!ұ&š'XZ=rX1~!Wi%>])*"6'"]i-#3~,$"f-]ݦ%]Ω#
YgY#(.bcU_SУ=F#&!#H&dSIRB]?a{E#-gPbE])ƍC	$#$ERLaOPN?;J_%
dQVMV(:ZvcRFcMfc9\zcc>\ݙM].f."K) сYBPZ"Ur_ 
%J"l5WQk
2Z
!?YecE`cZz`6cxc%Dj)fp
Wɦ[Bfivibep)!cM:!'[jhzPPt]yYF੖gUuޣ-'u^[':N}eO]0obNҭxBp2#E!'*%@Y7.^nn`=gkd_ٵ%cGr%"'y^fmfBKҚ}Z5(Qvԅ`fz#iF2e8(^N{.|zpF
Տ["]"YzdUyc|~V"+J]}\"k]Fz&YG&h'fdJ&5beiޚ%$yxc'gi~0N06'1ʓUjs^fo%=H)zխ"}_"➓&|ń*Ѫc5%j
#Z݂+1d@颪azб^m,>k!^*͒3Vk!Ӣ2Ke?j&"b:戲\@b.J 佖sۘeҟe(k`xSz
*1&ȶ.g(LڇONJg6	빅j)^lǮ'4!w2(^fڈBi&1B(&)ʶߑ&Ը"lii
	ʺ:>)$SޭN,X]2n+\>9BWFi
#WF*A玞־&d捲rj):G],ƪfZJꖚ[Q,w1B&g"vlo٪鐅:b=1:|-t*nfאnݭUnn:nB*DzjjآPJz.~ki"ݞbitʥj+~0Pgjnm}vJ$zeVѯZ0@ng"%R((fk.ib٪
c,#kbB ]$,ޒ$V#FŇvTxIqlŞ2V7m

ih~B.iE1QկB/u.^.T1Lp1"
18kr!/"/J]"g:y&0vY*T2߃vAx(r&I#{pޥ*VWlV$Ѻ7RϲjԲ5(l#/1^^	ؾw~5敽2ñk=^.4qGe$+'j

eZ&3A2s)d쿾*j.5R1n(Z긆/!
:Zvyjs o+sk9.(Jz-+Zהr[9Z0يjk1q2r쮎UZhT9?y$jk)޾oǹ^~8)3aken/MqӖ6
'	1 ♩j]{^K;vVnbnNS;s
h_u77{}0E#d'!mqNVgVlfz[o#{3ظOw)
G$.{kK{ gpgs2	1y5
 ?|g6Ƴ&Wůsv|x|r!_zNyvҚ7lS:FX.Gq_7~g?~d)KYccsj>菾矾귾u>;xmlbeans-2.5.0.orig/docs/guide/0000755000175000017500000000000011331341653016207 5ustar  drazzibdrazzibxmlbeans-2.5.0.orig/docs/guide/conXMLBeansSupportBuiltInSchemaTypes.html0000644000175000017500000004631410320272567026254 0ustar  drazzibdrazzib





Java Types for XML Schema





























XMLBeans Support for Built-In Schema Types

Just as with types in XML schema, the XMLBeans types based on schema are arranged in a hierarchy. In general, the hierarchy of XMLBean types mirrors the hierarchy of the schema types themselves. XML schema types all inherit from xs:anyType (which is at the root of the hierarchy); XMLBeans types inherit from XmlObject.

In XML schema, xs:anyType is the root type for two type categories: built-in and user-derived. Built-in schema types are common types defined by the XML schema specification. User-derived types are those you define in your schema. This topic lists the built-in types provided with XMLBeans. For information about user-derived types and the Java types generated from them, see Java Types Generated from User-Derived Schema Types.

The following figure illustrates the hierarchy of types, showing both built-in schema types and their XMLBeans parallels. Notice, too, that nearly all of the built-in types are also available as natural Java types.

Java Types Representing Built-In Schema Types

As you can see from the figure above, all 46 built-in schema types are represented by an XMLBean type provided with XMLBeans. When using built-in XMLBean types, keep in mind that:

  • Since XmlObject corresponds to the xs:anyType, all Java XMLBean types inherit from XmlObject. Therefore all XMLBean types share the XmlObject interfaces ability to create an XmlCursor at the position of the object. They can also render the XML as strings or streams.
  • Where there is a corresponding natural Java type, the XMLBeans type provides a way to get the underlying XML's value as the natural type. See the table in this topic for information on how natural Java types map to XMLBeans types.
  • Values assigned to built-in XMLBeans types are validated in keeping with the rules of the schema type they represent. So, for example, an attempt to assign a negative integer value to an XmlPositiveInteger will throw an XmlValueOutOfRange exception.

The following table lists the built-in schema types, along with their XMLBeans and natural Java parallels. Unless otherwise noted, natural Java types are in the java.lang package; XMLBean types are in the org.apache.xmlbeans package.

Built-In Schema Type XMLBean Type Natural Java Type
xs:anyType XmlObject org.apache.xmlbeans.XmlObject
xs:anySimpleType XmlAnySimpleType String
xs:anyURI XmlAnyURI String
xs:base64Binary XmlBase64Binary byte[]
xs:boolean XmlBoolean boolean
xs:byte XmlByte byte
xs:date XmlDate java.util.Calendar
xs:dateTime XmlDateTime java.util.Calendar
xs:decimal XmlDecimal java.math.BigDecimal
xs:double XmlDouble double
xs:duration XmlDuration org.apache.xmlbeans.GDuration
xs:ENTITIES XmlENTITIES String
xs:ENTITY XmlENTITY String
xs:float XmlFloat float
xs:gDay

XmlGDay

java.util.Calendar
xs:gMonth XmlGMonth java.util.Calendar
xs:gMonthDay XmlGMonthDay java.util.Calendar
xs:gYear XmlGYear java.util.Calendar
xs:gYearMonth XmlGYearMonth java.util.Calendar
xs:hexBinary XmlHexBinary byte[]
xs:ID XmlID String
xs:IDREF XmlIDREF String
xs:IDREFS XmlIDREFS String
xs:int XmlInt int
xs:integer XmlInteger java.math.BigInteger
xs:language XmlLanguage String
xs:long XmlLong long
xs:Name XmlName String
xs:NCName XmlNCNAME String
xs:negativeInteger XmlNegativeInteger java.math.BigInteger
xs:NMTOKEN XmlNMTOKEN String
xs:NMTOKENS XmlNMTOKENS String
xs:nonNegativeInteger XmlNonNegativeInteger java.math.BigInteger
xs:nonPositiveInteger XmlNonPositiveInteger java.math.BigInteger
xs:normalizedString XmlNormalizedString String
xs:NOTATION XmlNOTATION Not supported
xs:positiveInteger XmlPositiveInteger java.math.BigInteger
xs:QName XmlQName javax.xml.namespace.QName
xs:short XmlShort short
xs:string XmlString String
xs:time XmlTime java.util.Calendar
xs:token XmlToken String
xs:unsignedByte XmlUnsignedByte short
xs:unsignedInt XmlUnsignedInt long
xs:unsignedLong XmlUnsignedLong java.math.BigInteger
xs:unsignedShort XmlUnsignedShort int
xmlbeans-2.5.0.orig/docs/guide/conValidationWithXmlBeans.html0000644000175000017500000003205210320272567024163 0ustar drazzibdrazzib XMLBeans Tools

Validation with XMLBeans

An essential part of schema-related work is validating instances based on the schema. XMLBeans provides a number of ways for you to ensure your instances are valid, both at the command line and programmatically at run time.

Validation, XMLBeans-Style

XMLBeans' schema-oriented approach to handling XML makes validation an important part of its work. However, XMLBeans has a specific approach to validation that's helpful to keep in mind when you're working.

Validation features include the following:

  • Generally, XMLBeans validates when you ask it to. It doesn't validate while parsing -- nor, by default, while your code is updating the bound instance along the way through, say, set* methods (although you can change this behavior).
  • You can validate programmatically or by using one of the command-line tools provided by XMLBeans.
  • The validate methods return true or false to indicate whether the instance is valid. You can also capture error information if you want to when validating programmatically. To do this, you specify an error listener.
  • You can tell XMLBeans at parse time that it should validate during calls to set* methods. Note that this means validation after parsing, not during, and that it can slow performance. Also note validation would not occur as changes are made by a cursor.
  • XMLBeans does validate schema when compiling the schema through scomp or the xmlbean Ant task. (When you're compiling schema programmatically, you can disable validation with the XmlOptions.setCompileNoValidation method.)

XMLBeans Validates Only When You Ask It To — Generally

Given XMLBeans' focus on schema-oriented work, it's natural to assume that it might check up on you as your code is making changes to an instance — that it might prevent your code from doing something that would render the instance invalid along the way. But, by default, it doesn't. The design of XMLBeans assumes that an XML instance might go through multiple invalid states before changes are complete. As a result, generally speaking, XMLBeans keeps quiet while changes are occurring.

Note: The exception to this rule is that XMLBeans validates your schema when you're compiling it using scomp or the xmlbean Ant task.

XMLBeans Does Not Validate an Instance While Parsing It

But it's not hard to get the impression that it does. For example, imagine that you're parsing an XML instance using a statement such as the following:

MyXmlSchemaType myXmlBean = MyXmlSchemaType.Factory.parse(myXml);

If the namespace declared in the myXml instance doesn't match the target namespace of the schema from which MyXmlSchemaType was generated, parsing will fail with an error message. Likewise, you'll get messages for other mismatches between the shape of myXml and the XML shape described by the schema.

But these failures and messages don't result from validation. Instead, all XMLBeans is doing is a not-very-deep check to see if the instance shouldn't be bound to the XMLBeans type generated from schema. In other words, the checking done at the parsing stage is simply a "low bar" effort to avoid trouble down the road.

Validation, on the other hand, is designed to verify that the instance conforms completely to the schema.

So you can validate in any of three ways:

  • On request, using a validate method.
  • On the fly, using the "validate on set" option.
  • Using one of the command-line tools.

Tools for Validating

XMLBeans tools for validation include command-line tools and APIs.

Command-line Tools for Validation

Among the many command-line tools XMLBeans provides, you'll find two that are specifically for validation.

  • validate tool — A validation command-line tool in which you specify the instance to validate and the schema to validate it against.

    You'll find the validate tool in the bin directory of your XMLBeans installation.

  • svalidate tool — Identical to the validate tool, except that svalidate uses a streaming model that supports validation against much larger schemas.

    You'll find the svalidate tool in the bin directory of your XMLBeans installation.

APIs for Validation

XMLBeans APIs provide ways for you to validate on request — say, after your code has finished editing an instance and before it passes the instance elsewhere. You can also specify that your calls to set* methods should validate on-the-fly the instance that is being edited; you do this as an option when your code creates the XMLBeans schema type instance.

Validation When You Ask for It

Both the validate methods described here are available from any XMLBeans type generated from schema during schema compilation (because all such types inherit from XmlObject). Both methods are designed to validate the instance that is bound to the type from which the method is called. For example, if your schema defines a <purchase-order> element with <item> children, calling the myItem.validate() method will validate the <item> instance bound to Item. This includes the <item> element's children, but not the <purchase-order> element or the <item> element's siblings.

Both methods return a boolean to indicate validity, and one of the methods lets you specify options for validation, such as capturing messages about why an invalid instance is invalid.

  • XmlObject.validate() — Returns true if the instance is valid.
  • XmlObject.validate(XmlOptions) — Returns true if the instance is valid, using the specified XmlOptions instance to customize validation.

    In particular, you can use the XmlOptions.setErrorListener method to specify a Collection instance with which to capture messages pertaining to invalid instances. For an example, see the Javadoc for this method.

    Through the XmlOptions class, you can specify options to use during validation. The options include the following:

  • XmlOptions.setErrorListener -- Specifies a Collection instance that XMLBeans should use to store errors that occur during validation (or, in other contexts, during parsing and compilation).
  • XmlOptions.setValidateTreatLaxAsSkip -- Tells XMLBeans that it should skip elements matching an particle with contentModel="lax" during validation.

Also, see the section on validating as you go for information about using the XmlOptions.setValidateOnSet method.

Retrieving Error Messages About Invalid XML

When you'll be validating with one of the validate methods, you can specify a java.util.Collection implementation as an error listener. As validation occurs, errors are added to the listener. After validation (and if the instance is found to be invalid) you can examine the errors. Here's an example:

// Set up the validation error listener.
ArrayList validationErrors = new ArrayList();
XmlOptions validationOptions = new XmlOptions();
validationOptions.setErrorListener(validationErrors);

MyDocument myDoc = MyDocument.Factory.parse(pathToXml);

// Do some editing to myDoc.

// During validation, errors are added to the ArrayList for
// retrieval and printing by the printErrors method.
boolean isValid = myDoc.validate(validationOptions);

// Print the errors if the XML is invalid.
if (!isValid)
{
    Iterator iter = validationErrors.iterator();
    while (iter.hasNext())
    {
        System.out.println(">> " + iter.next() + "\n");
    }
}

Validation As You Go

By default, an XML instance will not be validated at run time as your code makes changes. However, you can change this behavior for limited on-the-fly validation. To do this, you specify the "validate on set" option when you create the XMLBeans type instance — you do this with the XmlOptions.setValidateOnSet method.

When you specify this option, XMLBeans with throw an exception when your code invalidates the XML through a set* method. Note that you can't specify an error listener for use in conjunction with this means of validating. Also, with "validate on set," only simple schema types will be validated. Schema types not validated by this approach include, for example, those defining elements with attributes or elements with children.

Because its functionality is limited to simple schema types and it validates for set* method calls, you should regard this validation approach as a debugging tool, rather than an alternative to using a validate method. For example, you might use it to determine which errant bit of code is creating an invalid chunk of XML.

Note: This sort of validation is not supported during changes you make using an XmlCursor instance.

Among the methods you can use to create an XMLBeans instance — the parse methods and the newInstance method — you'll find versions that take an XmlOptions instance as a parameter. Specifying this option would look something like the following:

XmlOptions validateOptions = new XmlOptions();

// Tell XMLBeans you want to validate on the fly.
validateOptions.setValidateOnSet();
// Create the new instance, specifying the option.
PurchaseOrder newPo = PurchaseOrder.Factory.newInstance(validateOptions);

// ... Code to edit the instance via get and set methods ... 
xmlbeans-2.5.0.orig/docs/guide/conMethodsForGeneratedJavaTypes.html0000644000175000017500000002531210320272567025324 0ustar drazzibdrazzib Methods for Types Generated From Schema

Methods for Types Generated From Schema

As you may have seen in Getting Started with XMLBeans, you use the types generated from schema to access XML instances based on the schema. If you're familiar with the JavaBeans technology, the conventions used in the generated API will be recognizable.

In general, elements and attributes are treated as "properties" in the JavaBeans sense. In other words, as you would with JavaBeans properties, you manipulate parts of the XML through accessor methods such as getCustomer() (where you have a "customer" element), setId(String) (where you have an "id" attribute), and so on. However, because schema structures can be somewhat complex, XMLBeans provides several other method styles for handling those structures in XML instances.

Prototypes for Methods in Generated Interfaces

Several methods are generated for each element or attribute within the complex type. This topic lists each method that could be generated for a given element or attribute.

Note that whether or not a given method is generated is based on how the element or attribute is defined in schema. For example, a customer element definition with a maxOccurs attribute value of 1 will result in a getCustomer method, but not a getCustomerArray method — after all, only one customer element is possible in an instance document.

Note, too, that there may be two sets of parallel methods: one whose prototype starts with an "x". An "x" method such as xgetName or xsetName would be generated for elements or attribute whose type is a simple type. A simple type may be one of the 44 built-in simple types or may be a restriction in schema of one of those built-in types. Of course, an attribute will always be of a simple type. For built-in simple types, an "x" method will get or set one of the types provided with XMLBeans, such as XmlString, XmlInteger, XmlGDay, and so on. For derived types, the "x" method will get or set a generated type.

Single Occurrence Methods

Methods generated for elements or attributes that allow a single occurrence. An element is singular if it was declared with maxOccurs="1". An attribute is singular if it was not declared with use="prohibited".

Type getFoo()
void setFoo(Type newValue)
Returns or sets the value of Foo. Generated when Foo is an attribute, or is an element that can occur only once as a child.

XmlType xgetFoo()
void xsetFoo(XmlType newValue)
Returns or sets the value of Foo as an XMLBean simple type. These methods are generated if Foo's type is defined in schema as a simpleType.

boolean isNilFoo()
void setNilFoo()
Determines or specifies whether the Foo element is nil (in other words, "null" in schema terms), meaning it can be empty. A nil element looks something like this:
<foo/>
These methods are only generated when an element type is declared as nillable in schema — it has a nillable="true" attribute.

XmlType addNewFoo()
Adds a new Foo as an XMLBean simple to the document, or returns Foo's value if one exists already.

boolean isSetFoo()
void unSetFoo()
Determines whether the Foo element or attribute exists in the document; removes Foo. These methods are generated for elements and attributes that are optional. In schema, and optional element has an minOccurs attribute set to "0"; an optional attribute has a use attribute set to "optional".

Multiple Occurrence Methods

Methods generated for elements that allow multiple occurrences.

An element may occur multiple times if it has a maxOccurs attribute set to "unbounded" or greater than 1. Attributes can't occur multiple times.

Type[] getFooArray()
void setFooArray(Type[] newValue) 
Returns or sets all of the Foo elements.
// Get an array of the all of the purchase-order elements item children.
Item[] items = myPO.getItemArray();

Type getFooArray(int index)
void setFooArray(Type newValue, int index)
Returns or sets the Foo child element at the specified index.
// Sets the value of the third item child element.
myPO.setItem(newItem, 2);

int sizeOfFooArray()
Returns the number of Foo child elements.
// Returns the number of item child elements.
int itemCount = myPO.sizeOfItemArray();

void removeFoo(int index)
Removes the Foo child element at the specified index.

XmlType[] xgetFooArray()
void xsetFooArray(XmlType[] arrayOfNewValues)
Returns or sets all of the Foo elements as XMLBeans simple types. Generated only when the Foo element is defined as a simple type.
/*
 * Returns values of all the phone child elements of an employee element,
 * where the phone element has been defined as xs:string.
 */
XmlString[] empPhones = currentEmployee.xGetPhoneArray();

XmlType xgetFooArray(int index)
void xsetFooArray(int index, XmlType newValue)
Returns or sets the Foo element at the specified index, using an XMLBeans simple type value. Generated for an element defined as a simple type in schema.

void insertFoo(int index, FooType newValue)
Inserts the specified Foo child element at the specified index.

void addFoo(FooType newValue)
Adds the specified Foo to the end of the list of Foo child elements.

XmlType insertNewFoo(int index)
Inserts a new Foo at the specified index, returning an XMLBeans simple type representing the new element; returns the existing Foo if there's already one at index.

XmlType addNewFoo()
Adds a new Foo element to the end of the list of Foo child elements, returning an XMLBeans simple type representing the newly added element.

boolean isNilFooArray(int index)
void setNilFooArray(int index)
Determines or specifies whether the Foo element at the specified index is nil.

Related Topics

Java Types Generated from User-Derived Schema Types

xmlbeans-2.5.0.orig/docs/guide/antXmlbean.html0000644000175000017500000004145210320272567021200 0ustar drazzibdrazzib xmlbean Ant Task

xmlbean Ant Task

Compiles a set of XSD and/or WSDL files into XMLBeans. This is useful for building an XMLBean JAR from XSD and WSDL files. If desired, the task can also generate the source code that makes up the XMLBean type system specified by the schema files.

Note: This task depends on two external libraries not included in the Ant distribution: one called xbean.jar, one called jsr173_1.0_api.jar. Both can be found in the XMLBeans developer kit at http://xmlbeans.apache.org/. The build script will need to include a taskdef for xmlbean, which could look like this:

<taskdef name="xmlbean"
classname="org.apache.xmlbeans.impl.tool.XMLBean"
classpath="path/to/xbean.jar:path/to/jsr173_1.0_api.jar" />

It is possible to refine the set of files that are being processed. This can be done with the includes, includesfile, excludes, excludesfile and defaultexcludes attributes. With the includes or includesfile attribute you specify the files you want to have included by using patterns. The exclude or excludesfile attributes are used to specify the files you want to have excluded. This is also done with patterns. And finally with the defaultexcludes attribute, you can specify whether you want to use default exclusions or not. See the section on directory based tasks in the Ant documentation, on how the inclusion/exclusion of files works, and how to write patterns.

This task forms an implicit FileSet and supports all attributes of <fileset> (dir becomes basedir) as well as the nested <include>, <exclude> and <patternset> elements.

Parameters

Attribute Description Required
schema A file that points to either an individual schema file or a directory of files.  Not a path reference.  If multiple schema files need to be built together, use a nested fileset instead of setting schema. Yes, unless a fileset element is nested.
destfile Define the name of the jar file created.  For instance, "myXMLBean.jar" will output the results of this task into a jar with the same name. No, default is "xmltypes.jar".
download Set to true to permit the compiler to download URLs for imports and includes.  Defaults to false, meaning all imports and includes must be copied locally.
No, default is false.
classgendir
Set a location to generate CLASS files into.
No
srconly
A value of true means that only source will be generated.
No, default is false.
srcgendir
Set a location to generate JAVA files into.
No
javasource
Generate java source compatible with the given version. Currently only "1.4" and "1.5" are supported.
No, Default is "1.4"
classpath The classpath to use if schemas in the fileset import definitions that are supplied by other compiled XMLBeans JAR files, or if JAVA files are in the schema fileset. Also supports a nested classpath. No
classpathref Adds a classpath, given as reference to a path defined elsewhere. No
includes Comma- or space-separated list of patterns of files that must be included. All files are included when omitted. No
includesfile The name of a file. Each line of this file is taken to be an include pattern. No
excludes Comma- or space-separated list of patterns of files that must be excluded. No files (except default excludes) are excluded when omitted. No
excludesfile The name of a file. Each line of this file is taken to be an exclude pattern. No
defaultexcludes Indicates whether default excludes should be used or not ("yes"/"no"). Default excludes are used when omitted. No
debug Indicates whether source should be compiled with debug information; defaults to off. If set to off, -g:none will be passed on the command line for compilers that support it (for other compilers, no command line argument will be used). If set to true, the value of the debuglevel attribute determines the command line argument. No
debuglevel Keyword list to be appended to the -g command-line switch. This will be ignored by all implementations except modern and classic(ver >= 1.2). Legal values are none or a comma-separated list of the following keywords: lines, vars, and source. If debuglevel is not specified, by default, nothing will be appended to -g. If debug is not turned on, this attribute will be ignored. No
optimize Indicates whether source should be compiled with optimization; defaults to off. No
includeAntRuntime Whether to include the Ant run-time libraries in the classpath; defaults to yes. No
includeJavaRuntime Whether to include the default run-time libraries from the executing VM in the classpath; defaults to no. No
fork Whether to execute javac using the JDK compiler externally; defaults to yes. No, default is true
executable Complete path to the javac executable to use in case of fork="yes". Defaults to the compiler of the Java version that is currently running Ant. Ignored if fork="no" No
memoryInitialSize The initial size of the memory for the underlying VM, if javac is run externally; ignored otherwise. Defaults to the standard VM memory setting. (Examples: 83886080, 81920k, or 80m) No
memoryMaximumSize The maximum size of the memory for the underlying VM, if javac is run externally; ignored otherwise. Defaults to the standard VM memory setting. (Examples: 83886080, 81920k, or 80m) No
compiler The compiler implementation to use. If this attribute is not set, the value of the build.compiler property, if set, will be used. Otherwise, the default compiler for the current VM will be used. No
failonerror Determines whether or not the ant target will continue if the XMLBean creation encounters a build error.
No, default is true.
verbose
Controls the amount of build message output.
No, default is true.
quiet
Controls the amount of build message output.
No, default is false.
typesystemname
The name of the package that the TypeSystemHolder class should be generated in.  Normally this should be left unspecified. None of the XMLBeans are generated in this package. Use .xsdconfig files to modify XMLBean package or class names.
No
noupa Do not enforce the unique particle attribution rule.
No, default is false.
nopvr Do not enforce the particle valid (restriction) rule.
No, default is false.
noann Skip over schema <annotation> elements
No, default is false.
nopvr Do not validate the contents of schema <documentation> elements.
No, default is false.
ignoreDuplicatesInNamespaces Comma separated list of one or more namespaces in which duplicate definitions are to be ignored. No

Example

Be sure to define the task in your script, like this:
<taskdef name="xmlbean"
classname="org.apache.xmlbeans.impl.tool.XMLBean"
classpath="path/to/xbean.jar:path/to/jsr173_1.0_api.jar" />

The following builds all the schemas in the schemas directory and creates a jar called "Schemas.jar". (Note: both xbean.jar and jsr173_1.0_api.jar must be on the classpath when the task executes).

<xmlbean schema="schemas" destfile="Schemas.jar"
    classpath="path/to/xbean.jar:path/to/jsr173_1.0_api.jar" />
The following compiles the schema "ourSchema.xsd" into the default jar "xmltypes.jar".  If  any imports and includes are defined by remote URLs, they are downloaded during the build.
<xmlbean schema="schemas/ourSchema.xsd" download="true"
classpath="path/to/xbean.jar:path/to/jsr173_1.0_api.jar" />

Using a fileset

<xmlbean classgendir="${build.dir}" classpath="${class.path}"
failonerror="true">
<fileset basedir="src" excludes="**/*.xsd"/>
<fileset basedir="schemas" includes="**/*.*"/>
</xmlbean>
Gathers all the files in the src directory except XSD files, along with every file in the schemas directory, and compiles them. The fileset can include schema files that refer to previously compiled schema components.  The fileset can also contain JAVA files.  The classpath parameter defines the classpath necessary to resolve compiled schema and java references (and must include xbean.jar and jsr173_1.0_api.jar).

The built classes will go into ${build.dir}.

Related Topics

None.

xmlbeans-2.5.0.orig/docs/guide/conUnderstandingXMLTokens.html0000644000175000017500000002031710320272567024156 0ustar drazzibdrazzib Understanding XML Tokens

Understanding XML Tokens

An XML cursor (an instance of the XmlCursor interface) moves from token to token as your code moves the cursor. When you move a cursor using a method such as toParent, toFirstAttribute, toPrevSibling, and so on, the cursor moves to the token fitting the description. If there is no appropriate token to move to, the cursor remains where it is, and false is returned to indicate that it didn't move. For example, if the cursor is at the ENDDOC token (the last tag in the document), a call to the toNextSibling method will not move the cursor and will return false to indicate that the move was unsuccessful.

Note that while you can call the XmlCursor.currentTokenType method to find out which token type the cursor is at, you might find it more convenient to use a method such as isEnddoc. The XmlCursor interface provides several methods that make it easy to discover whether the cursor you're moving is at the token you're looking for. These methods, such as isStart, isAttr, isText, and so on, return a boolean value that indicates whether the cursor is at the token type in question.

Tokens are represented by constants in the TokenType class, an inner class of the XmlCursor interface. Each has a constant you can use in switch statements to perform by-token actions. The following table lists the token types:

Token Type Switch Constant Description
STARTDOC INT_STARTDOC Represents the start of the XML. Always the first token. The document element itself is represented by a START token, not the STARTDOC token.
ENDDOC INT_ENDDOC Represents the end of the XML. Always the last token.
START INT_START Represents the start of an element.
END INT_END Represents the end of an element. The END token has no value, but marks the element's end.
TEXT INT_TEXT Represents text.
ATTR INT_ATTR Represents an attribute. ATTR tokens are allowed to appear after a STARTDOC or START token.
NAMESPACE INT_NAMESPACE Represents a namespace (xmlns) attribute. Also only allowed after START or STARTDOC tokens.
COMMENT INT_COMMENT Represents a comment.
PROCINST INT_PROCINST Represents a processing instruction.

As you use a cursor to navigate through XML, you can use one of the convenience methods described above to discover whether you're at the token you're looking for, or use the XmlCursor.currentTokenType method to discover the current token's type. The following figure illustrates example locations for token types:

Switching to Test for Token Types

Here's a bit of code illustrating how you might use a Java switch statement to test for the START token type.

// Take an incoming XmlObject and insert a cursor.
XmlCursor documentCursor = xmlDoc.newCursor();

/*
 * Loop through the document, passing the cursor when it stops at each token
 * to a function designed to discover the token type. Continue the loop
 * as long at the cursor is at a token (until it reaches the end).
 */
while (!documentCursor.toNextToken().isNone())
{
    /*
     * Use the intValue method to return the int corresponding to the
	 * current token type. If it is the value for INT_START,
	 * then you have a match.
	 */
    switch (cursor.currentTokenType().intValue())
    {
        case TokenType.INT_START:
        // Print out the token type and a message.
        System.out.println(cursor.currentTokenType() +
            "; cursor is at the start of an element.");
        break;
    }
}
// Be sure to dispose of a cursor when you're finished.
documentCursor.dispose();

The scope of an XML cursor is the XML document in which it is created. For example, you can create a cursor at the orderItem element in the example earlier in this topic. If you then use that XmlCursor instance's toNextToken method to move the cursor until it won't move any further, you'll have reached the ENDDOC token. In this example, that's at the </batchWidgetOrder> tag. In other words, the cursor's scope is not limited to the element at which it was created.

Related Topics

XmlCursor.TokenType Class

Navigating XML with Cursors

xmlbeans-2.5.0.orig/docs/guide/conIntroToTheSchemaTypeSystem.html0000644000175000017500000002734110320272567025037 0ustar drazzibdrazzib Introduction to Schema Type Signatures

Introduction to Schema Type Signatures

When you compile schema, the API generated from your schema is integrated with the XMLBeans type system that represents the underlying XML schema. All together, these types make up the schema type system to which your code has access. When handling XML based on the schema, you typically call methods of the API generated when you compiled the schema. However, for the cases when you want to get information about the schema itself, you use the schema type system API.

In the XMLBeans API, you have access to the system itself through SchemaTypeSystem and related classes. These make up a kind of "meta-API," or a view on the schema. You can use the schema type system API to discover the type system at run time. See the reference topic on that interface for an overview of the schema type system.

Schema Type "Signatures"

A schema is made up of schema components. Schema components are the pieces of a schema, such as a type definition, an element declaration, attribute declaration, and so on. To mirror these in the schema type system, a SchemaComponent instance represents a component in the underlying schema; separate components have corresponding types. For example you would have a SchemaType object for a CustomerType your schema defined, or a SchemaGlobalElement object for a global PurchaseOrder element. You would also have a SchemaType for built-in schema types, such as xs:string or xs:datetime. XMLBean provides a "signature" to describe each type. You can retrieve this signature by calling the SchemaType class's toString method.

The toString method returns XMLBeans' version of a unique signature for a schema type. This string is useful for debugging because it describes a given type even when the type doesn't have a name.

Note: It's important to remember that this signature is an XMLBeans convention, rather than a standard from the schema working group. The working group has not yet standardized a signature for XML schema types. As a result the signature you'll see from XMLBeans is subject to change — whatever the schema working group comes up with in the end (if anything) is probably what will be used by this API. In other words, don't write a program to decode the signature.

You can use the following description to understand how a signature is constructed.

  • Global types. If the type has a name, it's a global type. The following form is used:
    T=<localname>@<targetNamespace>

    The "T" is for "type," of course. "localname" is a convention used by qnames (qualified names), which include a local name and the namespace URI (if any). So an example might be:

    T=customer@openuri.org
  • Document types and global attribute types. These correspond to a special anonymous type containing one global element or attribute. These special types are generated by XMLBeans to represent global types declared with the <element> or <attribute> tag in schema. Because such types are types, but are declared as elements or attributes, they require special treatment. The following signature form is used:
    D=<document-element-name>@<targetNamespace>
    R=<attribute-type-name>@<targetNamespace>
    
    Note that these are also the signatures of a type returned by a FooDocument.type or FooAttribute.type method call.
  • Anonymous types. If the type is anonymous, it is defined as an element or attribute, or within a further anonymous type. In this case, the signature is built by establishing the local context (in order words, what is the anonymous type nested in?). From the local context, the larger context is built recursively. In other words, the signature is built by giving not only the anonymous type itself, but also by describing its context.

    The following rules are used for building a signature for an anonymous type.

    • It might be an anonymous type defined inside a local element or attribute, which in turn is defined within something else:

      If the element is form="qualified" (the usual default):

  • E=<eltname>|<signature of the type within which the elt is defined>
    If the element is form="unqualified":
    U=<eltname>|<signature of the type within which the elt is defined>
    If the attribute is form="unqualified" (the usual default):
    A=<attrname>|<signature of the type within the attr is defined>
    if the attribute is form="qualified":
    Q=<attrname>|<signature of the type within the attr is defined>
    • It might be an anonymous type defined a simple restriction, union, or list definition:
    M=#|<signature of the containing union type>

    (The # is a number indicating which union member it is, by source order — such as 0,1,2, etc.)

    B=|<signature of the containing base type for a restriction>
    I=|<signature of the containing list type>
    • In the future if anonymous types are allowed in some other context, there may be more codes.

An Example

So, for example, if you have a type that describes the list items within an attribute of an instance that looks like this:

 <root mylist="432 999 143 123"/>
The schema, if done with lots of nested types, could look something like this:
<schema targetNamespace="myNamespace" elementFormDefault="qualified">
    <element name="root">
        <complexType>
            <attribute name="mylist">
                <simpleType>
                    <list>
                        <simpleType> <!--This is the type that the signature is for -->
                            <restriction base="xs:nonNegativeInteger">
                                <totalDigits value="3"/>..
The signature for the simpleType indicated in the example would be:
I=|A=mylist|E=root|D=root@myNamespace

You could read this as:

"The type of the list item | within the type of the mylist attribute's type | within the type of the root element | within the document type for <root> documents | in the myNamespace namespace".

Note that the signature structure mirrors the Java class structure generated by XMLBeans when compiling the schema. In other words, if you were to compile a schema that included the preceding snippet, you would be able to access an instance of the schema with Java code like the following:

SchemaType sType = RootDocument.Root.MyList.Item.type;

Related Topics

Getting Started with XMLBeans

xmlbeans-2.5.0.orig/docs/guide/conNavigatingXMLwithCursors.html0000644000175000017500000002667010320272567024541 0ustar drazzibdrazzib Navigating XML with Cursors

Navigating XML with Cursors

XML cursors are a way to navigate through an XML instance document. Once you load an XML document, you can create a cursor to represent a specific place in the XML. Because you can use a cursor with or without a schema corresponding to the XML, cursors are an ideal way to handle XML without a schema.

With an XML cursor, you can:

When you're finished using a cursor, your code should call its dispose method.

Creating and Moving a Cursor

With an XML instance document bound to XmlObject (or a type inheriting from it), you create a new cursor by calling the newCursor method. The XmlCursor interface represents a cursor. From a cursor standpoint, an XML document is a collection of tokens that represent the kinds of things that can appear in XML. These include attributes, the start and end of elements, comments, and so on. Each piece of information in XML is represented by a token type.

Note: For a more complete description of XML tokens, see Understanding XML Tokens.

For example, the following code loads the XML instance described above from a File object, then creates a new cursor. The toFirstChild takes the cursor to the start tag of the batchWidgetOrder document element. The code then prints the type for the token at the cursor's location, along with the XML the cursor representsin other words, Token type: START / and the batchWidgetOrderElement and its contents.

public static void insertCursor(File orderFile) throws Exception
{
    BatchWidgetOrderDocument xmlDoc = BatchWidgetOrderDocument.Factory.parse(orderFile);
    XmlCursor orderCursor = xmlDoc.newCursor();
    orderCursor.toFirstChild();
    System.out.println("Token type: " + orderCursor.currentTokenType() +
        " / " + orderCursor.xmlText());
}

Note: The XmlCursor interface provides many methods you can use to put a cursor where you want it. For a list of those methods, see XmlCursor Interface.

Adding Elements and Attributes

The XmlCursor interface provides several methods you can use to add elements and attributes to XML.

One way to add new XML is with the beginElement method. This method is designed to insert a new element at the cursor's location, and do it so the cursor ends up between the new element's START and END tokens. From this position, you can insert attributes (they're automatically placed in the start tag, where they belong) and insert a value. Here's an example:

// Create a new chunk of XML.
XmlObject newXml = XmlObject.Factory.newInstance();
/*
 * Insert a new cursor and move it to the first START token (where the
 * XML actually begins.
 */
XmlCursor cursor = newXml.newCursor();
cursor.toNextToken();
// Begin a new item element whose namespace URI is "http://openuri.org".
cursor.beginElement("item", "http://openuri.org/");
// Insert an ID attribute on the item element, along with an attribute value.
cursor.insertAttributeWithValue("id", "4056404");
// Insert "bicycle" as an element value.
cursor.insertChars("bicycle");
cursor.dispose();

This example results in something like the following:

<ns1:item id="4056404" xmlns:ns1="http://openuri.org/">bicycle</ns1:item>

Using Stored Cursor Locations with push() and pop()

When you want to move a cursor around, but want to keep track of a former location, you can use the XmlCursor interface's push and pop methods. The push method pushes the cursor's current location onto a stack of locations maintained for that particular cursor; the pop method removes the location from the top of the stack and moves the cursor to that location.

For example, consider the following <employee> element, used in the example below.

<employee>
    <name>Gladys Kravitz</name>
    <address location="home">
        <street>1313 Mockingbird Lane</street>
        <city>Seattle</city>
        <state>WA</state>
        <zip>98115</zip>
    </address>
    <address location="work">
        <street>2011 152nd Avenue NE</street>
        <city>Redmond</city>
        <state>WA</state>
        <zip>98052</zip>
    </address>
    <phone location="work">(425) 555-6897</phone>
    <phone location="home">(206) 555-6594</phone>
    <phone location="mobile">(206) 555-7894</phone>
</employee>

The following Java code illustrates how you can use push and pop to put the cursor back to a saved location after a bit of traveling.

/**
 * Pass to the trySelectPath method an XmlObject instance that contains
 * the XML above.
 */
public void trySelectPath(XmlObject xml)
{
    /*
     * Inserts the cursor at the STARTDOC token (the very beginning,
     * before any elements).
     */
    XmlCursor cursor = xml.newCursor();
    // Moves the cursor to just before <employee>
    cursor.toFirstChild();
    // Pushes the cursor's current location onto the stack.
    cursor.push();
    // Moves the cursor to just before the "work" <phone> element.
    cursor.toChild(2);
    // Moves the cursor to just before the "home" <phone> element.
    cursor.toNextSibling();
    // Moves the cursor back to just before <employee>
    cursor.pop();
}

Of course, you can call push and pop multiple times. Each new call to the push method pushes the current location onto the stack. As you call the pop method, you're always getting what's on top of the stack. So if you called push three times before calling pop — 1, 2, 3 — calling pop three times would get those locations in reverse order — 3, 2, 1.

The push and pop methods can be handy as an alternative to creating new cursors that are designed simply to mark a particular location while you move another cursor around. The resources required to maintain a location stack through push and pop are far less than those needed by cursors.

Disposing of a Cursor

When you're through with a cursor, your code should call its dispose method to indicate that it's no longer needed.

Related Topics

Understanding XML Tokens

Getting Started with XMLBeans

xmlbeans-2.5.0.orig/docs/guide/conHandlingAny.html0000644000175000017500000003553710320272566022011 0ustar drazzibdrazzib Handling xs:any with the XMLBeans API

Handling xs:any with the XMLBeans API

Compiling schema for use with XMLBeans generates a kind of custom API specific to your schema. This API includes types with accessors designed to get and set parts of the XML defined by the schema. But if you've compiled schema that includes xs:any particles, you may have noticed that XMLBeans doesn't generate accessors for these these particles.

For example, imagine the accessors generated by compiling the following schema snippet:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://xmlbeans.apache.org/samples/any"
    targetNamespace="http://xmlbeans.apache.org/samples/any" elementFormDefault="qualified">
    <xs:element name="root">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="stringelement"/>
                <xs:any processContents="lax"/>
                <xs:element name="arrayofany">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="stringelement" type="xs:string"/>    
    <xs:complexType name="ListOfStrings">
        <xs:sequence>
            <xs:element ref="stringelement" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
</xs:schema>

After compilation, you'd have the follow methods for Root, the type that gives you access to the <root> element:

addNewArrayofany()

getArrayofany()

getStringelement()

setArrayofany(Arrayofany)

setStringelement(String)

xgetStringelement()

xsetStringelement(XmlString)

What's missing? There's no getAny or setAny. How do you get or set the <root> element's second child? As it turns out, you do this by leaving behind (at least for a moment) JavaBeans-style accessors, and picking up any of a number of tools the API provides. These tools include:

Using Cursors to Add XML

As described in Navigating XML with Cursors, with an XmlCursor instance you can traverse your XML instance's full infoset. A cursor views XML as tokens, and you move a cursor from one token to another as if they were cars in a train.

The following example illustrates how you might, in the course of building out the <root> document, create a second child element <anyfoo> where schema specifies xs:any. You add the element by creating it with a cursor, then (in lieu of a setter) using the XmlCursor.copyXml or XmlCursor.moveXml method to put the element where it needs to go.

// Start by creating a <root> element that will contain
// the children built by this code.
RootDocument rootDoc = RootDocument.Factory.newInstance();
RootDocument.Root root = rootDoc.addNewRoot();

// Add the first element, <stringelement>.
root.setStringelement("some text");

// Create an XmlObject in which to build the second
// element in the sequence, <anyfoo>. Here, the 
// XmlObject instance is simply a kind of incubator
// for the XML. Later the XML will be moved into the
// document this code is building.
XmlObject anyFoo = XmlObject.Factory.newInstance();

// Add a cursor to do the work of building the XML.
XmlCursor anyFooCursor = anyFoo.newCursor();
anyFooCursor.toNextToken();

// Add the element in the schema's namespace, then add
// element content.
anyFooCursor.beginElement(new QName(m_namespaceUri, "anyfoo"));
anyFooCursor.insertChars("some text");

// Move the cursor back to the new element's top, where 
// it can grab all of the element's XML.
anyFooCursor.toStartDoc();
anyFooCursor.toNextToken();

// Finally, move the XML into the <root> document by moving it
// from a position at one cursor to a position at
// another.
XmlCursor rootCursor = root.newCursor();
rootCursor.toEndToken();
anyFooCursor.moveXml(rootCursor);

You might find that this build-and-move-cursor-to-cursor pattern is common when you're creating or moving XML when accessors aren't available. For example, you could do the same sort of thing when your schema defines a type that you want to place into an xs:any space in an instance. The following code adds a <stringelement> element as a child of the <arrayofany> element, which schema defines as containing a sequence of xs:any particles. The <stringlement> element is simple, but it could just as easily be a complex schema type.

// Create a simple <stringelement>.
StringelementDocument stringElementDoc = 
    StringelementDocument.Factory.newInstance();        
stringElementDoc.setStringelement("some text");
XmlCursor stringElementCursor = stringElementDoc.newCursor();
stringElementCursor.toFirstContentToken();

// Add a cursor to mark the position to which the new child 
// XML will be moved.
XmlCursor arrayCursor = arrayOfAny.newCursor();
arrayCursor.toNextToken();

// Move the new <stringelement> into place.
stringElementCursor.moveXml(arrayCursor);
stringElementCursor.dispose();

Using XPath and the selectPath Method to Find XML

XPath is a convenient, direct way to get at specific chunks of XML. In the XMLBeans API, you execute XPath expressions with the XmlObject.selectPath or XmlCursor.selectPath methods. The example in Java below assumes the following instance conforming to the schema introduced at the beginning of this topic:

<root xmlns="http://xmlbeans.apache.org/samples/any">
    <stringelement>some text</stringelement>
    <anyfoo>some text</anyfoo>
    <arrayofany>
        <stringelement>some text</stringelement>
        <someelement>
            <stringlist id="001">
                <stringelement>string1</stringelement>
                <stringelement>string2</stringelement>
            </stringlist>
        </someelement>
    </arrayofany>
</root>

The following code uses XPath to reach the <stringelement> element because there is no accessor available. It then shifts the XML around a little, moving <stringelement> up in the hierarchy to replace its parent, <someelement>.

public boolean editExistingDocWithSelectPath(RootDocument rootDoc)
{
    String namespaceUri = "http://xmlbeans.apache.org/samples/any";

    // Put a cursor at the top of the <arrayofany> element.
    XmlCursor selectionCursor = rootDoc.getRoot().getArrayofany().newCursor();

    // Use XPath and cursor movement to position the cursor at
    // the <stringlist> element.
    String namespaceDecl = "declare namespace any='" + namespaceUri + "'; ";
    selectionCursor.selectPath(namespaceDecl + 
        "$this//any:someelement/any:stringlist");
    selectionCursor.toNextSelection();

    // Create a new cursor at the same location and move it to 
    // <stringelement>'s <someelement> parent.
    XmlCursor editCursor = selectionCursor.newCursor();
    editCursor.toParent();

    // Move the <stringelement> element to this position, displacing 
    // the <someelement> downward. Remove the <someelement> XML, 
    // effectively replacing <someelement> with <stringlist>.
    selectionCursor.moveXml(editCursor);
    editCursor.removeXml();
    editCursor.dispose();

    return rootDoc.validate();
}

Using the selectChildren Method to Find XML

The XmlObject.selectChildren method you can retrieve an array of the child elements of a specified name. The method is overloaded to take java.xml.namespace.QName instances or strings as parameters. The following code (based on the instance used in the preceding example) simply finds the <anyfoo> element, an xs:any, and replaces it with an <anybar> element.

public boolean editExistingDocWithSelectChildren(RootDocument rootDoc)
{
    String namespaceUri = "http://xmlbeans.apache.org/samples/any";
    RootDocument.Root root = rootDoc.getRoot();
        
    // Select the <anyfoo> children of <root>.
    XmlObject[] stringElements =
        root.selectChildren(new QName(m_namespaceUri, "anyfoo"));

    // If the element is there, replace it with another element.
    if (stringElements.length > 0)
    {
        XmlCursor editCursor = stringElements[0].newCursor();
        editCursor.removeXml();
        editCursor.beginElement(new QName(namespaceUri, "anybar"));
        editCursor.insertChars("some other text");                
        editCursor.dispose();
    }
    return rootDoc.validate();
}

Using the DOM API to Find XML

Through the getDomNode method (exposed by XmlObject and types generated from schema), you can get a live DOM node representing your XML. For example, calling myElement.getDomNode() will return a org.w3c.dom.Node instance representing the XML bound to myElement. If you're already familiar with DOM-style access to XML, this can be a familiar alternative for handling xs:any instances.

Using the instance introduced earlier in this topic, the following example adds a new <bar> element between the first and second children of the <arrayofany> element. The code also ensures that the first and second children are <stringelement> and <someelement>, respectively.

public boolean editExistingDocWithDOM(RootDocument rootDoc)
{
    RootDocument.Root root = rootDoc.getRoot();
        
    // Get the DOM nodes for the <arrayofany> element's children.
    Node arrayOfAnyNode = root.getArrayofany().getDomNode();

    // You don't have get* accessors for any of the <arrayofany> 
    // element's children, so use DOM to identify the first
    // and second elements while looping through the child list.
    NodeList childList = arrayOfAnyNode.getChildNodes();
    Element firstElementChild = null;
    Element secondElementChild = null;

    // Find the first child element and make sure it's
    // <stringelement>.
    for (int i = 0; i < childList.getLength(); i++)
    {
        Node node = childList.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE)
        {
            if (node.getLocalName().equals("stringelement"))
            {
                firstElementChild = (Element)node;                
                break;
            }
        }
    }
    if (firstElementChild == null) {return false;}

    // Find the second child element and make sure it's
    // <someelement>.
    Node node = firstElementChild.getNextSibling();
    do 
	{
        if (node.getNodeType() == Node.ELEMENT_NODE)
        {
            if (node.getLocalName().equals("someelement"))
            {
                secondElementChild = (Element)node;
                break;
            }
        }
        node = node.getNextSibling();
    } while (node != null);
    if (secondElementChild == null) {return false;}
    
    // Create and insert a new <bar> element.
    Element fooElement = 
        secondElementChild.getOwnerDocument().createElementNS("http://openuri.org","bar");
    Node valueNode = 
        fooElement.getOwnerDocument().createTextNode("some text");
    fooElement.appendChild(valueNode);
    arrayOfAnyNode.insertBefore(fooElement, secondElementChild);
    
    return rootDoc.validate();
}

Related Topics

Getting Started with XMLBeans

xmlbeans-2.5.0.orig/docs/guide/conJavaTypesGeneratedFromUserDerived.html0000644000175000017500000006015010320272567026316 0ustar drazzibdrazzib Java Types Generated from Schema

Java Types Generated from User-Derived Schema Types

When you compile XML schema, the resulting API is made up of two categories of types: built-in types that mirror those in the schema specification and others that are generated from user-derived schema types. This topic provides an overview of the Java types generated for user-derived types, describing the methods the Java types provide. For more information about built-in types, see XMLBeans Support for Built-In Schema Types. For specific information about the methods exposed by generated types, see Methods for Generated Java Types.

In general, an API generated from schema is an intuitive means to access XML instances based on the schema. You'll probably find that for most uses it's unnecessary to know the rules for generating it in order to use it. However, for those cases when it's unclear what's going on behind the scenes (or if you're just curious), this topic describes the rules.

Note: The XMLBeans API also provides a way for you to get information about the type system itself — in other words, about the API and the underlying schema. For more information, see Introduction to Schema Type Signatures.

Each of the types generated when you compile a schema is designed specifically for access to XML instances conforming to that part of the schema. Start by taking a look at a simple XML and schema example. The following schema describes an XML document to contain a stock price quote.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="price-quote">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="stock-symbol" type="xs:string"/>
                <xs:element name="stock-price" type="xs:float"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

The following is an example of XML that conforms to this schema.

<price-quote>
    <stock-symbol>BEAS</stock-symbol>
    <stock-price>59.21</stock-price>
</price-quote>

When you compile this schema, you get two generated XMLBeans interfaces: PriceQuoteDocument and PriceQuoteDocument.PriceQuote.

From the schema point of view, the generated PriceQuote interface represents the complex type you see inside the schema's price-quote element declaration. Looking at the XML instance, you can see that this complex type translates into a sequence of two elements, stock-symbol and stock-price. So it's not surprising that the PriceQuote interface exposes methods such as getStockPrice and setStockPrice to set the value stock-price element.

The PriceQuoteDocument interface, on the other hand, represents the price-quote document that contains the root price-quote element. XMLBeans creates a special "document" type for global element types. A document type provides a way for you to get and set the value of the underlying type, here represented by PriceQuote. The price-quote element is considered a global element because it can be referenced from anywhere else in the schema. For global elements, the XMLBeans schema compiler generates an interface whose name ends with "Document." This is because an XML schema has no way of defining a "root" element; any global element can be the root.

The following bit of Java code illustrates how you might use these interfaces to get the stock price contained in the XML.

public static float getStockPrice(java.io.File orderXML) throws Exception
{
    PriceQuoteDocument docXML = PriceQuoteDocument.Factory.parse(orderXML);
    PriceQuote quoteXML = docXML.getPriceQuote();
    float stockPrice = quoteXML.getStockPrice();
    return stockPrice;
}

This code loads the XML from a File object, converting the parse method's return value to a PriceQuoteDocument instance. It then uses this instance to get an instance of PriceQuote. With PriceQuote, the code extracts the stock price.

The XML schema specification provides a rich set of rules through which you can derive new types. When you generate interfaces from your schema, XMLBeans uses the schema's rules to determine how to generate interfaces. The following describes some of the guidelines by which this is done.

Names for Interfaces

Interfaces are generated for schema types (both simple and complex). Anonymous schema types result in inner interfaces inside the type interface in which they are defined. Their name comes from the element or attribute in which they is defined.

Names for schema types become Java-friendly names when the schema is compiled. In other words, names such as "price-quote" become "PriceQuote." In addition, a schema's XML namespace URIs become package names for XMLBean types generated from the schema. The way this name translation is done is described by section C of the Java API for XML Binding (JAXB) specification at http://java.sun.com/xml/jaxb.html.

Here are a few examples:

Schema Target Namespace XML Localname Fully-Qualified XMLBean Type Name
http://www.mycompany.com/2002/buyer purchase-order-4 com.mycompany.x2002.buyer.PurchaseOrder4
http://myco.com/sample.html SampleDocument com.myco.sample.SampleDocument
http://openuri.org/test_case_1 test_type org.openuri.testCase1.TestType

When there are name collisions, the generated types will have names with numerals appended  for example, "TestType2".

Global Elements and Attributes

In schema, global element and attribute definitions are those that are declared at the top level of the schema (that is, immediately within the schema root element). Because they are global, they may be referenced from inside the schema by name. The creditReport (not the creditReportType complex type) element defined in the following schema is an example.

<xs:schema targetNamespace="http://openuri.org/samples/creditReport"
    xmlns:cr="http://openuri.org/samples/creditReport"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    <xs:complexType name="creditReportType">
        <xs:sequence>
            <xs:element name="bankReport" type="xs:string"/>
            <xs:element name="taxReport" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="creditReport" type="cr:creditReportType"/>
</xs:schema>

XMLBeans generates a separate interface for each of these. Also, global element and attribute types are somewhat unique in that the schema compiler will create special types to hold the globally defined element or attribute. The names of these types will be appended with "Document" (for elements) or "Attribute" (for attributes). You can retrieve the element or attribute itself (or create a new one) by calling the accessor methods that the special types provide. The following example would create a new instance of the creditReport element.

// Create an instance of the special document type.
CreditReportDocument reportDoc = CreditReportDocument.Factory.newInstance();
/*
 * Use the document type to add a new creditReport element to the XML instance.
 * Note that the type returned by the addNewCreditReport method is the
 * creditReportType complex type defined for it in schema.
 */
CreditReportType report = reportDoc.addNewCreditReport();

Global User-Derived Types

A user-derived type is one defined with a complexType or simpleType element in schema. User-derived types at the top level of a schema are global. XMLBeans generates an interface for each of these, as it does with global elements and attributes. These interfaces include methods through which you can get and set the type's values, including any nested derived types it may contain. The following schema snippet defines a user-derived complex type called itemType, along with a priceType that uses it as the type for an item child element.

<xs:complexType name="itemType">
    <xs:sequence>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="amount" type="xs:int"/>
        <xs:element name="price" type="xs:double"/>
    </xs:sequence>
</xs:complexType>
<xs:complexType name="priceType">
    <xs:sequence>
        <xs:element name="item" type="ps:itemType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>
<xs:element name="price" type="ps:priceType"/>

By default, the generated Java type for itemType would be an interface called ItemType. With this type, you would be able to get and set the values of its name, amount, and price child elements. However, a user-derived type (as opposed to an element or attribute) is always intended for use as the type to which an element or attribute is bound. In other words, it's contained by an element or attribute. While you can create a new instance of a user-derived type, the new instance's underlying XML is a fragment. As the generated API would make clear, the itemType becomes the return type of a get method, or the parameter of a set method.

// Create a new price document.
PriceDocument priceDoc = PriceDocument.Factory.newInstance();
PriceType price = priceDoc.getPrice();

/*
 * Create a new instance of ItemType and set the values of its
 * child elements.
 */
ItemType item = ItemType.Factory.newInstance();
item.setName("bicycle");
item.setAmount(12);
item.setPrice(560.00);

/*
 * Use the new ItemType instance to set the value of the
 * price element's first item child element. Notice that the set method
 * here is an "Array" method. This is because the item element
 * is defined with a maxOccurs="unbounded" attribute. It can occur
 * many times as a child of price.
 */
price.setItemArray(0, item);

Nested Elements and Derived Types

When your schema includes named types that are declared locallywithin the declaration of another element or typethe schema type's generated Java interface will be an inner interface within the type it's nested in.

For example, the following schema snippet defines name and gender elements nested within a person complex type. In particular, note that the gender element is defined as deriving from the xs:NMTOKEN built-in type.

<xs:complexType name="person">
    <xs:sequence>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="gender">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="male"/>
                    <xs:enumeration value="female"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
    </xs:sequence>
</xs:complexType>

The generated interfaces for person and gender would be organized in source something like the following. Of course, you wouldn't see the source, but you can see here that the Gender interface is nested with Person. Also, notice that it extends XmlNMTOKEN, mirroring the schema.

public interface Person extends XmlObject
{
    public interface Gender extends XmlNMTOKEN
    {
        // Methods omitted for this example
    }
    // Methods omitted for this example
}

You could create a new instance of the Gender type in this way (there are also various alternatives to this):

// Create a new Person instance.
Person person = Person.Factory.newInstance();
/*
 * Set the gender element's value using the
 * enumeration generated from the schema.
 */
person.setGender(Gender.FEMALE);

User-Derived Simple Types

In addition to the 46 built-in simple types in XML schema, a schema can include its own custom simple types using xs:simpleType declarations. These user-derived simple types are always based on the built-in XML schema types. The built-in types can be modified by restricting them, taking unions of them, or making space-separated lists of them. Each XML simple type is translated into a Java type that provides access to the underlying data.

Unions

In schema, you can use xs:union to specify a simple type that is allowed to contain values of a number of other simple types. XMLBeans generates a type for a union, just as it generates a type for any other schema type. At run time, you can discover the underlying type of an instance of a union type by calling the XmlObject interface's instanceType method. Once you have determined the type, you can cast an instance of a union type to the actual underlying instance type.

<xs:simpleType name="intOrString">
    <xs:union memberTypes="xs:int xs:string">
</xs:simpleType>

Given the preceding schema snippet, you could set the intOrString value to, say, 6 or "six". The union of xs:int and xs:string makes both allowable.

// Create a new instance of the type.
IntOrString intOrString = IntOrString.Factory.newInstance();
intOrString.set("5");
// This code prints "XmlInt" to the console.
System.out.println(intOrString.instanceType().getShortJavaName());

Restrictions

XML schema restrictions on simple XMLBeans types are enforced. So, for example, it is illegal to set a number outside its restricted range.

Numeric Type Restrictions

In schema, you can restrict numeric types to allow, for example, only a particular range of values. For such a restriction, XMLBeans tailors the resulting natural Java alternative. For example, suppose you have the following element defined in schema:

<xs:element name="number">
    <xs:simpleType>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="1000000"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>

The type is restricted from xs:integer, but because the number's range is limited to between 1 and 1000000, it will fit into a Java int. A long or java.math.BigInteger would be too big for the need. In other words, the getNumber method generated for this type will return an int, rather than a BigInteger or a long.

By the same token, an long can be compiled to an int if the totalDigits attribute is <=9, or the min and max attribute values are within 32-bit 2s complement range.

The single primitive XML type xs:decimal can be restricted in several ways that influence the resulting natural Java type. For example, it can be:

  • Compiled to a BigInteger if its fractionDigit attribute is set to 0.
  • Compiled to a long if its totalDigits attribute is <=18, or the min and max are within 64-bit 2s complement range.

Enumerations

In schema, you can derive a new type by restricting a built-in type so that only a finite set of values are allowable. Where schema does this by restricting xs:string, XMLBeans generates a special Enum type. With an Enum, you can select the enumerated value either by its String value or by a numeric index. The index's value is determined based on the String value's order in the schema. Having an index can be useful in Java switch statements.

For example, suppose you had a document containing price elements whose type was the priceType defined in the following schema snippet:

<xs:complexType name="priceType">
    <xs:sequence>
        <xs:element name="item" type="ps:itemType" minOccurs="0"
              maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="threshold">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="Below10Dollars"/>
                <xs:enumeration value="Between10And20Dollars"/>
                <xs:enumeration value="Above20Dollars"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:complexType>

Using types generated from the schema, you would be able to write the following Java code to "switch" on the threshold attribute's enumeration:

/*
 * Use the intValue method provided by the Enum type to determine the threshold
 * attribute's current enumeration value.
 */
switch(priceElements[i].getThreshold().intValue())
{
    // Use the Threshold type's enumeration values to test for an attribute value.
    case PriceType.Threshold.INT_BELOW_10_DOLLARS:
        zeroBuffer.append(item.getTitle() + "\n");
        break;
    case PriceType.Threshold.INT_BETWEEN_10_AND_20_DOLLARS:
        tenBuffer.append(item.getTitle() + "\n");
        break;
    case PriceType.Threshold.INT_ABOVE_20_DOLLARS:
        twentyBuffer.append(item.getTitle() + "\n");
        break;
    default:
        System.out.println("Yo! Something unexpected happened!");
        break;
}

Related Topics

XMLBeans Support for Built-In Schema Types

xmlbeans-2.5.0.orig/docs/guide/conGettingStartedwithXMLBeans.html0000644000175000017500000007051110320272567024763 0ustar drazzibdrazzib Getting Started with XMLBeans

Getting Started with XMLBeans

XMLBeans provides intuitive ways to handle XML that make it easier for you to access and manipulate XML data and documents in Java.

Characteristics of XMLBeans approach to XML:

  • It provides a familiar Java object-based view of XML data without losing access to the original, native XML structure.
  • The XML's integrity as a document is not lost with XMLBeans. XML-oriented APIs commonly take the XML apart in order to bind to its parts. With XMLBeans, the entire XML instance document is handled as a whole. The XML data is stored in memory as XML. This means that the document order is preserved as well as the original element content with whitespace.
  • With types generated from schema, access to XML instances is through JavaBean-like accessors, with get and set methods.
  • It is designed with XML schema in mind from the beginning — XMLBeans supports all XML schema definitions.
  • Access to XML is fast.

The starting point for XMLBeans is XML schema. A schema (contained in an XSD file) is an XML document that defines a set of rules to which other XML documents must conform. The XML Schema specification provides a rich data model that allows you to express sophisticated structure and constraints on your data. For example, an XML schema can enforce control over how data is ordered in a document, or constraints on particular values (for example, a birth date that must be later than 1900). Unfortunately, the ability to enforce rules like this is typically not available in Java without writing custom code. XMLBeans honors schema constraints.

Note: Where an XML schema defines rules for an XML document, an XML instance is an XML document that conforms to the schema.

You compile a schema (XSD) file to generate a set of Java interfaces that mirror the schema. With these types, you process XML instance documents that conform to the schema. You bind an XML instance document to these types; changes made through the Java interface change the underlying XML representation.

Previous options for handling XML include using XML programming interfaces (such as DOM or SAX) or an XML marshalling/binding tool (such as JAXB). Because it lacks strong schema-oriented typing, navigation in a DOM-oriented model is more tedious and requires an understanding of the complete object model. JAXB provides support for the XML schema specification, but handles only a subset of it; XMLBeans supports all of it. Also, by storing the data in memory as XML, XMLBeans is able to reduce the overhead of marshalling and demarshalling.

Accessing XML Using Its Schema

To get a glimpse of the kinds of things you can do with XMLBeans, take a look at an example using XML for a purchase order. The purchase order XML contains data exchanged by two parties, such as two companies. Both parties need to be able to rely on a consistent message shape, and a schema specifies the common ground.

Here's what a purchase order XML instance might look like.

<po:purchase-order xmlns:po="http://openuri.org/easypo">
    <po:customer>
        <po:name>Gladys Kravitz</po:name>
        <po:address>Anytown, PA</po:address>
    </po:customer>
    <po:date>2003-01-07T14:16:00-05:00</po:date>
    <po:line-item>
        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
        <po:per-unit-ounces>5</po:per-unit-ounces>
        <po:price>21.79</po:price>
        <po:quantity>2</po:quantity>
    </po:line-item>
    <po:line-item>
        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
        <po:per-unit-ounces>5</po:per-unit-ounces>
        <po:price>19.89</po:price>
        <po:quantity>2</po:quantity>
    </po:line-item>
<po:shipper>
        <po:name>ZipShip</po:name>
        <po:per-ounce-rate>0.74</po:per-ounce-rate>
    </po:shipper>
</po:purchase-order>

This XML includes a root element, purchase-order, that has three kinds of child elements: customer, date, line-item, and shipper. An intuitive, object-based view of this XML would provide an object representing the purchase-order element, and it would have methods for getting the date and for getting subordinate objects for customer, line-item, and shipper elements. Each of the last three would have its own methods for getting the data inside them as well.

Looking at the Schema

The following XML is the the schema for the preceding purchase order XML. It defines the XML's "shape" — what its elements are, what order they appear in, which are children of which, and so on.

<xs:schema targetNamespace="http://openuri.org/easypo"
    xmlns:po="http://openuri.org/easypo"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified">

    <xs:element name="purchase-order">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="customer" type="po:customer"/>
                <xs:element name="date" type="xs:dateTime"/>
                <xs:element name="line-item" type="po:line-item" minOccurs="0" maxOccurs="unbounded"/>
                <xs:element name="shipper" type="po:shipper" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="customer">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="address" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="line-item">
        <xs:sequence>
            <xs:element name="description" type="xs:string"/>
            <xs:element name="per-unit-ounces" type="xs:decimal"/>
            <xs:element name="price" type="xs:double"/>
            <xs:element name="quantity" type="xs:int"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="shipper">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="per-ounce-rate" type="xs:decimal"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

This schema describes the purchase order XML instance by defining the following:

  • Definitions for three complex types — customer, line-item, and shipper. These are the types used for the children of the purchase-order element. In schema, a complex type is one that defines an element that may have child elements and attributes. The sequence element nested in the complex type lists its child elements.

    These are also global types. They are global because they are at the top level of the schema (in other words, just beneath the schema root element). This means that they may be referenced from anywhere else in the schema.

  • Use of simple types within the complex types. The name, address, and description elements (among others) are typed as simple types. As it happens, these are also built-in types. A built-in type (here, one with the "xs" prefix) is part of the schema specification. (The specification defines 46 built-in types.)
  • A global element called purchase-order. This element definition includes a nested complex type definition that specifies the child elements for a purchase-order element. Notice that the complex type includes references to the other complex types defined in this schema.

In other words, the schema defines types for the child elements and describes their position as subordinate to the root element, purchase-order.

When you use the XMLBean compiler with an XSD file such as this one, you generate a JAR file containing the interfaces generated from the schema.

Writing Java Code That Uses the Interfaces

With the XMLBeans interfaces in your application, you can write code that uses the new types to handle XML based on the schema. Here's an example that extracts information about each of the ordered items in the purchase order XML, counts the items, and calculates a total of their prices. In particular, look at the use of types generated from the schema and imported as part of the org.openuri.easypo package.

The printItems method receives a File object containing the purchase order XML file.

package docs.xmlbeans;

import java.io.File;
import org.apache.xmlbeans.*;
import org.openuri.easypo.PurchaseOrderDocument;
import org.openuri.easypo.PurchaseOrder;
import org.openuri.easypo.LineItem;

public class POHandler
{
    public static void printItems(File po) throws Exception
    {
        /*
         * All XMLBeans schema types provide a nested Factory class you can
         * use to bind XML to the type, or to create new instances of the type.
         * Note that a "Document" type such as this one is an XMLBeans
         * construct for representing a global element. It provides a way
         * for you to get and set the contents of the entire element.
         *
         * Also, note that the parse method will only succeed if the
         * XML you're parsing appears to conform to the schema.
         */
        PurchaseOrderDocument poDoc =
            PurchaseOrderDocument.Factory.parse(po);

        /*
         * The PurchaseOrder type represents the purchase-order element's
         * complex type.
         */
        PurchaseOrder po = poDoc.getPurchaseOrder();

        /*
         * When an element may occur more than once as a child element,
         * the schema compiler will generate methods that refer to an
         * array of that element. The line-item element is defined with
         * a maxOccurs attribute value of "unbounded", meaning that
         * it may occur as many times in an instance document as needed.
         * So there are methods such as getLineItemArray and setLineItemArray.
         */
        LineItem[] lineitems = po.getLineItemArray();
        System.out.println("Purchase order has " + lineitems.length + " line items.");

        double totalAmount = 0.0;
        int numberOfItems = 0;

        /*
         * Loop through the line-item elements, using generated accessors to
         * get values for child elements such a description, quantity, and
         * price.
         */
        for (int j = 0; j < lineitems.length; j++)
        {
            System.out.println(" Line item: " + j);
            System.out.println(
                "   Description: " + lineitems[j].getDescription());
            System.out.println("   Quantity: " + lineitems[j].getQuantity());
            System.out.println("   Price: " + lineitems[j].getPrice());
            numberOfItems += lineitems[j].getQuantity();
            totalAmount += lineitems[j].getPrice() * lineitems[j].getQuantity();
        }
        System.out.println("Total items: " + numberOfItems);
        System.out.println("Total amount: " + totalAmount);
    }
}

Notice that types generated from the schema reflect what's in the XML:

  • A PurchaseOrderDocument represents the global root element.
  • A getPurchaseOrder method returns a PurchaseOrderDocument.PurchaseOrder type that contains child elements, including line-item. A getLineItemArray method returns a LineItem array containing the line-item elements.
  • Other methods, such as getQuantity, getPrice, and so on, follow naturally from what the schema describes, returning corresponding children of the line-item element.
  • The name of the package containing these types is derived from the schema's target namespace.

Capitalization and punctuation for generated type names follow Java convention. Also, while this example parses the XML from a file, other parse methods support a Java InputStream object, a Reader object, and so on.

The preceding Java code prints the following to the console:

Purchase order has 3 line items.
 Line item 0
   Description: Burnham's Celestial Handbook, Vol 1
   Quantity: 2
   Price: 21.79
 Line item 1
   Description: Burnham's Celestial Handbook, Vol 2
   Quantity: 2
   Price: 19.89
Total items: 4
Total amount: 41.68

Creating New XML Instances from Schema

As you've seen XMLBeans provides a "factory" class you can use to create new instances. The following example creates a new purchase-order element and adds a customer child element. It then inserts name and address child elements, creating the elements and setting their values with a single call to their set methods.

public PurchaseOrderDocument createPO()
{
    PurchaseOrderDocument newPODoc = PurchaseOrderDocument.Factory.newInstance();
    PurchaseOrder newPO = newPODoc.addNewPurchaseOrder();
    Customer newCustomer = newPO.addNewCustomer();
    newCustomer.setName("Doris Kravitz");
    newCustomer.setAddress("Bellflower, CA");
    return newPODoc;
}

The following is the XML that results. Note that XMLBeans assigns the correct namespace based on the schema, using an "ns1" (or, "namespace 1") prefix. For practical purposes, the prefix itself doesn't really matter — it's the namespace URI (http://openuri.org/easypo) that defines the namespace. The prefix is merely a marker that represents it.

<ns1:purchase-order xmlns:ns1="http://openuri.org/easypo">
    <ns1:customer>
        <ns1:name>Doris Kravitz</ns1:name>
        <ns1:address>Bellflower, CA</ns1:address>
    </ns1:customer>
</ns1:purchase-order>

Note that all types (including those generated from schema) inherit from XmlObject, and so provide a Factory class. For an overview of the type system in which XmlObject fits, see XMLBeans Support for Built-In Schema Types. For reference information, see XmlObject Interface.

XMLBeans Hierarchy

The generated types you saw used in the preceding example are actually part of a hierarchy of XMLBeans types. This hierarchy is one of the ways in which XMLBeans presents an intuitive view of schema. At the top of the hierarchy is XmlObject, the base interface for XMLBeans types. Beneath this level, there are two main type categories: generated types that represent user-derived schema types, and included types that represent built-in schema types.

This topic has already introduced generated types. For more information, see Java Types Generated from User-Derived Schema Types.

Built-In Type Support

In addition to types generated from a given schema, XMLBeans provides 46 Java types that mirror the 46 built-in types defined by the XML schema specification. Where schema defines xs:string, xs:decimal, and xs:int, for example, XMLBeans provides XmlString, XmlDecimal, and XmlInt. Each of these also inherits from XmlObject, which corresponds to the built-in schema type xs:anyType.

XMLBeans provides a way for you to handle XML data as these built-in types. Where your schema includes an element whose type is, for example, xs:int, XMLBeans will provide a generated method designed to return an XmlInt. In addition, as you saw in the preceding example, for most types there will also be a method that returns a natural Java type such as int. The following two lines of code return the quantity element's value, but return it as different types.

// Methods that return simple types begin with an "x".
XmlInt xmlQuantity = lineitems[j].xgetQuantity();
// Methods that return a natural Java type are unadorned.
int javaQuantity = lineitems[j].getQuantity();

In a sense both get methods navigate to the quantity element; the getQuantity method goes a step further and converts the elements value to the most appropriate natural Java type before returning it. (XMLBeans also provides a means for validating the XML as you work with it.)

If you know a bit about XML schema, XMLBeans types should seem fairly intuitive. If you don't, you'll learn a lot by experimenting with XMLBeans using your own schemas and XML instances based on them.

For more information on the methods of types generated from schema, see Methods for Types Generated From Schema. For more about the how XMLBeans represents built-in schema types, see XMLBeans Support for Built-In Schema Types.

Using XQuery Expressions

With XMLBeans you can use XQuery to query XML for specific pieces of data. XQuery is sometimes referred to as "SQL for XML" because it provides a mechanism to access data directly from XML documents, much as SQL provides a mechanism for accessing data in traditional databases.

XQuery borrows some of its syntax from XPath, a syntax for specifying nested data in XML. The following example returns all of the line-item elements whose price child elements have values less than or equal to 20.00:

PurchaseOrderDocument doc = PurchaseOrderDocument.Factory.parse(po);

/*
 * The XQuery expression is the following two strings combined. They're
 * declared separately here for convenience. The first string declares
 * the namespace prefix that's used in the query expression; the second
 * declares the expression itself.
 */
String nsText = "declare namespace po = 'http://openuri.org/easypo'; ";
String pathText = "$this/po:purchase-order/po:line-item[po:price <= 20.00]";
String queryText = nsText + pathText;

XmlCursor itemCursor = doc.newCursor().execQuery(queryText);
System.out.println(itemCursor.xmlText());

This code creates a new cursor at the start of the document. From there, it uses the XmlCursor interface's execQuery method to execute the query expression. In this example, the method's parameter is an XQuery expression that simply says, "From my current location, navigate through the purchase-order element and retrieve those line-item elements whose value is less than or equal to 20.00." The $this variable means "the current position."

For more information about XQuery, see XQuery 1.0: An XML Query Language at the W3C web site.

Using XML Cursors

In the preceding example you may have noticed the XmlCursor interface. In addition to providing a way to execute XQuery expression, an XML cursors offers a fine-grained model for manipulating data. The XML cursor API, analogous to the DOM's object API, is simply a way to point at a particular piece of data. So, just like a cursor helps navigate through a word processing document, the XML cursor defines a location in XML where you can perform actions on the selected XML.

Cursors are ideal for moving through an XML document when there's no schema available. Once you've got the cursor at the location you're interested in, you can perform a variety of operations with it. For example, you can set and get values, insert and remove fragments of XML, copy fragments of XML to other parts of the document, and make other fine-grained changes to the XML document.

The following example uses an XML cursor to navigate to the customer element's name child element.

PurchaseOrderDocument doc =
    PurchaseOrderDocument.Factory.parse(po);

XmlCursor cursor = doc.newCursor();
cursor.toFirstContentToken();
cursor.toFirstChildElement();
cursor.toFirstChildElement();
System.out.println(cursor.getText());

cursor.dispose();

What's happening here? As with the earlier example, the code loads the XML from a File object. After loading the document, the code creates a cursor at its beginning. Moving the cursor a few times takes it to the nested name element. Once there, the getText method retrieves the element's value.

This is just an introduction to XML cursors. For more information about using cursors, see Navigating XML with Cursors.

Where to Go Next

  • XMLBeans provides intuitive ways to handle XML, particularly if you're starting with schema. If you're accessing XML that's based on a schema, you'll probably find it most efficient to access the XML through generated types specific to the schema. To do this, you begin by compiling the schema to generate interfaces. For more information on using XMLBeans types generated by compiling schema, see Java Types Generated From User-Derived Schema Types and Methods for Types Generated From Schema.
  • You might be interested in reading more about the type system on which XMLBeans is based, particularly if you're using types generated from schema. XMLBeans provides a hierarchical system of types that mirror what you find in the XML schema specification itself. If you're working with schema, you might find it helps to understand how these types work. For more information, see XMLBeans Support for Built-In Schema Types and Introduction to Schema Type Signatures.
  • XMLBeans provides access to XML through XQuery, which borrows path syntax from XPath. With XQuery, you can specify specific fragments of XML data with or without schema. To learn more about using XQuery and XPath in XMLBeans, see Selecting XML with XQuery and XPath.
  • You can use the XmlCursor interface for fine-grained navigation and manipulation of XML. For more information, see Navigating XML with Cursors.

Note: The xbean.jar file that contains the XMLBeans library is fully functional as a standalone library.

Related Topics

XMLBeans Samples

xmlbeans-2.5.0.orig/docs/guide/conSelectingXMLwithXQueryPathXPath.html0000644000175000017500000004454410377161033025743 0ustar drazzibdrazzib Selecting XML with XQuery and XPath

Selecting XML with XQuery and XPath

You can use XPath and XQuery to retrieve specific pieces of XML as you might retrieve data from a database. XQuery and XPath provide a syntax for specifying which elements and attributes you're interested in. The XMLBeans API provides two methods for executing XQuery and XPath expressions, and two ways to use them. The methods are selectPath for XPath and execQuery for XQuery.

You can call them from and XmlObject instance (or a generated type inheriting from it) or an XmlCursor instance. As noted below, each of the four methods works slightly differently; be sure to keep these differences in mind when choosing your approach.

Note: Both XQuery and complex XPath expressions require additional classes on the class path, as noted in the sections that follow. Also, be sure to see the XMLBeans installation instructions.

Using XPath with the selectPath Method

You can execute XPath expressions use the selectPath method. When you use XPath with the selectPath method, the value returned is view of values from the current document — not a copy of those values. In other words, changes your code makes to XML returned by the selectPath method change the XML in the document queried against. In contrast, with XQuery executed using the execQuery method, the value returned is a copy of values in the XML queried against.

Note that XPath itself does not provide syntax for declaring prefix to URI bindings. For user convenience, we allow XQuery syntax to be used for such purposes. You can consult the latest XQuery draft when using syntax for declaring namespaces.

Note: By default, XMLBeans supports only very simple XPath expressions. To execute complex expressions — such as those with predicates, function calls, and the like — you will need xbean_xpath.jar and the Saxon jars (see below) on your class path. xbean_xpath.jar is among those created when you build XMLBeans from source. You may need to download the Saxon jars yourself.

Calling XmlObject.selectPath

When called from XmlObject (or a type that inherits from it), the selectPath method returns an array of objects. If the expression is executed against types generated from schema, then the type for the returned array is one of the Java types corresponding to the schema, and you can cast it accordingly.

For example, imagine you have the following XML containing employee information. You've compiled the schema describing this XML and the types generated from schema are available to your code.

<xq:employees xmlns:xq="http://xmlbeans.apache.org/samples/xquery/employees">
    <xq:employee>
        <xq:name>Fred Jones</xq:name>
        <xq:address location="home">
            <xq:street>900 Aurora Ave.</xq:street>
            <xq:city>Seattle</xq:city>
            <xq:state>WA</xq:state>
            <xq:zip>98115</xq:zip>
        </xq:address>
        <xq:address location="work">
            <xq:street>2011 152nd Avenue NE</xq:street>
            <xq:city>Redmond</xq:city>
            <xq:state>WA</xq:state>
            <xq:zip>98052</xq:zip>
        </xq:address>
        <xq:phone location="work">(425)555-5665</xq:phone>
        <xq:phone location="home">(206)555-5555</xq:phone>
        <xq:phone location="mobile">(206)555-4321</xq:phone>
    </xq:employee>
</xq:employees>
If you wanted to find the phone numbers whose area code was 206, you could capture the XPath expression in this way:
String queryExpression =
    "declare namespace xq='http://xmlbeans.apache.org/samples/xquery/employees';" +
    "$this/xq:employees/xq:employee/xq:phone[contains(., '(206)')]";

Notice in the query expression that the variable $this represents the current context node (the XmlObject that you are querying from). In this example you are querying from the document level XmlObject.

You could then print the results with code such as the following:

// Retrieve the matching phone elements and assign the results to the corresponding
// generated type.
PhoneType[] phones = (PhoneType[])empDoc.selectPath(queryExpression);

// Loop through the results, printing the value of the phone element.
for (int i = 0; i < phones.length; i++)
{
    System.out.println(phones[i].stringValue());
}

Calling XmlCursor.selectPath

When called from an XmlCursor instance, the selectPath method retrieves a list of selections, or locations in the XML. The selections are remembered by the cursor instance. You can use methods such as toNextSelection to navigate among them.

The selectPath method takes an XPath expression. If the expression returns any results, each of those results is added as a selection to the cursor's list of selections. You can move through these selections in the way you might use java.util.Iterator methods to move through a collection.

For example, for a path such as $this/employees/employee, the cursor instance from which you called selectPath would include a selection for each employee element found by the expression. Note that the variable $this is always bound to the current context node, which in this example is the document. After calling the selectPath method, you would use various "selection"-related methods to work with the results. These methods include:

  • getSelectionCount() to retrieve the number of selections resulting from the query.
  • toNextSelection() to move the cursor to the next selection in the list (such as to the one pointing at the next employee element found).
  • toSelection(int) to move the cursor to the selection at the specified index (such as to the third employee element in the selection).
  • hasNextSelection() to find out if there are more selections after the cursor's current position.
  • clearSelections() clears the selections from the current cursor. This doesn't modify the document (in other words, it doesn't delete the selected XML); it merely clears the selection list so that the cursor is no longer keeping track of those positions.

The following example shows how you might use selectPath, in combination with the push and pop methods, to maneuver through XML, retrieving specific values.

public void printZipsAndWorkPhones(XmlObject xml)
{
    // Declare the namespace that will be used.
    String xqNamespace =
        "declare namespace xq='http://xmlbeans.apache.org/samples/xquery/employees';";

    // Insert a cursor and move it to the first element.
    XmlCursor cursor = xml.newCursor();
    cursor.toFirstChild();

    // Save the cursor's current location by pushing it
    // onto a stack of saved locations.
    cursor.push();
    // Query for zip elements.
    cursor.selectPath(xqNamespace + "$this//xq:zip");

    // Loop through the list of selections, getting the value of
    // each element.
    while (cursor.toNextSelection())
    {
        System.out.println(cursor.getTextValue());
    }
    // Pop the saved location off the stack.
    cursor.pop();
    // Query again from the top, this time for work phone numbers.
    cursor.selectPath(xqNamespace + "$this//xq:phone[@location='work']");

    // Move the cursor to the first selection, then print that element's
    // value.
    cursor.toNextSelection();
    System.out.println(cursor.getTextValue());
    // Dispose of the cursor.
    cursor.dispose();
}

Using selections is somewhat like tracking the locations of multiple cursors with a single cursor. This becomes especially clear when you remove the XML associated with a selection. When you do so the selection itself remains at the location where the removed XML was, but now the selection's location is immediately before the XML that was after the XML you removed. In other words, removing XML created a kind of vacuum that was filled by the XML after it, which shifted up into the space — up into position immediately after the selection location. This is exactly the same as if the selection had been another cursor.

Finally, when using selections keep in mind that the list of selections is in a sense "live". The cursor you're working with is keeping track of the selections in the list. In other words, be sure to call the clearSelections method when you're finished with the selections, just as you should call the XmlCursor.dispose() method when you're finished using the cursor.

Using XQuery with the execQuery Method

You use the execQuery method to execute XQuery expressions. With XQuery expressions, XML returned is a copy of XML in the document queried against. In other words, changes your code makes to the values returned by execQuery are not reflected in the document queried against.

Note: To execute XQuery expressions, you must have the SaxonB 8.6.1 versions of the saxon8.jar and saxon8-dom.jar files on your classpath. These are two of the jars from inside the zip file saxonb8-6-1.zip which can be downloaded from the Saxon web site. If you build XMLBeans from source then the saxonb8-6-1.zip file and the two Saxon jar files are available in the external/lib directory.

Calling XmlObject.execQuery

As with selectPath, calling execQuery from an XmlObject instance will return an XmlObject array.

The following example retrieves work <zip> elements from the incoming XML, adding the elements as children to a new <zip-list> element.

public boolean collectZips(XmlObject empDoc)
{
    String namespaceDeclaration =
        "declare namespace xq='http://xmlbeans.apache.org/samples/xquery/employees';";
    // The query is designed to return results, so return
    // true if it does.
    boolean hasResults = false;

    // The expression: Get the <zip> elements and return them as children
    // of a new <zip-list> element.
    String queryExpression =
        "let $e := $this/xq:employees " +
        "return " +
        "<zip-list> " +
            "{for $z in $e/xq:employee/xq:address/xq:zip " +
            "return $z} " +
        "</zip-list>";

    // Execute the query. Results will be copies of the XML queried against,
    // stored as members of an XmlObject array.
    XmlObject[] results =
        empDoc.execQuery(namespaceDeclaration + queryExpression);

    // Print the results.
    if (results.length > 0)
    {
        hasResults = true;
        System.out.println("The query results: \n");
        System.out.println(results[0].toString() + "\n");
    }
    return hasResults;
}

Calling XmlCursor.execQuery

Unlike the selectPath method called from a cursor, the execQuery method doesn't return void. Instead it returns an XmlCursor instance positioned at the beginning of a new XML document representing the query results. Rather than accessing results as selections, you use the cursor to move through the results in typical cursor fashion (for more information, see Navigating XML with Cursors). The models are very different.

As always, you can cast the results to a type generated from schema if you know that the results conform to that type.

The following example retrieves work <phone> elements from the incoming XML, then changes the number in the results.

public boolean updateWorkPhone(XmlObject empDoc)
{
    boolean hasResults = false;

    // A cursor instance to query with.
    XmlCursor empCursor = empDoc.newCursor();
    empCursor.toNextToken();

    // The expression: Get the  elements with  elements whose
    // value is "WA".
    String queryExpression =
        "for $e in $this/xq:employees/xq:employee " +
        "let $s := $e/xq:address/xq:state " +
        "where $s = 'WA' " +
        "return $e//xq:phone[@location='work']";

    // Execute the query. Results, if any, will be available at
    // the position of the resultCursor in a new XML document.
    XmlCursor resultCursor =
        empCursor.execQuery(namespaceDeclaration + queryExpression);

    System.out.println("The query results, element copies made " +
		"from the received document: \n");
    System.out.println(resultCursor.getObject().toString() + "\n");

    // If there are results, the results will be children of the fragment root
    // where the new cursor is positioned. This statement tests for children
    // and moves the cursor if to the first if it exists.
    if (resultCursor.toFirstChild())
    {
        hasResults = true;
        // Use the cursor to loop through the results, printing each sibling
        // element returned by the query.
        int i = 0;
	    do
	    {
	        // Change the phone numbers.
            XmlCursor editCursor = resultCursor.newCursor();
	        editCursor.toLastAttribute();
	        editCursor.toNextToken();
	        editCursor.removeXml();
	        editCursor.insertChars("(206)555-1234");
	    } while (resultCursor.toNextSibling());

	    resultCursor.toStartDoc();
	    System.out.println("The query results after changes: \n");
	    System.out.println(resultCursor.getObject().toString() + "\n");

    	System.out.println("The received document -- note that it is unchanged. " +
            "Changes were made to the copy created by the execQuery method. \n");
    	System.out.println(empDoc + "\n");
    }
    return hasResults;
}

Related Topics

Getting Started with XMLBeans

xmlbeans-2.5.0.orig/docs/guide/tools.html0000644000175000017500000006414010320272567020246 0ustar drazzibdrazzib XMLBeans Tools

XMLBeans Tools

XMLBeans includes several command-line tools you might find handy as shortcuts for common tasks. You'll find these tools in the bin directory of the XMLBeans installation or source tree.

dumpxsb (XSB File Dumper)
Prints the contents of an XSB file in human-readable form.
 
inst2xsd (Instance to Schema Tool)
Generates XML schema from XML instance files.
 
scomp (Schema Compiler)
Compiles a schema into XMLBeans classes and metadata.
 
scopy (Schema Copier)
Copies the XML schema at the specified URL to the specified file.
 
sdownload (Schema Downloader)
Maintains "xsdownload.xml," an index of locally downloaded XSD files. URLs that are specified are downloaded if they aren't already cached. If no files or URLs are specified, all indexed files are relevant.
 
sfactor (Schema Factoring Tool)
Factors redundant definitions out of a set of schemas and uses imports instead.
 
svalidate (Streaming Instance Validator)
Validates a schema definition and instances within the schema.
 
validate (Instance Validator)
Validates an instance against a schema.
 
xpretty (XML Pretty Printer)
Pretty prints the specified XML to the console.
 
xsd2inst (Schema to Instance Tool)
Prints an XML instance from the specified global element using the specified schema.
 
xsdtree (Schema Type Hierarchy Printer)
Prints an inheritance hierarchy of the types defined in a schema.
 
xmlbean Ant task
Compiles a set of XSD and/or WSDL files into XMLBeans types.

dumpxsb (XSB File Dumper)

Prints the contents of an XSB file in human-readable form. An XSB file contains schema meta information needed to perform tasks such as binding and validation. "XSB" stands for XML Schema Binary.

Syntax

dumpxsb myfile.xsb

Options

myfile.xsb
The name of an XSB file.

Example

The following command and output example use an XSB file generated by compiling the schema (in EasyPo.xsd) that accompanies the SubstitutionGroup sample.

dumpxsb PurchaseOrderDocument.xsb

Output:

PurchaseOrderDocument.xsb
  Magic cookie: da7ababe
  Major version: 2
  Minor version: 22
  Release number: 0
  Filetype: FILETYPE_SCHEMAPOINTER
  String pool (2):
  1 = "schema.system.s633ECC92E6CC0ACA137B11B7B38CA3A8"
  Type system: schema.system.s633ECC92E6CC0ACA137B11B7B38CA3A8

inst2xsd (Instance to Schema Tool)

Generates XML schema from XML instance files.

Syntax

inst2xsd [options] instance.xml*

Options

-design [rd | ss | vb]
The XML schema design type to use for the generated schema.
rd — Use russian doll design; local elements and local types.
ss — Use salami slice design; global elements and local types.
vb (default) — Use venetian blind design; local elements and global complex types.
-simple-content-types [smart | string]
The manner for detecting content types (leaf text)
smart (default) — Use a likely type, such as xs:byte for a value of "123".
string — Use xs:string as the type.
 
-enumerations [never | number]
Whether to use enumerations.
never — Never use enumerations.
number (default: 10) — Use number as the threshold for enumerations. Specifying "2" will create enumerations for elements with no more than two different values.
 
-outDir [dir]
The directory for output files.
dir — Directory path. Default is '.' (the current directory).
 
-outPrefix [file_name_prefix]
The prefix for output file names.
file_name_prefix — Prefix to use. Default is "schema".
 
-validate
Validate input instances against generated schemas.
 
-verbose
Print more informational messages.
 
-license
Print license information.
 
-help
Print help information.

Example

The following example generates schema0.xsd from Purchase-Order.xml, with salami slice schema design, simple content types detected where possible, and enumerations limited to elements with four different values.

inst2xsd -design ss -simple-content-types smart -enumerations 4 Purchase-Order.xml

scomp (Schema Compiler)

Compiles schema into Java XMLBeans classes and metadata. Schema-related work with XMLBeans begins by compiling schema to generated Java types. You can use scomp to compile schema from the command line. XMLBeans also provides an Ant task, xmlbeans, which you can use to compile schemas. For run-time schema compilation that doesn't generate files, see the org.apache.xmlbeans.XmlBeans.compileXsd methods.

For more information about the types resulting from compiling schema, see Java Types Generated from User-Derived Schema Types, XMLBeans Support for Built-In Schema Types, and Methods for Types Generated From Schema.

For more information on getting started with XMLBeans, see Getting Started with XMLBeans.

Syntax

scomp [options] [dirs]* [schemaFile.xsd]* [service.wsdl]* [config.xsdconfig]*

Options

-cp [pathA;pathB;pathC]
Classpath specifying classes to include during compilation.
pathA;pathB;pathC — Class search path of directories and JAR files.
 
-d [dir]
Target directory for CLASS and XSB files.
dir — The directory path.
 
-src [dir]
Target directory for generated JAVA files.
dir — The directory path.
 
-srconly
Do not compile JAVA files or jar the output.
 
Note that XSB files are needed in order for CLASS files compiled from the sources to be useful as XMLBeans classes. To get only JAVA files, use -src to specify a directory for the JAVA files. To get JAVA and XSB files in the same directory, use -d to specify a directory that will include both. To get JAVA and XSB files in separate directories, use -src for the JAVA file destination and -d for the XSB file destination.
 
-out [jarFileName]
The name of the output JAR that will contain the result of compilation. The default is "xmltypes.jar".
jarFileName — The name for the JAR containing generated files.
 
-dl
Permit network downloads for imports and includes (this permission is off by default).
 
-noupa
Do not enforce the unique particle attribution rule.
 
-nopvr
Do not enforce the particle valid (restriction) rule.
 
-noann
Ignore annotations.
 
-novdoc
Do not validate contents of <documentation> elements.
 
-compiler
Path to external Java compiler.
 
-javasource [version]
Generate Java source compatible for the specified Java version (1.4 or 1.5).
 
-ms
Initial memory for external Java compiler; the default is "8m".
 
-mx
Maximum memory for external Java compiler; the default is "256m".
 
-debug
Compile with debug symbols.
 
-quiet
Print fewer informational messages.
 
-verbose
Print more informational messages.
 
-version
Print version information.
 
-license
Print license information.
 
-allowmdef "[namespace] [namespace] [namespace]"
Ignore multiple defs in given namespaces. Use ##local to specify the no-namespace in that list.
 
-catalog [fileName]
Catalog file to use for resolving external entities. With this option, scomp uses org.apache.xml.resolver.tools.CatalogResolver for resolving. Note that to use this option, your classpath must include resolver.jar from http://xml.apache.org/commons/components/resolver/index.html). Copy resolver.jar to the XMLBEANS_HOME/lib directory, so that the script can pick it up from there. You can use the sdownload tool to ensure that required schemas are present for compilation.
fileName — A path to the catalog file.
 
dirs
Directories containing XSD (and possibly XSDCONFIG) files that should be compiled.
 
schemaFile.xsd
The names of XSD files that should be compiled.
 
service.wsdl
A WSDL file for which types should be generated.
 
config.xsdconfig
The name of an XSDCONFIG file. Use an XSDCONFIG file to guide the naming of generated classes and packages. Without an XSDCONFIG file, scomp uses the schema's type names and URI for classes and packages.

Example

In the following example, scomp compiles EasyPO.xsd, guiding type naming with po.xsdconfig. scomp puts generated CLASS and XSB files into a classes directory one level up, and JAVA source files into a src directory one level up. Source files will be compatible with Java version 1.5.

scomp -d ..\classes -src ..\src -javasource 1.5 EasyPO.xsd po.xsdconfig

Here, scomp compiles all of the contents of the schemas directory and puts the generated files into poschema.jar one level up.

scomp -out ..\poschema.jar schemas

The following example generates JAVA source and XSB files from the schema in EasyPO.xsd. No CLASS files are generated, and the JAVA and XSB files are put into src and xsb directories, respectively.

scomp -srconly -src ..\src -d ..\xsb EasyPO.xsd

When the schema features imports or includes and you want to use a catalog, you can tell scomp to use the default catalog resolver (org.apache.xml.resolver.tools.CatalogResolver); you specify a catalog file with the -catalog option, as in the example below. (Note that this requires resolver.jar, as noted above for the -catalog option.) In this example, scomp compiles schemaThatUsesRequiredSchema.xsd into myschemas.jar, resolving imports from requiredSchema.xsd through xsdownload.xml. The sdownload tool is executed first — this ensures that requiredSchema.xsd is present for compilation, but does not actually download requiredSchema.xsd unless the URL at which it's found isn't already cached. This is more efficient than using scomp's -dl option, which attempts to download every time.

sdownload "http://some.org/requiredSchema.xsd" 
scomp -out ..\myschemas.jar -catalog xsdownload.xml schemaThatUsesRequiredSchema.xsd

When a schema features multiple element declarations of the same qname, such as multiple <xs:any> particles, you might want to disable to "unique particle validation" rule, which would ordinarily invalidate the schema. To do this, use the -noupa option, as in the following example.

scomp -out ..\myschemas.jar -noupa schemas

scopy (Schema Copier)

Copies the XML schema at the specified URL to the specified file.

Syntax

schemacopy sourceurl [targetfile]

Options

sourceurl
The URL at which the schema is located.
 
targetfile
The file to which the schema should be copied.

sdownload (Schema Downloader)

Maintains "xsdownload.xml," an index of locally downloaded XSD files. URLs that are specified are downloaded if they aren't already cached. If no files or URLs are specified, all indexed files are relevant.

You can use this tool when using scomp, in conjunction with scomp's -catalog option, to ensure the presence of schemas that are required for compilation because they're imported or included. This is an alternative to using scomp's -dl option, which would hit the Internet on every invocation of scomp. When you use sdownload with -catalog, the download occurs only if the URL is not already cached. See the scomp section for an example.

Syntax

sdownload [-dir directory] [-refresh] [-recurse] [-sync] [url/file]

Options

-dir directory
The directory for the xsdownload.xml file (the default is ".").
directory — The directory path.
 
-sync
Synchronize the index to any local XSD files in the tree.
 
-recurse
Recursively download imported and included XSD files.
 
-refresh
Re-download all indexed XSD files.

sfactor (Schema Factoring Tool)

Factors redundant definitions out of a set of schemas and uses imports instead.

Syntax

sfactor [-import common.xsd] [-out outputdir] inputdir [-license]

Options

-import
The XSD file to contain redundant definitions for importing.
common.xsd — A path to the file.
-out outputdir
The directory into which to place XSD files resulting from refactoring, plus a commonly imported common.xsd.
inputdir
The directory containing the XSD files with redundant definitions.
-license
Print license information.

svalidate (Streaming Instance Validator)

Validates the specified instance against the specified schema. Unlike the validate tool, svalidate uses a streaming model through which you can validate much larger instances with less memory (if the schema permits it).

Syntax

svalidate [options] schema.xsd instance.xml

Options

-dl
Enable network downloads for imports and includes.
 
-nopvr
Disable particle valid (restriction) rule.
 
-noupa
Disable unique particle attribution rule.
 
-license
Print license information.
 
schema.xsd
The schema against which to validate.
 
instance.xml
The instance to validate.

validate (Instance Validator)

Validates a the specified instance against the specified schema. Compare this tool with the svalidate tool, which is useful for validating very large documents.

Syntax

validate [options] schema.xsd instance.xml

Options

-dl
Enable network downloads for imports and includes.
 
-nopvr
Disable particle valid (restriction) rule.
 
-noupa
Disable unique particle attribution rule.
 
-license
Print license information.
 
schema.xsd
The schema against which to validate.
 
instance.xml
The instance to validate.

Example

The following simple example validates PurchaseOrder.xml against EasyPO.xsd.

validate ..\schemas\EasyPO.xsd PurchaseOrder.xml

In this example, MySchema imports types from another schema and also includes multiple particles defined as <xsd:any> types. The validate command here locates the external schemas for importing (providing there is network access to the schemas) and ignores the validation rule whereby multiple particles of the same qname render the schema invalid.

validate -dl -noupa ..\schemas\MySchema.xsd AnInstance.xml

xpretty (XML Pretty Printer)

Pretty prints the specified XML to the console.

Syntax

xpretty [options] file.xml

Options

-indent numberOfSpaces
Indent the specified number of spaces.
numberOfSpaces — The number of spaces to indent.
 
-license
Print license information.

xsd2inst (Schema to Instance Tool)

Prints an XML instance from the specified global element using the specified schema.

Syntax

xsd2inst schemafile.xsd -name globalElementName

Options

schemafile.xsd
The schema file defining the element to print.
 
-name
The name of the global element
globalElementName — The local name of the global element to use as the root of the printed instance.

Example

The following command and output use the schema that accompanies the SubstitutionGroup sample.

xsd2inst easypo.xsd -name invoice-header

Output

<eas:invoice-header xmlns:eas="http://xmlbeans.apache.org/samples/substitutiongroup/easypo">
    <eas:ship-to>
        <eas:name>string</eas:name>
        <eas:address>string</eas:address>
    </eas:ship-to>
    <eas:bill-to>
        <eas:name>string</eas:name>
        <eas:address>string</eas:address>
    </eas:bill-to>
    <!--Optional:-->
    <eas:product id="3"/>
    <!--Optional:-->
    <eas:comment>string</eas:comment>
</eas:invoice-header>

xsdtree (Schema Type Hierarchy Printer)

Prints inheritance hierarchy of types defined in a schema.

Syntax

xsdtree [-noanon] [-nopvr] [-noupa] [-partial] [-license] schemafile.xsd*

Options

-noanon
Don't include anonymous types in the tree.
 
-nopvr
Disable particle valid (restriction) rule.
 
-noupa
Disable unique particle attribution rule.
 
-partial
Print only part of the hierarchy.
 
-license
Print license information.
 
schemafile.xsd
The file containing the schema whose hierarchy should be printed.

Example

The following command and output use the schema that accompanies the SubstitutionGroup sample.

xsdtree easypo.xsd

Output:

xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:eas="http://xmlbeans.apache.org/samples/substitutiongroup/easypo"
+-xs:anyType (builtin)
    +-xs:anySimpleType (builtin)
    | +-xs:string (builtin)
    | +-xs:normalizedString (builtin)
    | +-xs:token (builtin)
    | +-type of color element in eas:clothing-type (enumeration)
    +-type of element eas:invoice-header
    +-type of element eas:purchase-order
    +-eas:product-type
    | +-eas:clothing-type
    | +-eas:book-type
    +-eas:name-address

xmlbean Ant task

Compiles a set of XSD and/or WSDL files into XMLBeans types. See xmlbean Ant Task for more complete documentation on the task.

xmlbeans-2.5.0.orig/docs/guide/conUsingBookmarksToAnnotateXML.html0000644000175000017500000001031610320272567025116 0ustar drazzibdrazzib Using Bookmarks to Annotate XML

Using Bookmarks to Annotate XML

You can use a cursor to insert bookmarks that annotate XML with markers containing information you design. These bookmarks aren't written into the XML itself, but in a sense "hang" from the location where it was inserted. In this way you can associate arbitrary pieces of information with specific parts of the XML.

You design your own bookmark classes by extending XmlBookmark, a nested class of XmlCursor. You can design your bookmark class to contain information specific to your needs.

In the following example, OrderBookmark is an inner class that extends XmlCursor.XmlBookmark. It merely stores a piece of text.

/*
 * The OrderBookmark class includes a constructor through which you will
 * insert your bookmark's content. It also includes get and set methods
 * you can use to retrieve and change the content.
 */
static class OrderBookmark extends XmlCursor.XmlBookmark {
    public OrderBookmark (String text) { TEXT = text; }
    public String TEXT;
    public String getText() { return TEXT; }
    public void setText(String newText) { TEXT = newText; }
}

You can use instances of this class to store bookmarks at places in your XML. The following excerpt of code creates a cursor and an instance of the OrderBookmark class. Then it uses the cursor to insert the bookmark at the cursor's current location.

    XmlCursor orderCursor = xmlDoc.newCursor();
    OrderBookmark thisBookmark = new OrderBookmark("foo");
    orderCursor.setBookmark(thisAnnotation);

Related Topics

Navigating XML with Cursors

xmlbeans-2.5.0.orig/xbeanenv.cmd0000644000175000017500000000003210320272612016443 0ustar drazzibdrazzibSET XMLBEANS_HOME=%~dp0. xmlbeans-2.5.0.orig/samples/0000755000175000017500000000000011331341653015626 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/0000755000175000017500000000000011331341653021357 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/schemas/0000755000175000017500000000000011331341653023002 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/schemas/EasyPo.xsd0000644000175000017500000000666710320272603024734 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/SubstitutionGroup/build.xml0000644000175000017500000000770210320272604023202 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/SubstitutionGroup/README.txt0000644000175000017500000000251110320272604023050 0ustar drazzibdrazzibSample: SubstitutionGroup Author: Rashmi Banthia (rjain29@gmail.com) Last Updated: Oct. 6th, 2004 Versions: xmlbeans-1.0.3 ----------------------------------------------------------------------------- This sample illustrates substitution group elements in an XML document. When you run this sample, you'll see it print substitution group element names and values. Also it creates a new XML document to demonstrate how to write substitution group elements. For example, for the following schema and XML fragment: Sample ship comment Sample comment It will print: -------------- ship-comment Sample ship comment comment Sample comment Also it will write the following fragment to a XML document: Sample bill comment To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/0000755000175000017500000000000011127016614022145 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/0000755000175000017500000000000011127016614022734 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/apache/0000755000175000017500000000000011127016613024154 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/apache/xmlbeans/0000755000175000017500000000000011127016613025765 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016613027431 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/apache/xmlbeans/samples/substitutiongroup/0000755000175000017500000000000011331341653033264 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000017300000000000011566 Lustar rootrootxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/apache/xmlbeans/samples/substitutiongroup/SubstitutionGroupTest.javaxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/apache/xmlbeans/samples/substitutiongroup/Subs0000644000175000017500000000345510320272603034125 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.substitutiongroup; import org.apache.xmlbeans.samples.substitutiongroup.easypo.PurchaseOrderDocument; /** * A class to test the SubstitutionGroup sample. */ public class SubstitutionGroupTest { /** * Tests the SubstitutionGroup sample. * * @param args An array in which the first item is a path to an XML file * based on the schema in EasyPo.xsd. The second item is a path to an XML * file that should be created by the sample. */ public static void main(String[] args) { // Create an instance of the sample to test. SubstitutionGroup sample = new SubstitutionGroup(); // Create a schema type instance from the XML indicated by the path. SubstitutionGroup subGrp = new SubstitutionGroup(); PurchaseOrderDocument poDoc = subGrp.parseXml(args[0]); // Validate the XML. assert sample.validateXml(poDoc); // Create a new document that adds two elements. PurchaseOrderDocument newDoc = sample.createDocument(poDoc, args[1]); // Validate the XML. assert sample.validateXml(newDoc); } } ././@LongLink0000000000000000000000000000016700000000000011571 Lustar rootrootxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/apache/xmlbeans/samples/substitutiongroup/SubstitutionGroup.javaxmlbeans-2.5.0.orig/samples/SubstitutionGroup/src/org/apache/xmlbeans/samples/substitutiongroup/Subs0000644000175000017500000002230210320272603034115 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.substitutiongroup; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlError; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlOptions; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.samples.substitutiongroup.easypo.PurchaseOrderDocument; import org.apache.xmlbeans.samples.substitutiongroup.easypo.InvoiceHeaderDocument; import org.apache.xmlbeans.samples.substitutiongroup.easypo.NameAddress; import org.apache.xmlbeans.samples.substitutiongroup.easypo.BookType; import org.apache.xmlbeans.samples.substitutiongroup.easypo.ClothingType; import javax.xml.namespace.QName; import java.io.File; import java.io.IOException; import java.util.ArrayList; /** * This sample illustrates how you can access substitution group element names and * values defined in the XML document. This sample also demonstrates how to write * substitution group elements. * * The schema used by this sample are defined in EasyPo.xsd */ public class SubstitutionGroup { /** * Receives an XML Instance and prints the substitution group element names and values, * Also creates a new XML Instance. * * @param args An array containing * (a)Path to the XML Instance conforming to the XML schema in EasyPo.xsd. * (b)Path for creating a new XML Instance. */ public static void main(String args[]) { // Create an instance of this class to work with. SubstitutionGroup subGrp = new SubstitutionGroup(); // Create an instance of a type based on the received XML's schema PurchaseOrderDocument poDoc = subGrp.parseXml(args[0]); // Validate it validateXml(poDoc); // Prints the comments from the XML, also the name of the substitute tokens. subGrp.printComments(poDoc); // Creates a new XML and saves the file subGrp.createDocument(poDoc,args[1]); } public PurchaseOrderDocument parseXml(String file) { File xmlfile = new File(file); PurchaseOrderDocument poDoc = null; try { poDoc = PurchaseOrderDocument.Factory.parse(xmlfile); } catch(XmlException e){ e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); } return poDoc; } /** * This method prints the substitution group element names(local part) and values for each Invoice-header * element in the XML Instance. (The rest of elements are ignored for the sake of simplicity) */ public void printComments(PurchaseOrderDocument poDoc) { // Get object reference of root element. PurchaseOrderDocument.PurchaseOrder purchaseOrderElement = poDoc.getPurchaseOrder(); // Get all the invoice-header elements for purchase-order. InvoiceHeaderDocument.InvoiceHeader[] invHeaders = purchaseOrderElement.getInvoiceHeaderArray(); System.out.println("\n\n=========Contents==========\n"); // Iterate through each invoice-header elements printing only the element name and value for substitution group // comment as defined in Easypo.xsd. for (int i=0;iValidates the XML, printing error messages when the XML is invalid. Note * that this method will properly validate any instance of a compiled schema * type because all of these types extend XmlObject.

* *

Note that in actual practice, you'll probably want to use an assertion * when validating if you want to ensure that your code doesn't pass along * invalid XML. This sample prints the generated XML whether or not it's * valid so that you can see the result in both cases.

* * @param xml The XML to validate. * @return true if the XML is valid; otherwise, false */ public static boolean validateXml(XmlObject xml) { boolean isXmlValid = false; // A collection instance to hold validation error messages. ArrayList validationMessages = new ArrayList(); // Validate the XML, collecting messages. isXmlValid = xml.validate( new XmlOptions().setErrorListener(validationMessages)); // If the XML isn't valid, print the messages. if (!isXmlValid) { System.out.println("\nInvalid XML: "); for (int i = 0; i < validationMessages.size(); i++) { XmlError error = (XmlError) validationMessages.get(i); System.out.println(error.getMessage()); System.out.println(error.getObjectLocation()); } } return isXmlValid; } } xmlbeans-2.5.0.orig/samples/SubstitutionGroup/xml/0000755000175000017500000000000011331341653022157 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SubstitutionGroup/xml/newPurchase-Order.xml0000644000175000017500000000463510320272603026241 0ustar drazzibdrazzib Any Inc.
AnyTown, AnyCity
Any Inc.
AnyTown, AnyCity
The Little Engine That Could Please ship this to Any Inc. asap.
Some Corp.
SomeTown, SomeCity
This Corp.
ThisTown, ThisCity
green This is being billed to This Corp.
New Company
NewTown, NewCity
New Company
NewTown, NewCity
Where the Red Fern Grows This is a new bill-comment
Other Company
OtherTown, OtherCity
Other Company
OtherTown, OtherCity
blue This is a new bill-comment
xmlbeans-2.5.0.orig/samples/SubstitutionGroup/xml/Purchase-Order.xml0000644000175000017500000000303010320272603025513 0ustar drazzibdrazzib Any Inc.
AnyTown, AnyCity
Any Inc.
AnyTown, AnyCity
The Little Engine That Could Please ship this to Any Inc. asap.
Some Corp.
SomeTown, SomeCity
This Corp.
ThisTown, ThisCity
green This is being billed to This Corp.
xmlbeans-2.5.0.orig/samples/OrderMatters/0000755000175000017500000000000011331341653020241 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/OrderMatters/schemas/0000755000175000017500000000000011331341653021664 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/OrderMatters/schemas/stmt.xsd0000644000175000017500000000247410320272605023377 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/OrderMatters/build.xml0000644000175000017500000000746210320272606022071 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/OrderMatters/README.txt0000644000175000017500000000206410320272606021737 0ustar drazzibdrazzibSample: MixedContent Author: Eric Vasilik (ericvas@bea.com) Last Updated: Oct. 28, 2004 Versions: xmlbeans-1.0.3 xmlbeans-v2 ----------------------------------------------------------------------------- This samples gives an quick overview of how to use XmlBeans with both the strongly typed XmlObjects (StatementDocument, Transaction) and with the XmlCursor. In the sample, a instance of a statement is iterated over twice -- once using the strongly typed array approach and once with an XmlCursor. When walking over the array the programmer naivly adds up deposit amounts before the withdrawal amounts. The end result is a positive balance. When walking over the array using XmlCursor, the transaction amounts are processed in order and the end result is a negative balance. In this situation, the order of the xml elements matters! To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/OrderMatters/src/0000755000175000017500000000000011127016623021027 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/OrderMatters/src/org/0000755000175000017500000000000011127016623021616 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/OrderMatters/src/org/apache/0000755000175000017500000000000011127016621023035 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/OrderMatters/src/org/apache/xmlbeans/0000755000175000017500000000000011127016621024646 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/OrderMatters/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016621026312 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/OrderMatters/src/org/apache/xmlbeans/samples/cursor/0000755000175000017500000000000011331341653027632 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootxmlbeans-2.5.0.orig/samples/OrderMatters/src/org/apache/xmlbeans/samples/cursor/OrderMattersTest.javaxmlbeans-2.5.0.orig/samples/OrderMatters/src/org/apache/xmlbeans/samples/cursor/OrderMattersTest.jav0000644000175000017500000000323510320272606033610 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.cursor; import statement.StatementDocument; import statement.StatementDocument.Statement; import statement.Transaction; import java.io.File; import org.apache.xmlbeans.XmlCursor; import javax.xml.namespace.QName; public class OrderMattersTest { private static QName deposit = new QName( "http://statement", "deposit" ); public static void main ( String[] args ) throws Exception { StatementDocument stmtDoc = StatementDocument.Factory.parse( new File( args[ 0 ] ) ); if (!stmtDoc.validate()) throw new RuntimeException("expected valid instance: " + args[0]); float balance = OrderMatters.balanceOutOfOrder(stmtDoc); if (1010F != balance) throw new RuntimeException("expected out of order to return $1010.0: " + balance); balance = OrderMatters.balanceInOrder(stmtDoc); if (960F != balance) throw new RuntimeException("expected in order to return $960.0: " + balance); } } xmlbeans-2.5.0.orig/samples/OrderMatters/src/org/apache/xmlbeans/samples/cursor/OrderMatters.java0000644000175000017500000000623310320272606033112 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.cursor; import statement.StatementDocument; import statement.StatementDocument.Statement; import statement.Transaction; import java.io.File; import org.apache.xmlbeans.XmlCursor; import javax.xml.namespace.QName; public class OrderMatters { private static QName deposit = new QName( "http://statement", "deposit" ); public static void main ( String[] args ) throws Exception { // load the xml instance into the store and return a // strongly typed instance of StatementDocument StatementDocument stmtDoc = StatementDocument.Factory.parse( new File( args[ 0 ] ) ); System.out.println( "Valid statement instance? " + stmtDoc.validate() ); float balance = balanceOutOfOrder(stmtDoc); System.out.println( "Ending balance: $" + balance ); balance = balanceInOrder(stmtDoc); System.out.println( "Ending balance: $" + balance ); } /** * Out of order balance: the ease of stronly-typed XmlObjects! */ public static float balanceOutOfOrder(StatementDocument stmtDoc) { Statement stmt = stmtDoc.getStatement(); float balance = 0; Transaction[] deposits = stmt.getDepositArray(); Transaction[] withdrawals = stmt.getWithdrawalArray(); for ( int i = 0 ; i < deposits.length ; i++ ) balance += deposits[ i ].getAmount(); for ( int i = 0 ; i < withdrawals.length ; i++ ) balance -= withdrawals[ i ].getAmount(); return balance; } /** * In order balance: the power of XmlCursor! */ public static float balanceInOrder(StatementDocument stmtDoc) { float balance = 0; XmlCursor cursor = stmtDoc.newCursor(); // use xpath to select elements cursor.selectPath( "*/*" ); // iterate over the selection while ( cursor.toNextSelection() ) { // two views of the same data: // move back and forth between XmlObject <-> XmlCursor Transaction trans = (Transaction) cursor.getObject(); float amount = trans.getAmount(); if (cursor.getName().equals( deposit )) balance += amount; else if ((balance -= amount) < 0) { // doh! System.out.println( "Negative balance: $" + balance ); balance -= 50; } } return balance; } } xmlbeans-2.5.0.orig/samples/OrderMatters/xml/0000755000175000017500000000000011331341653021041 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/OrderMatters/xml/stmt.xml0000644000175000017500000000214310320272605022547 0ustar drazzibdrazzib Vegas winnings! 3000.00 OSCON Registration 1890.00 Four Seasons Hotel 1200.00 Paycheck 1100.00 xmlbeans-2.5.0.orig/samples/DateTime/0000755000175000017500000000000011331341653017322 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/schemas/0000755000175000017500000000000011331341653020745 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/schemas/datetime.xsd0000644000175000017500000000331610320272606023262 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/DateTime/build.xml0000644000175000017500000000754710320272610021151 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/DateTime/README.txt0000644000175000017500000000374410320272607021027 0ustar drazzibdrazzibSample: DateTime Author: Rashmi Banthia (rjain29@gmail.com) Last Updated: Oct. 11, 2004 Versions: xmlbeans-1.0.3 ----------------------------------------------------------------------------- This sample demonstrates how you can work with XML Schema primitive types date, dateTime, time, duration, gDay. This sample illustrates how you can (1) Convert org.apache.xmlbeans.XmlDate to java.util.Calendar,org.apache.xmlbeans.GDate, java.util.Date (2) Convert org.apache.xmlbeans.XmlTime to java.util.Calendar,org.apache.xmlbeans.GDate, java.util.Date (3) Convert org.apache.xmlbeans.XmlDuration to org.apache.xmlbeans.GDuration (4) Convert org.apache.xmlbeans.XmlGday to java.util.Calendar,org.apache.xmlbeans.GDate, Day - primitive java int (5) Get/Set XML Schema primitive types date, dateTime, time, duration, and gDay. XMLBean Types provide mapping between natural Java classes and W3C Schema types. For eg: Schema Type Formal Class Natural Java Class xs:date XmlDate java.util.Calendar (XmlCalendar) xs:duration XmlDuration org.apache.xmlbeans.GDuration xs:dateTime XmlDateTime java.util.Calendar (XmlCalendar) xs:time XmlTime java.util.Calendar (XmlCalendar) The XmlCalendar is a subclass of GregorianCalendar that modifies several key details in the behavior of GregorianCalendar to make it more useful when dealing with XML dates. When you run this sample: (1) It will print element values using different formats ie. Calendar, Date, GDate. Please note it prints only first occurence of element's value for the purpose of simplicity. (2) It will create a new element and saves the same in a XML Document. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/DateTime/src/0000755000175000017500000000000011127016626020113 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/src/org/0000755000175000017500000000000011127016625020701 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/src/org/apache/0000755000175000017500000000000011127016625022122 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/src/org/apache/xmlbeans/0000755000175000017500000000000011127016625023733 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016625025377 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/src/org/apache/xmlbeans/samples/datetime/0000755000175000017500000000000011331341653027172 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/src/org/apache/xmlbeans/samples/datetime/DateTime.java0000644000175000017500000002700510320272607031534 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.datetime; import java.io.File; import java.io.IOException; import java.util.Calendar; import java.util.ArrayList; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlOptions; import org.apache.xmlbeans.XmlError; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.GDuration; import org.apache.xmlbeans.XmlDate; import org.apache.xmlbeans.XmlCalendar; import java.util.Calendar; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.xmlbeans.samples.datetime.ImportantDate; import org.apache.xmlbeans.samples.datetime.DatetimeDocument; /** * The sample illustrates how you can work with XML Schema types date, * dateTime, time, duration, gDay. * It parses the XML Document, prints first occurence of * value, creates a new element and saves it in a new XML Document. * This sample illustrates how you can convert XMLBean types to Java types * (java.util.Date, java.util.Calendar). * It uses the schema defined in datetime.xsd. */ public class DateTime { /** * Receives an XML Instance and prints the element values, * Also creates a new XML Instance. * * @param args An array containing * (a)Path to the XML Instance conforming to the XML schema in datetime.xsd. * (b)Path for creating a new XML Instance. */ public static void main(String args[]){ // Create an instance of this class to work with. DateTime dt = new DateTime(); // Create an instance of a Datetime type based on the received XML's schema DatetimeDocument doc = dt.parseXml(args[0]); // Prints the element values from the XML dt.printInstance(doc); // Creates a new XML and saves the file dt.createDocument(doc,args[1]); } /** * Creates a File from the XML path provided in main arguments, then * parses the file's contents into a type generated from schema. */ public DatetimeDocument parseXml(String file){ // Get the XML instance into a file using the path provided. File xmlfile = new File(file); // Create an instance of a type generated from schema to hold the XML. DatetimeDocument doc = null; try { // Parse the instance into the type generated from the schema. doc = DatetimeDocument.Factory.parse(xmlfile); } catch(XmlException e){ e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); } return doc; } /** * This method prints first occurence of * value. It also prints converted values from XMLBean types to Java types * (java.util.Date, java.util.Calendar) and org.apache.xmlbeans.GDate. */ public void printInstance(DatetimeDocument doc){ // Retrieve the element and get an array of // the elements it contains. DatetimeDocument.Datetime dtelement = doc.getDatetime(); ImportantDate[] impdate = dtelement.getImportantDateArray(); // Loop through the elements, printing the // values for each. for (int i=0;i elements within element XmlDate[] holiday = impdate[i].xgetHolidayArray(); System.out.println("Holiday(xs:date): "); for (int j=0;j element and attaches to the existing XML Instance, and saves the * new Instance to a file(args[1]). */ public void createDocument(DatetimeDocument doc , String file){ // Retrieve the element and add a new element. DatetimeDocument.Datetime dtelement = doc.getDatetime(); // // add an important date using XmlCalendar // ImportantDate impdate = dtelement.addNewImportantDate(); //Creating value for element Calendar holiday = new XmlCalendar("2004-07-04"); //Creating value for element Calendar funbegintime = new XmlCalendar("10:30:33"); //Creating value for element Calendar funendtime = new XmlCalendar("12:40:12"); //Creating value for element Calendar birthdatetime = new XmlCalendar("1977-11-29T10:10:12"); //Creating value for element GDuration jobduration = new GDuration(1,2,4,5,10,12,15,null); //Creating value for element Calendar payday = new XmlCalendar("---12"); //Setting all the elements impdate.addHoliday(holiday); impdate.setFunBeginTime(funbegintime); impdate.setFunEndTime(funendtime); impdate.setJobDuration(jobduration); impdate.setBirthdatetime(birthdatetime); impdate.setPayday(payday); impdate.setDescription("Using XmlCalendar"); // // add another important date using Calendar // impdate = dtelement.addNewImportantDate(); //Creating value for element using XmlCalendar holiday = new XmlCalendar("2004-07-04"); //Creating value for element using GregorianCalendar funbegintime = Calendar.getInstance(); funbegintime.clear(); funbegintime.set(Calendar.AM_PM , Calendar.AM); funbegintime.set(Calendar.HOUR, 10); funbegintime.set(Calendar.MINUTE, 30 ); funbegintime.set(Calendar.SECOND, 35 ); //Creating value for element funendtime = Calendar.getInstance(); funendtime.clear(); funendtime.set(Calendar.AM_PM , Calendar.AM); funendtime.set(Calendar.HOUR, 12); funendtime.set(Calendar.MINUTE, 40 ); funendtime.set(Calendar.SECOND, 12 ); //Creating value for element birthdatetime = Calendar.getInstance(); birthdatetime.clear(); birthdatetime.set(1977,10,29,10,10,12); //Creating value for element jobduration = new GDuration(1,2,4,5,10,12,15,null); //Creating value for element payday = Calendar.getInstance(); payday.clear(); payday.set(Calendar.DAY_OF_MONTH,12); //Setting all the elements impdate.addHoliday(holiday); impdate.setFunBeginTime(funbegintime); impdate.setFunEndTime(funendtime); impdate.setJobDuration(jobduration); impdate.setBirthdatetime(birthdatetime); impdate.setPayday(payday); impdate.setDescription("Using Calendar"); XmlOptions xmlOptions = new XmlOptions(); xmlOptions.setSavePrettyPrint(); // Validate the new XML boolean isXmlValid = validateXml(doc); if (isXmlValid) { File f = new File(file); try{ //Writing the XML Instance to a file. doc.save(f,xmlOptions); } catch(IOException e){ e.printStackTrace(); } System.out.println("\nXML Instance Document saved at : " + f.getPath()); } } /** *

Validates the XML, printing error messages when the XML is invalid. Note * that this method will properly validate any instance of a compiled schema * type because all of these types extend XmlObject.

* *

Note that in actual practice, you'll probably want to use an assertion * when validating if you want to ensure that your code doesn't pass along * invalid XML. This sample prints the generated XML whether or not it's * valid so that you can see the result in both cases.

* * @param xml The XML to validate. * @return true if the XML is valid; otherwise, false */ public boolean validateXml(XmlObject xml) { boolean isXmlValid = false; // A collection instance to hold validation error messages. ArrayList validationMessages = new ArrayList(); // Validate the XML, collecting messages. isXmlValid = xml.validate(new XmlOptions().setErrorListener(validationMessages)); if (!isXmlValid) { System.out.println("Invalid XML: "); for (int i = 0; i < validationMessages.size(); i++) { XmlError error = (XmlError) validationMessages.get(i); System.out.println(error.getMessage()); System.out.println(error.getObjectLocation()); } } return isXmlValid; } } xmlbeans-2.5.0.orig/samples/DateTime/src/org/apache/xmlbeans/samples/datetime/DateTimeTest.java0000644000175000017500000000306510320272607032374 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.datetime; import org.apache.xmlbeans.samples.datetime.DatetimeDocument ; /** * A class with which to test the DateTime sample. */ public class DateTimeTest { /** * Tests the DateTime sample. * * @param args An array in which the first item is a path to an XML file * based on the schema in datetime.xsd. */ public static void main(String[] args) { // Create an instance of this sample to work with. DateTime sample = new DateTime(); // Create an schema type instance from the XML indicated by the path. DatetimeDocument doc = sample.parseXml(args[0]); sample.printInstance(doc); // Validate the XML. boolean exampleIsValid = sample.validateXml(doc); assert exampleIsValid; //Creating a new XML document sample.createDocument(doc,args[1]); } } xmlbeans-2.5.0.orig/samples/DateTime/xml/0000755000175000017500000000000011331341653020122 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/DateTime/xml/newdatetimesample.xml0000644000175000017500000000427510320272606024362 0ustar drazzibdrazzib 2004-11-02 18:00:00 23:00:00 P1Y1DT20H25M30S 2001-04-16T15:23:15 ---15 2nd-Nov-2004, 6:00PM, 11:00PM, 1Yr and a day - 20hours, 16th Apr 2001 3:23 and 15 seconds 2004-07-04 10:30:35 12:40:12 P2Y4M5DT10H12M15S 1977-11-29T10:10:12 ---30 Description 2004-07-04 10:30:33 12:40:12 P2Y4M5DT10H12M15S 1977-11-29T10:10:12 ---12 Using XmlCalendar 2004-07-04 10:30:35 12:40:12 P2Y4M5DT10H12M15S 1977-11-29T10:10:12 ---12 Using Calendar xmlbeans-2.5.0.orig/samples/DateTime/xml/datetimesample.xml0000644000175000017500000000301410320272606023636 0ustar drazzibdrazzib 2004-11-02 18:00:00 23:00:00 P1Y1DT20H25M30S 2001-04-16T15:23:15 ---15 2nd-Nov-2004, 6:00PM, 11:00PM, 1Yr and a day - 20hours, 16th Apr 2001 3:23 and 15 seconds 2004-07-04 10:30:35 12:40:12 P2Y4M5DT10H12M15S 1977-11-29T10:10:12 ---30 Description xmlbeans-2.5.0.orig/samples/Any/0000755000175000017500000000000011331341653016355 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/schemas/0000755000175000017500000000000011331341653020000 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/schemas/any.xsd0000644000175000017500000000327210320272601021304 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/Any/build.xml0000644000175000017500000000712610320272602020176 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/Any/README.txt0000644000175000017500000000317110320272602020047 0ustar drazzibdrazzibSample: Any Author: Steven Traut (straut@bea.com) Last Updated: June 14, 2005 Versions: xmlbeans-v1 1.0.3 xmlbeans-v2 ----------------------------------------------------------------------------- This sample illustrates how you can use the XMLBeans API to work with XML based on schema that features xs:any particles. Unlike other schema types, xs:any in schema does not result in accessors when you use XMLBeans to compile schema. Instead, your code must use alternate means to access and create these parts of the XML. These alternate means include: - Using XmlCursor instances to "walk" the XML, retrieving and creating elements. - Using the selectPath method to retrieve XML via XPath. - Using the selectChildren method to retrieve elements that are children by name. - Using the DOM API to "walk" the node tree, retrieving elements by name and creating new elements. When you run this sample, you'll see it print four blocks of information in the console: - Results of the Any.buildDocFromScratch method, which builds from scratch the XML contents of any.xml included with this sample. - Results of the Any.editExistingDocWithSelectChildren method, which receives any.xml and replaces one of its elements. - Results of the Any.editExistingDocWithDOM method, which receives any.xml and adds an element. - Results of the Any.editExistingDocWithSelectPath method, which receives any.xml, promotes one of its elements, and adds a new element. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/Any/src/0000755000175000017500000000000011127016627017147 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/src/org/0000755000175000017500000000000011127016627017736 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/src/org/apache/0000755000175000017500000000000011127016627021157 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/0000755000175000017500000000000011127016627022770 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016627024434 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/anytype/0000755000175000017500000000000011331341653026122 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/anytype/Any.java0000644000175000017500000004145110320272602027513 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.anytype; import org.apache.xmlbeans.*; import org.apache.xmlbeans.samples.any.ListOfStrings; import org.apache.xmlbeans.samples.any.RootDocument; import org.apache.xmlbeans.samples.any.StringelementDocument; import org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import javax.xml.namespace.QName; /** * A sample that illustrates various ways to manipulate XML whose * schema defines elements as type xs:any. Unlike its treatment of * other schema types, XMLBeans does not generate accessors for the * xs:any particle when compiling schema. Instead, your code * handles instances of this type through any of several alternative * means, including XPath queries, the selectChildren method, * XmlCursor instances and the DOM API. This samples illustrates * these alternative approaches. */ public class Any { private static final String m_namespaceUri = "http://xmlbeans.apache.org/samples/any"; /** * Receives XML instance, executing methods that * edit the received instance or create a new one. * * @param args An array in which the first item is a * path to the XML instance file. */ public static void main(String[] args) { Any thisSample = new Any(); System.out.println("Running Any.buildDocFromScratch\n"); thisSample.buildDocFromScratch(); RootDocument rootDoc = (RootDocument)thisSample.parseXml(args[0]); System.out.println("Running Any.editExistingDocWithSelectChildren\n"); thisSample.editExistingDocWithSelectChildren(rootDoc); System.out.println("Running Any.editExistingDocWithDOM\n"); thisSample.editExistingDocWithDOM(rootDoc); System.out.println("Running Any.editExistingDocWithSelectPath\n"); thisSample.editExistingDocWithSelectPath(rootDoc); } /** * Creates a new document from scratch. * * This method illustrates how you can use XmlCursor instances * to build XML that is defined in schema as xs:any. * * @return true if the new document is valid; * otherwise, false. */ public boolean buildDocFromScratch() { // Start by creating a element that will contain // the children built by this method. RootDocument rootDoc = RootDocument.Factory.newInstance(); RootDocument.Root root = rootDoc.addNewRoot(); // Add the first element, . root.setStringelement("some text"); // Create an XmlObject in which to build the second // element in the sequence, . Here, the // XmlObject instance is simply a kind of incubator // for the XML. Later the XML will be moved into the // document this code is building. XmlObject anyFoo = XmlObject.Factory.newInstance(); // Add a cursor to do the work of building the XML. XmlCursor childCursor = anyFoo.newCursor(); childCursor.toNextToken(); // Add the element in the schema's namespace, then add // element content. childCursor.beginElement(new QName(m_namespaceUri, "anyfoo")); childCursor.insertChars("some text"); // Move the cursor back to the new element's top, where // it can grab the element's XML. childCursor.toStartDoc(); childCursor.toNextToken(); // Move the XML into the document by moving it // from a position at one cursor to a position at // another. XmlCursor rootCursor = root.newCursor(); rootCursor.toEndToken(); childCursor.moveXml(rootCursor); // Add the fourth element, , by building it // elsewhere, then moving the new XML into place under // . Arrayofany arrayOfAny = root.addNewArrayofany(); if (buildArrayOfAny(arrayOfAny) == null) { return false; } childCursor.dispose(); rootCursor.dispose(); // Print and validate the result. System.out.println("Output: The document built from scratch.\n"); System.out.println(rootDoc + "\n"); return validateXml(rootDoc); } /** * Replaces the element with an element in the * incoming XML. * * This method illustrates how you can use the XmlCursor.selectChildren * method to retrieve child elements whose type is defined as * xs:any in schema. * * @param rootDoc An instance of the XML document. * @return true if the editing XML is valid; * otherwise, false. */ public boolean editExistingDocWithSelectChildren(RootDocument rootDoc) { RootDocument.Root root = rootDoc.getRoot(); // Select the children of . XmlObject[] stringElements = root.selectChildren(new QName(m_namespaceUri, "anyfoo")); // If the element is there, replace it with another element. if (stringElements.length > 0) { XmlCursor editCursor = stringElements[0].newCursor(); editCursor.removeXml(); editCursor.beginElement(new QName(m_namespaceUri, "anybar")); editCursor.insertChars("some other text"); editCursor.dispose(); } System.out.println("Output: The element has been replaced\n" + "by an element.\n"); System.out.println(rootDoc + "\n"); return validateXml(rootDoc); } /** * Adds a new element between the first and second * children of the element. * * This method illustrates how you can use DOM methods to * retrieve and edit elements whose type is defined as * xs:any in schema. * * @param rootDoc An instance of the XML document. * @return true if the editing XML is valid; * otherwise, false. */ public boolean editExistingDocWithDOM(RootDocument rootDoc) { RootDocument.Root root = rootDoc.getRoot(); // Get the DOM nodes for the element's children. Node arrayOfAnyNode = root.getArrayofany().getDomNode(); // You don't have get* accessors for any of the // element's children, so use DOM to identify the first // and second elements while looping through the child list. NodeList childList = arrayOfAnyNode.getChildNodes(); Element firstElementChild = null; Element secondElementChild = null; // Find the first child element and make sure it's // . for (int i = 0; i < childList.getLength(); i++) { Node node = childList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { if (node.getLocalName().equals("stringelement")) { firstElementChild = (Element)node; break; } } } if (firstElementChild == null) {return false;} // Find the second child element and make sure it's // . Node node = firstElementChild.getNextSibling(); do { if (node.getNodeType() == Node.ELEMENT_NODE) { if (node.getLocalName().equals("someelement")) { secondElementChild = (Element)node; break; } } node = node.getNextSibling(); } while (node != null); if (secondElementChild == null) {return false;} // Create and insert a new element. Element fooElement = secondElementChild.getOwnerDocument().createElementNS("http://openuri.org","bar"); Node valueNode = fooElement.getOwnerDocument().createTextNode("some text"); fooElement.appendChild(valueNode); arrayOfAnyNode.insertBefore(fooElement, secondElementChild); System.out.println("Output: has a new child element.\n"); System.out.println(rootDoc + "\n"); return validateXml(rootDoc); } /** * Edits incoming XML to make the following changes: replace * with its child; add a new * element as the second child of . * * This method illustrates how you can use the selectPath method * to find an element defined as xs:any in schema, then use * XmlCursor instances to edit the XML. * * @param rootDoc An instance of the XML document. * @return true if the editing XML is valid; * otherwise, false. */ public boolean editExistingDocWithSelectPath(RootDocument rootDoc) { String namespaceDecl = "declare namespace any='" + m_namespaceUri + "'; "; XmlCursor selectionCursor = rootDoc.getRoot().getArrayofany().newCursor(); // Save the cursor's position for later, then use XPath // and cursor movement to position the cursor at // the element. selectionCursor.push(); selectionCursor.selectPath(namespaceDecl + "$this//any:someelement/any:stringlist"); selectionCursor.toNextSelection(); // Create a new cursor and move it to the selection // cursor's parent. Moving the // element to this position, displacing // the downward, then removing the // XML effectively replaces // with . XmlCursor editCursor = selectionCursor.newCursor(); editCursor.toParent(); selectionCursor.moveXml(editCursor); editCursor.removeXml(); editCursor.dispose(); // Return the cursor to the element so you // can do more editing. Then move the cursor to the second // child and insert a new element as second child. selectionCursor.pop(); selectionCursor.toFirstChild(); selectionCursor.toNextSibling(); selectionCursor.beginElement("foo", "http://openuri.org"); selectionCursor.insertChars("some text"); selectionCursor.dispose(); System.out.println("Output: has been promoted to replace \n" + ", and there's a new element.\n"); System.out.println(rootDoc + "\n"); return validateXml(rootDoc); } /** * Like the code in the buildDocFromScratch method, this code * uses the XmlCursor to build XML piece by piece, building * out the Arrayofany instance it receives. * * @return A valid element bound to an * Arrrayofany instance. */ private Arrayofany buildArrayOfAny(Arrayofany arrayOfAny) { // Create a simple and move it into place // under . StringelementDocument stringElementDoc = StringelementDocument.Factory.newInstance(); stringElementDoc.setStringelement("some text"); XmlCursor childCursor = stringElementDoc.newCursor(); childCursor.toFirstContentToken(); // Add a cursor to mark the position at which the new child // XML will be moved. XmlCursor arrayCursor = arrayOfAny.newCursor(); arrayCursor.toNextToken(); childCursor.moveXml(arrayCursor); childCursor.dispose(); // Create a that contains a // child element, then get the XmlObject representing the new // . Note that the XmlCursor.beginElement method // leaves the cursor between START and END tokens -- where // content can be placed. arrayCursor.beginElement("someelement", m_namespaceUri); arrayCursor.beginElement("stringlist", m_namespaceUri); arrayCursor.toPrevToken(); XmlObject stringList = arrayCursor.getObject(); // The cursor's no longer needed. arrayCursor.dispose(); // Create the element's value and set it. ListOfStrings stringListValue = buildListOfStrings(); if (stringListValue == null) { return null; } stringList.set(stringListValue); // Validate the new XML. if (!validateXml(arrayOfAny)) { return null; } return arrayOfAny; } /** * Creates an instance of the ListOfStrings complex type defined * in the schema. The instance returned by this method can be * inserted using either a set* operation or a cursor, as in * {@link #buildArrayOfAny()}. * * @return A valid instance of ListOfStrings. */ private ListOfStrings buildListOfStrings() { // Create an instance of the ListOfStrings complex type. ListOfStrings stringList = ListOfStrings.Factory.newInstance(); stringList.setId("001"); // Add two children for the instance's root. XmlString stringElement = stringList.addNewStringelement(); stringElement.setStringValue("string1"); stringElement = stringList.addNewStringelement(); stringElement.setStringValue("string2"); // Validate the new XML. if (!validateXml(stringList)) { return null; } return stringList; } /** *

Validates the XML, printing error messages when the XML is invalid. Note * that this method will properly validate any instance of a compiled schema * type because all of these types extend XmlObject.

* *

Note that in actual practice, you'll probably want to use an assertion * when validating if you want to ensure that your code doesn't pass along * invalid XML. This sample prints the generated XML whether or not it's * valid so that you can see the result in both cases.

* * @param xml The XML to validate. * @return true if the XML is valid; otherwise, false */ public static boolean validateXml(XmlObject xml) { boolean isXmlValid = false; // A collection instance to hold validation error messages. ArrayList validationMessages = new ArrayList(); // Validate the XML, collecting messages. isXmlValid = xml.validate( new XmlOptions().setErrorListener(validationMessages)); // If the XML isn't valid, print the messages. if (!isXmlValid) { printErrors(validationMessages); } return isXmlValid; } /** * Receives the collection containing errors found during * validation and print the errors to the console. * * @param validationErrors The validation errors. */ public static void printErrors(ArrayList validationErrors) { Iterator iter = validationErrors.iterator(); while (iter.hasNext()) { System.out.println(">> " + iter.next() + "\n"); } } /** *

Creates a File from the XML path provided in main arguments, then * parses the file's contents into a type generated from schema.

*

*

Note that this work might have been done in main. Isolating it here * makes the code separately available from outside this class.

* * @param xmlFilePath A path to XML based on the schema in inventory.xsd. * @return An instance of a generated schema type that contains the parsed * XML. */ public XmlObject parseXml(String xmlFilePath) { File xmlFile = new File(xmlFilePath); XmlObject xml = null; try { xml = XmlObject.Factory.parse(xmlFile); } catch (XmlException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return xml; } } xmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/anytype/AnyTest.java0000644000175000017500000000275310320272602030355 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.anytype; import org.apache.xmlbeans.samples.any.RootDocument; /** * A class with which to test the Any sample. */ public class AnyTest { /** * Tests the Any sample. */ public static void main(String[] args) { Any sample = new Any(); boolean newDocIsValid = sample.buildDocFromScratch(); // assert !newDocIsValid; RootDocument rootDoc = (RootDocument)sample.parseXml(args[0]); boolean domEditsAreValid = sample.editExistingDocWithDOM(rootDoc); // assert !domEditsAreValid; boolean selectPathEditsAreValid = sample.editExistingDocWithSelectPath(rootDoc); // assert !selectPathEditsAreValid; boolean selectChildrenEditsAreValid = sample.editExistingDocWithSelectChildren(rootDoc); // assert !selectChildrenEditsAreValid; } } xmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/0000755000175000017500000000000011331341653025220 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/StringelementDocument.java0000644000175000017500000002117310320272601032377 0ustar drazzibdrazzib/* * An XML document type. * Localname: stringelement * Namespace: http://xmlbeans.apache.org/samples/any * Java type: org.apache.xmlbeans.samples.any.StringelementDocument * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.any; /** * A document containing one stringelement(@http://xmlbeans.apache.org/samples/any) element. * * This is a complex type. */ public interface StringelementDocument extends org.apache.xmlbeans.XmlObject { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s6EF7A0057B3F4CED74AE6E05BCAAB5DB.TypeSystemHolder.typeSystem.resolveHandle("stringelementc479doctype"); /** * Gets the "stringelement" element */ java.lang.String getStringelement(); /** * Gets (as xml) the "stringelement" element */ org.apache.xmlbeans.XmlString xgetStringelement(); /** * Sets the "stringelement" element */ void setStringelement(java.lang.String stringelement); /** * Sets (as xml) the "stringelement" element */ void xsetStringelement(org.apache.xmlbeans.XmlString stringelement); /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.any.StringelementDocument newInstance() { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.any.StringelementDocument newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** @param xmlAsString the string value to parse */ public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); } /** @param file the file from which to load an xml document */ public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); } public static org.apache.xmlbeans.samples.any.StringelementDocument parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.any.StringelementDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.any.StringelementDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.any.StringelementDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } xmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/RootDocument.java0000644000175000017500000002760110320272601030504 0ustar drazzibdrazzib/* * An XML document type. * Localname: root * Namespace: http://xmlbeans.apache.org/samples/any * Java type: org.apache.xmlbeans.samples.any.RootDocument * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.any; /** * A document containing one root(@http://xmlbeans.apache.org/samples/any) element. * * This is a complex type. */ public interface RootDocument extends org.apache.xmlbeans.XmlObject { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s6EF7A0057B3F4CED74AE6E05BCAAB5DB.TypeSystemHolder.typeSystem.resolveHandle("root9970doctype"); /** * Gets the "root" element */ org.apache.xmlbeans.samples.any.RootDocument.Root getRoot(); /** * Sets the "root" element */ void setRoot(org.apache.xmlbeans.samples.any.RootDocument.Root root); /** * Appends and returns a new empty "root" element */ org.apache.xmlbeans.samples.any.RootDocument.Root addNewRoot(); /** * An XML root(@http://xmlbeans.apache.org/samples/any). * * This is a complex type. */ public interface Root extends org.apache.xmlbeans.XmlObject { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s6EF7A0057B3F4CED74AE6E05BCAAB5DB.TypeSystemHolder.typeSystem.resolveHandle("root2a6eelemtype"); /** * Gets the "stringelement" element */ java.lang.String getStringelement(); /** * Gets (as xml) the "stringelement" element */ org.apache.xmlbeans.XmlString xgetStringelement(); /** * Sets the "stringelement" element */ void setStringelement(java.lang.String stringelement); /** * Sets (as xml) the "stringelement" element */ void xsetStringelement(org.apache.xmlbeans.XmlString stringelement); /** * Gets the "arrayofany" element */ org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany getArrayofany(); /** * Sets the "arrayofany" element */ void setArrayofany(org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany arrayofany); /** * Appends and returns a new empty "arrayofany" element */ org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany addNewArrayofany(); /** * An XML arrayofany(@http://xmlbeans.apache.org/samples/any). * * This is a complex type. */ public interface Arrayofany extends org.apache.xmlbeans.XmlObject { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s6EF7A0057B3F4CED74AE6E05BCAAB5DB.TypeSystemHolder.typeSystem.resolveHandle("arrayofany08d6elemtype"); /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany newInstance() { return (org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } private Factory() { } // No instance of this class allowed } } /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.any.RootDocument.Root newInstance() { return (org.apache.xmlbeans.samples.any.RootDocument.Root) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument.Root newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.any.RootDocument.Root) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } private Factory() { } // No instance of this class allowed } } /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.any.RootDocument newInstance() { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** @param xmlAsString the string value to parse */ public static org.apache.xmlbeans.samples.any.RootDocument parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); } /** @param file the file from which to load an xml document */ public static org.apache.xmlbeans.samples.any.RootDocument parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); } public static org.apache.xmlbeans.samples.any.RootDocument parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.any.RootDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.any.RootDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.any.RootDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } xmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/ListOfStrings.java0000644000175000017500000002445610320272601030641 0ustar drazzibdrazzib/* * XML Type: ListOfStrings * Namespace: http://xmlbeans.apache.org/samples/any * Java type: org.apache.xmlbeans.samples.any.ListOfStrings * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.any; /** * An XML ListOfStrings(@http://xmlbeans.apache.org/samples/any). * * This is a complex type. */ public interface ListOfStrings extends org.apache.xmlbeans.XmlObject { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s6EF7A0057B3F4CED74AE6E05BCAAB5DB.TypeSystemHolder.typeSystem.resolveHandle("listofstringse467type"); /** * Gets array of all "stringelement" elements */ java.lang.String[] getStringelementArray(); /** * Gets ith "stringelement" element */ java.lang.String getStringelementArray(int i); /** * Gets (as xml) array of all "stringelement" elements */ org.apache.xmlbeans.XmlString[] xgetStringelementArray(); /** * Gets (as xml) ith "stringelement" element */ org.apache.xmlbeans.XmlString xgetStringelementArray(int i); /** * Returns number of "stringelement" element */ int sizeOfStringelementArray(); /** * Sets array of all "stringelement" element */ void setStringelementArray(java.lang.String[] stringelementArray); /** * Sets ith "stringelement" element */ void setStringelementArray(int i, java.lang.String stringelement); /** * Sets (as xml) array of all "stringelement" element */ void xsetStringelementArray(org.apache.xmlbeans.XmlString[] stringelementArray); /** * Sets (as xml) ith "stringelement" element */ void xsetStringelementArray(int i, org.apache.xmlbeans.XmlString stringelement); /** * Inserts the value as the ith "stringelement" element */ void insertStringelement(int i, java.lang.String stringelement); /** * Appends the value as the last "stringelement" element */ void addStringelement(java.lang.String stringelement); /** * Inserts and returns a new empty value (as xml) as the ith "stringelement" element */ org.apache.xmlbeans.XmlString insertNewStringelement(int i); /** * Appends and returns a new empty value (as xml) as the last "stringelement" element */ org.apache.xmlbeans.XmlString addNewStringelement(); /** * Removes the ith "stringelement" element */ void removeStringelement(int i); /** * Gets the "id" attribute */ java.lang.String getId(); /** * Gets (as xml) the "id" attribute */ org.apache.xmlbeans.XmlString xgetId(); /** * True if has "id" attribute */ boolean isSetId(); /** * Sets the "id" attribute */ void setId(java.lang.String id); /** * Sets (as xml) the "id" attribute */ void xsetId(org.apache.xmlbeans.XmlString id); /** * Unsets the "id" attribute */ void unsetId(); /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.any.ListOfStrings newInstance() { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.any.ListOfStrings newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** @param xmlAsString the string value to parse */ public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); } /** @param file the file from which to load an xml document */ public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); } public static org.apache.xmlbeans.samples.any.ListOfStrings parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.any.ListOfStrings parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.any.ListOfStrings parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.any.ListOfStrings) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } xmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/impl/0000755000175000017500000000000011331341653026161 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootxmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/impl/StringelementDocumentImpl.javaxmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/impl/StringelementDocumentImpl.j0000644000175000017500000000601010320272601033463 0ustar drazzibdrazzib/* * An XML document type. * Localname: stringelement * Namespace: http://xmlbeans.apache.org/samples/any * Java type: org.apache.xmlbeans.samples.any.StringelementDocument * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.any.impl; /** * A document containing one stringelement(@http://xmlbeans.apache.org/samples/any) element. * * This is a complex type. */ public class StringelementDocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.apache.xmlbeans.samples.any.StringelementDocument { public StringelementDocumentImpl(org.apache.xmlbeans.SchemaType sType) { super(sType); } private static final javax.xml.namespace.QName STRINGELEMENT$0 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/any", "stringelement"); /** * Gets the "stringelement" element */ public java.lang.String getStringelement() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(STRINGELEMENT$0, 0); if (target == null) { return null; } return target.getStringValue(); } } /** * Gets (as xml) the "stringelement" element */ public org.apache.xmlbeans.XmlString xgetStringelement() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(STRINGELEMENT$0, 0); return target; } } /** * Sets the "stringelement" element */ public void setStringelement(java.lang.String stringelement) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(STRINGELEMENT$0, 0); if (target == null) { target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(STRINGELEMENT$0); } target.setStringValue(stringelement); } } /** * Sets (as xml) the "stringelement" element */ public void xsetStringelement(org.apache.xmlbeans.XmlString stringelement) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(STRINGELEMENT$0, 0); if (target == null) { target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(STRINGELEMENT$0); } target.set(stringelement); } } } xmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/impl/RootDocumentImpl.java0000644000175000017500000002012510320272601032261 0ustar drazzibdrazzib/* * An XML document type. * Localname: root * Namespace: http://xmlbeans.apache.org/samples/any * Java type: org.apache.xmlbeans.samples.any.RootDocument * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.any.impl; /** * A document containing one root(@http://xmlbeans.apache.org/samples/any) element. * * This is a complex type. */ public class RootDocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.apache.xmlbeans.samples.any.RootDocument { public RootDocumentImpl(org.apache.xmlbeans.SchemaType sType) { super(sType); } private static final javax.xml.namespace.QName ROOT$0 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/any", "root"); /** * Gets the "root" element */ public org.apache.xmlbeans.samples.any.RootDocument.Root getRoot() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.any.RootDocument.Root target = null; target = (org.apache.xmlbeans.samples.any.RootDocument.Root)get_store().find_element_user(ROOT$0, 0); if (target == null) { return null; } return target; } } /** * Sets the "root" element */ public void setRoot(org.apache.xmlbeans.samples.any.RootDocument.Root root) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.any.RootDocument.Root target = null; target = (org.apache.xmlbeans.samples.any.RootDocument.Root)get_store().find_element_user(ROOT$0, 0); if (target == null) { target = (org.apache.xmlbeans.samples.any.RootDocument.Root)get_store().add_element_user(ROOT$0); } target.set(root); } } /** * Appends and returns a new empty "root" element */ public org.apache.xmlbeans.samples.any.RootDocument.Root addNewRoot() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.any.RootDocument.Root target = null; target = (org.apache.xmlbeans.samples.any.RootDocument.Root)get_store().add_element_user(ROOT$0); return target; } } /** * An XML root(@http://xmlbeans.apache.org/samples/any). * * This is a complex type. */ public static class RootImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.apache.xmlbeans.samples.any.RootDocument.Root { public RootImpl(org.apache.xmlbeans.SchemaType sType) { super(sType); } private static final javax.xml.namespace.QName STRINGELEMENT$0 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/any", "stringelement"); private static final javax.xml.namespace.QName ARRAYOFANY$2 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/any", "arrayofany"); /** * Gets the "stringelement" element */ public java.lang.String getStringelement() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(STRINGELEMENT$0, 0); if (target == null) { return null; } return target.getStringValue(); } } /** * Gets (as xml) the "stringelement" element */ public org.apache.xmlbeans.XmlString xgetStringelement() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(STRINGELEMENT$0, 0); return target; } } /** * Sets the "stringelement" element */ public void setStringelement(java.lang.String stringelement) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(STRINGELEMENT$0, 0); if (target == null) { target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(STRINGELEMENT$0); } target.setStringValue(stringelement); } } /** * Sets (as xml) the "stringelement" element */ public void xsetStringelement(org.apache.xmlbeans.XmlString stringelement) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(STRINGELEMENT$0, 0); if (target == null) { target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(STRINGELEMENT$0); } target.set(stringelement); } } /** * Gets the "arrayofany" element */ public org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany getArrayofany() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany target = null; target = (org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany)get_store().find_element_user(ARRAYOFANY$2, 0); if (target == null) { return null; } return target; } } /** * Sets the "arrayofany" element */ public void setArrayofany(org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany arrayofany) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany target = null; target = (org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany)get_store().find_element_user(ARRAYOFANY$2, 0); if (target == null) { target = (org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany)get_store().add_element_user(ARRAYOFANY$2); } target.set(arrayofany); } } /** * Appends and returns a new empty "arrayofany" element */ public org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany addNewArrayofany() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany target = null; target = (org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany)get_store().add_element_user(ARRAYOFANY$2); return target; } } /** * An XML arrayofany(@http://xmlbeans.apache.org/samples/any). * * This is a complex type. */ public static class ArrayofanyImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.apache.xmlbeans.samples.any.RootDocument.Root.Arrayofany { public ArrayofanyImpl(org.apache.xmlbeans.SchemaType sType) { super(sType); } } } } xmlbeans-2.5.0.orig/samples/Any/src/org/apache/xmlbeans/samples/any/impl/ListOfStringsImpl.java0000644000175000017500000002351310320272601032415 0ustar drazzibdrazzib/* * XML Type: ListOfStrings * Namespace: http://xmlbeans.apache.org/samples/any * Java type: org.apache.xmlbeans.samples.any.ListOfStrings * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.any.impl; /** * An XML ListOfStrings(@http://xmlbeans.apache.org/samples/any). * * This is a complex type. */ public class ListOfStringsImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.apache.xmlbeans.samples.any.ListOfStrings { public ListOfStringsImpl(org.apache.xmlbeans.SchemaType sType) { super(sType); } private static final javax.xml.namespace.QName STRINGELEMENT$0 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/any", "stringelement"); private static final javax.xml.namespace.QName ID$2 = new javax.xml.namespace.QName("", "id"); /** * Gets array of all "stringelement" elements */ public java.lang.String[] getStringelementArray() { synchronized (monitor()) { check_orphaned(); java.util.List targetList = new java.util.ArrayList(); get_store().find_all_element_users(STRINGELEMENT$0, targetList); java.lang.String[] result = new java.lang.String[targetList.size()]; for (int i = 0, len = targetList.size() ; i < len ; i++) result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getStringValue(); return result; } } /** * Gets ith "stringelement" element */ public java.lang.String getStringelementArray(int i) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(STRINGELEMENT$0, i); if (target == null) { throw new IndexOutOfBoundsException(); } return target.getStringValue(); } } /** * Gets (as xml) array of all "stringelement" elements */ public org.apache.xmlbeans.XmlString[] xgetStringelementArray() { synchronized (monitor()) { check_orphaned(); java.util.List targetList = new java.util.ArrayList(); get_store().find_all_element_users(STRINGELEMENT$0, targetList); org.apache.xmlbeans.XmlString[] result = new org.apache.xmlbeans.XmlString[targetList.size()]; targetList.toArray(result); return result; } } /** * Gets (as xml) ith "stringelement" element */ public org.apache.xmlbeans.XmlString xgetStringelementArray(int i) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(STRINGELEMENT$0, i); if (target == null) { throw new IndexOutOfBoundsException(); } return (org.apache.xmlbeans.XmlString)target; } } /** * Returns number of "stringelement" element */ public int sizeOfStringelementArray() { synchronized (monitor()) { check_orphaned(); return get_store().count_elements(STRINGELEMENT$0); } } /** * Sets array of all "stringelement" element */ public void setStringelementArray(java.lang.String[] stringelementArray) { synchronized (monitor()) { check_orphaned(); arraySetterHelper(stringelementArray, STRINGELEMENT$0); } } /** * Sets ith "stringelement" element */ public void setStringelementArray(int i, java.lang.String stringelement) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(STRINGELEMENT$0, i); if (target == null) { throw new IndexOutOfBoundsException(); } target.setStringValue(stringelement); } } /** * Sets (as xml) array of all "stringelement" element */ public void xsetStringelementArray(org.apache.xmlbeans.XmlString[]stringelementArray) { synchronized (monitor()) { check_orphaned(); arraySetterHelper(stringelementArray, STRINGELEMENT$0); } } /** * Sets (as xml) ith "stringelement" element */ public void xsetStringelementArray(int i, org.apache.xmlbeans.XmlString stringelement) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(STRINGELEMENT$0, i); if (target == null) { throw new IndexOutOfBoundsException(); } target.set(stringelement); } } /** * Inserts the value as the ith "stringelement" element */ public void insertStringelement(int i, java.lang.String stringelement) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = (org.apache.xmlbeans.SimpleValue)get_store().insert_element_user(STRINGELEMENT$0, i); target.setStringValue(stringelement); } } /** * Appends the value as the last "stringelement" element */ public void addStringelement(java.lang.String stringelement) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(STRINGELEMENT$0); target.setStringValue(stringelement); } } /** * Inserts and returns a new empty value (as xml) as the ith "stringelement" element */ public org.apache.xmlbeans.XmlString insertNewStringelement(int i) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().insert_element_user(STRINGELEMENT$0, i); return target; } } /** * Appends and returns a new empty value (as xml) as the last "stringelement" element */ public org.apache.xmlbeans.XmlString addNewStringelement() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(STRINGELEMENT$0); return target; } } /** * Removes the ith "stringelement" element */ public void removeStringelement(int i) { synchronized (monitor()) { check_orphaned(); get_store().remove_element(STRINGELEMENT$0, i); } } /** * Gets the "id" attribute */ public java.lang.String getId() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$2); if (target == null) { return null; } return target.getStringValue(); } } /** * Gets (as xml) the "id" attribute */ public org.apache.xmlbeans.XmlString xgetId() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(ID$2); return target; } } /** * True if has "id" attribute */ public boolean isSetId() { synchronized (monitor()) { check_orphaned(); return get_store().find_attribute_user(ID$2) != null; } } /** * Sets the "id" attribute */ public void setId(java.lang.String id) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$2); if (target == null) { target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ID$2); } target.setStringValue(id); } } /** * Sets (as xml) the "id" attribute */ public void xsetId(org.apache.xmlbeans.XmlString id) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(ID$2); if (target == null) { target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(ID$2); } target.set(id); } } /** * Unsets the "id" attribute */ public void unsetId() { synchronized (monitor()) { check_orphaned(); get_store().remove_attribute(ID$2); } } } xmlbeans-2.5.0.orig/samples/Any/xml/0000755000175000017500000000000011331341653017155 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Any/xml/any.xml0000644000175000017500000000216010320272601020456 0ustar drazzibdrazzib some text some text some text string1 string2 xmlbeans-2.5.0.orig/samples/Validation/0000755000175000017500000000000011331341653017720 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Validation/schemas/0000755000175000017500000000000011331341653021343 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Validation/schemas/todolist.xsd0000644000175000017500000000372010320272604023722 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/Validation/build.xml0000644000175000017500000000726310320272605021546 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/Validation/README.txt0000644000175000017500000000275610320272605021425 0ustar drazzibdrazzibSample: Validation Author: Steven Traut (straut@bea.com) Last Updated: May 25, 2005 Versions: xmlbeans-v1 1.0.3 xmlbeans-v2 ----------------------------------------------------------------------------- This sample illustrates how you can use the XMLBeans API to validate XML instances against schema. The API provides two validation features: - A validate method (available from XmlOjbect and types generated from schema) with which you can validate the bound instance and collect error messages that result. - An option through which you can specify that simple schema types should be validated by XMLBeans when your code sets their value. This feature will simply throw an exception if setting the value renders the instance invalid. Because it uses invalid XML for illustration, this sample is designed to "fail" when it runs. When you run this sample, you'll see it print two blocks of information in the console: - A message containing errors resulting from calling the validate method on invalid XML. - The stack trace of an exception resulting from setting an invalid value when the XmlOptions.VALIDATE_ON_SET option has been specified. Note that you can also validate at the command line using tools provided in the bin directory of the XMLBeans distribution. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/Validation/src/0000755000175000017500000000000011127016612020504 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Validation/src/org/0000755000175000017500000000000011127016612021273 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/0000755000175000017500000000000011127016612022514 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/0000755000175000017500000000000011127016612024325 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016612025771 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/0000755000175000017500000000000011331341653030126 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/ValidationTest.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/ValidationTest.jav0000644000175000017500000000301110320272605033552 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.validation; import org.apache.xmlbeans.samples.validation.Validation; /** * A class with which to test the Validation sample. */ public class ValidationTest { /** * Tests the Validation sample. */ public static void main(String[] args) { // all we're checking for is that the sample doesn't throw anything. // a real sample test might assert something more interesting. Validation sample = new Validation(); // Use the validate method to validate an instance after // updates. boolean isValidAfterChanges = sample.isValidAfterChanges(args[0]); assert !isValidAfterChanges; // Use the VALIDATE_ON_SET option to validate an instance // as updates are made. boolean isValidOnTheFly = sample.isValidOnTheFly(args[0]); assert !isValidOnTheFly; } } xmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/Validation.java0000644000175000017500000001603710320272605033067 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.validation; import org.apache.xmlbeans.*; import org.apache.xmlbeans.samples.validation.todolist.*; import org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; /** * A sample to illustrate two means for validating XML against schema * using features of the XMLBeans API. The features illustrated are: * * - Validating after changes by using the XmlObject.validate method. * This method is exposed by types generated by compiling schema. The * validate method validates instances against all aspects of schema. * Also, with this method you can specify a Collection instance to * capture errors that occur during validation. * * - Validating "on the fly" using the XmlOptions.VALIDATE_ON_SET constant. * This option prompts XMLBeans to validate XML against simple schema types * as you set them, rather than by expressly calling for validation. * You can set this option by calling XmlOptions.setValidateOnSet, then * specifying the XmlOptions instance as a parameter when creating * a new instance from schema or parsing an existing one. * * Note that it is also possible to validate instances from the * command line by using tools you'll find in the bin directory of the * XMLBeans distribution. */ public class Validation { private static XmlOptions m_validationOptions; /** * Receives a todo list XML instance, twice rendering it invalid * and validating it using the XMLBeans API. * * @param args An array in which the first item is a * path to the XML instance file. */ public static void main(String[] args) { Validation thisSample = new Validation(); // Use the validate method to validate an instance after // updates. boolean isValidAfterChanges = thisSample.isValidAfterChanges(args[0]); // Use the VALIDATE_ON_SET option to validate an instance // as updates are made. boolean isValidOnTheFly = thisSample.isValidOnTheFly(args[0]); } /** * Illustrates use of the validate method by making changes to incoming * XML that invalidate the XML, then validating the instance and * printing resulting error messages. * * Because this code is designed to generate invalid XML, it * returns false when successful. * * @param xmlPath A path to the XML instance file. * @return true if the XML is valid after changes; * otherwise, false. */ public boolean isValidAfterChanges(String xmlPath) { System.out.println("Validating after changes: \n"); // Set up the validation error listener. ArrayList validationErrors = new ArrayList(); m_validationOptions = new XmlOptions(); m_validationOptions.setErrorListener(validationErrors); TodolistDocument todoList = (TodolistDocument)parseXml(xmlPath, null); // Schema defines the element as required (minOccurs = '1'). // So this statement renders the XML invalid because it sets the // element to nil. todoList.getTodolist().getItemArray(0).setName(null); // During validation, errors are added to the ArrayList for // retrieval and printing by the printErrors method. boolean isValid = todoList.validate(m_validationOptions); if (!isValid) { printErrors(validationErrors); } return isValid; } /** * Illustrates the "validate on set" feature, which validates XML * for simple types on the fly. As XML for those types is "set" through * accessors generated by compiling schema, XMLBeans checks the XML's * validity. The code here uses generated types to retrieve the first * in a , then update the 's id attribute. The code * throws an exception when it tries to set an id attribute value that * is too high. * * Because this code is designed to generate invalid XML, it * returns false when successful. * * @param xmlPath A path to the XML instance file. * @return true if valid XML is successfully created; * otherwise, false. */ public boolean isValidOnTheFly(String xmlPath) { System.out.println("Validating on-the-fly: \n"); m_validationOptions = new XmlOptions(); m_validationOptions.setValidateOnSet(); TodolistDocument todoList = (TodolistDocument)parseXml(xmlPath, m_validationOptions); Todolist list = todoList.getTodolist(); ItemType firstItem = list.getItemArray(0); // Schema defines the element as allowing values up to 100. So // this line throws an exception because it invalidates the XML the // code is updating. firstItem.setId(8587); // This line will not be reached. return todoList.validate(); } /** * Receives the collection containing errors found during * validation and print the errors to the console. * * @param validationErrors The validation errors. */ public void printErrors(ArrayList validationErrors) { System.out.println("Errors discovered during validation: \n"); Iterator iter = validationErrors.iterator(); while (iter.hasNext()) { System.out.println(">> " + iter.next() + "\n"); } } /** *

Creates a File from the XML path provided in main arguments, then * parses the file's contents into a type generated from schema.

*

*

Note that this work might have been done in main. Isolating it here * makes the code separately available from outside this class.

* * @param xmlFilePath A path to XML based on the schema in inventory.xsd. * @return An instance of a generated schema type that contains the parsed * XML. */ public XmlObject parseXml(String xmlFilePath, XmlOptions validationOptions) { File xmlFile = new File(xmlFilePath); XmlObject xml = null; try { xml = XmlObject.Factory.parse(xmlFile, validationOptions); } catch (XmlException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return xml; } } xmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/0000755000175000017500000000000011331341653031767 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000015100000000000011562 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/NameType.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/NameType.0000644000175000017500000002073710320272605033520 0ustar drazzibdrazzib/* * XML Type: nameType * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.NameType * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist; /** * An XML nameType(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is an atomic type that is a restriction of org.apache.xmlbeans.XmlString. */ public interface NameType extends org.apache.xmlbeans.XmlString { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s59A663BF38731BA9F8026B121E40FDD3.TypeSystemHolder.typeSystem.resolveHandle("nametypeabebtype"); /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.validation.todolist.NameType newValue(java.lang.Object obj) { return (org.apache.xmlbeans.samples.validation.todolist.NameType) type.newValue( obj ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType newInstance() { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** @param xmlAsString the string value to parse */ public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); } /** @param file the file from which to load an xml document */ public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.NameType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.NameType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } ././@LongLink0000000000000000000000000000016100000000000011563 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/TodolistDocument.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/TodolistD0000644000175000017500000002725310320272605033625 0ustar drazzibdrazzib/* * An XML document type. * Localname: todolist * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.TodolistDocument * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist; /** * A document containing one todolist(@http://xmlbeans.apache.org/samples/validation/todolist) element. * * This is a complex type. */ public interface TodolistDocument extends org.apache.xmlbeans.XmlObject { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s59A663BF38731BA9F8026B121E40FDD3.TypeSystemHolder.typeSystem.resolveHandle("todolist637cdoctype"); /** * Gets the "todolist" element */ org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist getTodolist(); /** * Sets the "todolist" element */ void setTodolist(org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist todolist); /** * Appends and returns a new empty "todolist" element */ org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist addNewTodolist(); /** * An XML todolist(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is a complex type. */ public interface Todolist extends org.apache.xmlbeans.XmlObject { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s59A663BF38731BA9F8026B121E40FDD3.TypeSystemHolder.typeSystem.resolveHandle("todolist39fcelemtype"); /** * Gets array of all "item" elements */ org.apache.xmlbeans.samples.validation.todolist.ItemType[] getItemArray(); /** * Gets ith "item" element */ org.apache.xmlbeans.samples.validation.todolist.ItemType getItemArray(int i); /** * Returns number of "item" element */ int sizeOfItemArray(); /** * Sets array of all "item" element */ void setItemArray(org.apache.xmlbeans.samples.validation.todolist.ItemType[] itemArray); /** * Sets ith "item" element */ void setItemArray(int i, org.apache.xmlbeans.samples.validation.todolist.ItemType item); /** * Inserts and returns a new empty value (as xml) as the ith "item" element */ org.apache.xmlbeans.samples.validation.todolist.ItemType insertNewItem(int i); /** * Appends and returns a new empty value (as xml) as the last "item" element */ org.apache.xmlbeans.samples.validation.todolist.ItemType addNewItem(); /** * Removes the ith "item" element */ void removeItem(int i); /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist newInstance() { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } private Factory() { } // No instance of this class allowed } } /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument newInstance() { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** @param xmlAsString the string value to parse */ public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); } /** @param file the file from which to load an xml document */ public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.TodolistDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } ././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/IdType.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/IdType.ja0000644000175000017500000002060310320272605033477 0ustar drazzibdrazzib/* * XML Type: idType * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.IdType * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist; /** * An XML idType(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is an atomic type that is a restriction of org.apache.xmlbeans.XmlInt. */ public interface IdType extends org.apache.xmlbeans.XmlInt { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s59A663BF38731BA9F8026B121E40FDD3.TypeSystemHolder.typeSystem.resolveHandle("idtypef11btype"); /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.validation.todolist.IdType newValue(java.lang.Object obj) { return (org.apache.xmlbeans.samples.validation.todolist.IdType) type.newValue( obj ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType newInstance() { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** @param xmlAsString the string value to parse */ public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); } /** @param file the file from which to load an xml document */ public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.IdType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.IdType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } ././@LongLink0000000000000000000000000000015300000000000011564 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/ActionType.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/ActionTyp0000644000175000017500000002712110320272605033624 0ustar drazzibdrazzib/* * XML Type: actionType * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.ActionType * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist; /** * An XML actionType(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is an atomic type that is a restriction of org.apache.xmlbeans.XmlString. */ public interface ActionType extends org.apache.xmlbeans.XmlString { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s59A663BF38731BA9F8026B121E40FDD3.TypeSystemHolder.typeSystem.resolveHandle("actiontype5fa0type"); org.apache.xmlbeans.StringEnumAbstractBase enumValue(); void set(org.apache.xmlbeans.StringEnumAbstractBase e); static final Enum DO = Enum.forString("do"); static final Enum DELEGATE = Enum.forString("delegate"); static final Enum SOMEDAY_MAYBE_DEFER = Enum.forString("someday_maybe_defer"); static final Enum TOSS = Enum.forString("toss"); static final Enum INCUBATE = Enum.forString("incubate"); static final Enum FILE = Enum.forString("file"); static final int INT_DO = Enum.INT_DO; static final int INT_DELEGATE = Enum.INT_DELEGATE; static final int INT_SOMEDAY_MAYBE_DEFER = Enum.INT_SOMEDAY_MAYBE_DEFER; static final int INT_TOSS = Enum.INT_TOSS; static final int INT_INCUBATE = Enum.INT_INCUBATE; static final int INT_FILE = Enum.INT_FILE; /** * Enumeration value class for org.apache.xmlbeans.samples.validation.todolist.ActionType. * These enum values can be used as follows: *
     * enum.toString(); // returns the string value of the enum
     * enum.intValue(); // returns an int value, useful for switches
     * // e.g., case Enum.INT_DO
     * Enum.forString(s); // returns the enum value for a string
     * Enum.forInt(i); // returns the enum value for an int
     * 
* Enumeration objects are immutable singleton objects that * can be compared using == object equality. They have no * public constructor. See the constants defined within this * class for all the valid values. */ static final class Enum extends org.apache.xmlbeans.StringEnumAbstractBase { /** * Returns the enum value for a string, or null if none. */ public static Enum forString(java.lang.String s) { return (Enum)table.forString(s); } /** * Returns the enum value corresponding to an int, or null if none. */ public static Enum forInt(int i) { return (Enum)table.forInt(i); } private Enum(java.lang.String s, int i) { super(s, i); } static final int INT_DO = 1; static final int INT_DELEGATE = 2; static final int INT_SOMEDAY_MAYBE_DEFER = 3; static final int INT_TOSS = 4; static final int INT_INCUBATE = 5; static final int INT_FILE = 6; public static final org.apache.xmlbeans.StringEnumAbstractBase.Table table = new org.apache.xmlbeans.StringEnumAbstractBase.Table ( new Enum[] { new Enum("do", INT_DO), new Enum("delegate", INT_DELEGATE), new Enum("someday_maybe_defer", INT_SOMEDAY_MAYBE_DEFER), new Enum("toss", INT_TOSS), new Enum("incubate", INT_INCUBATE), new Enum("file", INT_FILE), } ); private static final long serialVersionUID = 1L; private java.lang.Object readResolve() { return forInt(intValue()); } } /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.validation.todolist.ActionType newValue(java.lang.Object obj) { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) type.newValue( obj ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType newInstance() { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** @param xmlAsString the string value to parse */ public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); } /** @param file the file from which to load an xml document */ public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.ActionType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.ActionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } ././@LongLink0000000000000000000000000000015100000000000011562 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/ItemType.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/ItemType.0000644000175000017500000002604010320272605033527 0ustar drazzibdrazzib/* * XML Type: itemType * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.ItemType * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist; /** * An XML itemType(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is a complex type. */ public interface ItemType extends org.apache.xmlbeans.XmlObject { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s59A663BF38731BA9F8026B121E40FDD3.TypeSystemHolder.typeSystem.resolveHandle("itemtypeb663type"); /** * Gets the "name" element */ java.lang.String getName(); /** * Gets (as xml) the "name" element */ org.apache.xmlbeans.XmlString xgetName(); /** * Sets the "name" element */ void setName(java.lang.String name); /** * Sets (as xml) the "name" element */ void xsetName(org.apache.xmlbeans.XmlString name); /** * Gets the "description" element */ java.lang.String getDescription(); /** * Gets (as xml) the "description" element */ org.apache.xmlbeans.XmlString xgetDescription(); /** * True if has "description" element */ boolean isSetDescription(); /** * Sets the "description" element */ void setDescription(java.lang.String description); /** * Sets (as xml) the "description" element */ void xsetDescription(org.apache.xmlbeans.XmlString description); /** * Unsets the "description" element */ void unsetDescription(); /** * Gets the "due_by" element */ java.util.Calendar getDueBy(); /** * Gets (as xml) the "due_by" element */ org.apache.xmlbeans.XmlDateTime xgetDueBy(); /** * True if has "due_by" element */ boolean isSetDueBy(); /** * Sets the "due_by" element */ void setDueBy(java.util.Calendar dueBy); /** * Sets (as xml) the "due_by" element */ void xsetDueBy(org.apache.xmlbeans.XmlDateTime dueBy); /** * Unsets the "due_by" element */ void unsetDueBy(); /** * Gets the "action" element */ org.apache.xmlbeans.samples.validation.todolist.ActionType.Enum getAction(); /** * Gets (as xml) the "action" element */ org.apache.xmlbeans.samples.validation.todolist.ActionType xgetAction(); /** * Sets the "action" element */ void setAction(org.apache.xmlbeans.samples.validation.todolist.ActionType.Enum action); /** * Sets (as xml) the "action" element */ void xsetAction(org.apache.xmlbeans.samples.validation.todolist.ActionType action); /** * Gets the "id" attribute */ int getId(); /** * Gets (as xml) the "id" attribute */ org.apache.xmlbeans.samples.validation.todolist.IdType xgetId(); /** * True if has "id" attribute */ boolean isSetId(); /** * Sets the "id" attribute */ void setId(int id); /** * Sets (as xml) the "id" attribute */ void xsetId(org.apache.xmlbeans.samples.validation.todolist.IdType id); /** * Unsets the "id" attribute */ void unsetId(); /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { public static org.apache.xmlbeans.samples.validation.todolist.ItemType newInstance() { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType newInstance(org.apache.xmlbeans.XmlOptions options) { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** @param xmlAsString the string value to parse */ public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); } /** @param file the file from which to load an xml document */ public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); } public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.samples.validation.todolist.ItemType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (org.apache.xmlbeans.samples.validation.todolist.ItemType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** @deprecated {@link XMLInputStream} */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } xmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/0000755000175000017500000000000011331341653032730 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000016400000000000011566 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/ActionTypeImpl.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/Acti0000644000175000017500000000156310320272605033535 0ustar drazzibdrazzib/* * XML Type: actionType * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.ActionType * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist.impl; /** * An XML actionType(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is an atomic type that is a restriction of org.apache.xmlbeans.XmlString. */ public class ActionTypeImpl extends org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx implements org.apache.xmlbeans.samples.validation.todolist.ActionType { public ActionTypeImpl(org.apache.xmlbeans.SchemaType sType) { super(sType, false); } protected ActionTypeImpl(org.apache.xmlbeans.SchemaType sType, boolean b) { super(sType, b); } } ././@LongLink0000000000000000000000000000016200000000000011564 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/NameTypeImpl.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/Name0000644000175000017500000000153210320272605033531 0ustar drazzibdrazzib/* * XML Type: nameType * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.NameType * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist.impl; /** * An XML nameType(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is an atomic type that is a restriction of org.apache.xmlbeans.XmlString. */ public class NameTypeImpl extends org.apache.xmlbeans.impl.values.JavaStringHolderEx implements org.apache.xmlbeans.samples.validation.todolist.NameType { public NameTypeImpl(org.apache.xmlbeans.SchemaType sType) { super(sType, false); } protected NameTypeImpl(org.apache.xmlbeans.SchemaType sType, boolean b) { super(sType, b); } } ././@LongLink0000000000000000000000000000016000000000000011562 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/IdTypeImpl.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/IdTy0000644000175000017500000000150610320272604033522 0ustar drazzibdrazzib/* * XML Type: idType * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.IdType * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist.impl; /** * An XML idType(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is an atomic type that is a restriction of org.apache.xmlbeans.XmlInt. */ public class IdTypeImpl extends org.apache.xmlbeans.impl.values.JavaIntHolderEx implements org.apache.xmlbeans.samples.validation.todolist.IdType { public IdTypeImpl(org.apache.xmlbeans.SchemaType sType) { super(sType, false); } protected IdTypeImpl(org.apache.xmlbeans.SchemaType sType, boolean b) { super(sType, b); } } ././@LongLink0000000000000000000000000000016200000000000011564 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/ItemTypeImpl.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/Item0000644000175000017500000003277410320272605033563 0ustar drazzibdrazzib/* * XML Type: itemType * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.ItemType * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist.impl; /** * An XML itemType(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is a complex type. */ public class ItemTypeImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.apache.xmlbeans.samples.validation.todolist.ItemType { public ItemTypeImpl(org.apache.xmlbeans.SchemaType sType) { super(sType); } private static final javax.xml.namespace.QName NAME$0 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/validation/todolist", "name"); private static final javax.xml.namespace.QName DESCRIPTION$2 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/validation/todolist", "description"); private static final javax.xml.namespace.QName DUEBY$4 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/validation/todolist", "due_by"); private static final javax.xml.namespace.QName ACTION$6 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/validation/todolist", "action"); private static final javax.xml.namespace.QName ID$8 = new javax.xml.namespace.QName("", "id"); /** * Gets the "name" element */ public java.lang.String getName() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(NAME$0, 0); if (target == null) { return null; } return target.getStringValue(); } } /** * Gets (as xml) the "name" element */ public org.apache.xmlbeans.XmlString xgetName() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(NAME$0, 0); return target; } } /** * Sets the "name" element */ public void setName(java.lang.String name) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(NAME$0, 0); if (target == null) { target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(NAME$0); } target.setStringValue(name); } } /** * Sets (as xml) the "name" element */ public void xsetName(org.apache.xmlbeans.XmlString name) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(NAME$0, 0); if (target == null) { target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(NAME$0); } target.set(name); } } /** * Gets the "description" element */ public java.lang.String getDescription() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DESCRIPTION$2, 0); if (target == null) { return null; } return target.getStringValue(); } } /** * Gets (as xml) the "description" element */ public org.apache.xmlbeans.XmlString xgetDescription() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(DESCRIPTION$2, 0); return target; } } /** * True if has "description" element */ public boolean isSetDescription() { synchronized (monitor()) { check_orphaned(); return get_store().count_elements(DESCRIPTION$2) != 0; } } /** * Sets the "description" element */ public void setDescription(java.lang.String description) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DESCRIPTION$2, 0); if (target == null) { target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(DESCRIPTION$2); } target.setStringValue(description); } } /** * Sets (as xml) the "description" element */ public void xsetDescription(org.apache.xmlbeans.XmlString description) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlString target = null; target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(DESCRIPTION$2, 0); if (target == null) { target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(DESCRIPTION$2); } target.set(description); } } /** * Unsets the "description" element */ public void unsetDescription() { synchronized (monitor()) { check_orphaned(); get_store().remove_element(DESCRIPTION$2, 0); } } /** * Gets the "due_by" element */ public java.util.Calendar getDueBy() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DUEBY$4, 0); if (target == null) { return null; } return target.getCalendarValue(); } } /** * Gets (as xml) the "due_by" element */ public org.apache.xmlbeans.XmlDateTime xgetDueBy() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlDateTime target = null; target = (org.apache.xmlbeans.XmlDateTime)get_store().find_element_user(DUEBY$4, 0); return target; } } /** * True if has "due_by" element */ public boolean isSetDueBy() { synchronized (monitor()) { check_orphaned(); return get_store().count_elements(DUEBY$4) != 0; } } /** * Sets the "due_by" element */ public void setDueBy(java.util.Calendar dueBy) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DUEBY$4, 0); if (target == null) { target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(DUEBY$4); } target.setCalendarValue(dueBy); } } /** * Sets (as xml) the "due_by" element */ public void xsetDueBy(org.apache.xmlbeans.XmlDateTime dueBy) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.XmlDateTime target = null; target = (org.apache.xmlbeans.XmlDateTime)get_store().find_element_user(DUEBY$4, 0); if (target == null) { target = (org.apache.xmlbeans.XmlDateTime)get_store().add_element_user(DUEBY$4); } target.set(dueBy); } } /** * Unsets the "due_by" element */ public void unsetDueBy() { synchronized (monitor()) { check_orphaned(); get_store().remove_element(DUEBY$4, 0); } } /** * Gets the "action" element */ public org.apache.xmlbeans.samples.validation.todolist.ActionType.Enum getAction() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACTION$6, 0); if (target == null) { return null; } return (org.apache.xmlbeans.samples.validation.todolist.ActionType.Enum)target.getEnumValue(); } } /** * Gets (as xml) the "action" element */ public org.apache.xmlbeans.samples.validation.todolist.ActionType xgetAction() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.ActionType target = null; target = (org.apache.xmlbeans.samples.validation.todolist.ActionType)get_store().find_element_user(ACTION$6, 0); return target; } } /** * Sets the "action" element */ public void setAction(org.apache.xmlbeans.samples.validation.todolist.ActionType.Enum action) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACTION$6, 0); if (target == null) { target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(ACTION$6); } target.setEnumValue(action); } } /** * Sets (as xml) the "action" element */ public void xsetAction(org.apache.xmlbeans.samples.validation.todolist.ActionType action) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.ActionType target = null; target = (org.apache.xmlbeans.samples.validation.todolist.ActionType)get_store().find_element_user(ACTION$6, 0); if (target == null) { target = (org.apache.xmlbeans.samples.validation.todolist.ActionType)get_store().add_element_user(ACTION$6); } target.set(action); } } /** * Gets the "id" attribute */ public int getId() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$8); if (target == null) { return 0; } return target.getIntValue(); } } /** * Gets (as xml) the "id" attribute */ public org.apache.xmlbeans.samples.validation.todolist.IdType xgetId() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.IdType target = null; target = (org.apache.xmlbeans.samples.validation.todolist.IdType)get_store().find_attribute_user(ID$8); return target; } } /** * True if has "id" attribute */ public boolean isSetId() { synchronized (monitor()) { check_orphaned(); return get_store().find_attribute_user(ID$8) != null; } } /** * Sets the "id" attribute */ public void setId(int id) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.SimpleValue target = null; target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$8); if (target == null) { target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ID$8); } target.setIntValue(id); } } /** * Sets (as xml) the "id" attribute */ public void xsetId(org.apache.xmlbeans.samples.validation.todolist.IdType id) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.IdType target = null; target = (org.apache.xmlbeans.samples.validation.todolist.IdType)get_store().find_attribute_user(ID$8); if (target == null) { target = (org.apache.xmlbeans.samples.validation.todolist.IdType)get_store().add_attribute_user(ID$8); } target.set(id); } } /** * Unsets the "id" attribute */ public void unsetId() { synchronized (monitor()) { check_orphaned(); get_store().remove_attribute(ID$8); } } } ././@LongLink0000000000000000000000000000017200000000000011565 Lustar rootrootxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/TodolistDocumentImpl.javaxmlbeans-2.5.0.orig/samples/Validation/src/org/apache/xmlbeans/samples/validation/todolist/impl/Todo0000644000175000017500000001706110320272605033562 0ustar drazzibdrazzib/* * An XML document type. * Localname: todolist * Namespace: http://xmlbeans.apache.org/samples/validation/todolist * Java type: org.apache.xmlbeans.samples.validation.todolist.TodolistDocument * * Automatically generated - do not modify. */ package org.apache.xmlbeans.samples.validation.todolist.impl; /** * A document containing one todolist(@http://xmlbeans.apache.org/samples/validation/todolist) element. * * This is a complex type. */ public class TodolistDocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.apache.xmlbeans.samples.validation.todolist.TodolistDocument { public TodolistDocumentImpl(org.apache.xmlbeans.SchemaType sType) { super(sType); } private static final javax.xml.namespace.QName TODOLIST$0 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/validation/todolist", "todolist"); /** * Gets the "todolist" element */ public org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist getTodolist() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist target = null; target = (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist)get_store().find_element_user(TODOLIST$0, 0); if (target == null) { return null; } return target; } } /** * Sets the "todolist" element */ public void setTodolist(org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist todolist) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist target = null; target = (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist)get_store().find_element_user(TODOLIST$0, 0); if (target == null) { target = (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist)get_store().add_element_user(TODOLIST$0); } target.set(todolist); } } /** * Appends and returns a new empty "todolist" element */ public org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist addNewTodolist() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist target = null; target = (org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist)get_store().add_element_user(TODOLIST$0); return target; } } /** * An XML todolist(@http://xmlbeans.apache.org/samples/validation/todolist). * * This is a complex type. */ public static class TodolistImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.apache.xmlbeans.samples.validation.todolist.TodolistDocument.Todolist { public TodolistImpl(org.apache.xmlbeans.SchemaType sType) { super(sType); } private static final javax.xml.namespace.QName ITEM$0 = new javax.xml.namespace.QName("http://xmlbeans.apache.org/samples/validation/todolist", "item"); /** * Gets array of all "item" elements */ public org.apache.xmlbeans.samples.validation.todolist.ItemType[] getItemArray() { synchronized (monitor()) { check_orphaned(); java.util.List targetList = new java.util.ArrayList(); get_store().find_all_element_users(ITEM$0, targetList); org.apache.xmlbeans.samples.validation.todolist.ItemType[] result = new org.apache.xmlbeans.samples.validation.todolist.ItemType[targetList.size()]; targetList.toArray(result); return result; } } /** * Gets ith "item" element */ public org.apache.xmlbeans.samples.validation.todolist.ItemType getItemArray(int i) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.ItemType target = null; target = (org.apache.xmlbeans.samples.validation.todolist.ItemType)get_store().find_element_user(ITEM$0, i); if (target == null) { throw new IndexOutOfBoundsException(); } return target; } } /** * Returns number of "item" element */ public int sizeOfItemArray() { synchronized (monitor()) { check_orphaned(); return get_store().count_elements(ITEM$0); } } /** * Sets array of all "item" element */ public void setItemArray(org.apache.xmlbeans.samples.validation.todolist.ItemType[] itemArray) { synchronized (monitor()) { check_orphaned(); arraySetterHelper(itemArray, ITEM$0); } } /** * Sets ith "item" element */ public void setItemArray(int i, org.apache.xmlbeans.samples.validation.todolist.ItemType item) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.ItemType target = null; target = (org.apache.xmlbeans.samples.validation.todolist.ItemType)get_store().find_element_user(ITEM$0, i); if (target == null) { throw new IndexOutOfBoundsException(); } target.set(item); } } /** * Inserts and returns a new empty value (as xml) as the ith "item" element */ public org.apache.xmlbeans.samples.validation.todolist.ItemType insertNewItem(int i) { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.ItemType target = null; target = (org.apache.xmlbeans.samples.validation.todolist.ItemType)get_store().insert_element_user(ITEM$0, i); return target; } } /** * Appends and returns a new empty value (as xml) as the last "item" element */ public org.apache.xmlbeans.samples.validation.todolist.ItemType addNewItem() { synchronized (monitor()) { check_orphaned(); org.apache.xmlbeans.samples.validation.todolist.ItemType target = null; target = (org.apache.xmlbeans.samples.validation.todolist.ItemType)get_store().add_element_user(ITEM$0); return target; } } /** * Removes the ith "item" element */ public void removeItem(int i) { synchronized (monitor()) { check_orphaned(); get_store().remove_element(ITEM$0, i); } } } } xmlbeans-2.5.0.orig/samples/Validation/xml/0000755000175000017500000000000011331341653020520 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/Validation/xml/todolist.xml0000644000175000017500000000265510320272604023107 0ustar drazzibdrazzib Buy a south Pacific island. Contingent on inheriting lots of money. 2005-05-01T23:36:28 someday_maybe_defer Get that new PowerBook I've been eyeing. Resulting productivity increase will be exponential! 2005-05-01T23:36:28 do Clean the garage. Remove at least enough junk so that my bicycle fits. 2005-05-30T23:36:28 delegate xmlbeans-2.5.0.orig/samples/AbstractTypes/0000755000175000017500000000000011331341653020416 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/AbstractTypes/schemas/0000755000175000017500000000000011331341653022041 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/AbstractTypes/schemas/myfigures.xsd0000644000175000017500000000262010320272602024565 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/AbstractTypes/schemas/abstractBase.xsd0000644000175000017500000000211110320272602025144 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/AbstractTypes/build.xml0000644000175000017500000001012410622415375022242 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/AbstractTypes/README.txt0000644000175000017500000000241210320272603022106 0ustar drazzibdrazzibSample: AbstractTypes Category: abstracttypes Author: Radu Preotiuc Last Updated: Feb. 7, 2005 Versions: xmlbeans-v1 1.0.3 xmlbeans-v2 ----------------------------------------------------------------------------- This sample illustrates the use of abstract XmlSchema types in XmlBeans. The scenario is simple: someone declares a generic XmlSchema containing the basic structure of a document with abstract, generic types and delivers a .jar file containing the compiled version of that Schema. We then define our own customization of that schema implementing the abstract types, we compile this XmlSchema using the .jar that was provided and create a sample instance document using XmlBeans. Here are the steps: Step1. Create the schema file "abstractBase.xsd" and compile it to abstractbase.jar. Step2. Create a Schema that implements the abstract types defined in "abstractBase.xsd", and compile it with "abstractbase.jar" on the classpath. Step3. Use the jars created in steps 1 and 2 to create an instance document using the concrete types. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/AbstractTypes/src/0000755000175000017500000000000011127016630021202 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/0000755000175000017500000000000011127016630021771 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/apache/0000755000175000017500000000000011127016630023212 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/apache/xmlbeans/0000755000175000017500000000000011127016630025023 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016630026467 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/apache/xmlbeans/samples/abstracttypes/0000755000175000017500000000000011331341653031362 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000015300000000000011564 Lustar rootrootxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/apache/xmlbeans/samples/abstracttypes/AbstractTypes.javaxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/apache/xmlbeans/samples/abstracttypes/AbstractType0000644000175000017500000000463110320272602033710 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.abstracttypes; import abstractFigures.*; import figures.*; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlOptions; /** * Test class that builds a document using type substitution */ public class AbstractTypes { public static void main(String[] args) { buildDocument(true); } public static XmlObject buildDocument(boolean enableOutput) { XmlOptions opt = (new XmlOptions()).setSavePrettyPrint(); // Build a new document RootDocument doc = RootDocument.Factory.newInstance(); RootDocument.Root figures = doc.addNewRoot(); if (enableOutput) System.out.println("Empty document:\n" + doc.xmlText(opt) + "\n"); // Add abstract figures Shape s1 = figures.addNewFigure(); s1.setId("001"); Shape s2 = figures.addNewFigure(); s2.setId("002"); // Document contains two shapes now // Because the shape is abstract, the document will not yet be valid if (enableOutput) { System.out.println("Document containing the abstract types:\n" + doc.xmlText(opt)); System.out.println("Valid = " + doc.validate() + "\n"); } // Change the abstract figures to concrete ones Circle circle = (Circle) s1.changeType(Circle.type); circle.setRadius(10.0); Square square = (Square) s2.changeType(Square.type); square.setSide(20.0); // Document contains two concrete shapes and is valid if (enableOutput) { System.out.println("Final document:\n" + doc.xmlText(opt)); System.out.println("Vald = " + doc.validate()); } return doc; } } ././@LongLink0000000000000000000000000000015700000000000011570 Lustar rootrootxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/apache/xmlbeans/samples/abstracttypes/AbstractTypesTest.javaxmlbeans-2.5.0.orig/samples/AbstractTypes/src/org/apache/xmlbeans/samples/abstracttypes/AbstractType0000644000175000017500000000172010320272602033704 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.abstracttypes; import org.apache.xmlbeans.XmlObject; /** * Tests the AbstractTypes sample. */ public class AbstractTypesTest { public static void main(String[] args) { XmlObject doc = AbstractTypes.buildDocument(false); assert doc.validate(); } } xmlbeans-2.5.0.orig/samples/vxsdb/0000755000175000017500000000000011331341653016754 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/type.vm0000644000175000017500000000273410320272601020300 0ustar drazzibdrazzib## Copyright 2002-2004 Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## ## Type template used by the sample XmlBeans Velocity integration. ## This template expoits the SchemaProperty XmlBeans object to determine ## the data type for the given column. Type returns a SchemaType XmlBeans ## object. ## ## See doc for constant values: ## http://xmlbeans.apache.org/docs/v2/reference/constant-values.html #if($property.type.simpleVariety == 1)#if($property.type.primitiveType.name.localPart == "boolean")BOOLEAN#elseif($property.type.primitiveType.name.localPart == "dateTime")TIMESTAMP#elseif($property.type.primitiveType.name.localPart == "decimal")DECIMAL#elseif($property.type.primitiveType.name.localPart == "int")INTEGER#elseif($property.type.primitiveType.name.localPart == "integer")INTEGER#elseif($property.type.primitiveType.name.localPart == "long")INTEGER#elseif($property.type.primitiveType.name.localPart == "string")VARCHAR#elseif(true)OTHER#end#end xmlbeans-2.5.0.orig/samples/vxsdb/schemas/0000755000175000017500000000000011331341653020377 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/schemas/easypo.xsd0000644000175000017500000000410510320272577022424 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/vxsdb/global.vm0000644000175000017500000000252710320272600020556 0ustar drazzibdrazzib## Copyright 2002-2004 Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## ## This template expoits the SchemaType XmlBeans object using the $global ## identifier. #foreach($property in $global.properties)## SchemaProperty[] ## Column name and data type. Columns may be foreign keys #parse("property.vm") #end #if( $exportedKeyMap.get($global.name.toString()) )## Map returns a List #foreach($exportedKey in $exportedKeyMap.get($global.name.toString()))## String in List #end #end xmlbeans-2.5.0.orig/samples/vxsdb/build.xml0000644000175000017500000001165110614226707020606 0ustar drazzibdrazzib Sample integration of Velocity and XMLBeans that produces a Apache DB DddUtils datamodel.xml file from a xml schema. Execute 'ant -f run.xml' to run the sample xml schema generator xmlbeans-2.5.0.orig/samples/vxsdb/datamodel.vm0000644000175000017500000000270210614226707021260 0ustar drazzibdrazzib## Copyright 2002-2004 Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## ## Database template used by the sample XmlBeans Velocity integration. ## Using the SchemaTypeSystem of XmlBeans this template produces an ## Jakarta commons-sql datamodel.xml file. ## This template expoits the SchemaTypeSystem XmlBeans object ## present in the Velocity context using the $xsd identifier. #foreach($global in $xsd.globalElements())## SchemaGlobalElement[] #set($global = $global.type) #parse("global.vm")
#end #foreach($global in $xsd.globalTypes())## SchemaType[] #parse("global.vm")
#end
xmlbeans-2.5.0.orig/samples/vxsdb/README.txt0000644000175000017500000000261710614226707020465 0ustar drazzibdrazzibSample: VelocityXmlBeans Category: sql Author: Philip Mark Donaghy Last Updated: Apr. 23, 2007 Versions: xmlbeans-v1 1.0.3 xmlbeans-v2 -------------------------------------------------------------------------------- Vxsdb is a XmlBeans sample application which derives a Apache DB DdlUtils data model from an xml schema. It was conceived from things I have learned from using XmlBeans and talking to people at the ASF conference. Vxsdb uses Jakarta Velocity as its templating engine. Features: - Inputs a xml schema - Outputs an Apache DB DdlUtils data model in xml Building this sample requires Apache dependancies which are automatically downloaded to the lib directory when Ant is executed. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the sample source, run "ant" 4. To execute the sample, run "ant -f run.xml" 5. The files build/datamodel.xml and build/create.sql are generated To build this sample without downloading dependencies ----------------------------------------------------- ant -Ddeps.exist=true By default run creates a ddl for the Derby RDBMS. To change the target database add a directive on the command line. Change database --------------- ant -f run.xml -DtargetDatabase=postgresql Postgres quickstart ------------------- $ su - # su - postgres $ initdb $ createdb easypo $ psql easypo # \i xml/create.sql xmlbeans-2.5.0.orig/samples/vxsdb/sql/0000755000175000017500000000000011331341653017553 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/sql/create.sample.sql0000644000175000017500000000425210320272576023026 0ustar drazzibdrazzib-- -- Copyright 2002-2004 Apache Software Foundation -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- drop table SHIPPER; drop table LINE_ITEM; drop table CUSTOMER; drop table PURCHASE_ORDER; -- ----------------------------------------------------------------------- -- PURCHASE_ORDER -- ----------------------------------------------------------------------- create table PURCHASE_ORDER ( PK INTEGER NOT NULL , FK_CUSTOMER INTEGER NULL , DATE INTEGER NULL , FK_SHIPPER INTEGER NULL , PRIMARY KEY (PK) ); -- ----------------------------------------------------------------------- -- CUSTOMER -- ----------------------------------------------------------------------- create table CUSTOMER ( PK INTEGER NOT NULL , NAME INTEGER NULL , ADDRESS INTEGER NULL , AGE INTEGER NULL , MOO INTEGER NULL , POO INTEGER NULL , PRIMARY KEY (PK) ); -- ----------------------------------------------------------------------- -- LINE_ITEM -- ----------------------------------------------------------------------- create table LINE_ITEM ( PK INTEGER NOT NULL , DESCRIPTION INTEGER NULL , PER_UNIT_OUNCES INTEGER NULL , PRICE INTEGER NULL , QUANTITY INTEGER NULL , FK_PURCHASE_ORDER INTEGER NULL , PRIMARY KEY (PK) ); ALTER TABLE LINE_ITEM ADD CONSTRAINT LINE_ITEM_FK_1 FOREIGN KEY (FK_PURCHASE_ORDER) REFERENCES PURCHASE_ORDER (PK) ; -- ----------------------------------------------------------------------- -- SHIPPER -- ----------------------------------------------------------------------- create table SHIPPER ( PK INTEGER NOT NULL , NAME INTEGER NULL , PER_OUNCE_RATE INTEGER NULL , PRIMARY KEY (PK) ); xmlbeans-2.5.0.orig/samples/vxsdb/property.vm0000644000175000017500000000432510614226707021215 0ustar drazzibdrazzib## Copyright 2002-2004 Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## ## Property template used by the sample XmlBeans Velocity integration. ## This template expoits the SchemaProperty XmlBeans object to determine ## if the column is a data type or foreign key #if($property.type.simpleType) #elseif( $property.maxOccurs.intValue() == 1 && $property.minOccurs.intValue() == 0 ) #elseif( $property.maxOccurs.intValue() == 1 ) #elseif( $property.maxOccurs.intValue() > 1 || "$!property.maxOccurs" == "")## Greater than one or unbounded #else #end xmlbeans-2.5.0.orig/samples/vxsdb/run.xml0000644000175000017500000001066310614226707020315 0ustar drazzibdrazzib Execute vxsdb sample. xmlbeans-2.5.0.orig/samples/vxsdb/external/0000755000175000017500000000000011331341653020576 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/src/0000755000175000017500000000000011127016610017536 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/src/java/0000755000175000017500000000000011331341653020464 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/src/java/org/0000755000175000017500000000000011127016607021254 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/src/java/org/apache/0000755000175000017500000000000011127016607022475 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/src/java/org/apache/xmlbeans/0000755000175000017500000000000011127016607024306 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/src/java/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016607025752 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/src/java/org/apache/xmlbeans/samples/vxsdb/0000755000175000017500000000000011331341653027077 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000014500000000000011565 Lustar rootrootxmlbeans-2.5.0.orig/samples/vxsdb/src/java/org/apache/xmlbeans/samples/vxsdb/VelocityXmlBeansDB.javaxmlbeans-2.5.0.orig/samples/vxsdb/src/java/org/apache/xmlbeans/samples/vxsdb/VelocityXmlBeansDB.java0000644000175000017500000001404610614226706033411 0ustar drazzibdrazzib/* Copyright 2003-2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.vxsdb; import java.io.File; import java.io.FileWriter; import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.xmlbeans.SchemaGlobalElement; import org.apache.xmlbeans.SchemaProperty; import org.apache.xmlbeans.SchemaTypeSystem; import org.apache.xmlbeans.XmlBeans; import org.apache.xmlbeans.XmlObject; /** * @author Philip Mark Donaghy */ public class VelocityXmlBeansDB extends Task { private static final Log log = LogFactory.getLog(VelocityXmlBeansDB.class); private String template; private String output; private String schema; /** * @param output * The output to set. */ public void setOutput(String output) { this.output = output; } /** * @param schema * The schema to set. */ public void setSchema(String schema) { this.schema = schema; } /** * @param template * The template to set. */ public void setTemplate(String template) { this.template = template; } /** * Default Constructor */ public VelocityXmlBeansDB() { } /** * Puts the XmlBeans SchemaTypeSystem into the Velocity Context */ public void execute() throws BuildException { // Create a Velocity Context and a Velocity Template VelocityContext ctx = new VelocityContext(); Template template = null; // Output to a file FileWriter writer = null; // XmlBeans SchemaTypeSystem schemaTypeSystem = null; try { // Initialize Velocity Velocity.init(); log.info("Using the Velocity template, " + this.template); template = Velocity.getTemplate(this.template); // Create Schema Type System log.info("Using the xml schema, " + this.schema); schemaTypeSystem = XmlBeans.compileXsd( new XmlObject[] { XmlBeans.typeLoaderForClassLoader(this.getClass().getClassLoader()). parse(new File(this.schema), null, null) }, XmlBeans.getBuiltinTypeSystem(), null); // Place SchemaTypeSystem in the Velocity Context ctx.put("xsd", schemaTypeSystem); // Place a exported key Map in the Velocity Context ctx.put("exportedKeyMap", createExportedKeyMap(schemaTypeSystem)); // Write to the file log.info("Using the output file, " + this.output); writer = new FileWriter(new File(this.output)); template.merge(ctx, writer); writer.close(); } catch (Exception e) { throw new BuildException(e); } } /** * * @param sts * @return */ private Map createExportedKeyMap(SchemaTypeSystem sts) { // Map of exported keys (foreign keys) // The key is the name of the element exporting key(s) // The value is a List of tables importing this key Map exportedKeyMap = new HashMap(); // For all global elements and all global types // Create a map of exported key lists SchemaGlobalElement[] globals = sts.globalElements(); for (int i = 0; i < globals.length; i++) { processProperties(globals[i].getName().getLocalPart().toUpperCase(), globals[i].getType().getProperties(), exportedKeyMap); } return exportedKeyMap; } private void processProperties(String tableName, SchemaProperty[] properties, Map exportedKeyMap) { // For all properties for (int i = 0; i < properties.length; i++) { processProperty(tableName, properties[i], exportedKeyMap); } } private void processProperty(String tableName, SchemaProperty property, Map exportedKeyMap) { // If property maxOccurs is greater than one or unbounded (null) if (property.getMaxOccurs() == null || property.getMaxOccurs().compareTo(BigInteger.ONE) > 0) { // Tables that import this properties type (ex. line-item type exports a foreign key to purchase-order, // PURCHASE_ORDER is in the list of importers) List importers = (List) exportedKeyMap.get(property.getType().getName().toString()); if (importers == null) { importers = new ArrayList(); exportedKeyMap.put(property.getType().getName().toString(), importers); } importers.add(tableName); } } /** * @param args */ public static void main(String[] args) { VelocityXmlBeansDB beans = new VelocityXmlBeansDB(); // Verify arguments if (args.length < 3) { log .error("Usage : java org.apache.xmlbeans.samples.vxsdb.VelocityXmlBeansDB TEMPLATE OUTPUT SCHEMA1 [SCHEMA2] [...]"); System.exit(1); } beans.setTemplate(args[0]); beans.setOutput(args[1]); beans.setSchema(args[2]); try { beans.execute(); } catch (Exception e) { e.printStackTrace(); } } }xmlbeans-2.5.0.orig/samples/vxsdb/src/java/log4j.xml0000644000175000017500000000217610320272600022223 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/vxsdb/xml/0000755000175000017500000000000011331341653017554 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/xml/datamodel.sample.xml0000644000175000017500000000657110614226704023523 0ustar drazzibdrazzib
xmlbeans-2.5.0.orig/samples/vxsdb/doc/0000755000175000017500000000000011331341653017521 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/vxsdb/doc/NOTES.txt0000644000175000017500000000150310320272577021156 0ustar drazzibdrazzibThis document keeps track of issues with sql-commons, xmlbeans, or velocity integration in this sample. The easypo.xsd file implies a foreign key in the table line-item. This can be determined by the unbounded definition of the purchase order element. A better mechanism would be to include database primary and foreign key relationships in the xml schema itself. Problems running the sample. Java 1.5.0 seems to be the only runtime to resolve the String method replace("-","_"). The run target fails with the following error: BUILD FAILED: /home/phil/soft/work/vxsdb/run.xml:30: org.apache.xmlbeans.XmlException: Thread main: The 0th supplied input is not a schema or a config document: its type is N= Execute a script containing the java command below if Ant is not available. Unix: run Cygwin: runcygwin Windows: run xmlbeans-2.5.0.orig/samples/vxsdb/doc/vxsdb.html0000644000175000017500000005563110320272577021554 0ustar drazzibdrazzib

Creating a Jakarta Commons SQL datamodel using XmlBeans and Velocity

Philip Mark Donaghy

1 About Vxsdb

Vxsdb is a sample XmlBeans application which derives a Jakarta Commons SQL data model from an xml schema. It was conceived from things I have learned from using XmlBeans and talking to people at the ASF conference.

Vxsdb uses Jakarta Velocity as its templating engine. At runtime a SchemaTypeSystem XmlBeans object is created from compiling an xml schema. This object is placed in a Velocity context. A template processes the objects global elements, global types and generates a Jakarta Commons SQL xml datamodel descriptor of tables and columns.

1.1 Requirements

Java 1.5

1.2 Getting Started

The basic utilization compiles the sample and produces a database schema for a given xml schema.

Execute the command “ant”

This compiles the sample.

Execute the command “ant -f run.xml”

This creates the Jakarta Commons SQL datamodel.xml and creates the create.sql ddl.

1.3 Configuration

Vxsdb can be configured by modifying the command line parameters to specify another template, output or xml schema.

ant -f run.xml -Dtemplate=datamodel.vm -Doutput=database.xml -Dschema=easypo.xsd

1.4 Generating database schema

Included in the sample run.xml is an Ant target which generates the ddl used to create the database tables. The default database is PostgreSQL.

ant -f run.xml

To change the target database use,

ant -f run.xml -DtargetDatabase=oracle

1.5 Determining Tables, Columns, and Table relationships

Tables are created from all global elements and most global types.

For each schema property the sample application determines if it is a column, an exported key (foreign key to another table), or an imported foreign key (another entity who's table contains a foreign back to this entity).

If a schema property (attribute or element) is a simple type without restriction a column is created and one of the following Commons SQL values is assigned to the property. DATE, DECIMAL, FLOAT, INTEGER, TIME, TIMESTAMP, or VARCHAR.

If a schema property is a simple type with a restriction then a column is created and one of the above values is assigned in addition to a size attribute.

If a schema property is a complex type with no maxOccurs or minOccurs (meaning that it is required) then a foreign key column is entered into the database table descriptor and the required attribute is set to true.

If a schema property is a complex type with maxOccurs equal to one then a foreign key column is entered into the database table.

If a schema property is a complex type with maxOccurs greater than one or unbounded then a imported key (foreign key from this type's table) is required. This presents a problem. The Velocity template may have already encountered this complex type and created its table descriptor without even knowing about this relationship. This is known as the Imported Key Question.

1.6 Solving the Imported Key Question

Iterate the SchemaTypeSystem in the Java class to determine imported keys.

Cliff told me that ms has a solution to this which may be included in the xml schema.

1.7 Additional ideas

Combining XmlBeans and Velocity templates can result in other interesting xml schema related technologies.

Using a similar approach to this sample XmlBeans and Velocity can harness the xml schema and generate documentation, a relational database model, or even data access objects.

1.8 Sample datamodel.xml

<?xml version="1.0" encoding="UTF-8"?>


<database name="sample">


<!-- Global Elements -->


<table name="PURCHASE_ORDER">


<column name="PK" type="INTEGER" required="true" primaryKey="true"/>

<!-- T=customer@http://openuri.org/easypo -->

<column name="FK_CUSTOMER" required="true" type="INTEGER" />

<foreign-key foreignTable="CUSTOMER">

<reference local="FK_CUSTOMER" foreign="PK"/>

</foreign-key>

<!-- T=dateTime@http://www.w3.org/2001/XMLSchema -->

<column name="DATE" type="TIMESTAMP" />

<!-- Foreign key imported from table named LINE_ITEM -->

<!-- T=shipper@http://openuri.org/easypo -->

<column name="FK_SHIPPER" type="INTEGER" />

<foreign-key foreignTable="SHIPPER">

<reference local="FK_SHIPPER" foreign="PK"/>

</foreign-key>

</table>


<!-- Global Types -->


<table name="CUSTOMER">


<column name="PK" type="INTEGER" required="true" primaryKey="true"/>

<!-- T=string@http://www.w3.org/2001/XMLSchema -->

<column name="NAME" type="VARCHAR" />

<!-- T=string@http://www.w3.org/2001/XMLSchema -->

<column name="ADDRESS" type="VARCHAR" />

<!-- T=int@http://www.w3.org/2001/XMLSchema -->

<column name="AGE" type="TINYINT" />

<!-- T=int@http://www.w3.org/2001/XMLSchema -->

<column name="MOO" type="TINYINT" />

<!-- T=int@http://www.w3.org/2001/XMLSchema -->

<column name="POO" type="TINYINT" />

</table>


<table name="LINE_ITEM">


<column name="PK" type="INTEGER" required="true" primaryKey="true"/>

<!-- T=string@http://www.w3.org/2001/XMLSchema -->

<column name="DESCRIPTION" type="VARCHAR" />

<!-- T=decimal@http://www.w3.org/2001/XMLSchema -->

<column name="PER_UNIT_OUNCES" type="DECIMAL" />

<!-- T=decimal@http://www.w3.org/2001/XMLSchema -->

<column name="PRICE" type="DECIMAL" />

<!-- T=integer@http://www.w3.org/2001/XMLSchema -->

<column name="QUANTITY" type="INTEGER" />

<!-- Exported key -->

<column name="FK_PURCHASE_ORDER" required="true" type="INTEGER" />

<foreign-key foreignTable="PURCHASE_ORDER">

<reference local="FK_PURCHASE_ORDER" foreign="PK"/>

</foreign-key>

</table>


<table name="SHIPPER">


<column name="PK" type="INTEGER" required="true" primaryKey="true"/>

<!-- T=string@http://www.w3.org/2001/XMLSchema -->

<column name="NAME" type="VARCHAR" />

<!-- T=decimal@http://www.w3.org/2001/XMLSchema -->

<column name="PER_OUNCE_RATE" type="DECIMAL" />

</table>


</database>

1.9 Sample create.sql

drop table SHIPPER;


drop table LINE_ITEM;


drop table CUSTOMER;


drop table PURCHASE_ORDER;


-- -----------------------------------------------------------------------

-- PURCHASE_ORDER

-- -----------------------------------------------------------------------


create table PURCHASE_ORDER

(

PK INTEGER NOT NULL ,

FK_CUSTOMER INTEGER NOT NULL ,

DATE TIMESTAMP NULL ,

FK_SHIPPER INTEGER NULL ,

PRIMARY KEY (PK)

);


ALTER TABLE PURCHASE_ORDER

ADD CONSTRAINT PURCHASE_ORDER_FK_1 FOREIGN KEY (FK_CUSTOMER)

REFERENCES CUSTOMER (PK)

;


ALTER TABLE PURCHASE_ORDER

ADD CONSTRAINT PURCHASE_ORDER_FK_2 FOREIGN KEY (FK_SHIPPER)

REFERENCES SHIPPER (PK)

;


-- -----------------------------------------------------------------------

-- CUSTOMER

-- -----------------------------------------------------------------------


create table CUSTOMER

(

PK INTEGER NOT NULL ,

NAME VARCHAR NULL ,

ADDRESS VARCHAR NULL ,

AGE TINYINT NULL ,

MOO TINYINT NULL ,

POO TINYINT NULL ,

PRIMARY KEY (PK)

);


-- -----------------------------------------------------------------------

-- LINE_ITEM

-- -----------------------------------------------------------------------


create table LINE_ITEM

(

PK INTEGER NOT NULL ,

DESCRIPTION VARCHAR NULL ,

PER_UNIT_OUNCES DECIMAL NULL ,

PRICE DECIMAL NULL ,

QUANTITY INTEGER NULL ,

FK_PURCHASE_ORDER INTEGER NOT NULL ,

PRIMARY KEY (PK)

);


ALTER TABLE LINE_ITEM

ADD CONSTRAINT LINE_ITEM_FK_1 FOREIGN KEY (FK_PURCHASE_ORDER)

REFERENCES PURCHASE_ORDER (PK)

;


-- -----------------------------------------------------------------------

-- SHIPPER

-- -----------------------------------------------------------------------


create table SHIPPER

(

PK INTEGER NOT NULL ,

NAME VARCHAR NULL ,

PER_OUNCE_RATE DECIMAL NULL ,

PRIMARY KEY (PK)

);




xmlbeans-2.5.0.orig/samples/build.xml0000644000175000017500000002237610320272611017453 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/XmlTree/0000755000175000017500000000000011331341653017206 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlTree/build.xml0000644000175000017500000000722510320272571021034 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/XmlTree/README.txt0000644000175000017500000000310710320272571020704 0ustar drazzibdrazzibSample: XmlTree Author: Steven Traut (straut@bea.com) Last Updated: June 14, 2005 Versions: xmlbeans-v1 1.0.3 xmlbeans-v2 ----------------------------------------------------------------------------- This sample illustrates how you can use the XMLBeans API to create a Java tree view of an XML document. The JTree implementation in the sample supports binding to any XML document. By accessing bound XML using an XmlCursor instance and XPath rather than through accessors provided by compiling schema, the data model behind this tree can support XML without regard to schema. The XmlEntry contains the simple code that is XMLBeans-aware. The XmlModel class, with which the tree implementation interacts directly, in turn knows nothing of XMLBeans or the underlying XML, instead reaching the data through XmlEntry instances. When you run this sample, it will display a window with the following bits of UI: - A box at the top with the path to the XML that the tree represents. By default, this is the PurchaseOrder.xml file included with the sample. You can change this path to point to another XML file, then click the Refresh button to update the tree. - A pane on the left displaying the tree itself. You can click nodes in the tree to display the XML the node represents. - A pane on the right displaying XML for the tree node that is selected in the left pane. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/XmlTree/src/0000755000175000017500000000000011127016606017775 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlTree/src/org/0000755000175000017500000000000011127016606020564 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/0000755000175000017500000000000011127016605022004 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/xmlbeans/0000755000175000017500000000000011127016605023615 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016605025261 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/xmlbeans/samples/xmltree/0000755000175000017500000000000011331341653026742 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/xmlbeans/samples/xmltree/XmlTreeTest.java0000644000175000017500000000232510320272571032026 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xmltree; import java.io.File; /** * A class with which to test the XmlTree sample. */ final class XmlTreeTest { /** * Tests the XmlTree sample. * * @param args An array in which the first item is a path to an XML file. */ public static void main(String[] args) { boolean isStarted = start(args); // assert !isStarted; } private static boolean start(String[] args) { File xmlFile = new File(args[0]); XmlTreeFrame frame = new XmlTreeFrame(xmlFile); return frame.isVisible(); } }xmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/xmlbeans/samples/xmltree/XmlModel.java0000644000175000017500000001166310320272571031334 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xmltree; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; import javax.swing.event.TreeModelListener; import java.util.Vector; /** * Defines a data model for the XmlTree. Through the data model, the tree can * retrieve information about the underlying hierarchical data, including the * root of the hierarchy, children of specified nodes, and so on. This data * model interacts with the underlying XML data through {@link XmlEntry} * instances (known as "user objects" in the context of JTree data models). The * XmlEntry class knows how to retrieve XML-specific hierarchical information as * it is represented by the XmlObject XMLBeans type. In other words, from the * tree's perspective, XmlEntry wraps XmlObject. */ final class XmlModel implements TreeModel { private final XmlEntry m_rootEntry; private final Vector m_treeModelListeners = new Vector(); /** * Creates a new instance of the model using entry as a root * node. * * @param entry The root node. */ public XmlModel(XmlEntry entry) { m_rootEntry = entry; } /** * Gets the child of node at index. * * @param node The parent whose child to get. * @param index The index of the child to get. * @return The child as an XmlEntry instance. */ public Object getChild(Object node, int index) { XmlEntry entry = (XmlEntry) node; return entry.getChild(index); } /** * Gets the number of children that node has. * * @param node The tree node whose children should be counted. * @return The number of children. */ public int getChildCount(Object node) { XmlEntry entry = (XmlEntry) node; return entry.getChildCount(); } /** * Gets the index of childNode as a child of parentNode. * * @param parentNode The parent tree node whose children should be checked. * @param childNode The tree node whose child index should be returned. * @return The index of childNode; -1 if either * parentNode or childNode is null. */ public int getIndexOfChild(Object parentNode, Object childNode) { int childIndex = 0; XmlEntry parent = (XmlEntry) parentNode; XmlEntry[] children = parent.getChildren(); for (int i = 0; i < children.length; i++) { if (children[i].equals(childNode)) { childIndex = i; } } return childIndex; } /** * Gets the root of this model. * * @return An XmlEntry instance representing the XML's root element. */ public Object getRoot() { return m_rootEntry; } /** * Determines whether node has any children, returning * true if it doesn't. * * @param node The node to test. * @return true if node has no children; * otherwise, false. */ public boolean isLeaf(Object node) { XmlEntry entry = (XmlEntry) node; return entry.getChildCount() == 0; } /** * Called when the user has altered the value for the item identified by * treePath to newValue. * * @param treePath The item whose path has changed. * @param newValue The new value. */ public void valueForPathChanged(TreePath treePath, Object newValue) { System.out.println("Path changing: " + treePath.toString() + "; " + newValue.toString()); } /** * Adds a listener. * * @param treeModelListener The listener to add. */ public void addTreeModelListener(TreeModelListener treeModelListener) { m_treeModelListeners.addElement(treeModelListener); } /** * Removes a listener added by addTreeModelListener. * * @param treeModelListener The listener to remove. */ public void removeTreeModelListener(TreeModelListener treeModelListener) { m_treeModelListeners.removeElement(treeModelListener); } }xmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/xmlbeans/samples/xmltree/XmlTree.java0000644000175000017500000001173510320272571031173 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xmltree; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; import javax.swing.ImageIcon; import javax.swing.JTree; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.TreeSelectionModel; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; /** * A tree view on XML, with nodes representing both elements and attributes. See * {@link XmlEntry}and {@link XmlModel}for information on how information * about the underlying XML is retrieved for use in the tree. Those classes use * XMLBeans to provide a wrapper by which the tree exposes the underlying XML. */ final class XmlTree extends JTree { /** * Receives XML instance, executing methods that * edit the received instance or create a new one. * * @param args An array in which the first item is a * path to the XML instance file. */ public static void main(String[] args) { System.out.println("Creating XmlTree.\n"); File xmlFile = new File(args[0]); XmlTreeFrame thisSample = new XmlTreeFrame(xmlFile); } /** * Constructs the tree using xmlFile as an original source of * nodes. * * @param xmlFile The XML file the new tree should represent. */ public XmlTree(File xmlFile) { setXmlFile(xmlFile); } /** * Sets the XML file that should be used to build the tree; the tree will be * refreshed to represent xmlFile. * * @param xmlFile The XML file the new tree should represent. */ public void setXmlFile(File xmlFile) { initComponents(xmlFile); } /** * Parses xmlFile into XMLBeans types (XmlObject instances), * returning the instance representing the root. * * @param xmlFile The XML file to parse. * @return An XmlObject representing the root of the parsed XML. */ private static XmlObject parseXml(File xmlFile) { XmlObject xml = XmlObject.Factory.newInstance(); try { xml = XmlObject.Factory.parse(xmlFile); } catch (XmlException xmle) { System.err.println(xmle.toString()); } catch (IOException ioe) { System.err.println(ioe.toString()); } return xml; } /** * Sets up the components that make up this tree. * * @param xmlFile The XML file the new tree should represent. */ private void initComponents(File xmlFile) { // Parse the XML create an XmlModel from its root. XmlEntry rootEntry = new XmlEntry(parseXml(xmlFile)); XmlModel treemodel = new XmlModel(rootEntry); // Set UI properties. setModel(treemodel); setRootVisible(true); setShowsRootHandles(true); setAutoscrolls(true); setEditable(false); getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION); DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer(); // Uncomment these lines to provide your own GIF files for // tree icons. // renderer.setLeafIcon(createImageIcon("images/leaf.gif")); // renderer.setOpenIcon(createImageIcon("images/minus.gif")); // renderer.setClosedIcon(createImageIcon("images/plus.gif")); setCellRenderer(renderer); setRootVisible(false); setAutoscrolls(false); } /** * Creates an icon from a path that points at a GIF file. This method is * called to create tree node icons. * * @param path The path to a GIF file. * @return An icon instance. */ private static ImageIcon createImageIcon(String path) { File imgFile = new File(path); URL imgUrl = null; try { imgUrl = imgFile.toURL(); } catch (MalformedURLException e) { e.printStackTrace(); } if (imgUrl != null) { return new ImageIcon(imgUrl); } else { System.err.println("Couldn't find file: " + path); return null; } } }xmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/xmlbeans/samples/xmltree/XmlTreeFrame.java0000644000175000017500000002236110320272571032143 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xmltree; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlOptions; import javax.swing.*; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.File; /** * Provides a frame within which to display an instance of the {@link XmlTree}, * along with a pane within which to display the XML corresponding to a node * selected in the tree. The tree's data is managed by the {@link XmlModel}and * {@link XmlEntry}classes, along with XmlTree. The XmlTreeFrame class is * merely a container to show the tree in use. */ final class XmlTreeFrame extends JFrame { // Variables for UI components. private XmlTree treeXmlTree; private JButton btnRefresh; private JPanel pnlContent; private JPanel pnlSelectionPanel; private JPanel pnlTree; private JScrollPane scrContent; private JScrollPane scrTree; private JSplitPane splTreeContent; private JTextField txtFileName; private JTextPane txtpnlContent; /** * Constructs the frame with an XML file to use for the tree. * * @param xmlFile The file containing XML that the tree should represent. */ public XmlTreeFrame(File xmlFile) { initComponents(xmlFile); } /** * Initializes UI components, setting properties and adding event listeners. * * @param xmlFile The XML file to be represented by the tree. */ private void initComponents(File xmlFile) { // Set properties for this frame. getContentPane().setLayout(new GridBagLayout()); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setTitle("XML Tree View"); setName("frmXmlTreeView"); // Create the top panel that will contain text box and refresh button. pnlSelectionPanel = new JPanel(); pnlSelectionPanel.setLayout(new GridBagLayout()); // Create the text box to display the XML file path. txtFileName = new JTextField(); GridBagConstraints gridBagConstraints; gridBagConstraints = new GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = GridBagConstraints.WEST; gridBagConstraints.insets = new Insets(4, 4, 0, 4); gridBagConstraints.weightx = 1; gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; txtFileName.setText(xmlFile.getAbsolutePath()); pnlSelectionPanel.add(txtFileName, gridBagConstraints); // Create the refresh button. btnRefresh = new JButton(); btnRefresh.setText("Refresh"); gridBagConstraints = new GridBagConstraints(); gridBagConstraints.gridwidth = 1; gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = GridBagConstraints.EAST; pnlSelectionPanel.add(btnRefresh, gridBagConstraints); // Add the selection panel to this frame. gridBagConstraints = new GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1; gridBagConstraints.weighty = 0; getContentPane().add(pnlSelectionPanel, gridBagConstraints); // Create the split plane that separates the tree and the content panes. splTreeContent = new JSplitPane(); // Create the components for the left side of the split pane: // the panel, scrolling panel, and the XML tree it will contain. pnlTree = new JPanel(); scrTree = new JScrollPane(); treeXmlTree = new XmlTree(xmlFile); scrTree.setViewportView(treeXmlTree); pnlTree.setLayout(new GridBagLayout()); gridBagConstraints = new GridBagConstraints(); gridBagConstraints.fill = GridBagConstraints.BOTH; gridBagConstraints.anchor = GridBagConstraints.NORTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; pnlTree.add(scrTree, gridBagConstraints); // Put the tree panel in the left side of the split pane. splTreeContent.setLeftComponent(pnlTree); // Create the components for the left side of the split pane: // the panel, scrolling panel, and the XML tree it will contain. pnlContent = new JPanel(); scrContent = new JScrollPane(); txtpnlContent = new JTextPane(); scrContent.setViewportView(txtpnlContent); pnlContent.setLayout(new GridBagLayout()); gridBagConstraints = new GridBagConstraints(); gridBagConstraints.fill = GridBagConstraints.BOTH; gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1; gridBagConstraints.weighty = 1; pnlContent.add(scrContent, gridBagConstraints); // Put the content panel in the right side of the split pane. splTreeContent.setRightComponent(pnlContent); // Set the rest of the split pane's properties, splTreeContent.setDividerLocation(170); gridBagConstraints = new GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.weightx = 1; gridBagConstraints.weighty = 1; gridBagConstraints.fill = GridBagConstraints.BOTH; gridBagConstraints.gridheight = GridBagConstraints.REMAINDER; gridBagConstraints.anchor = GridBagConstraints.NORTH; getContentPane().add(splTreeContent, gridBagConstraints); // Add a listener to get mouse clicks on the tree nodes. treeXmlTree.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent event) { if (event.getClickCount() == 1) { XmlEntry selection = (XmlEntry) treeXmlTree .getLastSelectedPathComponent(); // selection might be null if the user clicked one of the // expandy/collapsy things without selecting a node. if (selection == null) { return; } // Get the pretty-printed XML text and put it in the // window on the right. XmlObject node = selection.getXml(); XmlCursor nodeCursor = node.newCursor(); XmlOptions options = new XmlOptions(); options.setSavePrettyPrint(); options.setSavePrettyPrintIndent(4); String xmlString = nodeCursor.xmlText(options); txtpnlContent.setText(xmlString); } } // Don't respond to these events. public void mouseEntered(MouseEvent event) {} public void mouseExited(MouseEvent event) {} public void mousePressed(MouseEvent event) {} public void mouseReleased(MouseEvent event) {} }); // Add a listener to get mouse clicks on the Refresh button. btnRefresh.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent event) { // Get the text from the file path box and make a file from it. String filePath = txtFileName.getText(); File xmlFile = new File(filePath); // If the path points to a file, build the tree all over again. if (xmlFile.exists()) { treeXmlTree.setXmlFile(xmlFile); txtpnlContent.setText(""); } else { JOptionPane.showMessageDialog(null, "The path you gave appears " + "not to point to a file.", "XmlTree Message", JOptionPane.ERROR_MESSAGE); } } // Don't respond to these events. public void mouseEntered(MouseEvent event) {} public void mouseExited(MouseEvent event) {} public void mousePressed(MouseEvent event) {} public void mouseReleased(MouseEvent event) {} }); // Size all the components to their preferred size. pack(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(600, 640); this.setVisible(true); } }xmlbeans-2.5.0.orig/samples/XmlTree/src/org/apache/xmlbeans/samples/xmltree/XmlEntry.java0000644000175000017500000000750310320272571031373 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xmltree; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; import javax.xml.namespace.QName; /** * Represents the data for a single node in the XmlTree. This class (known as a * "user object" from the JTree perspective) provides a way to get information * about the node by essentially wrapping the XmlObject instance that the node * represents. The {@link XmlModel}class represents the XML data model to the * tree by calling methods of this object. */ public final class XmlEntry { private XmlObject[] m_children = new XmlObject[0]; private final XmlObject m_currentXml; private String m_label; /** * Constructs a entry using xml as the data source. * * @param xml The XML this entry will represent. */ public XmlEntry(XmlObject xml) { m_currentXml = xml; m_children = collectChildren(xml); // Add a cursor and use it to extract information to display in the // tree. XmlCursor cursor = xml.newCursor(); if (!cursor.currentTokenType().isStart()) { cursor.toFirstChild(); } m_label = cursor.getAttributeText(new QName("label")); if (m_label == null || m_label.equals("")) { m_label = cursor.getName().getLocalPart(); } cursor.dispose(); } /** * Collects the children of the xml element. * * @param xml The XML element whose children should be collected. * @return An array of xml's children. */ private XmlObject[] collectChildren(XmlObject xml) { return xml.selectPath("./*"); } /** * Gets the number of children of the XML this entry represents. * * @return The number of children. */ public int getChildCount() { return m_children.length; } /** * Gets the child at index from among the children of the XML * this entry represents. * * @param index The index number for the child to get. * @return An entry representing the child. */ public XmlEntry getChild(int index) { XmlEntry childEntry = new XmlEntry(m_children[index]); return childEntry; } /** * Gets the children of the XML this entry represents. * * @return An entry array representing the children. */ public XmlEntry[] getChildren() { XmlEntry[] entryChildren = new XmlEntry[getChildCount()]; for (int i = 0; i < getChildCount(); i++) { entryChildren[i] = new XmlEntry(m_children[i]); } return entryChildren; } /** * Returns a name that can be used as a tree node label. * * @return The name of the element or attribute this entry represents. */ public String toString() { return m_label; } /** * Gets the XML that this instance represents. * * @return An XmlObject instance representing the XML. */ public XmlObject getXml() { return m_currentXml; } }xmlbeans-2.5.0.orig/samples/XmlTree/xml/0000755000175000017500000000000011331341653020006 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlTree/xml/PurchaseOrder.xml0000644000175000017500000000303110320272570023271 0ustar drazzibdrazzib Gladys Kravitz
Anytown, PA
2001-12-17T09:30:47-05:00 Burnham's Celestial Handbook, Vol 1 5 21.79 2 Burnham's Celestial Handbook, Vol 2 5 19.89 2 Burnham's Celestial Handbook, Vol 3 5 19.89 1 UPS 0.74
xmlbeans-2.5.0.orig/samples/SampleTemplate/0000755000175000017500000000000011331341653020543 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SampleTemplate/schemas/0000755000175000017500000000000011331341653022166 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SampleTemplate/schemas/hello.xsd0000644000175000017500000000176310320272610024011 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/SampleTemplate/build.xml0000644000175000017500000000763410320272611022370 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/SampleTemplate/README.txt0000644000175000017500000000317310320272611022237 0ustar drazzibdrazzibSample: SampleTemplate Category: template Author: Steven Traut (straut@bea.com) Last Updated: Sept. 6, 2004 Versions: xmlbeans-v1 1.0.3 xmlbeans-v2 ----------------------------------------------------------------------------- This sample template should be used when authoring new samples for XMLBeans. Each sample MUST consist of the following: - Apache License 2.0 must appear on all files. - README.txt: in the same format as this README. Sample name, author, last upated, and versions of XMLBeans this sample works with are listed at the top. - build.xml: with 'clean', 'build', 'run', and 'test' targets. Follow the conventions in the build.xml distributed with this template. - schemas directory: contains any XMLSchema files used in compilation. Typically, the target namespace of the schema will be "http://xmlbeans.apache.org/samples/category/samplename" where "category" and "samplename" are replaced appropriately. - xml directory: contains any xml files used for validation by the sample. - src directory: contains any java source files. The package of the sample should be 'org.apache.xmlbeans.samples.category' and the main class should be given the sample name. At the end of the README's description, the desired output of running the sample should be given and the steps to build and run should be provided. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/SampleTemplate/src/0000755000175000017500000000000011127016620021326 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/0000755000175000017500000000000011127016620022115 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/apache/0000755000175000017500000000000011127016620023336 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/apache/xmlbeans/0000755000175000017500000000000011127016620025147 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016620026613 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/apache/xmlbeans/samples/template/0000755000175000017500000000000011331341653030432 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/apache/xmlbeans/samples/template/SampleTemplateTest.javaxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/apache/xmlbeans/samples/template/SampleTemplateTe0000644000175000017500000000230710320272610033556 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.template; /** * A class with which to test the SampleTemplate sample. */ public class SampleTemplateTest { /** * Tests the SampleTemplate sample. */ public static void main(String[] args) throws org.apache.xmlbeans.XmlException, java.io.IOException { // all we're checking for is that the sample doesn't throw anything. // a real sample test might assert something more interesting. SampleTemplate sample = new SampleTemplate(); sample.start(args); } } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/apache/xmlbeans/samples/template/SampleTemplate.javaxmlbeans-2.5.0.orig/samples/SampleTemplate/src/org/apache/xmlbeans/samples/template/SampleTemplate.j0000644000175000017500000000476510320272610033527 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.template; import org.apache.xmlbeans.*; import org.apache.xmlbeans.samples.template.sampletemplate.HelloDocument; import java.io.File; import java.util.ArrayList; import java.util.Iterator; /** * This is a template sample. A nice description would go here. */ public class SampleTemplate { /** * Prints out the names in the xml instance conforming to hello.xsd. */ public static void main(String[] args) throws org.apache.xmlbeans.XmlException, java.io.IOException { SampleTemplate sample = new SampleTemplate(); sample.start(args); } public void start(String[] args) throws org.apache.xmlbeans.XmlException, java.io.IOException { for (int i = 0; i < args.length; i++) { validate(args[i]); } } public void validate(String filename) throws org.apache.xmlbeans.XmlException, java.io.IOException { System.out.println("parsing document: " + filename); HelloDocument doc = HelloDocument.Factory.parse(new File(filename)); ArrayList errors = new ArrayList(); XmlOptions opts = new XmlOptions(); opts.setErrorListener(errors); if (doc.validate(opts)) { System.out.println("document is valid."); String[] names = doc.getHello().getNameArray(); for (int i = 0; i < names.length; i++) { System.out.println(" hi there, " + names[i] + "!"); } } else { System.out.println("document is invalid!"); Iterator iter = errors.iterator(); while (iter.hasNext()) { System.out.println(">> " + iter.next()); } } System.out.println(); } } xmlbeans-2.5.0.orig/samples/SampleTemplate/xml/0000755000175000017500000000000011331341653021343 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SampleTemplate/xml/hello.xml0000644000175000017500000000137510320272610023167 0ustar drazzibdrazzib bob sally joanne kevin xmlbeans-2.5.0.orig/samples/SampleTemplate/xml/bad.xml0000644000175000017500000000132010320272610022600 0ustar drazzibdrazzib bob 4 xmlbeans-2.5.0.orig/samples/XsdConfig/0000755000175000017500000000000011331341653017512 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/schemas/0000755000175000017500000000000011331341653021135 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/schemas/myconfig.xsdconfig0000644000175000017500000000342010320272574024657 0ustar drazzibdrazzib com.catalog Xml Bean xmlbeans-2.5.0.orig/samples/XsdConfig/schemas/catalog.xsd0000644000175000017500000000351610320272574023276 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/XsdConfig/build.xml0000644000175000017500000001400410320272575021335 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/XsdConfig/README.txt0000644000175000017500000000275510320272575021224 0ustar drazzibdrazzibSample: XSDConfig Author: Rashmi Banthia (rjain29@gmail.com) Last Updated: Oct. 18th, 2004 Versions: xmlbeans-1.0.3 ----------------------------------------------------------------------------- This sample illustrates how you can specify package names to be used for xml namespaces. You can also specify class names to be used for individual qualified names. To customize the package names and the class names, you'll need to create .xsdconfig file. For eg: "filename.xsdconfig" Schema for xsdconfig can be obtained from XMLBeans source. For this sample: (1) The java class names generated without the XsdConfig are: * org.apache.xmlbeans.samples.catalog.ArticleDocument * org.apache.xmlbeans.samples.catalog.AVeryLongDescriptionElementDocument * org.apache.xmlbeans.samples.catalog.CatalogDocument * org.apache.xmlbeans.samples.catalog.JournalDocument (CatalogXsd.java uses above mentioned classes) (2) The java class names generated with XsdConfig are: * com.catalog.XmlArticleDocumentBean * com.catalog.XmlShortItemBean * com.catalog.XmlCatalogDocumentBean * com.catalog.XmlJournalDocumentBean (CatalogXsdConfig.java uses above mentioned classes) When you run this sample, you will see it print all the element values from XML document instance (with and without XsdConfig file). To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" xmlbeans-2.5.0.orig/samples/XsdConfig/src/0000755000175000017500000000000011127016602020275 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/src/org/0000755000175000017500000000000011127016602021064 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/0000755000175000017500000000000011127016602022305 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/xmlbeans/0000755000175000017500000000000011127016602024116 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016602025562 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/xmlbeans/samples/xsdconfig/0000755000175000017500000000000011331341653027552 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/xmlbeans/samples/xsdconfig/XsdTest.java0000644000175000017500000000237410320272575032024 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xsdconfig; import org.apache.xmlbeans.samples.catalog.CatalogDocument; public class XsdTest { /** * Tests the CatalogXsd.java class. This does not consider XsdConfig file. */ public static void main(String[] args) { // Create an instance of the sample to test. CatalogXsd sample = new CatalogXsd(); CatalogDocument catdoc = sample.parseXml(args[0]); //Prints the element values from the XML. sample.printElements(catdoc); // Validate the XML. assert sample.validateXml(catdoc); } }xmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/xmlbeans/samples/xsdconfig/CatalogXsd.java0000644000175000017500000001301110320272575032445 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xsdconfig; /* *This class uses the auto generated package names and class names. It doesn't consider XsdConfig file. *Note the difference between the imports in two files (CatalogXsdConfig.java and CatalogXsd.java) */ import org.apache.xmlbeans.samples.catalog.CatalogDocument; import org.apache.xmlbeans.samples.catalog.JournalDocument; import org.apache.xmlbeans.samples.catalog.ArticleDocument; import org.apache.xmlbeans.samples.catalog.AVeryLongDescriptionElementDocument; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlError; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlOptions; import java.util.ArrayList; import java.io.IOException; import java.io.File; public class CatalogXsd { public static void main(String[] args) { // Create an instance of this class to work with. CatalogXsd catalogxsd = new CatalogXsd(); // Create an instance of a type based on the received XML's schema CatalogDocument catdoc = catalogxsd.parseXml(args[0]); //Prints the element values from the XML. catalogxsd.printElements(catdoc); } /** * Creates a File from the XML path provided in main arguments, then * parses the file's contents into a type (CatalogDocument) generated from schema. * * @param xmlFilePath A path to XML based on the schema in EasyPo.xsd * @return An instance of a generated schema type (CatalogDocument) that contains the * parsed XML. */ public CatalogDocument parseXml(String xmlFilePath) { File xmlfile = new File(xmlFilePath); CatalogDocument catdoc = null; try { catdoc = CatalogDocument.Factory.parse(xmlfile); } catch (XmlException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return catdoc; } /** * This method prints all the element values in the given XML document based on Catalog.xsd */ public void printElements(CatalogDocument catdoc) { // Get object reference of root element. CatalogDocument.Catalog catalogelement = catdoc.getCatalog(); //Get all element from the root element. JournalDocument.Journal[] journalarray = catalogelement.getJournalArray(); //Loop through element array. for (int i = 0; i < journalarray.length; i++) { //Retrieve all
elements within each element ArticleDocument.Article[] articlearray = journalarray[i].getArticleArray(); //Loop through
array retrieved above for (int j = 0; j < articlearray.length; j++) { System.out.println(articlearray[j].getTitle()); String[] str = articlearray[j].getAuthorArray(); for (int k = 0; k < str.length; k++) System.out.println(str[k]); //Note the method for retrieving element. System.out.println(articlearray[j].getAVeryLongDescriptionElement() .getForsample()); } } System.out.println("\n\n\n"); } /** *

Validates the XML, printing error messages when the XML is invalid. Note * that this method will properly validate any instance of a compiled schema * type because all of these types extend XmlObject.

*

*

Note that in actual practice, you'll probably want to use an assertion * when validating if you want to ensure that your code doesn't pass along * invalid XML. This sample prints the generated XML whether or not it's * valid so that you can see the result in both cases.

* * @param xml The XML to validate. * @return true if the XML is valid; otherwise, false */ public static boolean validateXml(XmlObject xml) { boolean isXmlValid = false; // A collection instance to hold validation error messages. ArrayList validationMessages = new ArrayList(); // Validate the XML, collecting messages. isXmlValid = xml.validate( new XmlOptions().setErrorListener(validationMessages)); // If the XML isn't valid, print the messages. if (!isXmlValid) { System.out.println("\nInvalid XML: "); for (int i = 0; i < validationMessages.size(); i++) { XmlError error = (XmlError) validationMessages.get(i); System.out.println(error.getMessage()); System.out.println(error.getObjectLocation()); } } return isXmlValid; } } ././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootxmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/xmlbeans/samples/xsdconfig/CatalogXsdConfig.javaxmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/xmlbeans/samples/xsdconfig/CatalogXsdConfig.jav0000644000175000017500000001272410320272575033444 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xsdconfig; /** *This class uses the package names and class names mentioned in XsdConfig. *Note the difference between the imports in two files (CatalogXsdConfig.java and CatalogXsd.java) */ import com.catalog.XmlCatalogDocumentBean; import com.catalog.XmlJournalDocumentBean; import com.catalog.XmlArticleDocumentBean; import com.catalog.XmlShortItemBean; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlError; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlOptions; import java.util.ArrayList; import java.io.IOException; import java.io.File; public class CatalogXsdConfig { public static void main(String[] args) { // Create an instance of this class to work with. CatalogXsdConfig catxsdconfig = new CatalogXsdConfig(); // Create an instance of a type based on the received XML's schema XmlCatalogDocumentBean catdoc = catxsdconfig.parseXml(args[0]); //Prints the element values from the XML. catxsdconfig.printElements(catdoc); } /** * Creates a File from the XML path provided in main arguments, then * parses the file's contents into a type (CatalogDocument) generated from schema. * * @param xmlFilePath A path to XML based on the schema in EasyPo.xsd * @return An instance of a generated schema type (CatalogDocument) that contains the * parsed XML. */ public XmlCatalogDocumentBean parseXml(String xmlFilePath) { File xmlfile = new File(xmlFilePath); XmlCatalogDocumentBean catdoc = null; try { catdoc = XmlCatalogDocumentBean.Factory.parse(xmlfile); } catch (XmlException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return catdoc; } /* * This method prints all the element values in the given XML document based on Catalog.xsd */ public void printElements(XmlCatalogDocumentBean catdoc) { // Get object reference of root element. XmlCatalogDocumentBean.Catalog catalogelement = catdoc.getCatalog(); //Get all element from the root element. XmlJournalDocumentBean.Journal[] journalarray = catalogelement.getJournalArray(); //Loop through element array. for (int i = 0; i < journalarray.length; i++) { //Retrieve all
elements within each element XmlArticleDocumentBean.Article[] articlearray = journalarray[i].getArticleArray(); //Loop through
array retrieved above for (int j = 0; j < articlearray.length; j++) { System.out.println(articlearray[j].getTitle()); String[] str = articlearray[j].getAuthorArray(); for (int k = 0; k < str.length; k++) System.out.println(str[k]); //Note the method for retrieving element. System.out.println( articlearray[j].getXmlShortItemBean().getGoodName()); } } System.out.println("\n\n\n"); } /** *

Validates the XML, printing error messages when the XML is invalid. Note * that this method will properly validate any instance of a compiled schema * type because all of these types extend XmlObject.

*

*

Note that in actual practice, you'll probably want to use an assertion * when validating if you want to ensure that your code doesn't pass along * invalid XML. This sample prints the generated XML whether or not it's * valid so that you can see the result in both cases.

* * @param xml The XML to validate. * @return true if the XML is valid; otherwise, false */ public static boolean validateXml(XmlObject xml) { boolean isXmlValid = false; // A collection instance to hold validation error messages. ArrayList validationMessages = new ArrayList(); // Validate the XML, collecting messages. isXmlValid = xml.validate( new XmlOptions().setErrorListener(validationMessages)); // If the XML isn't valid, print the messages. if (!isXmlValid) { System.out.println("\nInvalid XML: "); for (int i = 0; i < validationMessages.size(); i++) { XmlError error = (XmlError) validationMessages.get(i); System.out.println(error.getMessage()); System.out.println(error.getObjectLocation()); } } return isXmlValid; } } xmlbeans-2.5.0.orig/samples/XsdConfig/src/org/apache/xmlbeans/samples/xsdconfig/XsdConfigTest.java0000644000175000017500000000241010320272575033141 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xsdconfig; import com.catalog.XmlCatalogDocumentBean; public class XsdConfigTest { /** * Tests the CatalogXsdConfig.java class. This does consider XsdConfig file. */ public static void main(String[] args) { // Create an instance of the sample to test. CatalogXsdConfig sample = new CatalogXsdConfig(); XmlCatalogDocumentBean catdoc = sample.parseXml(args[0]); //Prints the element values from the XML. sample.printElements(catdoc); // Validate the XML. assert sample.validateXml(catdoc); } }xmlbeans-2.5.0.orig/samples/XsdConfig/xml/0000755000175000017500000000000011331341653020312 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XsdConfig/xml/catalog.xml0000644000175000017500000000255310320272574022455 0ustar drazzibdrazzib
Java programming for high-performance numerical computing J. E. Moreira et.al. This is a sample element for journal-1
Dynamically Binding EJBs Using the Java Reflection API Douglas A. Clark This document can be found at http://www.cuj.com/documents/s=8467/cujjsup2010clark/clark.htm
xmlbeans-2.5.0.orig/samples/XQueryXPath/0000755000175000017500000000000011331341653020030 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/schemas/0000755000175000017500000000000011331341653021453 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/schemas/employeeschema.xsd0000644000175000017500000000364110320272573025200 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/XQueryXPath/build.xml0000644000175000017500000000747611023502314021656 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/XQueryXPath/README.txt0000644000175000017500000000401311023502314021513 0ustar drazzibdrazzibSample: XQueryXPath Author: Steven Traut (straut@bea.com) Last Updated: May 14, 2008 Versions: xmlbeans-v1 1.0.3 xmlbeans-v2 2.4.0 ----------------------------------------------------------------------------- This sample illustrates how you can use the XMLBeans API to execute XPath and XQuery expressions. The sample illustrates these features: - Using the XmlObject.selectPath and XmlCursor.selectPath methods to execute XPath expressions. The selectPath method's results (if any) are always chunks of the instance queried against. In other words, changes to query results change the original instance. However, you work with results differently depending on whether selectPath was called from an XmlObject or XmlCursor instance. See the SelectPath class for more information. - Using the XmlObject.execQuery and XmlCursor.execQuery methods to execute XQuery expressions. Results of these queries are copied into new XML, meaning that changes to results do not change the original instance. Here again, you work with results differently depending how which method you used to query. See the ExecQuery class for more information. A note about dependencies. Very simple XPath expressions -- e.g., expressions without predicates or function calls -- require only the xbean.jar on your class path. More complex XPath expressions and XQuery expressions require an XPath/XQuery engine, such as Saxon. XMLBeans 2.4.0 supports the use of Saxon 9. Two Saxon jars, saxon9.jar and saxon9-dom.jar, as well as xbean_xpath.jar, are required on the classpath for code in this sample to run. These jars are created in the build/lib directory if you build XMLBeans from Apache source. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. xbean_xpath.jar, saxon9.jar, and saxon9-dom.jar must be on your classpath. These files are created in the build/lib directory when you build XMLBeans from source. 4. To compile the schemas and sample source, run "ant build" 5. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/XQueryXPath/src/0000755000175000017500000000000011127016604020615 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/0000755000175000017500000000000011127016604021404 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/0000755000175000017500000000000011127016604022625 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/0000755000175000017500000000000011127016604024436 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016603026101 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/samples/xquery/0000755000175000017500000000000011331341653027441 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/samples/xquery/SelectPath.java0000644000175000017500000001617211023502314032336 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xquery; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.samples.xquery.employees.PhoneType; /** * This class demonstrates how to use the selectPath method to execute XPath * expressions. Compare the code here with the code in the ExecQuery class. * That class uses the execQuery method to execute XQuery expressions. *

* You can call the selectPath method from either an XmlObject or XmlCursor * instance. Calling from XmlObject returns an XmlObject array. Calling * from XmlCursor returns void, and you use methods of the cursor to * navigate among returned "selections". */ public class SelectPath { // Declare a namespace corresponding to the namespace declared in the XML // instance. The string here will be used as part of the XPath expression to // ensure that the query finds namespace-qualified elements in the XML. final static String m_namespaceDeclaration = "declare namespace xq='http://xmlbeans.apache.org/samples/xquery/employees';"; /** * Prints the XML bound to empDoc, uses XPath to * retrieve elements containing work phone numbers, changes the numbers * to another number, then prints the XML again to display the changes. * * This method demonstrates the following characteristics of the selectPath method: * * - it supports expressions that include predicates * - the XML it returns is the XML queried against -- not a copy, as with results * returned via execQuery methods and XQuery. Changes to this XML update * the XML queried against. * - selectPath called from an XMLBean type (instead of a cursor) returns an * array of results (if any). These results can be cast to a matching type * generated from schema. * * @param empDoc The incoming XML. * @return true if the XPath expression returned results; * otherwise, false. */ public boolean updateWorkPhone(XmlObject empDoc) { boolean hasResults = false; // Print the XML received. System.out.println("XML as received by updateWorkPhone method: \n\n" + empDoc.toString()); // Create a variable with the query expression. String pathExpression = "$this/xq:employees/xq:employee/xq:phone[@location='work']"; // Execute the query. XmlObject[] results = empDoc.selectPath(m_namespaceDeclaration + pathExpression); if (results.length > 0) { hasResults = true; // elements returned from the expression will conform to the // schema, so bind them to the appropriate XMLBeans type generated // from the schema. PhoneType[] phones = (PhoneType[]) results; // Change all the work phone numbers to the same number. for (int i = 0; i < phones.length; i++) { phones[i].setStringValue("(206)555-1234"); } // Print the XML with updates. System.out.println("\nXML as updated by updateWorkPhone method (each work \n" + "phone number has been changed to the same number): \n\n" + empDoc.toString() + "\n"); } return hasResults; } /** * Uses the XPath text() function to get values from * elements in received XML, then collects those values as the value of a * element created here. *

* Demonstrates the following characteristics of the selectPath method: *

* - It supports expressions that include XPath function calls. * - selectPath called from an XmlCursor instance (instead of an XMLBeans * type) places results (if any) into the cursor's selection set. * * @param empDoc The incoming XML. * @return true if the XPath expression returned results; * otherwise, false. */ public boolean collectNames(XmlObject empDoc) { boolean hasResults = false; // Create a cursor with which to execute query expressions. The cursor // is inserted at the very beginning of the incoming XML, then moved to // the first element's START token. XmlCursor pathCursor = empDoc.newCursor(); pathCursor.toFirstChild(); // Execute the path expression, qualifying it with the namespace // declaration. pathCursor.selectPath(m_namespaceDeclaration + "$this//xq:employee/xq:name/text()"); // If there are results, then go ahead and do stuff. if (pathCursor.getSelectionCount() > 0) { hasResults = true; // Create a new element into which names from the XML // will be copied. Note that this element is in the default // namespace; it's not part of the schema. XmlObject namesElement = null; try { namesElement = XmlObject.Factory.parse(""); } catch (XmlException e) { e.printStackTrace(); } // Add a cursor the new element and put it between its START and END // tokens, where new values can be inserted. XmlCursor namesCursor = namesElement.newCursor(); namesCursor.toFirstContentToken(); namesCursor.toEndToken(); // Loop through the selections, appending the incoming element's // value to the new element's value. (Of course, this could have // been done with a StringBuffer, but that wouldn't show the cursor in // use.) while (pathCursor.toNextSelection()) { namesCursor.insertChars(pathCursor.getTextValue()); if (pathCursor.hasNextSelection()) { namesCursor.insertChars(", "); } } // Dispose of the cursors now that they're not needed. pathCursor.dispose(); namesCursor.dispose(); // Print the new element. System.out.println("\nNames collected by collectNames method: \n\n" + namesElement + "\n"); } return hasResults; } } xmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/samples/xquery/XQueryXPath.java0000644000175000017500000001053510320272574032514 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xquery; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; import java.io.File; import java.io.IOException; /** * A sample to XMLBeans API features for executing XPath and XQuery * expressions. The sample illustrates these features: * * - Using the XmlObject.selectPath and XmlCursor.selectPath methods * to execute XPath expressions. The selectPath method's results (if * any) are always chunks of the instance queried against. In other * words, changes to query results change the original instance. * However, you work with results differently depending on whether * selectPath was called from an XmlObject or XmlCursor instance. See * the SelectPath class for more information. * - Using the XmlObject.execQuery and XmlCursor.execQuery methods * to execute XQuery expressions. Results of these queries are copied * into new XML, meaning that changes to results do not change the * original instance. Here again, you work with results differently * depending how which method you used to query. See the ExecQuery * class for more information. */ public class XQueryXPath { /** * Receives an employees list XML instance, passing the instance to * methods that execute queries against it. * * @param args An array in which the first item is a * path to the XML instance file. */ public static void main(String[] args) throws org.apache.xmlbeans.XmlException, java.io.IOException { XQueryXPath sample = new XQueryXPath(); sample.executeQueries(args); } /** * Returns true if all of the sample methods returned true * (i.e., their query expressions returned results). * * @param args An array in which the first item is a * path to the XML instance file. * @return true if all of the sample methods returned true * (i.e., their query expressions returned results); otherwise, * false. */ public boolean executeQueries(String[] args) { XmlObject xml = this.parseXml(args[0]); // Execute the XQuery samples. ExecQuery xquerySample = new ExecQuery(); System.out.println("Running ExecQuery.selectEmpsByStateCursor\n"); boolean xqWorkPhoneSuccessful = xquerySample.updateWorkPhone(xml); System.out.println("Running ExecQuery.selectZipsNewDocCursor\n"); boolean xqCollectZips = xquerySample.collectZips(xml); // Execute the XPath samples. SelectPath xpathSample = new SelectPath(); System.out.println("Running SelectPath.updateWorkPhone \n"); boolean xpWorkPhoneSuccessful = xpathSample.updateWorkPhone(xml); System.out.println("Running SelectPath.collectNames \n"); boolean xpCollectNames = xpathSample.collectNames(xml); return (xqWorkPhoneSuccessful && xqCollectZips && xpWorkPhoneSuccessful && xpCollectNames) ? true : false; } /** *

Creates a File from the XML path provided in main arguments, then * parses the file's contents into a type generated from schema.

* @param xmlFilePath A path to XML based on the schema in inventory.xsd. * @return An instance of a generated schema type that contains the parsed * XML. */ public XmlObject parseXml(String xmlFilePath) { File xmlFile = new File(xmlFilePath); XmlObject xml = null; try { xml = XmlObject.Factory.parse(xmlFile); } catch (XmlException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return xml; } } xmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/samples/xquery/ExecQuery.java0000644000175000017500000001461011023502313032206 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xquery; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; /** * This class demonstrates how to use the execQuery method to execute XQuery * expressions. Compare the code here with the code in the SelectPath class. * That class uses the selectPath method to execute XPath expressions. *

* You can call the execQuery method from either an XmlObject or XmlCursor * instance. Calling from XmlObject returns an XmlObject array. Calling * from XmlCursor returns a new XmlCursor instance positioned at the root * of a fragment containing copies of the XML queried against. Results of the * query (if any) are sibling children of the fragment's root. */ public class ExecQuery { final static String m_namespaceDeclaration = "declare namespace xq='http://xmlbeans.apache.org/samples/xquery/employees';"; /** * Uses XQuery to retrieve work elements from the incoming XML, then * changes the number in the results. * * This method demonstrates the following characteristics of the execQuery method: * * - it supports XQuery. * - the XML it returns is a copy of the XML queried against; contrast this with * the selectPath method, which returns a portion of the original document. * Changes to returned XML do not impact the XML queried against. * - execQuery called from an XmlCursor returns a cursor positioned at * the STARTDOC token of a new XML fragment. Contrast this with the * XmlCursor.selectPath method, which stores results as "selections" in * the cursor used to execute the query. * * @param empDoc The incoming XML. * @return true if the XPath expression returned results; * otherwise, false. */ public boolean updateWorkPhone(XmlObject empDoc) { boolean hasResults = false; // A cursor instance to query with. XmlCursor empCursor = empDoc.newCursor(); // The expression: Get the elements with elements whose // value is "WA". String queryExpression = "for $e in $this/xq:employees/xq:employee " + "let $s := $e/xq:address/xq:state " + "where $s = 'WA' " + "return $e//xq:phone[@location='work']"; // Execute the query. Results, if any, will be available at // the position of the resultCursor in a new XML document. XmlCursor resultCursor = empCursor.execQuery(m_namespaceDeclaration + queryExpression); System.out.println("The query results, element copies made " + "from the received document: \n"); System.out.println(resultCursor.getObject().toString() + "\n"); // If there are results, the results will be children of the fragment root // where the new cursor is positioned. This statement tests for children // and moves the cursor if to the first if it exists. if (resultCursor.toFirstChild()) { hasResults = true; // Use the cursor to loop through the results, printing each sibling // element returned by the query. int i = 0; do { // Change the phone numbers. XmlCursor editCursor = resultCursor.newCursor(); editCursor.toLastAttribute(); editCursor.toNextToken(); editCursor.removeXml(); editCursor.insertChars("(206)555-1234"); } while (resultCursor.toNextSibling()); resultCursor.toStartDoc(); System.out.println("The query results after changes: \n"); System.out.println(resultCursor.getObject().toString() + "\n"); System.out.println("The received document -- note that it is unchanged. " + "Changes were made to the copy created by the execQuery method. \n"); System.out.println(empDoc + "\n"); } return hasResults; } /** * Uses XQuery to retrieve work elements from the incoming XML, adding the * elements as children to a element. * * This method demonstrates the following characteristics of the execQuery method: * * - it supports XQuery. * - execQuery called from an XmlObject returns an array of XmlObject instances. * These are bound to copies of the received XML. * * @param empDoc The incoming XML. * @return true if the XPath expression returned results; * otherwise, false. */ public boolean collectZips(XmlObject empDoc) { // The query is designed to return results, so return // true if it does. boolean hasResults = false; // The expression: Get the elements and return them as children // of a new element. String queryExpression = "let $e := $this/xq:employees " + "return " + " " + "{for $z in $e/xq:employee/xq:address/xq:zip " + "return $z} " + ""; // Execute the query. Results will be copies of the XML queried against, // stored as members of an XmlObject array. XmlObject[] results = empDoc.execQuery(m_namespaceDeclaration + queryExpression); // Print the results. if (results.length > 0) { hasResults = true; System.out.println("The query results: \n"); System.out.println(results[0].toString() + "\n"); } return hasResults; } } xmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/samples/xquery/employees/0000755000175000017500000000000011127016603031440 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/samples/xquery/employees/impl/0000755000175000017500000000000011127016603032401 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/src/org/apache/xmlbeans/samples/xquery/XQueryXPathTest.java0000644000175000017500000000211210320272574033344 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.xquery; /** * A class with which to test the XQueryXPath sample. */ public class XQueryXPathTest { /** * Tests the XQueryXPath sample. */ public static void main(String[] args) throws org.apache.xmlbeans.XmlException, java.io.IOException { XQueryXPath sample = new XQueryXPath(); boolean queriesSuccessful = sample.executeQueries(args); assert queriesSuccessful; } } xmlbeans-2.5.0.orig/samples/XQueryXPath/xml/0000755000175000017500000000000011331341653020630 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XQueryXPath/xml/employees.xml0000644000175000017500000000427510320272572023364 0ustar drazzibdrazzib Fred Jones

900 Aurora Ave. Seattle WA 98115
2011 152nd Avenue NE Redmond WA 98052
(425)555-5665 (206)555-5555 (206)555-4321 Sally Smith
1430 Oak Place Salem OR 97125
765 Main St. Keizer OR 97303
(503)555-3856 (503)555-6951 (503)555-5152
Gladys Kravitz
1313 Mockingbird Lane Seattle WA 98115
2011 152nd Avenue NE Redmond WA 98052
(425)555-6897 (206)555-6594 (206)555-7894
xmlbeans-2.5.0.orig/samples/SchemaEnum/0000755000175000017500000000000011331341653017653 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SchemaEnum/schemas/0000755000175000017500000000000011331341653021276 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SchemaEnum/schemas/EasyPO.xsd0000644000175000017500000000362710320272575023171 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/SchemaEnum/schemas/PriceSummary.xsd0000644000175000017500000000553310320272575024447 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/SchemaEnum/build.xml0000644000175000017500000000747010320272576021510 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/SchemaEnum/README.txt0000644000175000017500000000206510320272576021360 0ustar drazzibdrazzibSample: SchemaEnum Author: Steven Traut (straut@bea.com) Last Updated: Aug. 11th, 2004 Versions: xmlbeans-1.0.3 xmlbeans-v2 ----------------------------------------------------------------------------- This sample illustrates how you can access XML values that are defined in schema as enumerations. When a schema containing enumerations is compiled, the generated Java types represent the schema enumerations with Java enumerations. You can access these through their constants and corresponding int values. When you run this sample, you'll see it print three blocks of information: - The XML it got from the PurchaseOrder.xml file. - The XML it generated by taking data from the PurchaseOrder.xml file and copying it into a new XML document created from another schema. - A few lines of data extracted from the newly generated XML file. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/SchemaEnum/src/0000755000175000017500000000000011127016617020444 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SchemaEnum/src/org/0000755000175000017500000000000011127016617021233 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SchemaEnum/src/org/apache/0000755000175000017500000000000011127016617022454 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SchemaEnum/src/org/apache/xmlbeans/0000755000175000017500000000000011127016616024264 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SchemaEnum/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016616025730 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/SchemaEnum/src/org/apache/xmlbeans/samples/enumeration/0000755000175000017500000000000011331341653030255 5ustar drazzibdrazzib././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootxmlbeans-2.5.0.orig/samples/SchemaEnum/src/org/apache/xmlbeans/samples/enumeration/SchemaEnumTest.javaxmlbeans-2.5.0.orig/samples/SchemaEnum/src/org/apache/xmlbeans/samples/enumeration/SchemaEnumTest.ja0000644000175000017500000000352110320272576033463 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.enumeration; import org.apache.xmlbeans.samples.enumeration.schemaenum.easypo.PurchaseOrderDocument; import org.apache.xmlbeans.samples.enumeration.schemaenum.pricesummary.PriceSummaryDocument; /** * A class to test the SchemaEnum sample. */ public class SchemaEnumTest { /** * Tests the SchemaEnum sample. * * @param args An array in which the first item is a path to an XML file * based on the schema in inventory.xsd. */ public static void main(String[] args) { SchemaEnum sample = new SchemaEnum(); PurchaseOrderDocument poDoc = sample.parseXml(args[0]); boolean exampleIsValid = sample.validateXml(poDoc); assert exampleIsValid; // Create a new document that summarizes the PO doc. PriceSummaryDocument summaryDoc = sample.summarizeItems(poDoc); boolean summaryIsValid = sample.validateXml(summaryDoc); assert summaryIsValid; // Create a summary of the items based on price. String sortedItems = sample.sortByThreshold(summaryDoc); boolean stringExists = (sortedItems != null); assert stringExists; } } xmlbeans-2.5.0.orig/samples/SchemaEnum/src/org/apache/xmlbeans/samples/enumeration/SchemaEnum.java0000644000175000017500000002747310320272576033166 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.enumeration; import org.apache.xmlbeans.XmlError; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlOptions; import org.apache.xmlbeans.samples.enumeration.schemaenum.easypo.LineItem; import org.apache.xmlbeans.samples.enumeration.schemaenum.easypo.PurchaseOrderDocument; import org.apache.xmlbeans.samples.enumeration.schemaenum.pricesummary.ItemType; import org.apache.xmlbeans.samples.enumeration.schemaenum.pricesummary.PriceSummaryDocument; import org.apache.xmlbeans.samples.enumeration.schemaenum.pricesummary.PriceType; import java.io.File; import java.io.IOException; import java.util.ArrayList; /** * This sample illustrates how you can access XML values that are * defined in schema as enumerations. When a schema containing * enumerations is compiled, the generated Java types represent the * schema enumerations with Java enumerations. You can access these through * their constants and corresponding int values. *

* The schemas used by this sample are defined in PriceSummary.xsd and * EasyPO.xsd. */ public class SchemaEnum { /** * Receives an PO XML instance and uses its data to create an XML * document based another schema, and which summarizes the items * in the PO by price. * * @param args An array containing one argument: the path to an XML instance * conforming to the schema in EasyPO.xsd. */ public static void main(String[] args) { // Create an instance of this class to work with. SchemaEnum thisSample = new SchemaEnum(); // Create an instance of a type based on the received XML's schema // and use it to print what the sample received. PurchaseOrderDocument poDoc = thisSample.parseXml(args[0]); System.out.println("Received XML: \n\n" + poDoc.toString()); // Print the summarized items in XML based on a different schema. PriceSummaryDocument summaryDoc = thisSample.summarizeItems(poDoc); System.out.println("Summarized items: \n\n" + summaryDoc.toString()); // Print a simple non-XML list of items by threshold. String sortedItems = thisSample.sortByThreshold(summaryDoc); System.out.println("Sorted items: \n" + sortedItems); // Validate the result. System.out.println("New XML is valid: " + thisSample.validateXml(summaryDoc)); } /** *

This method uses values in the incoming XML to construct * a new XML document of a different schema. PriceSummary.xsd, the schema * for the new document, defines XML enumerations for a price * threshold attribute. Items whose price is between $10 and $20 receive * a threshold value of "Between10And20Dollars"; items above 20 get a threshold * value of "Above20Dollars".

*

*

This method loops through the purchase order items, creating a summary * document that specifies their threshold value.

*

*

You can verify this method's work by comparing the resulting XML with * the XML in PriceSummary.xml. You can also use this method's return value * to test the sortByThreshold method.

*/ public PriceSummaryDocument summarizeItems(PurchaseOrderDocument poDoc) { PurchaseOrderDocument.PurchaseOrder po = poDoc.getPurchaseOrder(); // Create a new instance of the PriceSummary schema. This is the document // the code creates, extracting values from the purchase order. PriceSummaryDocument summaryDoc = PriceSummaryDocument.Factory.newInstance(); PriceSummaryDocument.PriceSummary summary = summaryDoc.addNewPriceSummary(); // Create elements to hold elements according to their // price threshold. PriceType priceZero = summary.addNewPrice(); PriceType priceTen = summary.addNewPrice(); PriceType priceTwenty = summary.addNewPrice(); // Set the threshold attribute value for the two new elements. priceZero.setThreshold(PriceType.Threshold.BELOW_10_DOLLARS); priceTen.setThreshold(PriceType.Threshold.BETWEEN_10_AND_20_DOLLARS); priceTwenty.setThreshold(PriceType.Threshold.ABOVE_20_DOLLARS); // Loop through the purchase order elements. If their // child element is between 10.00 and 20.00, add the // to the element whose threshold is 10.00. For those over 20.00, // add them to the element whose threshold is 20.00. // There don't happen to be any under 10.00, but handle this case anyway. LineItem[] items = po.getLineItemArray(); for (int i = 0; i < items.length; i++) { LineItem item = items[i]; if (item.getPrice() < 10.00) { ItemType newItem = priceZero.addNewItem(); newItem.setTitle(item.getDescription()); newItem.xsetQuantity(item.xgetQuantity()); newItem.setAmount(item.getPrice()); } else if (item.getPrice() >= 10.00 && item.getPrice() < 20.00) { ItemType newItem = priceTen.addNewItem(); newItem.setTitle(item.getDescription()); newItem.xsetQuantity(item.xgetQuantity()); newItem.setAmount(item.getPrice()); } else if (item.getPrice() >= 20.00) { ItemType newItem = priceTwenty.addNewItem(); newItem.setTitle(item.getDescription()); newItem.xsetQuantity(item.xgetQuantity()); newItem.setAmount(item.getPrice()); } } return summaryDoc; } /** *

This method loops through a price summary XML document to * create a string that lists the items grouped by threshold. * Unlike the summarizeItems method, which creates a new XML * document that contains an attribute whose value is enumerated, * this method retrieves values from an enumeration.

*

*

This method illustrates how you can use the int value corresponding * to enumerations to specify them in Java switch statements.

*/ public String sortByThreshold(PriceSummaryDocument summaryDoc) { // Extract the summary element from the incoming XML, then use it // to extract an array of the price elements. PriceSummaryDocument.PriceSummary summary = summaryDoc.getPriceSummary(); PriceType[] priceElements = summary.getPriceArray(); StringBuffer responseBuffer = new StringBuffer(); // Create string buffers to hold the sorted results of the values // retrieved. StringBuffer zeroBuffer = new StringBuffer("\nItems under 10 dollars: \n"); StringBuffer tenBuffer = new StringBuffer("\nItems between 10 and 20 dollars: \n"); StringBuffer twentyBuffer = new StringBuffer("\nItems more than 20 dollars: \n"); // Loop through the price elements, extracting the array of child // elements in each. for (int i = 0; i < priceElements.length; i++) { ItemType[] itemElements = priceElements[i].getItemArray(); // Loop through the elements, discovering which threshold // the item belongs to, then using the element's value // in in a sorted list. for (int j = 0; j < itemElements.length; j++) { ItemType item = itemElements[j]; // For each <item> element, find out the int value of its <price> // parent element's threshold attribute value. Append the item's // title to the appropriate string buffer. switch (priceElements[i].getThreshold().intValue()) { case PriceType.Threshold.INT_BELOW_10_DOLLARS: zeroBuffer.append(" " + item.getTitle() + "\n"); break; case PriceType.Threshold.INT_BETWEEN_10_AND_20_DOLLARS: tenBuffer.append(" " + item.getTitle() + "\n"); break; case PriceType.Threshold.INT_ABOVE_20_DOLLARS: twentyBuffer.append(" " + item.getTitle() + "\n"); break; default: System.out.println("Yo! Something unexpected happened!"); break; } } } responseBuffer.append(tenBuffer); responseBuffer.append(twentyBuffer); return responseBuffer.toString(); } /** * <p>Validates the XML, printing error messages when the XML is invalid. Note * that this method will properly validate any instance of a compiled schema * type because all of these types extend XmlObject.</p> * <p/> * <p>Note that in actual practice, you'll probably want to use an assertion * when validating if you want to ensure that your code doesn't pass along * invalid XML. This sample prints the generated XML whether or not it's * valid so that you can see the result in both cases.</p> * * @param xml The XML to validate. * @return <code>true</code> if the XML is valid; otherwise, <code>false</code> */ public boolean validateXml(XmlObject xml) { boolean isXmlValid = false; // A collection instance to hold validation error messages. ArrayList validationMessages = new ArrayList(); // Validate the XML, collecting messages. isXmlValid = xml.validate(new XmlOptions().setErrorListener(validationMessages)); if (!isXmlValid) { System.out.println("Invalid XML: "); for (int i = 0; i < validationMessages.size(); i++) { XmlError error = (XmlError) validationMessages.get(i); System.out.println(error.getMessage()); System.out.println(error.getObjectLocation()); } } return isXmlValid; } /** * <p>Creates a File from the XML path provided in main arguments, then * parses the file's contents into a type generated from schema.</p> * <p/> * <p>Note that this work might have been done in main. Isolating it here * makes the code separately available from outside this class.</p> * * @param xmlFilePath A path to XML based on the schema in inventory.xsd. * @return An instance of a generated schema type that contains the parsed * XML. */ public PurchaseOrderDocument parseXml(String xmlFilePath) { File poFile = new File(xmlFilePath); PurchaseOrderDocument poDoc = null; try { poDoc = PurchaseOrderDocument.Factory.parse(poFile); } catch (XmlException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return poDoc; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xmlbeans-2.5.0.orig/samples/SchemaEnum/xml/���������������������������������������������������������0000755�0001750�0001750�00000000000�11331341653�020453� 5����������������������������������������������������������������������������������������������������ustar �drazzib�������������������������drazzib����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xmlbeans-2.5.0.orig/samples/SchemaEnum/xml/PurchaseOrder.xml����������������������������������������0000644�0001750�0001750�00000003105�10320272575�023745� 0����������������������������������������������������������������������������������������������������ustar �drazzib�������������������������drazzib����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Copyright 2004 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <purchase-order xmlns="http://xmlbeans.apache.org/samples/enumeration/schemaenum/easypo"> <customer> <name>Gladys Kravitz</name> <address>Anytown, PA</address> </customer> <date>2001-12-17T09:30:47-05:00</date> <line-item> <description>Burnham's Celestial Handbook, Vol 1</description> <per-unit-ounces>5</per-unit-ounces> <price>21.79</price> <quantity>2</quantity> </line-item> <line-item> <description>Burnham's Celestial Handbook, Vol 2</description> <per-unit-ounces>5</per-unit-ounces> <price>19.89</price> <quantity>2</quantity> </line-item> <line-item> <description>Burnham's Celestial Handbook, Vol 3</description> <per-unit-ounces>5</per-unit-ounces> <price>19.89</price> <quantity>1</quantity> </line-item> <shipper> <name>UPS</name> <per-ounce-rate>0.74</per-ounce-rate> </shipper> </purchase-order> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xmlbeans-2.5.0.orig/samples/SchemaEnum/xml/PriceSummary.xml�����������������������������������������0000644�0001750�0001750�00000002460�10320272575�023622� 0����������������������������������������������������������������������������������������������������ustar �drazzib�������������������������drazzib����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Copyright 2004 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <price-summary xmlns="http://xmlbeans.apache.org/samples/enumeration/schemaenum/pricesummary"> <price threshold="Above20Dollars"> <item> <title>Burnham's Celestial Handbook, Vol 1 21.79 1
Burnham's Celestial Handbook, Vol 2 19.89 2 Burnham's Celestial Handbook, Vol 3 19.89 1 xmlbeans-2.5.0.orig/samples/MixedContent/0000755000175000017500000000000011331341653020227 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/schemas/0000755000175000017500000000000011331341653021652 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/schemas/inventory.xsd0000644000175000017500000000345610320272571024436 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/MixedContent/build.xml0000644000175000017500000000750610320272572022060 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/MixedContent/README.txt0000644000175000017500000000263410320272572021732 0ustar drazzibdrazzibSample: MixedContent Author: Steven Traut (straut@bea.com) Last Updated: Sept. 6, 2004 Versions: xmlbeans-1.0.3 xmlbeans-v2 ----------------------------------------------------------------------------- This sample illustrates how you can work with mixed content XML by combining strong types generated from schema with an XmlCursor instance. The XmlCursor interface is provided with XMLBeans for just this kind of use. With strong types you can only get or set the full value of an element; by using a cursor you can "dive into" the contents of an element, manipulating child elements that are embedded in the content and surrounded by other text. The sample's XML is a pseudo-inventory of nonsensical items, each with a unique ID and a description. Where the name of one item is mentioned in the description of another, the sample code wraps the name with a element whose id attribute is the ID of the named item. When you run this sample, you'll see it print potentially three blocks of information: - The XML it got from the inventoryitems.xml file. - The XML it generated by associating cross-mentioned items. - The results from validating the resulting XML, if the XML is invalid. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the schemas and sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/MixedContent/src/0000755000175000017500000000000011127016624021016 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/src/org/0000755000175000017500000000000011127016624021605 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/src/org/apache/0000755000175000017500000000000011127016624023026 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/src/org/apache/xmlbeans/0000755000175000017500000000000011127016624024637 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011127016624026303 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/src/org/apache/xmlbeans/samples/cursor/0000755000175000017500000000000011331341653027620 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/src/org/apache/xmlbeans/samples/cursor/MixedContent.java0000644000175000017500000002632510320272572033074 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * Unless required by applicable law or agreed to in writing, software * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.cursor; import org.apache.xmlbeans.*; import org.apache.xmlbeans.samples.cursor.mixedcontent.DescriptionType; import org.apache.xmlbeans.samples.cursor.mixedcontent.InventoryDocument; import org.apache.xmlbeans.samples.cursor.mixedcontent.ItemType; import java.io.File; import java.io.IOException; import java.util.ArrayList; /** *

This sample illustrates how you can use an XML cursor * to manipulate the content of an element. Even though * working with strongly-typed XML (in which you are accessing * the XML through an API generated from schema) provides easy * access for getting and setting the entire value of an * element or attribute, it does not easily provide finer * grained access to an element's content. This sample * shows how you can use an XML cursor to "dive into" an * element's content, manipulating it on a character-by- * character level.

*

*

The code in this sample is designed to look at the * description of each item in an inventory list, creating * a link wherever the description contains a reference * to another item in the inventory list. This alters the * <description> element so that it contains a mix of text and * link elements. Such an element is said to have "mixed * content."

*

* This sample uses the schema defined in inventory.xsd. */ public class MixedContent { /** * Receives an inventory XML instance and rewrites it so that items listed * in the inventory point to one another via <link> elements. * * @param args An array containing one argument: the path to an XML instance * conforming to the schema in inventory.xsd. */ public static void main(String[] args) { // Create an instance of this sample to work with. MixedContent thisSample = new MixedContent(); // Create an schema type instance from the XML indicated by the path. InventoryDocument inventoryDoc = thisSample.parseXml(args[0]); // Print what was received. System.out.println("Received XML: \n\n" + inventoryDoc.toString()); // Edit the XML, adding elements to associate related items. InventoryDocument linkedResultDoc = thisSample.linkItems(inventoryDoc); // Print the updated XML. System.out.println("XML with linked items: \n\n" + linkedResultDoc.toString()); // Validate the result. System.out.println("New XML is valid: " + thisSample.validateXml(linkedResultDoc)); } /** *

Creates "links" between items in an inventory list by inserting * a <link> element for each linked item. An XmlCursor * instance passes through each <description> element, looking * for text matching the name of an item.

* * @param inventoryDoc An XML document conforming to the schema in * inventory.xsd. */ public InventoryDocument linkItems(InventoryDocument inventoryDoc) { // Retrieve the <inventory> element and get an array of // the <item> elements it contains. InventoryDocument.Inventory inventory = inventoryDoc.getInventory(); ItemType[] items = inventory.getItemArray(); // Loop through the <item> elements, examining the // description for each to see if another inventory item // is mentioned. for (int i = 0; i < items.length; i++) { // Get details about the current item, including // its length. This will be used to measure text // while exploring the description. String itemName = items[i].getName(); String itemId = new Integer(items[i].getId()).toString(); int itemCharCount = itemName.length(); // Loop through the item descriptions, looking at each // for the name of the current item. for (int j = 0; j < items.length; j++) { DescriptionType description = items[j].getDescription(); // Insert an XmlCursor instance and set it at // the beginning of the <<description> element's text, // just after the start tag. XmlCursor cursor = description.newCursor(); cursor.toLastAttribute(); cursor.toNextToken(); // Get a String containing the characters to the // immediate right of the cursor, up to the next // token (in this case, the next element after // the description element). Get the number of // characters to the right of the cursor; this will // be used to mark the distance the cursor should move // before trying another item's description. Also, // create a charCount variable to mark the cursor's // current position. String cursorChars = cursor.getChars(); int descCharCount = cursorChars.length(); int charCount = 0; // As long at the cursor hasn't reached the end of the // description text, check to see if the text to the // cursor's immediate right matches the item name sought. // If it does match, remove the text and create a link // element to replace it. while (charCount < descCharCount) { // A char array to hold the characters currently being // checked. char[] chars = new char[itemCharCount]; // Pass the char array with the getChars method. This // method will find the chars from the cursor's // immediate right to the char at itemCharCount (the // length of the item name currently sought). The // method's second argument indicates where in the char // array the found text should begin -- in this case, at the // beginning. int charsReturned = cursor.getChars(chars, 0, itemCharCount); // If the characters in chars match the item name, then // make a link from the text. if (new String(chars).equals(itemName)) { // Remove the found item name. cursor.removeChars(itemCharCount); // Begin a new link element whose namespace is the // same as the rest of the inventory document. The // beginElement method creates a new element with the // name specified around the current cursor. cursor.beginElement("link", "http://xmlbeans.apache.org/samples/cursor/mixedcontent"); // Insert an id attribute and make its value the id of // the item sought. cursor.insertAttributeWithValue("id", itemId); // Insert the item name as the element's value. cursor.insertChars(itemName); } // Move on to the next character in the description. cursor.toNextChar(1); // Increment the counter tracking the cursor's position. charCount++; } // Be sure to dispose of a cursor that's no longer needed. // This allows it to be garbage collected. cursor.dispose(); } } // Return the edited document. return inventoryDoc; } /** *

Validates the XML, printing error messages when the XML is invalid. Note * that this method will properly validate any instance of a compiled schema * type because all of these types extend XmlObject.

* *

Note that in actual practice, you'll probably want to use an assertion * when validating if you want to ensure that your code doesn't pass along * invalid XML. This sample prints the generated XML whether or not it's * valid so that you can see the result in both cases.

* * @param xml The XML to validate. * @return true if the XML is valid; otherwise, false */ public boolean validateXml(XmlObject xml) { boolean isXmlValid = false; // A collection instance to hold validation error messages. ArrayList validationMessages = new ArrayList(); // Validate the XML, collecting messages. isXmlValid = xml.validate( new XmlOptions().setErrorListener(validationMessages)); // If the XML isn't valid, print the messages. if (!isXmlValid) { System.out.println("Invalid XML: "); for (int i = 0; i < validationMessages.size(); i++) { XmlError error = (XmlError) validationMessages.get(i); System.out.println(error.getMessage()); System.out.println(error.getObjectLocation()); } } return isXmlValid; } /** *

Creates a File from the XML path provided in main arguments, then * parses the file's contents into a type generated from schema.

* *

Note that this work might have been done in main. Isolating it here * makes the code separately available from outside this class.

* * @param xmlFilePath A path to XML based on the schema in inventory.xsd. * @return An instance of a generated schema type that contains the parsed * XML. */ public InventoryDocument parseXml(String xmlFilePath) { // Get the XML instance into a file using the path provided. File inventoryFile = new File(xmlFilePath); // Create an instance of a type generated from schema to hold the XML. InventoryDocument inventoryDoc = null; try { // Parse the instance into the type generated from the schema. inventoryDoc = InventoryDocument.Factory.parse(inventoryFile); } catch (XmlException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return inventoryDoc; } } ././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootxmlbeans-2.5.0.orig/samples/MixedContent/src/org/apache/xmlbeans/samples/cursor/MixedContentTest.javaxmlbeans-2.5.0.orig/samples/MixedContent/src/org/apache/xmlbeans/samples/cursor/MixedContentTest.jav0000644000175000017500000000341110320272572033562 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.cursor; import org.apache.xmlbeans.samples.cursor.mixedcontent.InventoryDocument; /** * A class with which to test the MixedContent sample. */ public class MixedContentTest { /** * Tests the MixedContent sample. * * @param args An array in which the first item is a path to an XML file * based on the schema in inventory.xsd. */ public static void main(String[] args) { // Create an instance of this sample to work with. MixedContent sample = new MixedContent(); // Create an schema type instance from the XML indicated by the path. InventoryDocument inventoryDoc = sample.parseXml(args[0]); // Validate the XML. boolean exampleIsValid = sample.validateXml(inventoryDoc); assert exampleIsValid; // Edit the XML, adding elements to associate related items. InventoryDocument linkedResultDoc = sample.linkItems(inventoryDoc); // Validate the XML. boolean newXmlIsValid = sample.validateXml(linkedResultDoc); assert newXmlIsValid; } } xmlbeans-2.5.0.orig/samples/MixedContent/xml/0000755000175000017500000000000011331341653021027 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/MixedContent/xml/inventoryitems.xml0000644000175000017500000000266610320272571024661 0ustar drazzibdrazzib locking flange harbinger Completely myopic gyrating mill-flange. 21.79 4594 protaic calliphange Asymmetrical flared-gill spongimass. Complements the locking flange harbinger with perfect precision. 19.95 2 gyrating mill-flange Polymorphic atrophical mylobium. Not compatible with any other device ever made. .99 1205987 xmlbeans-2.5.0.orig/samples/XmlSort/0000755000175000017500000000000011331341653017236 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlSort/build.xml0000644000175000017500000000575211142422645021071 0ustar drazzibdrazzib xmlbeans-2.5.0.orig/samples/XmlSort/README.txt0000644000175000017500000000464011142422645020741 0ustar drazzibdrazzibSample: XmlSort Category: cursor sample Author: Radu Preotiuc-Pietro Last Updated: Feb. 3, 2009 Versions: xmlbeans-v2 ----------------------------------------------------------------------------- This is another practical sample on how to use XmlCursor. It sorts all the children elements of a given parent in (reverse) alphabetical order. It uses insertion sort to minimize the number of swaps (and because it is stable) and XmlCursor.moveXml() to perform the swaps. The algorithm works by conceptually separating the list of children into a sorted list and an unsorted list. Each list is represented by an XmlCursor positioned at the head of the list. At the beginning, the sorted list contains the first child and the unsorted list contains the rest of the children (if any). Then, each of the elements in the unsorted list is inserted in the already-sorted list in its appropriate place using the moveXml() method (the text following each element is then moved along with the element). To build this sample, call 'ant build' and to run it against the provided sample XML file, call 'ant run'. To run the sample from the command line using 'java', provide as the first parameter the name of the XML file to process and as the second argument (optional), an XPath pointing to the element whose children are to be sorted (by default, the children of the root element are sorted). The XPath must evaluate to an element and one element only, otherwise an error will be reported. The console output will mirror the input file, with the children of the given element sorted in ascending alphabetical order. This sample can also be used as a library routine by calling its main static method: XmlSort.sort(XmlObject, Comparator). The XmlObject whose children are to be sorted is passed directly as a parameter and the Comparator defines the order in which the elements are to be sorted. The parameters to the compare() method are two XmlCursors pointing to the two elements to be compared. The inner class XmlSort.QNameComparator implements comparison based on the QName of the elements (ascending or descending) but custom comparison methods (based for instance on the value of some attribute etc) can also be passed in. To try out this sample: 1. Set XMLBEANS_HOME in your environment 2. Ant must be on your PATH 3. To compile the sample source, run "ant build" 4. To execute the sample, run "ant run" xmlbeans-2.5.0.orig/samples/XmlSort/src/0000755000175000017500000000000011142422645020026 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlSort/src/org/0000755000175000017500000000000011142422645020615 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlSort/src/org/apache/0000755000175000017500000000000011142422645022036 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlSort/src/org/apache/xmlbeans/0000755000175000017500000000000011142422645023647 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlSort/src/org/apache/xmlbeans/samples/0000755000175000017500000000000011142422645025313 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlSort/src/org/apache/xmlbeans/samples/cursor/0000755000175000017500000000000011331341653026627 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlSort/src/org/apache/xmlbeans/samples/cursor/XmlSort.java0000644000175000017500000002300111142422645031077 0ustar drazzibdrazzib/* Copyright 2009 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans.samples.cursor; import java.io.File; import java.io.IOException; import java.util.Comparator; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; import javax.xml.namespace.QName; /** */ public final class XmlSort { /** * Receives an XML element instance and sorts the children of this * element in lexicographical (by default) order. * * @param args An array in which the first item is a * path to the XML instance file and the second item (optional) is * an XPath inside the document identifying the element to be sorted */ public static void main(String[] args) { if (args.length < 1 || args.length > 2) { System.out.println(" java XmlSort []"); return; } File f = new File(args[0]); try { XmlObject docInstance = XmlObject.Factory.parse(f); XmlObject element = null; if (args.length > 1) { String xpath = args[1]; XmlObject[] result = docInstance.selectPath(xpath); if (result.length == 0) { System.out.println("ERROR: XPath \"" + xpath + "\" did not return any results"); } else if (result.length > 1) { System.out.println("ERROR: XPath \"" + xpath + "\" returned more than one " + "node (" + result.length + ")"); } else element = result[0]; } else { // Navigate to the root element XmlCursor c = docInstance.newCursor(); c.toFirstChild(); element = c.getObject(); c.dispose(); } if (element != null) sort(element, new QNameComparator(QNameComparator.ASCENDING)); System.out.println(docInstance.xmlText()); } catch (IOException ioe) { System.out.println("ERROR: Could not open file: \"" + args[0] + "\": " + ioe.getMessage()); } catch (XmlException xe) { System.out.println("ERROR: Could not parse file: \"" + args[0] + "\": " + xe.getMessage()); } } /** * Sorts the children of element according to the order indicated by the * comparator. * @param element the element whose content is to be sorted. Only element children are sorted, * attributes are not touched. When elements are reordered, all the text, comments and PIs * follow the element that they come immediately after. * @param comp a comparator that is to be used when comparing the QNames of two * elements. See {@link org.apache.xmlbeans.samples.cursor.XmlSort.QNameComparator} for a simple * implementation that compares two elements based on the value of their QName, but more * complicated implementations are possible, for instance, ones that compare two elements based * on the value of a specifc attribute etc. * @throws IllegalArgumentException if the input XmlObject does not represent * an element */ public static void sort(XmlObject element, Comparator comp) { XmlCursor headCursor = element.newCursor(); if (!headCursor.isStart()) throw new IllegalStateException("The element parameter must point to a STARTDOC"); // We use insertion sort to minimize the number of swaps, because each swap means // moving a part of the document /* headCursor points to the beginning of the list of the already sorted items and listCursor points to the beginning of the list of unsorted items At the beginning, headCursor points to the first element and listCursor points to the second element. The algorithm ends when listCursor cannot be moved to the "next" element in the unsorted list, i.e. the unsorted list becomes empty */ boolean moved = headCursor.toFirstChild(); if (!moved) { // Cursor was not moved, which means that the given element has no children and // therefore there is nothing to sort return; } XmlCursor listCursor = headCursor.newCursor(); boolean moreElements = listCursor.toNextSibling(); while (moreElements) { moved = false; // While we can move the head of the unsorted list, it means that there are still // items (elements) that need to be sorted while (headCursor.comparePosition(listCursor) < 0) { if (comp.compare(headCursor, listCursor) > 0) { // We have found the position in the sorted list, insert the element and the // text following the element in the current position /* * Uncomment this code to cause the text before the element to move along * with the element, rather than the text after the element. Notice that this * is more difficult to do, because the cursor's "type" refers to the position * to the right of the cursor, so to get the type of the token to the left, the * cursor needs to be first moved to the left (previous token) * headCursor.toPrevToken(); while (headCursor.isComment() || headCursor.isProcinst() || headCursor.isText()) headCursor.toPrevToken(); headCursor.toNextToken(); listCursor.toPrevToken(); while (listCursor.isComment() || listCursor.isProcinst() || listCursor.isText()) listCursor.toPrevToken(); listCursor.toNextToken(); while (!listCursor.isStart()) listCursor.moveXml(headCursor); listCursor.moveXml(headCursor); */ // Move the element listCursor.moveXml(headCursor); // Move the text following the element while (!listCursor.isStart() && !listCursor.isEnd()) listCursor.moveXml(headCursor); moreElements = listCursor.isStart(); moved = true; break; } headCursor.toNextSibling(); } if (!moved) { // Because during the move of a fragment of XML, the listCursor is also moved, in // case we didn't need to move XML (the new element to be inserted happened to // be the last one in order), we need to move this cursor moreElements = listCursor.toNextSibling(); } // Reposition the head of the sorted list headCursor.toParent(); headCursor.toFirstChild(); } } /** * Implements a java.util.Comparator for comparing QNamevalues. * The namespace URIs are compared first and if they are equal, the local parts are compared. *

* The constructor accepts an argument indicating whether the comparison order is the same as * the lexicographic order of the strings or the reverse. */ public static final class QNameComparator implements Comparator { public static final int ASCENDING = 1; public static final int DESCENDING = 2; private int order; public QNameComparator(int order) { this.order = order; if (order != ASCENDING && order != DESCENDING) throw new IllegalArgumentException("Please specify one of ASCENDING or DESCENDING "+ "comparison orders"); } public int compare(Object o, Object o1) { XmlCursor cursor1 = (XmlCursor) o; XmlCursor cursor2 = (XmlCursor) o1; QName qname1 = cursor1.getName(); QName qname2 = cursor2.getName(); int qnameComparisonRes = qname1.getNamespaceURI().compareTo(qname2.getNamespaceURI()); if (qnameComparisonRes == 0) return order == ASCENDING ? qname1.getLocalPart().compareTo(qname2.getLocalPart()) : -qname1.getLocalPart().compareTo(qname2.getLocalPart()); else return order == ASCENDING ? qnameComparisonRes : -qnameComparisonRes; } } } xmlbeans-2.5.0.orig/samples/XmlSort/xml/0000755000175000017500000000000011331341653020036 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/samples/XmlSort/xml/unsorted.xml0000644000175000017500000000136111142422645022425 0ustar drazzibdrazzib bravo charlie1 alpha delta charlie2 xmlbeans-2.5.0.orig/bin/0000755000175000017500000000000011331341653014732 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/bin/xsd2inst0000754000175000017500000000172210622415400016431 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## #Schema to instance tool if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -classpath "$cp" org.apache.xmlbeans.impl.xsd2inst.SchemaInstanceGenerator "$@" xmlbeans-2.5.0.orig/bin/scopy.cmd0000644000175000017500000000176010622415400016552 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Schema compiler @rem @rem Builds XBean types from xsd files. @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar;%XMLBEANS_LIB%\xmlbeans-qname.jar;%XMLBEANS_LIB%\jsr173_1.0_api.jar java -classpath "%cp%" org.apache.xmlbeans.impl.tool.SchemaCopy %* :done xmlbeans-2.5.0.orig/bin/svalidate.cmd0000644000175000017500000000212710622415400017367 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Streaming Instance Validator @rem @rem Validates an instance against a schema. @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar set cp=%cp%;%XMLBEANS_LIB%\xmlbeans-qname.jar set cp=%cp%;%XMLBEANS_LIB%\jsr173_1.0_api.jar set cp=%cp%;%XMLBEANS_LIB%\jsr173_1.0_ri.jar java -classpath "%cp%" org.apache.xmlbeans.impl.tool.StreamInstanceValidator %* :done xmlbeans-2.5.0.orig/bin/sfactor0000754000175000017500000000210310622415400016306 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## ## Schema Factoring tool ## ## Factors redundant definitions out of a set of schemas and ## uses imports instead. if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar:$XMLBEANS_LIB/resolver.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -Xmx256m -classpath "$cp" org.apache.xmlbeans.impl.tool.FactorImports "$@" xmlbeans-2.5.0.orig/bin/sdownload.cmd0000644000175000017500000000206710622415377017425 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Schema downloader @rem @rem Tool to download schemas. @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar set cp=%cp%;%XMLBEANS_LIB%\xmlbeans-qname.jar set cp=%cp%;%XMLBEANS_LIB%\jsr173_1.0_api.jar set cp=%cp%;%XMLBEANS_LIB%\resolver.jar java -classpath "%cp%" org.apache.xmlbeans.impl.tool.SchemaResourceManager %* :done xmlbeans-2.5.0.orig/bin/xsd2inst.cmd0000644000175000017500000000177210622415377017213 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Schema to instance tool @rem @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar set cp=%cp%;%XMLBEANS_LIB%\xmlbeans-qname.jar set cp=%cp%;%XMLBEANS_LIB%\jsr173_1.0_api.jar java -classpath "%cp%" org.apache.xmlbeans.impl.xsd2inst.SchemaInstanceGenerator %* :done xmlbeans-2.5.0.orig/bin/dumpxsb0000754000175000017500000000200610622415377016346 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## #XSB file dumper #Prints the contents of an xsb file in human-readmble form echo `dirname $0` if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -classpath "$cp" org.apache.xmlbeans.impl.tool.XsbDumper "$@" xmlbeans-2.5.0.orig/bin/validate.cmd0000644000175000017500000000203110622415377017213 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Instance Validator @rem @rem Validates an instance against a schema. @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar set cp=%cp%;%XMLBEANS_LIB%\xmlbeans-qname.jar set cp=%cp%;%XMLBEANS_LIB%\jsr173_1.0_api.jar java -classpath "%cp%" org.apache.xmlbeans.impl.tool.InstanceValidator %* :done xmlbeans-2.5.0.orig/bin/_setlib.cmd0000644000175000017500000000221310426705460017042 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Common script to set the XMLBEANS_LIB variable @rem to the directory containing xbean.jar @echo off if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..) set XMLBEANS_LIB= if exist "%XMLBEANS_HOME%\build\lib\xbean.jar" set XMLBEANS_LIB=%XMLBEANS_HOME%\build\lib if exist "%XMLBEANS_HOME%\lib\xbean.jar" set XMLBEANS_LIB=%XMLBEANS_HOME%\lib if "%XMLBEANS_LIB%" EQU "" echo "ERROR: Could not find xbean.jar, try setting XMLBEANS_LIB to the directory containing xbean.jar" xmlbeans-2.5.0.orig/bin/svalidate0000754000175000017500000000204110622415400016622 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## # # Streaming Instance Validator # # Validates an instance against a schema. if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar:$XMLBEANS_LIB/jsr173_1.0_ri.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -classpath "$cp" org.apache.xmlbeans.impl.tool.StreamInstanceValidator "$@" xmlbeans-2.5.0.orig/bin/sfactor.cmd0000644000175000017500000000210410622415400017047 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Schema Factoring tool @rem @rem Factores redundant definitions out of a set of schemas and uses imports instead. @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar;%XMLBEANS_LIB%\xmlbeans-qname.jar;%XMLBEANS_LIB%\jsr173_1.0_api.jar;%XMLBEANS_LIB%\resolver.jar; java -classpath "%cp%" org.apache.xmlbeans.impl.tool.FactorImports %* :done xmlbeans-2.5.0.orig/bin/xsdtree0000754000175000017500000000173410622415400016334 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## # Invokes type hierarchy printer if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -Xmx256m -classpath "$cp" org.apache.xmlbeans.impl.tool.TypeHierarchyPrinter "$@" xmlbeans-2.5.0.orig/bin/sdownload0000754000175000017500000000174510622415377016667 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## #Schema downloader #Tool to download Schema files if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -classpath "$cp" org.apache.xmlbeans.impl.tool.SchemaResourceManager "$@" xmlbeans-2.5.0.orig/bin/xpretty.cmd0000644000175000017500000000170210622415377017145 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @echo off @rem Invokes pretty printer setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar;%XMLBEANS_LIB%\xmlbeans-qname.jar;%XMLBEANS_LIB%\jsr173_1.0_api.jar java -classpath "%cp%" org.apache.xmlbeans.impl.tool.PrettyPrinter %* xmlbeans-2.5.0.orig/bin/xpretty0000754000175000017500000000170310622415377016406 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## #Invokes pretty printer if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -classpath "$cp" org.apache.xmlbeans.impl.tool.PrettyPrinter "$@" xmlbeans-2.5.0.orig/bin/inst2xsd.cmd0000644000175000017500000000206710622415377017211 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Instance to Schema tool @rem @rem Builds xsd files from xml instance files. @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar;%XMLBEANS_LIB%\xmlbeans-qname.jar set cp=%cp%;%XMLBEANS_LIB%\jsr173_1.0_api.jar set cp=%cp%;%XMLBEANS_LIB%\resolver.jar java -classpath "%cp%" org.apache.xmlbeans.impl.inst2xsd.Inst2Xsd %* :done xmlbeans-2.5.0.orig/bin/dumpxsb.cmd0000644000175000017500000000200410622415377017104 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem XSB file dumper @rem @rem Prints the contents of an xsb file in human-readable form @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar;%XMLBEANS_LIB%\xmlbeans-qname.jar;%XMLBEANS_LIB%\jsr173_1.0_api.jar java -classpath "%cp%" org.apache.xmlbeans.impl.tool.XsbDumper %* :done xmlbeans-2.5.0.orig/bin/scomp0000754000175000017500000000203610622415377016010 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## #Schema compiler #Builds XBean types from xsd files. if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar:$JAVA_HOME/lib/tools.jar:$XMLBEANS_LIB/resolver.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -Xmx256m -classpath "$cp" org.apache.xmlbeans.impl.tool.SchemaCompiler "$@" xmlbeans-2.5.0.orig/bin/validate0000754000175000017500000000176610622415377016471 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## # # Instance Validator # # Validates an instance against a schema. if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac exec java -classpath "$cp" org.apache.xmlbeans.impl.tool.InstanceValidator "$@" xmlbeans-2.5.0.orig/bin/inst2xsd0000754000175000017500000000175610622415400016440 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## #Instance to Schema tool #Builds xsd files from xml instance files. if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -classpath "$cp" org.apache.xmlbeans.impl.inst2xsd.Inst2Xsd "$@" xmlbeans-2.5.0.orig/bin/scomp.cmd0000644000175000017500000000213610622415377016551 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @rem Schema compiler @rem @rem Builds XBean types from xsd files. @echo off setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar set cp=%cp%;%XMLBEANS_LIB%\xmlbeans-qname.jar set cp=%cp%;%XMLBEANS_LIB%\jsr173_1.0_api.jar set cp=%cp%;%JAVA_HOME%\lib\tools.jar set cp=%cp%;%XMLBEANS_LIB%\resolver.jar java -classpath "%cp%" org.apache.xmlbeans.impl.tool.SchemaCompiler %* :done xmlbeans-2.5.0.orig/bin/xstc.cmd0000644000175000017500000000177010622415377016414 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @echo off @rem Invokes XSTC setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar set cp=%cp%;%XMLBEANS_LIB%\xmlbeans-qname.jar set cp=%cp%;%XMLBEANS_LIB%\jsr173_1.0_api.jar set cp=%cp%;%XMLBEANS_LIB%\resolver.jar java -classpath "%cp%" org.apache.xmlbeans.impl.tool.XSTCTester %* xmlbeans-2.5.0.orig/bin/xstc0000754000175000017500000000172210622415377015651 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## # Invokes XSTC if [ -z "$XMLBEANS_LIB" ]; then . `dirname $0`/_setlib; fi cp=$XMLBEANS_LIB/xbean.jar:$XMLBEANS_LIB/xmlbeans-qname.jar:$XMLBEANS_LIB/jsr173_1.0_api.jar:$XMLBEANS_LIB/resolver.jar case "`uname`" in CYGWIN*) cp=`cygpath -w -p $cp` ;; esac java -classpath "$cp" org.apache.xmlbeans.impl.tool.XSTCTester "$@" xmlbeans-2.5.0.orig/bin/_setlib0000754000175000017500000000202210426705460016300 0ustar drazzibdrazzib#!/bin/sh ## ## Copyright 2004 The Apache Software Foundation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## if [ -z "$XMLBEANS_HOME" ]; then XMLBEANS_HOME=`dirname $0`/.. fi XMLBEANS_LIB= if [ -f "$XMLBEANS_HOME"/build/lib/xbean.jar ]; then XMLBEANS_LIB=$XMLBEANS_HOME/build/lib fi if [ -f "$XMLBEANS_HOME"/lib/xbean.jar ]; then XMLBEANS_LIB=$XMLBEANS_HOME/lib fi if [ -z "$XMLBEANS_LIB" ]; then echo "ERROR: Could not find xbean.jar, try set XMLBEANS_LIB to the directory containing xbean.jar" fi xmlbeans-2.5.0.orig/bin/xsdtree.cmd0000644000175000017500000000172210622415377017106 0ustar drazzibdrazzib@REM @REM Copyright 2004 The Apache Software Foundation @REM @REM Licensed under the Apache License, Version 2.0 (the "License"); @REM you may not use this file except in compliance with the License. @REM You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @REM @echo off @rem Invokes type hierarchy printer setlocal if "%XMLBEANS_LIB%" EQU "" call "%~dp0_setlib" set cp= set cp=%cp%;%XMLBEANS_LIB%\xbean.jar;%XMLBEANS_LIB%\xmlbeans-qname.jar;%XMLBEANS_LIB%\jsr173_1.0_api.jar; java -classpath "%cp%" org.apache.xmlbeans.impl.tool.TypeHierarchyPrinter %* xmlbeans-2.5.0.orig/build.xml0000644000175000017500000015047211303330663016012 0ustar drazzibdrazzib

xmlbeans-2.5.0.orig/LICENSE.txt0000644000175000017500000002645010320272612016007 0ustar drazzibdrazzib Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. xmlbeans-2.5.0.orig/README.txt0000644000175000017500000000470511303322675015670 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Welcome to XMLBeans! Layout of the tree: - README.txt this file - build.xml ant build file for building XmlBeans code and utilities - testbuild.xml ant build file for building and running tests - STATUS essential info about the project - xbeanenv.cmd sets the XMLBEANS_HOME environment variable on Windows - xbeanenv.sh sets the XMLBEANS_HOME environment variable on Unix - bin contains useful command-line scripts for Win and Unix - docs contains several documentation files - external contains external jars upon which XmlBeans depends - samples contains ... samples - src the source code for XmlBeans, organized by area - test contains test cases and infrastructure - xkit contains the README file for the binary distribution To quickly get started run: "ant" to build XmlBeans or "ant usage" to see the most useful build targets or "cd bin" and then " -help" for a description of what the tool does and what parameters it accepts For further information check out: http://xmlbeans.apache.org http://wiki.apache.org/xmlbeans ./samples//README.txt for running samples ./test/docs/* for running tests XmlBeans depends on the following external libraries: - jsr173_1.0_api.jar - jam-0.1.0-src.jar [http://annogen.codehaus.org/JAM] for the extension feature using plain .java files - tools.jar (O) from the JDK, dependency of jam-0.1.0-src - resolver.jar (O) [http://xml.apache.org/commons/components/resolver/] for apache-commons catalog files that are used in entity resolving - saxon9.0.0.4j (O) [http://sourceforge.net/projects/saxon/] for XPath/XQuery in XmlBeans (O) means that the library is optional For licensing information, see ./src/license/LICENSE.txt Updated: 11/25/09. xmlbeans-2.5.0.orig/NOTICE.txt0000644000175000017500000000267610323240141015705 0ustar drazzibdrazzib ========================================================================= == NOTICE file corresponding to section 4(d) of the Apache License, == == Version 2.0, in this case for the Apache XmlBeans distribution. == ========================================================================= This product includes software developed by The Apache Software Foundation (http://www.apache.org/). Portions of this software were originally based on the following: - software copyright (c) 2000-2003, BEA Systems, . Aside from contributions to the Apache XMLBeans project, this software also includes: - one or more source files from the Apache Xerces-J and Apache Axis products, Copyright (c) 1999-2003 Apache Software Foundation - W3C XML Schema documents Copyright 2001-2003 (c) World Wide Web Consortium (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University) - resolver.jar from Apache Xml Commons project, Copyright (c) 2001-2003 Apache Software Foundation - Piccolo XML Parser for Java from http://piccolo.sourceforge.net/, Copyright 2002 Yuval Oren under the terms of the Apache Software License 2.0 - JSR-173 Streaming API for XML from http://sourceforge.net/projects/xmlpullparser/, Copyright 2005 BEA under the terms of the Apache Software License 2.0 xmlbeans-2.5.0.orig/external/0000755000175000017500000000000011127016656016011 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/external/lib/0000755000175000017500000000000011331341653016552 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/external/lib/piccolo.LICENSE.txt0000644000175000017500000002613610320272515022031 0ustar drazzibdrazzib Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. xmlbeans-2.5.0.orig/external/lib/jam-0.1.0-src.jar0000644000175000017500000052351310320272515021244 0ustar drazzibdrazzibPKzA2 META-INF/PKPKzA2META-INF/MANIFEST.MFMLK-. K-*ϳR03r.JM,IMu +h)f&W+x%irrPKYGGPK?2 src/java.gn*K, qa7&D82D<y_0В45?R8gBCl=$^xx9FJx  J |~rLd$%T${=q&fXpAEZ`'E(2ϼh4~~֭֙y%y* ˂ 7ʦ%N$x,9WuGz2~ QiVZ.@M xIT4E3' e1,V|,10¬ s){5'ply2\%WCL.Mw酁ŗں̔GἕCC}(w8Π}___#QUdrȊgs} .d +%`KX$ -NswK~T8 qWU0 (*kZn/ "N^g2SW #^Z',.cL8Vn4!+p oJ2 ab6E]T1$SI Ww,@J4z_A(&)g QF1BQ2Dw/ S YG$9 |aY= ĺX$^7hB88]ug[h 3 xjm7?(XMH x$- MS {d-ZK>lxn#`xnYfyh\TKQܓA/4M2L?D, %W.h=iBm>>ۋҡZ[Bpa#8"l&) C=qsAhClia5 y/^+&i}6dp`|m0"?dIcJ9[tc'C{Dqgkk^xy8兑`t Om`W|0@dR`s̡C 0UКR&#hȀ b[ KsX.R(Z74 Qh4 ;M(*iy*FwKfEMeOg/dYDaqqIo3L5N\&^H9Jl!2x_B礌,[yC4cB!.e'H)Q:fޅdk9LvqS3C<о(y\&m+]M!Jhyh8̈́{ WOZDfHkCHIԴdƔ愳/:=ZyϢK458s*Ύ;aZq{`01K p* ,0|Wt@X_u Wke~{7A(v~ SS/_ ^XT1HR4+J{+BHJhS)U'b(6 Rې"eDY&L;q\m#|OPڃ_zf I5ҫYhJ1Uz" B2r,YTpx({AGU5̚cPMl0u)Xq r MV;[yn@aB(.fP_)e -3{%^  F5gqʀvAL6Zj_u7 '̿!;q4.]Z D^   ]Be0M@1+o {:}L@P|/O֚q vqRTm܁P Xnxgm>v mbmiuٮ.OrAi[f^)"pd4%ح۫L‘eTQYIP(0ϯ3ezѩEX|8C̫*? &J-1Um⩾0B 38~( `u(3ҋtSu ȾI1d̐&afobpWRP̖sڀх A}ٛnQs\ K" \H\b*`pXi4 $PRCе*v>U]XS43y v @-N? ~(-!O7w7}Kя砰,%0BtP,޷Om N$N\.DS*?*Qb^ZwbK bFHWV\7 o+tD/uX9]z$I1vݘək F2Cqe dX$BYtWզA?e+~j^B\h4R\N^YLt``]K$WNF/0!è$ 05$ŋ2lI@Zka,>%U]I̅DM7+*Akuf\m<НcZl:iGҡt){^lt1sN@2Z$BeG8 3$y.wRlZS?Nwt, YȻKxlB2 gĪ<*fOV)*5HpQ{Ϥ so+l(훉÷eR>Q=s=Gt`~o>C{ #\%N[bVڢM"v{D>#"V*뿜3׍P|H(W6uV]g 8z&e|!sI9Ko`VSpi"%m0,B52U:_Re”yb UrJϛfo׌4)1o0:UpT+Ky\=e)ǡΎ4λcr[XE<c+d: @mN*P'X AdVuktp=B-qƘ[ߛ?CЛ_3WvH&.hn}Xv :)޾>ڹJr9j\44mƫ1d1D]ցGBƖ*)ӮNf[q@ 8;q?:u>7FUn.b%'Zד<ڜPR:: [=PlRu0=Om)R]rL7J#Q$G2lMRiԝ0=~tD9vvzEPIӈ@`I 4UyP0Yuz\_՗ ]k‡&#ξNE΅i]" U$-rgYޡ+Q. =AJ2XQe2%rsDϪ*WRݨ/,Qg'AJskNp:mQ'⽫ꣳ֠}!~ٛook+(YBE<>mٵFsz; n>?[;T3/c,Qҽua}? 1 ~^E:}Qm8֨#dLώ;[Vn+QCY ;~g>@Tۅזk(+*A$')2u鼾>DhyQN0x8W+-.3lt b*8RgNK1q'^%z0/<݋')ڭ.<:u9,t5'Tf#`!~я8)dq+G GvWw;3 }ͩUPFO:7qMU/EސnT/鎛Z=n-p4Abr퀛0!}nxg@+nm٥~Ճ*azLwi7s5};+ܫ\{n ~ܯsbpuj8둛eR6n7v7[S1q)ZdB߳GS\uWr+n ͡;nSZ(6?,JIݮQCwhE+_ܿ@  .?rzr5%0Sc!Kyz@o Yk"laY_uV`*XVnedלڶxQ|Ƃ`K+{1 0CrPK$ZRPK?21src/org/codehaus/jam/mutable/MSourcePosition.javaTN@##PbӪ'P[HP8n쉳`nwgcY)$)y͛gG0fme$x| fK_RZXKU.HjG}W2C0>C םZM1:P:P5(M2t%>ehLWBeeCE}$Cpv-ڒ~K"su]Gi[e[dt1N/,VXkebΪKQ |F:语$){zaF-]6 {t $u8wvwt8%)L0ϓY2% =B'c,V{1x"Э0g0 @( v,3oJYIjbװŻ;;c@cLE*OA(bۚo6d ڮ}+)v4v캅UPN+46gYxZ7=Hb/i L}A9~ϩ/hЍi#i I~I T{-~v`))k$n᜗R|5gUqr\f3L*8?\tHB›tq.ܕ98Qr}MT]1G'#w t ]d`nø[ٲPKTMPK?2*src/org/codehaus/jam/mutable/MComment.javaeQO0+; B{֕ev"eG7&ٗjw9qY~O`ʢ$8?;ajDƟToV7*$Կ*9Zp3h<:c0 Wːe&hr`#+|HM%ZIeW*$BFIBis S8n6zmW}|' |T:7r|X3u%ZDaH{J Ltd庡w&iهQ(MSH|I:y *|rqO0]rZUt5q Jrܑnz'p&h>t % #Q ѥ)V A8J B s?Q(#>Ol|i;랶_p Wat5{۪ cK06-`fIXXU蠔*V5 ŭ" EDA.|\nnqs7UX`C9]"Ax9=!fU//YFDluoJV%c՘dl%![*ۉʹW*T[?GC&{N)y߱ʚL-HSV+*c G`=i# FbAf_c`u>~GPK"?"PK?2*src/org/codehaus/jam/mutable/MElement.javaTaOAn;cI)EL0j8 uw$pX$[v̛^.<)V3O0tKT)/\H)w;qM :Ip M_ШT P96Tgd(B,4VFAnc&@rn}1aX,\QMl]«9~T%`)Nu 00$wl<լhVO*qVt.F7(nnŭ}4:};GF7 /q4 /Z@"=R2&!25kb$ZɎEZaJ9BVl7 d)ӹUlV=QweaG̃bi Gcmͷ~F9y^]εll0[?GkXK6ン< gx&]اĽ;NTvb-?HSRV dNQr?mLE^Ë' P#vwx<쬋bpspı 1f,BĦ%QiϏZ%GsXcQKsc6QײS9<y_PK8LPK?2(src/org/codehaus/jam/mutable/MClass.javaXn7}7!p Y2>EAUQXv;eKnH%wxً,Y PF\PKœ*E,rnL!Rp){J58C/!R%iHa9K. yq&"7KuCO!F| zm|SE9]^uhx6PkP䊦?[+_f:c Xƌ.@hsmf -6 Fy0M;!/Wqpy9\Φpq Ëjt1sL>oi(TPv[z1"KL9h")Y[Tk[lM0c)97N6z}~.[ooшn$cLYrڷFQ*n0cZѤ2fAIo.QMvm1ɧokIc%ePQTcxeϐ_$((ɇbP|P Xx U'do'@p<fGUÙ=A+jYp&|g )j9G_Q{B]p]'XVf8D\F֚Ҩ]R9Vv!;*02LX6PI0gؚr" i[J LK)*Ew K".M 2Ɠ'zAmZqZyjz^il^+$+˥j0AtrXJX k}Η9-޸ϕw"ZЩD]j~qimrrʡBf*qAAW22.Rn:8s7%1vtbLpph @qqakWnIpiI*H锿L-$eeൟ;K1] N.~EKUŢ@R$tF3ti@ך>$u 7U$E;A?NLnWЫQ fsgE>o[5 ZRvyh./gDa琔=brc+2P.yI>w]]ٻlYeW;SJHdwrnr 7wW+cut+иYMo$|QhM>qŲu+ j~ ZMG~vPK`Rh|PK?2)src/org/codehaus/jam/mutable/MMember.javaeQO@ +;X}@ B{-+EFۉ!Mn$w;PMst+"R翝 fn*J. "|it{%Ne= w7cAK\pчi5 ԸmO"GI{xe>Zy{7:^-t ˛1X(պULހl[Feң., BNKk`w*U+ޭ߮Z8 s&ɩ?;O]0c.Nb³b /&Uh6\JQΞaISQU`3&ȓp6L=8 'X|btv߼wҞR9}me?yi`@->[hPya zN2( )mP'8% Zl g'gWaXuGqYX>E<]wKp# 8̑4kXl eJg6 UpQCoC$A.8Y&u4arqB`xv$(z!bU/YDolIJģ*2'XrͲLOL*ƿwv;ݎ$k$ 1)XAYqF=TU wӢ uho-3V(';b$~QJT!pC8L ./2Fl#}3-ʭfIL:o `E4t;PKͪPK?23src/org/codehaus/jam/mutable/MAnnotatedElement.javaRN0G?쩔MU qƛ4#gUB;qT\ly3;vSc 62U*MNs= c^k$9)V^8LX:ɖh0 ۰X8BKÊ3cx 昡QsR((bgȳ LFR&&1Hd V vLZ)rI,{%.3] kMeM4*Blo.$L* {5ɒ=u҉bm#D{x {xn:^8-)q{w&hV3VNq#.-B(PKPn)mPK?2-src/org/codehaus/jam/mutable/MAnnotation.javaTQo0~G?xhTjR-[ UC[Un;(wfk7,2>;8*Z G` Ov\2A+l6}9B$ %gInIN!]@eJq RY( 100=TXb@]T'YQzYI툅cHeyKwҁx 8ۑLXgkBKc2|-^c}m5Aܷ,-%Y-7Y TkFFv}\ito@U>nU0q(?_PKDUPK?2,src/org/codehaus/jam/mutable/MInvokable.javaWaoFnaT}sAhyDI ]+1ՑK)YRmǹwZ!(r{3;ޫӓW$9k+T QˢɲJUAXZtt_}gA.&r̞JYr#E dVL5/'Q$TW҂*U4wi!-TWmS"UoUkFU.ؘ]X2O KI\#ejKUrߴxWZ݊Uup\mQKS( R-H+ʀ0G&nh4垦^ ڤ;0ڢDu. -“re:od>lNH.igu vQ9]0nz dd7F|"f!񰹂mf'r#3]'\tzn0lU.{Y@Wβ]+cz-K`9JfG"WK꘹Jr-J{\!\d~/_) #&3}rgc\r5#JT6RJ=X-S ~ q-uHK좩2x||j:R@.AFG)QզNa5bp'(35ˏvULKð8y\mHt \4!;_~qB[r&@ C<ӑ[gynh7forc,{6Es~ggCAwkoEݡM`0 "?9Mg]ۼ}:7arID3ПMN^RߟD k;#1 ^#x]pzd*+} ENba;7nHb.a? 1uy,r!cnpF>1 ] v"ǘ \_BPM"7fSfn{O+ *6aԱ69LGQgA Ku⥉{3nI>{{=x{fgQ!,#k.;k3L6"צSCL8߶p }-=}!6*qrl͹@Aч!EsEr%/$4Th|Pl,v wmNKa*k\q+)xhls1ZIޱyK>6O+QWGy&9&_G KʅV:-]&PͼE@ USN⚜|e*Kfێ5s$~Tb@Uu%E"2&v!Lxz0̟re88J9]jKIT625ﹿRc#@%s""E> O`lUypvzATc*ĬEKpc!+=8^ݪ $F?Gp% |h³lLn@Ƒ(kUKJ5Ґ.ꔠU\lKyDleBF섹RVs<d+a;JU)ޮ{߶ZO8&*ED>M Ov#;,<Eاa}:Op!ݡ>K,磒/BUCb9BGlQ{JF/Sfk :b0V4Ҳ(㜔Tf ,q 9oaqwa{PK='PK?2)src/org/codehaus/jam/mutable/MMethod.javaTo0>iiɄD!\SomK sN1Dw޽{vz6^UKǧO`$;,)5{p_{ 2J=?|"$ 'pQ Ըc@,&ۂ2Pi X+^z9d8[,4] Tw!}MΦP$^M!|_saq VdmzA{Rj=lE sx9γ||fo.fy|y9β..ar1}Ͳ ˦@"[cBVEyj#P UHj"슼UB쐴 k{{MD–&$X'uQQ Ø!pNe tC|枟wذ-*V#g{~7Ȣ((n`2GGTO9ᰴ<>x皹xCl(>LepiY}l:1ΉC+ ouma#7 uC  !:'p8H-z0ÕU6v`[/]ȴ WMMSAsQɠ-h|T\JfK4~z"-ė-:Ew1FҸ8Q/W.!Hc~ Robzv\"=L6 t*TƎwSEPK%&PK?2,src/org/codehaus/jam/mutable/MParameter.java}RN@|XJlDj@uKCk{c_5&]'9nxScNXbu J=e 5ro2_伐880Jq65TmjO"bc1U)#QB8 hrwS: c!^;&twa6*ڟ3@G2*O\[ڏŊ$.mH'[Xc)ۥlWNu'PK+A.PK?2;src/org/codehaus/jam/provider/CompositeJamClassBuilder.javaTMo@Wr@ii qjZDA)!{b/]q ߙ7iҊXJ3o޼y!LM}keQ<=>~aRoYQ+,k\4z x -]^X9Oh'>`rk-hC8d`%dXH j%ZIeW*EK1K!8v,ڢ﯒>m#Q-bՇ}2وo%^j΁D2dJ`,"[+I\4 ґˆvD\eXFa0I!Ir&Q,ޜ_.b2_$/`z>,9 K毎YB.7}0Y|eCdezbLd=Bajn jt~؎i=6a]xuX|KѸ軨ښkI=h,= P*Pf Z5'}*\W%>|Z?猓:d׉[Qu9/`(Qҿ9wՕ+k.ԛ»"5Vnb[k^J`dW0JlNJX N΄ -QrC#& umId $bH+?2n<{kZBBMlxOͺC}5tFX$_l-_ܷ®w62gkK:fCަ ώ O7 E uA%{ϯ[AzNC~Z S5tlSN?q{Lsld7d:I)GVܗ~ 79MrqFX,v}CKC?]/%d"$%Id&JOǾsDaMd6*sM}&ޑ -FiX̐J(JWYDIZ+GyFggN=$LM|Yu(a/#6$ԚrBD"1ԱXSXk&e׹2*Y fJ\M Pb)-P'EB &zu2M ?KP'y.}'g.~|-碈Zkae 43&MBBte9rJӔh[dpĂ7yBZ/B+iL[N8df?VYNWa,S%ط9+E">p*,5.Q)s5gd t~<;^/Xې:<@u*B*rCm=Tڞ5~G42+(2Bc 2ũ0ɪ+N38"S8M`g~:Od/E4n|q{_tL,?0hüq"zE ϿHxl:\(PpKlK\nM?&skMW?i5M]-$1:|A2\tXj^yP$$SZ::5C=žIĻUj"w*n|ݱU݈"_^^yrvz77ܧA[ >}յ6e{ePvAs^W޿ѯ*˕Zmݷ*϶y[U Vh-vt'yva}z{f3hٚ&jEy<: ~΅Q mo@ gJQE6s8z ILD5Hr3>KM_ՙ7r83H%X:)oLԋAl@pVoQ|#"kg-riy|e;s`ړm} ]H58SP@;y)/y>֝S 쏵;Cshm[Lyq$h Nr{Z-bg1k^=\?F[8_v#8zW)vulĶޓEgPK>TX $PK?24src/org/codehaus/jam/provider/JamClassPopulator.javaeSO0^é6AO]- ZD/5pbvZiN){s|7FK'ǧ0_5|jhnUS脪=8?݋jKp u]dX.|  ;j Acav jU:'X :y`T+k4n8^2e,t'iz3b;ϵ$kЯF?jcƬ%AǜF8QCR!3"klYkSH|I:p^^OOgP|#(2H6Lިڛ FH/ִ5,LWȍy!7lS5Yqs>7=,%y<0pKMO l|rC|G Sv'.b}t`W V옱=Vr:î{PKNPK?22src/org/codehaus/jam/provider/JamClassBuilder.javaX]oF}pk,*)+SAѧ-.V "A؇9&&9Њs )#il]tș3s/xDDv/bi٪vivMuuAþtgNh籉Ӕ[Grm;556P5`4׹nr[QMioNJ@Y5MPءůx-02?گ~)1=\Tq_<]ώahM'댃kR-VWjO֑*ƽ`34| hB*lp#x¨:Zi>zp^. z|by~:[ӳt9~H_B_ë>ko0lMS^i5jd{YD&m]%c!Yn S^:k2<| w&UeҵnN+ |Ȯu8Orضxu-+@ LUpp@ AU_rFў[7ck&2R"|fc*@4ziL/Gp ^dNua>WY~IR;|^XcUuF†ce8m@|RT!DOT-=s ?Ip(g8>:sɤ 5]U|*k`1-I$)E=ZEpFE'RPnb33l4'99e`(GTmM( ןR2!M_u>i7\V#%mg,.N[kS5uGVϘ fK!/ 7 ~8Fi0ZCGtX?=b>u9-"|NHv:ҕ9l6.7Oäe_OoFtGnQ! …ʪhJzbJ!Qy;Iٲp>畺RhbY#$YCHXXUEKsy °idUŠXLg|~CT' uWd4Nαp휙X 1T13& Z'8]me#A k9P5 tbtc|q>j*I:=xɴ'0oJu%sحt[{DC:p ㎱S{>WUm|9xW".O8<7甮 ȳO's~{dz;ͬThnmqj}3B+F!X:PNBC8ACb֣ĥBfa[xFs8c1VS2ӎ20 } @DV.o\wքel):ufyQHaW&\LC1b6 mHt0GBW <.&BܽKp?9&{omJV}c'{NMTp,o#%{6~MP.,=|0|T*I6O2d;yõqyL'0iZHu!c}?o:FoѸo*TJu-KAc~'GAre@&7җNw^iKw `R두Zћ"@}oPKF{&PK?2/src/org/codehaus/jam/provider/ResourcePath.javaVmo6^ RPS:4`T5c#i[Naf!/y{{e|}Ur ~IЫDJjnB#\ +UyN djsa6tGgbu-+UBTjFR,R )a)mLEQPsԨtBЙMYC/H8Y\xqp|!7eƀƿkt"|B,AiFڳ/NM3i8q 7{cH{oOdfѨ7$cAj1$WCLOɅd *<dl1L˔8Y-2L=.Tp yM\HƼGoސ翱6}6уXDVuY@*mAFaRN0(tC%lN Uӫ009F՚ WIDmsڻ?}Q2maU*)LvCzJI ,o-~gq ]*} s`M~w2mUֺ;Z^)(Ye1(v\|uo _s{(_JGa1s;C'ZǕ@AYEzVKȤ(0EOg*jScdǓfɵORNS VhXo Uې%1G*!Ϻ ݑw6*}K{DGIk睒"c6r |/ g\>-:s1̤p- =#JhNVLẟ%&+ۀ8hmnwVGCDDw j8mͷJ!6UjV Mt44'Fl5a+jNrO\&0h&}`w瘨:KȾݙٽSVZ$Ã7H & Cel+,"B_λ!"3`ړ!|"m8 ح`oܢd 9JC # "#Q@(s ,BJtM9-F99GS h7ןZuUU9HYnKoz>G,#V +0gV+-(!)jvN-6b?-΍x7^j2[x>̯`:y o> >ov6b `KhKH,aFQ(brERbB%KE:naQ\ؘ~}y'XsGiēXڔ|D6&)f/;S";b6B; G#Ď;2VqW,yc~)}ڈ<Á4;͐ [Q10]<Ђe@npm҃1ؒcu2/*-;e97Thj@D,R u]u E,[>{= p[|QjjY# X@+}D ͦ1U͠CּyHz:~qN#2RԼk."?]H PKW#PK?24src/org/codehaus/jam/provider/JamServiceContext.javaXnH}hab4K 蘁,iIʞ`Ȗ &ؤb}Nu7%ZeNLUN]g,̯x?Z7[^ 6(حT%{9x Yƪrs߰?~JeMТ~!F"%qˌZ0Y2:Jޱ l_6RLejPM#2VAfhyp\mea*3IJ6+Dʙrpdfjݙ ­nQa.zG$OABj`'CӜBM?<gxlY spC!Lm!ʆw"* OjVFԒ@ :3?L:2@G2>xYaγ8#xT\ds+ĽF]fgA䪂]r^ v@՛9*Ysyl!1^US3{dE~<(B`jtW.*^7#`t |l(J^ۉ>'CjF>) QH[Ft4kZK㾃J .mkmS>Kϣ=L('j `TV!AV?Gl6 bv-pQpCx90Y&{;ObŽ6%0q7DBףeJYDrA " MTfm7ޓć܏mÚOt`o J_/o`6需88C<ØB{c #̳LYxmh2 #EХ%&^]?>z1[t`,\pL s$+`KU<_m'*pL{j+N-U}egN70a<7VRU Y(%%lU~::oZG!1| w> ̀{^ ܂P_>,*U7Ox~k;;$|(%eͭ0W2OS**:( ϑ 윽MnȒ>sFg#n,^alQbJw!(KXT-{\gOXk>M&ՅYwWc){A{a`QFBti-] Ye V+y wŧd&R hG@ӘpL> \%r`"JKdgcQ:[ 닩,DN{ih U滳nr6PFBzC"Fb(lQG69%.o.EeU@1]d@A}i.IR]2E)HӓlD=<(CJ<Ɔÿنf.ܫLSL3r/4m]ϤkiVh.(l_"I`< a~5v3&5@Q]Y4fyG[3+feYMl^4況sH]y>1 V K7 d|w'}q2 /#irؕ+xɭ0s8+C~rZ@9"&J&c.\;K=SC$MAq渙 hN}`Lnӓvh v 2>=3OQ$u zM1+o3>CaVqvsKyE,Q+ Ht?SDY/JI$kFP,,kp@)?i64 s{Qr?k1J3ɂ.me/py7!ќ#}2asTO\J>:39 e$F˟xMJk{c_ 0?,Dɮ_PQv+vJt_*cu͎`9^ wQۯ!,.eN ]r ~'ƑIvofJB| E@k S"E3]Oal۝K^ĥ7PKWPK?23src/org/codehaus/jam/visitor/CompositeMVisitor.javaV]O0}G?\&h nrz8g;wiZ Ԥ9~6<:FSf1=j fNT.渒k?4(-&@ch#;p$BfFyV9dr[$na>Ũp ʴLwӒ jFh5Yk â(VJICQ40J  ι4٘T V2R4_LwֆH q^8SK>,LB7h؂a4ܩqnя./{Qt_'hpH>i ۋ!+!U c>1(ӜzD#)5h2nb[THgܕecWk"X%8e ~,x;ePH2mL;zp֓T@%Uw`֮ [-Tbq%yi GxnV\-԰ V[UmCJX+ˢ@|JgՊ>l67@J5~>lJ!\3蘉s1N\F꺳Ǵy k ԡLld0jkfVGFF̈!giXʞ7ƴt[nzs|ch^D*@b23il햏l6MW842YuʓGœJN{Vj\m.9oM<;~_5YL?|e E~ f4>֣,a-t?ajxs8KH*aO-:4I=**O4??j9=PKiD[ PK?24src/org/codehaus/jam/visitor/TraversingMVisitor.javaW[oH~G8H!hhm6mXVab8Cmw-'h>?dfY0%|};^NNgpӗV`4L/BR_ \ڗ3[@+ GdcT,AH eNA2vI0c+)W&mMpJ"qɪ2²`KD{DT4Y׃QN O)fy.㔕N"+8>\.)_. QHGR<(Xżr dB`ČOxF9iŦS5G-)5(Qϸq6fqec6vwȨʱ`I߳Y:[I(;v3apP]/.-Dg(IkQw㬲NE=\Ϙ).X߲wwz~ce#Yd7p+HqƸ82cك1\dWc*d.X IL[ 27p*z/aLZ' 3b/xV@i%ム$G斋ex))] M 9B @p^<|c3σ]H8hay={]+ &L4|,.S0VJ )!GZ#6w0 OZ07ImV{1'H6#Wm• a1TڂV>\JdMa\}߹GCZa?9en1ٴHvj,ּA^1.x ?֞~lw;jC*eJeLi+cc RiJ// [%H7Qbyj8[_B'g4Lhd Uq[b>Q$TBttUw\"Y<tCm6=/]!N=l#K3mEnjjlZ|Q˭QzBdYKqyVniH qQws}G &"HȣB]kDFɤEs/ yyv Ax:^r0GS71>mPuo%拳 JoH3''_`!44j*fT)愒{p)8J poqJX =.m*`Ai +#G@Hй`#TeVmMЦQK(Q.ۡs, XM=P& nßx2'x+s )`q$9@`AZspB}mDXgIJtDܲ%v$#=6湏g "0x6lJ_W0>hz$ i+|Ad1;"+X N5ʴd)BH* 4BXؖh&M\նw HE\%Y< +2d=bI2NŰ5ΙU(]7Da)J`t~T'QbX;E6a8E{|uh6SeNF-!)qgxܸ\_,_A/QcxE U&xFMi3oug7\O8ⵃ0p| c? &3МKdD]nS.ۀ-<w k/\D‚^GS\mf C'6l4v@QOWoط>Bk1BL?PK2kE\PK?2*src/org/codehaus/jam/visitor/MVisitor.javaTN0#6AhO햢ZD L/BA;NR(B[ZvSy&!^ܡ{@; ,KUAɖ "@gځU $G˛DAK(Q:[?s$ XC=P& nh<Ɠ_ Z TP&~%ĺ`5(,3HgNyNȬ˔ H*A[a@22 Q Q܃8]hsv;h:&1n`k ˋJjY\,eV !SOh$M)o%ipm"RYe߬ N21T}ƔW#Ijnڭ,QU E ]B^Jn5DaS}6WsHjͽVhil] p5)ЫD">{"?˜, d8Y1`n  h27\Jh%-eWw7POJf%^X}yٌ{o/e#i.h݈k{ emD5 > EU+,-PKcPK?23src/org/codehaus/jam/visitor/CompositeJVisitor.javaV]O0}G?\&h Ӻ Z@ڃܦ]VlCYM[_spJ?:<| 9@nc5s3* s\-4 QZLЀ{WKUp]_Щ:A吱An`xv%*ӂ3#K(a0j`4Gӧb-0 _s0,"`@4U DÓG&^Jւ97&}1j PXjƜ )>ݒZald:1DAsM>]Nzpq1M1]l!Dg#t 7>D>H,bx9F\2S013S2Y;4Z&/%I$x]-"o=9*9me)CA"ʸ5SRWT ve2nuJ?N9dUWtsrdua: lԈV(| B ; 猢 6njqtDY/QGNS ?ch2ʙCؖ~ya/tpWp ڊ@~Ȉ;d[_RȨyfLwAWuA$̅إǨ$ )~Oʭ-^6`9.rvÿWF׃,rK}|ܜY //@Qְ9a +os8kH *aְ>>tI='M/᥿?PKH< PK?24src/org/codehaus/jam/visitor/TraversingJVisitor.javaWmoHH!{>4\Zt Eƞ8KmowPN7b{KDjc33lG0JÓ?r0.YL_s&H梸?{c,&@{(Az~oQ*R'cupx\ rv P)$3\g9R/ yqVW֕74f{3bi0)m|Yi]>f3`@4ʜ^L'*JJ=- iOp%_TVkP 8a:?^}ލ_.sx rz1g0> \R8,7ŤpT1_b,ҊX,(4(Q\b+8KϹQYo{+c2?E+V'\q-$=B(ޖy>.8sa>[쓚dL"ӄ"ֲNgdX+C}B/Q^3\HF#v +)جxf,zU l=0,xH,tjzLhC5fN9Yɿ=BM/Xc!Hs>1SvYM\A=pc͙7g!a1}o)Ll ;t u ,bӶv\r -8FiCgr!$Ӈ?e9d4\|b4̒[W#]YJEd)_nS>^MpJvW`.;dZ5^=JybN^fS0F0E\K1' "+z~;?] fπ jo:q͓K} Qh-RhK PpgHttq+(A7>Li̵V~vr.:r|ί}FQ4طNlwal0IͿE;{V fSf͹jo絻خ![ ہ_o/Szڝnn| oc?+?]-ޠ'l C צzC~ʦt! KZIFuRAgw!4wI 00p Nd&1VLh\PKM܏zjPK?20src/org/codehaus/jam/xml/TunnelledException.javamoO@ #@-k x&nrpjwQT*i㟟sxS[rˋO &%&kt72)Λݪ$F 9/Ep\i0Cqc*O"'h`0!uG׹Vw+,*ŰXt1Vb.o70?h~= mK!W/cw ہQh 3̾32 vJZ۵#Ħc',meI:'|ms'$qo.ti`ŹD0y)jc*P+(#њpZɞd<~rhV15L&  ҩdCN(|SnDI9|Ҭp/%G 7}'AmF|xz*r\m?PKB ?"PK?2*src/org/codehaus/jam/xml/JamXmlWriter.javaY[sF~?LaGF>ř$DY&x䙩TjZR{ft7vVU$\sB=t軋ن +lŷ8&蚥s·oЙ!H%3#^e'=tKw2IvtrzIyd) # GiB@ MЊDy,|C-*dfb>gb؂cN0 v54d+?tص|q$IPL_<"}^>"# q&ƔpCIh&iIE+ :CtbqO/븽LGg|>Zө59&S43÷kd?ߜUT(~TK9.!CVLDģ+ꁏ:k!"4N̥Ӏr6I? EM-y!!I޾X̛6Oô`qTOIIICF gq5% }]D#7S q@84ei ̂5"@i4^v-vPWҤ,}?Se3N`(( `oߣ9 ϗCyYϲD=#O}Wd $̯׿ 2q8"RAR'X0p=p_G+'d?b>:UDVZ&{ X׊.FFQQdMC+vYN7\&'ˊV&31Ϫ`\{z s ,쉚cfjv;irYȻYv)ƀnne}'H%vdi@fZ@f Lupy$$1 ¶<'oߞf&{?rzy—ÈD?oAE%4*Q9=^$'IFmvvu3{zm r~8!t8bK`77 MjP"Vй)lzr$oԴ͝S_/%a5.kfi 0Y L[6_<,n$j_ҭەA%vNafLn':PS[|p*zSurDMh\cV0etGvKl׺jCYJa*ީ=Odz7v/aU1 b* #D-8ݩ;ɴ^)YJdJzC{x(REgZiM2' c(T3,Rm;z5h۸)n?EsNG b6)SLsWIU8_f) ;w]W6@ܺ]N`xCpsTjq5O xZ4[1T/߁a([*3Yzl\9nnR5TH{k!U>ڞxO;:("suˮC}~ݸ^+\M a3C11M?G+cY=@+Ț贸NӁ}3q?UAP5!l"B?*x5 `aJ=OHp>j- ߽CcqM0uU})L -Zyiu,k<,=-+h;žRխ{j))8֢k.R8=kD]vݝy%ַpnT {UjXqշ:Uj '*%g)|5!Oq(va-ď8)%-IVKK&\ThS6d @~7`d?PK!PK?2,src/org/codehaus/jam/xml/JamXmlElements.javaU]o@|CUTVHCbGhؗ|gM#g4 ;RY3;3L`ʝ덅7o!0pK'V+EVU2G˕<=KϘ4,:c3;; ^hc٩ ܁T*ÈXq=e%d(G1riZuD档QK@”:Gj2ncl^OD[n&3#`*34YqM;e$4Z3:ֿr1X͗}^-p\@1Es'4{7 ap'~-| `!bO}X^}1c/T+̔,+Gp`d J naL6kctP?j.J~m2X AKrz29oݐR& Er&5++(3ZgɕuhqzߩZҔh 2}k!< &_u73ZEbjI.?؋h-Hc~$?^~q?6r /d:sd-yC/"a7hHҏ [0ޮ/aqC5TwaME7/fsJexeA#Tp9D,@Q쭾4UYzDQr L}(O:>Cߧ'PKT#PK?2*src/org/codehaus/jam/xml/JamXmlReader.javaZo8^]9q>5ŹSϏt@˴F}zВ9W- !׻[,ݻ֚kbCCFnx̨x9\DlF`Dd|zAX~G,$ZRxLVtG.H1"2|FekA|=l<4a>k>8("^OwA?NAkn ] G7'` vFyi, '&ڂFZkDQ|hQC|rLSk8lNgDC3÷&v m!z^6K|9bPdΕbњs`# L#k3{+OȴIiׯ]>cKGW++Ў(sS_6T'!|!{OԧK`o}qVߓK *.^̸:v!.uahp$.&.HW|e,ZjwTf\? wGCs(R֡ە셓D^,?d%Tfp5xbOCF%4{n6Лed; b߯+08Pgo!RY5T*R#A0sp6E@+׶2QJj\!k>D/oUW5wfҙU?IWJla! c7 NV86Khv5TS?,nuL=I`V9Nksa:JM|ǣ7 $oaj]>ޔ񊉕ڠp%{2 -VmysE.~'iH)< 81t/#GK5N.,R֤7hͦ-W 'rgS(?p3X;ÛdUr F!oM^zk G=FgefFy&)A#\QFfn* 9 3Fl:e*y̋Oa9+Xz:N2.e@O a&EVr@YV:# d+vwк\ʉX~XZdXjX#s*qmc5HrId-=ZVd)0iRn].d6R;QqȧݟF.Ә䠉a&/XxPtĖC$pQлOxAm P{ka W|&f5d"6'~!ߊVEgVyWan:aa4 ۝H05 "Z>y;<źNs g0]/` 3;Oos?^E LrdT"]%<,RAT P.e ^²gYD-n֏T꓏ ܶѡ]^*5~-$թ%(V;pI& gl#(- yi !:ǡ䐯* Ae^n<>UZ^$~2ėe5gbaz!HDS`-i>(߾H[I}1P~YCF <#djLßg1kǬe|VN`gQkU4O*I×FsUY}n"ɟE~(0$v \i '\; _V=~q+Oa6nUeRż$K[)r417qLCE>FEkTq|:W5a^n![w ڲx'T/-Fִ6[55-6."U v+Et*ؙk\>A=NĹFYkŇ]R_o"/b} {vCP)".OSC/)!Y?#VFLiڊ&2U }k =&X0ÿy?eU3u;[v8}KJR{u.:Ya?PK {(PK?2)src/org/codehaus/jam/xml/JamXmlUtils.javaVOF~GprS.Ej.[r=l쉳uw wvIl"tm#|!U<_Xp|\/F%K1UsbLU2c+y`$C vgWK'jCF!>)ԢްVl RY n`>XZRU3"]Pvvf#~͛l#}YX[~ VU|@u38OƧ0U\S5KٌlJ5*JseSZ{ʸ*q-T |Mis\zqs :9/&bB`4 '}@BC],wbrJdBbĔyJ5ʼb9B%%lCif~lL>mG;_| 2+BАQvJۮ` _Q`½I錥Vt/fk ؍USTqA j)޼(O×"Ƀm"xǖT!|꿝U> [1WqrP .[f\#ڼ$9)ú*d=` ڃw`\|2e٣L#bwnƫjBBP$O. `'ѧv7}hW:!%ff&nQWl%$h2>sG%ώ6pWMQ}dAqj/z b+jqgϙV+*q7}N} |1 aQ <.31ydk8M't̜ǭ>va@'Kܪ;(l-[Cs%N͂##:8s y`?em>t(P}(id$ \S.#!‚-ݒ 7?g,YX(X03DYœ%т%'m4WhKz\6څ{lgk{kȵ"YMjI N@CelPx3D!S7{N KӑQۜ1Yzt߾a V-hx7K.@/ӋM+|ϓdϟ[Tܽ|QG@EPJh.&VLXÃfK3[&eQuaCwX 73̹N1m'|\ ]=olpƿ7=l PKg6o PK?2;src/org/codehaus/jam/annotation/LineDelimitedTagParser.javaVQoF~0bR0ܩOG8&JK HSS{0۬wuHZVz( gofs *{SKqc4Pƕܢ6o.ΡQ^rH He!7H0 |0%D*g2BXsJX¨e(&ewNg^SN:p7|8 Dx#s ElA[d_knLZ`ʆH17VEnwaK};P`Y~FVs78z03^tr1{Gy4hR )>gAdk/ƛ^w,UAd%F,AHjIA: ͸@<u:F*MKC&I>r|D$N %yݹ6tOj.Ur9CO?9:ƍmhNTMbErIdO.mfH7ip( І׵+df [ .}LHGL[sGv;IO+{2ng4h kFˇoKgkrH7[Rd,v_8]e VSrM.a%vR+m0pPKG͵Vwij<'uKqpWj^I{lבϟPK|Ж^ PK?25src/org/codehaus/jam/annotation/JavadocTagParser.javaX[oH~G8H.'Jt5iBM37=gfعTJϹ_s38Q‹a2/Y_c5 9WU2+T򝉄g\].\sm ^ć~8)wA,Ta`&$~҂( Qy)+ aNU15 9k֤fgnm[,1sJg=Mlx2h~JhtzD6E%[2*E$X-m$0cm<wɟWؿ&..bn8^{>_ѻ.p !ⷥ&?XAi1-CffJH"X!S7\\P zIRº19mGo$ #'*sVoǬpX+{H-Bl)nXx*ʈ@n²ᆮ~SNɌy@d%yaM<' Onye~` Oy%mpZL[|3e\ Ggްα>00XO=9% L9;H=T>Q]/{ [%h 4c?0mҾR^'fZPWPjqق !|19" Uz+Dp&% )v;ᆜ\d7e3 hȄ"QthR,Mܟ D(ѭx8l|pvpv5=ugnVC8]B&8gk.N9q!FadsTWtg)Jڀᖦ9沾d0?{|oHI2*vh+- *;O ; ;fwDP4cRmA>J~1c? P ̌ɾ*́B}AвA6&$^:s_j O~ ^L,6 ֺθ:Guu(3m._7/hf^1½;~:1e*REՉc$ 1KQ|MҚ,[r߹Ļ2^߆ș( }u@@QOZ|7d7&[~w5M5R˵9݊bRx=P|S.6 Ոw7ЂQA)?phM؆JoW MD7 =HV^÷7j֙ 5'GZsFAk)W?D8"tWdr,y9|Q6:,PxWb;[r&e_aVG,ru]Suy'F߯rO=nm fB`E+B!N™b)k%p'>mN1b# |Bƅ*KnQ:i5jv&hC7 lˊmF^NX\`dή Vm8,e]UDokտ&?wy2p"Tj QHk!K&чlԜQs XB^KqmhDLy;'&U^8?6q1ƚ٫6bŖD?PKsPK?2=src/org/codehaus/jam/annotation/TypedAnnotationProxyBase.javaX]o9}G?\Nt¢]DJZZ8x$͢=$ӄ J:ǹпODǺ^5;zo4K"HORIrᔮޡsT&++sš46JIcq( {qi(tCXQ5VFYBdHU.2IKFFO 35vp5w~/TxSmf"lW㓳!|[Z2F?Ya_&&K҆H9/rƀF\YgԤq7Z8t7 =z> G~8..gɈ/p<A$ ׭HDv)pz9PmCXA\)nXXkԠw%hi״(Bhz(GA=Sõ;Pxmwz[noBGJqu?[=صKwtb{ڳۊ&pF+[~K-GUPKMWPK?2;src/org/codehaus/jam/annotation/DefaultAnnotationProxy.javaVo6~V)(TE]v銡tPFRVbNP," p,}뻏NN`ʍ›_`B,Zښi UɌY?)Jj~InPr7DΠue*(P$n`ާXZRU3"ܮ|(n`50jay0)rI=+k˷IRu|y"I.d6:wHƀƿ*XIlAY Vrtf˿r4 m2n5͖k@md:g4gxx45 |<з LyZHԮJbrRL)_jyr\QK* J7n؆6q}>Zr|D}sX8UXe[VL'7qT>6maOL.-D cԳG១{[-[\Fy|+?,p% MbHs n rFǺ;B)4jXkz' |><&:>1$qK$!f=)#V [<RXVҤZUC#JbF `+ڢW`\2eLSҚW7l1CږET+V=(nZ&@(1%Pf~$ idʄk ɠ |kؒ2_* ҷ*4&дu?/U\ &Pa9-3Ten>:l7FѾʷ?"nsVZ:H0'IhOt~= Ҕ3b]uwqΛ ~XQn0vv~ErZUX i[F$AK[iԤ5J$yklnV/_P#{8KC#?L?TAuAńY]*%JXސ#f a¹K[^_0:kJb*OM4"YЂ-!WgވG@7\0E Pi-WV0$, EHزX/w]IݔPLXa@NSuNFW_GtD(*IXַ`T %ULI>g\0}bKʄ vVb hj|y>'WtjcP~P> %S®@tμb{py1pliI@}2fs6vHXգXRGGדt<,ZS!+U{9NŎIJ39+Qr@;KJ6J[!$EF)Mzu9L^쯷gf6Ono^Of˛O$\Mv@YI˩-ESLod*ٲKI|+ Fk9j&NRشF, <+QXG"CNXnGP2/ B [q4zHƺ4&q*23ρ|pTF\ˢ"8~WQR[3@3NMoU"5/̆;F%-Kgjȅh Fд[)#5'Zˮgb-/"-%B@&gY4%V榊gQN {XijZ6H R Ks^r#q*\k%_K 2AF0.7f?/"/iĺEv/KiDfK;?D ^Plgs8ݙ5`Sdح(`Vm_PVip`"-f~ t(Ҭ=tz N []\KD-3vZ?wNћ?ގ9#FA-_~iէ{~?I RH.rVbqˑ  N1Y2LQsa\ $)ra=m+â\8c<%p&cSc^JG"C}3fXXGO΍}D5+u /f9GK悪3e^x-Y*G3by(0@;S> WVњ Fc͈`΄|%g٣ T#j3YЉ6!]2XEj`{o@ YcD`bwP8u>$(j:T˰;Wh|ĻBL|yqRA*P:ҿ..^1'aR @ͤ;'8ZGxtE%e'SdGU2%pFyl $ڟ MHxBKk˕3;UYѮJ_LtH0Z'ǨY)(VU:Pگn3gy CeF/6]w+!+wmkD dsfZ+C@t'~QokKH3aVOvnof@ۨKK~*A{?A=BaʮGTgxDܾ3lQ;W"R$o]}]^O[w Ժ} :ks$1MHaEGMcl@|\*CX&܍>ʾu[+{#C6a42fls9XcgsS{俟3?H5BU N?PKLNّPK?2>src/org/codehaus/jam/internal/reflect/ReflectClassBuilder.javaXmo#~QVgyE;mۇ*4ZQZVΐ\.Wz@;XK y慳3YmX |~|'^qU,?S0k8u9gF3xIQxp+0\iTcHHoO`(Zs4#4,D΁e2 JdQ傕0+{7z3{3rfj0ԩi3|^:ez*r;q=|;>L/~MsAkX26C9[T㞑r-ͅ6Jj!A<H#+`4MӁ\wz|1+8Ǘ|zxr>QRD/7\N9YHLW< fKKyUAU!4[#̹B6z?{3l!i&|jĊT{XWJ P+,_"6sH j?[R4aL+ڮ@ ˗@j\Wad7pry^0*c3G3Ύay4'MB3,f%rŔ`^5lQe%PNN?Ǜ)AqJ[f8JF $]%WX4KZ,Py~GЀw!=QY'B$,>%P5s#eMQ 6$ɊBqծ*FZ g3Wfgyp,y+HI?g<,R^ צEAV|wK*󭜖f{w)pId>Ž\U҇q֨BGDneI@>Ra&Np2fK4v YH"Kx{:7*Y k21aʵt2"x5&RH`IͮBO} $O<sR kQه>iˈFn 7'(#v-;cj"zյtEYכoI! 2*nޣbcqASzB$IR(wh\GZD㐚_/d|<2qlq8uZ}xZ$ޫ^+ఏW?M> Ǵ&f[RmH#Pvݹz}Spz_%Cg/ûKx ; 7 ɚd?؉@MO77޸~}w(ގQ7!N{fNмX)s؏q0Tz -›Q+IEd 5)h5mVmmں6V;*4‚Cbi Y+@lq_*go&P#{e^V"ZߛAqjٮ6#@KdWmQ:!v;6xkBIǻ>blJZ-p.Iǥ 47PKA PK?2Asrc/org/codehaus/jam/internal/classrefs/UnqualifiedJClassRef.javaYrF}w )PIZ"& e{]*? !9a0St3HJ/}X-S3/ L.׹5t|3]9.YrW,BY´GthB\0 G,0J)SC\r13T;rb_׻N.8ySf0q*k@cdl>M)-1&+Ҵ%]dj~i<^X|$DY΁)E_5Ǥ$>Ḻ"goB{[fqgXvLtz˕>LS>cvT0h͢VyTIצ',s]䙵+g0x͸0ϝ=E; 6Zc1K8604*j+ 9V,,lQ.JQH8 _:4^+,t>nwش8{->nnpj;Q/ng< $Emfh?VBږ2MЙjF3К L͋nJh&ןee  h; ԌV :_E/V;< PNZd>jD3PX|zgtxQ`ugzJ4<>h&j~ئ6;b,-ђmvOg_ܦc'Zo?DmEw(bԹ&3+Ífq!ԴKjmcv鬐,2;6#ߊƕh:Xw[ԈtW(%n@Ir7xw} +SGi[\ Fo^ %8NqՙbaF9$A!Gx2iB W1WIO:n9.B4_s9%64,dži,uc%2C of25w.g kXֈk`we V:}R?wR )-7\UNޙe!tܚ9^ }Cl]XPos_;K7 i.(YWFO|@6n^SD06̡ v֩f\ j'}O]OQF4ySx}oI{J2UZ&.6cEf[bNyiޜQfI\("L4]on\ae;oUmdeH޹D)fz^nb|U54Y9\Y͋jԥ ?-ES aܤ1=]wuM4jb{M~YQb17yzmcg/yomRT=+F4%>s_^.UbnfT;5Uc8 x/ȩȿN{^PKʮWPK?2?src/org/codehaus/jam/internal/classrefs/QualifiedJClassRef.javaVo6~N9(Դ<'-HSg %*$Î{A4ŻwT"-=:ra8}M6L#L߃s4{W$xAtRwQ-Tj# ̅Dʂ(6[E$|0jfe0ʩ߼ ̶wWnmn0h&aDl CG!J\J44BS%lFUKր2fŠ2냉FTŬ$%D#+3xځ߆q~|_t 0w7c<9.*bSčB*f*b.8Xf52u֠B]6Tf(1{"RYmHDi ɄKfƹ!QJO#vH+|ȹbTQW/qH3i{S3I]%+ȀӆSnKv'2(9zL,9s絴 vMkBh]kKVPH#8oqN#+);Ʃ7ɤ nvkK4<6=XReL'$S0)Hx20'3WM۲̴e}_3-'Ji ~`19 hrf={bꁷ yR ۛ;EJ,n؂fo*l5Jݸ %_7/ښh%Vڂj:B? /]IA _89[28:7腣i@Y \BԖFZKE@*JI,A#ݢ s`!{ T6߶t[Z8Wq4#mXu6JFboJEւ4l X1?3fmsC|d LZgvD\e XF,7L!I{i&aK'7S^_"5&dLv =|M@,!Qqe~ow#R\XVD)Q M^*^+f-;^ g̻)8>ذ}͚kMyb5*(cA^ۭ0PKW3PK?26src/org/codehaus/jam/internal/classrefs/JClassRef.javaeSN@|GVڶ0H-FM<&WCUx[ir,jkZ[0$gl*VU13eʱUˆ_V|X88ك$N=]2]x>OU9LfxϦv =| PZSm"Vy{){2!z%$70WSrʌU`APd+ j+|NdfV+amB(5ظWXQGF,NvfwG_' .b|-UZBit&$,u|Hu~yiOum\ikHe^jmZyDfıu`uMRn/#C%bFۦa5WJv\Pd@C PS[YBS}`yU1A[^y .;¦0A|F+Ty$fr >{Yf)Whk9g #z b9 ^!GZ6)PKVVPK?2>src/org/codehaus/jam/internal/javadoc/JavadocClassBuilder.java[ms)&}t2n8RKW4"4t;Dt<0w8Il]p/i5m;.ž<OB^ݾ$_=g0r #S*ȟ|A',/YJ`D|fdB޲&UDH00Cё=Ʌ$U@ /Ɋg$9Ivq'rQSA#<|ZB>lܽNooocTEf^Oyʒ%h[" B1)PۂK'45R^ʂ/+j v 4'9l>1r~-qp|uu|yuql18Sr|# a`B \(Ѽ,3(Zr 1_WtZܰ"+.ATKK6e{}j/( ,'"eZOt\p ME PU=".ů2Z)> PBU"EqK*m찤Sβ &70ɥ420B$c[˃Ү8L0UKQr~]X={C0VSXf C2>p߈k1C}CBPVYzp˥UH腇 "o=*瞨͒. H;rJ$㢠3H=]}Ѕf9S3lA.)%ٟ2yĶg/.3*-} şj $ !I8llX6_PGBSq*PTO`/1%P@ \_^]\\-~$/GZܗWqKIϳзxB ~!B$ȧa!B\mxf`qv/xVi TPt7'tzAF#RDrSFU.0Dލ`W$gPSY{%]!nIn,}ˎu.)VFܸy󀎊[ŭB4v̀Q&􇈶+VJe%5( k`+XAçgU;$V ,i;Ae}Ǣ5Zl8RAH`s!9Z"hC_ʭth}YԮFk-LL$f.T$\U+~ƃ<8|2jU,߇yZyu!@ŌKAYZlVշiݾuPc#)GL/o<0'm#5}lp>ftL8f@8Asri0|E>ӷ`.p&e^jhV a(huAp2RjyO( 76ƶd,$m$#@ҷ]ohVb9w^z^C3#P!^W"pED1ፑ&\pF:!dy3(0t #\ZڨmM~Ue\ذEOzm=؇&8z-{]e qZmt<,=oeUy@ >R o|G[ABVYF;IVh`!0X%7Ri#~PO#,#^/aaF})6A>ch`;0\!*`ƚptˆ& zP;* &"A=K)@ 6@.%kNT4 (^&Q?WpdUM/H7f`p:I }x8t6;`%P.L -(W7NdzXN*X:j<,VDTY.Q[.^Žx}CYSa݌Ʉr+Q](+vk3 @Ss86RsE3\vA|( HZ#=ްNKr ܮʭ;[Y{_z\ZAO;擦jY-hJ `:U.k2 Ebi\y[08d0F8G `99;'}~ EZK IV*w4)l2#xIe|3+@5x(%ٰ•50#l&lDO# ^'zDJ%k{N_$)2!¶Y)ޛ˵2'+c#da?! OA e䦵7hn,IJ10cB^c3OSQ?%IU2oli=+e*nTViKHL%X'ׯǎEHZ՝@%3l yR-_NW&*@]2:#VŽʔ{8˔>a<μ̫JJ{ef~'C8~2i R;rH1!+ߎ/>\NO>x@٠Hzm4ef*}K'y|5qHy< ]y?_9b+)tX9ErI:0Ik"iMx:]hs1k o618b|ʁ>l=) b6y;3"%]QbnM [K/ }U &x9Įغe-AfΎ6.Xi1q'㡝 IttNQ'`eQ-12JT}Y֠Sė4ǪjR >+lm Lt))U tڙ]Q ?CUQH .sl~':!.6)5ee洜DkY:`:wCǮ镚Buy ; ˲qQľJql:58 =@ԕۂbo-qkԦך$g帝pڼaGFpzb1@@wvPUO\_G1eP #F j x~?rJbybMUf|N#Tb2:d=SRMVhV!Eu&Lj%g9+L}nwSU3I&vVRr#شc:bQu0P`\?Ɛ9GGMIZiͥo ɹŚi6!kdqAûD\ϔ1u7 .l&8q!ݶ,T@Ww MteP6{ݬf@5xz0D\mtVV_>g6EnCEkw8膺Ji_3!?֭Z 0 pOs2h;*|EJ kQ>5Qb隟̋,z`'FAEN`v_XT%PkhoOsKKP[VW 0|yD]D228$(nm0Al wQF~pүJWCtn6N%o6{-3KHAfF|6K㩵1!dܞQoяm# [V.ݐNXp[_&^۟dŇKPKl NPK?29src/org/codehaus/jam/internal/javadoc/JavadocResults.javaVmoH0TSD)\. w%AuC'6YXuoʼn @g5}癙CUo4/% fjaL#T3˕KFkj)a ڡYsm<.}$ҧrRnL S-ٶoYio&4`nNI8]a~9PcB%F!(9><.g#|k9w+ .X&# S;isKSaitvrK֞V&LP-E/_^G=LkFφ?fHF`%+6iFY֟O0\^(=\{>@oݞS)%~V9?u (6 ,LҒ, ݎB,N vfQi QזD0uOcVa;u6CG!\b6 IPKl_ PK?2Gsrc/org/codehaus/jam/internal/javadoc/JavadocClassloadingException.javaWo6^-ִKؾ4(6-qQ޺Z-.]w$+k2M,ݻw":ΩuӧҢTį]p^T"(k>'U)t#U:KlA~u$[َ#cu^ŒRZP62TڦJRV:ʆFl. ;->gIAS>HG֭:d6#_ޓv!DJDZl:k'.XTPf}D>-U]b-pA1~,Qnxu˂l1N/fgbO/7I@WC8^YXΥʦ|+KR%r4N%F:ԨQf,iըi?/z?|ܯь 0.4>lDeK0TI$s+nMBBB ^kwQ+S֙]Rjὶ)86bh䷷Ŭ`@A.&04P%A;G74At SE}Élp9"/8l8˿Zn Jut!HSyLPܿȀNs>9h0͋yOb>ή%ESDHz;xtfK-(fgհ08keS52{D&w`5rΕwsurAkRRIX r,Z\vTYY`ae;酑, Z #(5Tźr#q4G.}:Z%0;P8H+=ý 6*t$ȬGfrRTb٭9?YhМԒ@>{Cߌ:3 @1¾XgMB2K] vRT\weaD@ei RK%n+d|Zj%4J.Ha=K *rJ.U^Gj|̱9Cqq/2偵WO]U#]ho*\uZ^Zd>- )n#s+H,EiG4)X%$' rϣpG]vi(簀'BaS'9-![I8^@I{P]00r|rq$M+B= '`LW=m3q:SL{7Ƃ4!p$7_:, $+铘02Q?ؙ) 2Ofed2$AAA>9;e#)%loQ4 X/8; RVٞXb[8҈mh%(p̿M=1'9O\jz1|0Z09ƍ?)e##v3KJh/ÿ@Pև̆Maf%e tYו~WIBwXk ֪ 2=}yuk_I~kw.Ry;?X ;b87L۸"VfY~[XܱL ep{:/aUOaά*ޗ%PK!>O PK?2?src/org/codehaus/jam/internal/javadoc/JavadocTigerDelegate.javaWmoH)a.zPIKQs9Gڪe=6{]{}k=hh^t9C,{}g<*Z NO_lebBy̬Pt7s1jzI >6Sh8٭U [C,Ɍ07 "B s 6f>f2`S]+ ~ kj =P:JtQo0\1RhJVP|)jV4T#Y_iaE-X-+&ZîpN!y8Χh >WWh 0xԏfxDw>Ѩ+)˃oj9E $QU`@.)<-Y%Ru&k0ʒ6n~[٢\Ÿ` `Y rKƙ%'QJ[(IfL@bpE1Wx4ː#UJBvڏ3<ĔY|VMP):fU0'JV}/=VKA} .Y6Ti t|yYqcR;O!aDYYEORaIaHlV.GXIΩ%DaenEV+J NlA!-69vl" 9؜Ƹ_Vb@W~BgSʚx~ u0!J7\9=n_@ "/e%,dRks5 IʬQv1&Lhsrc/org/codehaus/jam/internal/elements/SourcePositionImpl.javaMO@HQ(DMTiq&zݏ;k$'{yIU<]X|t& ^ܮFTNΘJA˿H7 J33`ꪓ6ܠ6$4}@:jv,k ckʂ3Hi9`nKHT dvQU*ZF FX`f_ k0\V+J(M8Ckk)qMOr)lJK5ҙUJseS2͸O݀8# ֋]幍&Gǽ$a4hxMѐ.7 H>AfNj1↑*> (SRT-QKj r7~؆lLgkcv+{{Dg#Af`, f(prݍΜ~t]sϖ,hqT<[TO U ~u~l&}V$^w+svAM-y>lAC;)LAjMihiHl&q¨| g\^j4.`|9= g唾h }@RB:,b2B50]`<EZ!+TJUεm&I)97ll1k~,\RPxa5'Rik#&\l .JMy9?s2g_DKc_|bHF*;㣠WO}HV yJvA񾙰4K'Fڏoa2$sƳ7P,03#$ xSTQib $ޠH4\`>wn! w0m?tP| BIg[}}cIʘ=7`4/>Ј늩){++ykkW2EIg 6UZ]tIw?^I)A-^zK|>Uӗ۟UkZS4͝Pn+VhJ%A0¿.&/5 *XI4̺rbaՏ"2˺\5Y)F*-mI)ױ kgŽw2c4Q*s^eeu%RǍ^wOXg%֎?,ކrչtD;Cs?NR'ǁOVM% &z۵ nS!ۏj/1uO APKUf>o PK?26src/org/codehaus/jam/internal/elements/MethodImpl.javaX]sF}gpD2}„840 Z]q;!YP0 {s?${g2_)>x|r9K近%S/d!Rf%WxlH8)XOlsae1f8GatϚ[̶Yƴ55SlǨ:3h ':~NiNe5F|¼0zK43\p͍T[L/צ'`1[LQԳvmLFǗ2x {ildJ]Bq5g? ̡\1Ź1#kAm@iNJ )MDA}W$y@n)(8a%5LY HIޚ;`;| Qvr=.dQz)YSQ^i@ ~͟UwV׌M>،FAfz8g<{y²cfȎSiiLM/tdp*)OVX϶hj%.5l]8A)nRتa~Pfz ȲϢS{FQ\k j5IG H w.2pkm+EFk hFZ?+2~ ų<֙(wH!nk{ʼnBʱ/?QՉ*!S4gMvC IMXowwjrnFOoL>mT'm;2z(a:vхeEk t Φ1DK! Z_ѹP{X\nvGא#+X3X?,pl+̔oL Qs/s_,6Q`Ib*/Sdڽ]m ."7RZ.=.]~l_r0`7LC8,W9 _N7'Bo=aT\;õ=P߻<69w7AͿ~P-[鮸n6n;e*h#:S: 8C1gpRq['=OQͶA[~0>E{%6N8svma{SH'C`)NO ԒZ+O(+jV7ЪG!hm[ OJM9u~UV_PKw9B*PK?25src/org/codehaus/jam/internal/elements/FieldImpl.javaWn8} }jڢ^'mm$#-eT`ߡDr|i43TE2/mv5…Ә[8rYDP]ܢ6o ΠZSrH S!gB<Ί<0_=XN|26m 56{ł:S: einpt~L7Dc@\h <#~k4D#Y/"M:`)j1튈[ҡi@2ZG-;:?f wp?5gqjH.; ó IHGL8pb\i9B\!2U%1a$"$ BQd¸dHR̅-ƬWi"}s&RK\28ԚSgNlփƙl3"gqje05Ns~ۗKgߤ?A&(4ܖ`z4{΄b#4TQ,g*vQe}*"EV2.>ԝvF/Ϩe^I{s.[".= ?=*|B]LÇBo(qL],KOPKbh<<-eєdZsP 24zV3 |K2` |nRm{ A#M.'B uK29ͥlqT̠4%jEXx"Uff\~T|YV%T1eP>)ܴ@ ͥl j)./%&\vu;¦,pZt|4yQ+lY%?JvL˥gp-}r NPt;A[y`c7cc͟k;Mh5>mN|(ZBViNW%dt7zDpW͒GnDV`zvaz}@o$`k}ǚFPv!/v@ eIvFP=>#S~ݴO7<O ҧT}V|3]nUтAJ9^oXۏdm<mkGm]ց7PK-q=PK?28src/org/codehaus/jam/internal/elements/PropertyImpl.javaY[o7~7p#S+lQ j !Ǫ9]`[\s!=|grronaf!BoXӈi!xNgT@ܓMup ="8r#e+sHR!W s|Ad 6B((pl~ul\3p-tE}z^7M̖ؒϓկl%Rs-59j 2LK -s 31u͉^[CR8`2;dzlxގw\z^x+40.DQuFv#5E*< 2gKKyϳM5( Ռ,X$Bب}F=PF|rgI RY'svI}䫥99-瀗A194O#P<:*+J#Y0«/rްLP=*3.4!?df>ԉ|!ۮEٯ,[&K>)x˱r)2E' .IS<~a>NЁfcSoP.AqL^+"Rҳ@۬zXYuјlV"\H@7r.9 [ wtA'F448b~X_K:DD6_F`ٳ:R>2(5;M fVfa TM||73Bޞ uB(,PƒhɽƝ--7?\E[_\RbhUh;.<@cYqL\ rBYP{Glja;"^rZ}4`ztz}7 "hnڽ}Yzi;ܾfc\p]* &b>S]QDz.KS7:ԬØ-*;w-G4HPXeYivsL_Ø\[ieVto%jiZ&_XH=Pӓż{}1x6~=&^SF{|ݚ4*ńuŧ.LQmG~Nu=Aϫ-y+z|ܷ'EQ%ω7!-/=dxǖ_Z=x};'_=g6hm橻5'䍴$8.nVּ_ͽ~i8} װ̜4g^-N 6juDm{b7u/سz6϶J$0Fwzlp:@";RO87v4Z鞩 V5*Q2/"vu0ts|i`<}t{|-Z)/PKGNwPK?2<src/org/codehaus/jam/internal/elements/BuiltinClassImpl.javaYmo6 S$rQSsgsY(a%f+*IM_$˲-Y/zx4_@[Mg^| fZ) 񿡘9.D#E )W4|G%ο9;*Uȿ::>^D y.4d`b kHS C(4fLPQ|nXDĤx7)%guٜ!ؙU;H1U $1?I_H:&sTR|?L3>==ELiƙ^ bP60G!tG5O|hܴnghQwǻ h?n(_Sid /X)]"2Ji&,9iFJSʄ) iFSmڨњ>EDg$S'ktO4\3c~x|ԫ(chZ: FΠGLZ\I՚Hau6Cɐ^ Lk,L zb0)[csp6Bwb•;,}H$#l=g,6 ɽ^pXZqQe= @*M{t &Q0?SbZN<>1I;+qDI`%?P6NCqq8CL"̼)f$)' m:ymꜪP܆h2.⸵=WRI:l-Ftd,DLܘN0EFk7]KvTFMH6<MeIϳ8m)30 죵'ZqǡfR6}NB֢ۋ9v+.Z;5jB4;Zo+m}*vegKlO?KVz!}OHl2YmnnzEoʌDc}SnU׀ڼf V |䭼'A1gw1x6$E=pa4%>yilCJ{T^.vCO' rUP/yuP~}M̿uC:-c ꑹC/Mw frNe\s:.(y7V@}ٳo\Ne{;R_S#-(xJ?^q?yȏ;77Bbl sNmED^q'#{PlBW\ԛ~xr5kh)_baa/h:OL!q0\p (R{И͡3gpJS!>ˣ,`AHFJ5yb pg"F(TKDOɧ+(QLNm,0Ӣo?c7QY!R}4!o~j (WrX RKҜ"=tDْm& =eg>]&772-2ӯw0ߢ3@ouYnŤr!1kS"-XTJՖkk&˔-7UUH{c:ʶ!ҳ, ([8(L;}~9sB$'=H 5e`f| KH َMB~*pxx@=*1?4AZS8=0zкn\yֻ&ޔ iCڊ,f(R~Fic?v4U !ꐟۏǜ K_0)t^6߀GFDOd k4]\Y`Cp*B j9OIT?Teqv-yg6Jy7[v9<9`Gj赕3ɝm~Nm,ݷ JfPKp\E/ PK?29src/org/codehaus/jam/internal/elements/VoidClassImpl.javaT_O0G; D-A@xz8qf_(մsB*bߝX+#0] H9-A8U ނ}K`a1C $@ڭިb&,ria.$XJ"AXJZGc[FHpXԁQy5tOWM/$'CI+Z V0 D1cJ,AA#/$YdmTZ2rVцkC7e¸AƃC8z}76$[_Gg4%4N^LZƈ@fKL\&̱*!dMԠDK̶ 3m*)KƾWoomoOk%:ŅC,  #hc%l7f'bͰ.Qqtyƴe *;˓WF aGs!!PCAaiݺѨWV3n hI Ϫa} ,R T%o߇zrcP,u⬑Lmë(1JFGuբH*\c؜iMIo=kTW<Rlãy7f( ݔ'M/CB/mœw+΂gP(⺓#t!ȔǨϔ>p.#k#+yntoK:s)?PK7 9PK?27src/org/codehaus/jam/internal/elements/ElementImpl.javaXmo6 %RVStsY+ef+ E )Rl:@`[;>@g #~|&DPE:%ԻdMs:\dgV=9*sZJ,;=/ !r EN ab .Bē,f$(,\譌!Ϙh$AP'_3Wt૿ _.=.~\e(Kc M?!LuL&¿Lt~ 4elRF-Z+a$)!#=ᱱ?cn `8B]Cw4)-) Us9--,aRM?<8<U0^ħtAB͓أ1Mh*G\u7REj茼&BDL9M$ݘ%'Uu9>}LŤDw ~Bus< /W WY8U`Qy/Uu~#\`Q]+tILXOc١ a "y2d Rӹ옚Ɋ 7 <$KA%] [vrE aYI' ,DZ*tT Ɗm44֊)lYfvl y#H&r)~ozKV8?<-1gUE^Diy55)ڴ ^u`cَs?(]Q?-w19"U[B9e֊|?cw2 cu}xw? R/d8BS:Ƣ\ގ}mݯש:P kzbڇ܁ʤ'z)#yOUn"3m(:30*)bف g0揊T磟cW@zS8_ aSc!"OZu~EoNlW*34ou֮]@-/;A:?-1:-{EI۰õ!"I&LQaSU$_t_WN- BZ9WY44\Geoi&蒗_#'fd՛ ph{v-VƼ9-϶<̥$o&ng+\z1k7@PKPK?2@src/org/codehaus/jam/internal/elements/AnnotatedElementImpl.javaXo6ڇFNc`5wK%fJ*I9N[;Rԧ%n=D~wTBOdIAȥH[,TƄӈZ OONOXw_XhQ'6 XqoNebY;t ?`Iu%>^ORlObQ@o֙zW,:^IIwطXb<$2/br]]ʥu)-ۭ z6E@~=7w 1!,8;{yr%\6!ejx=MbD%Ő&N^5PȲ 6tq4ލ]Ϧ΁u"|}ž <|pZIC^y|\:qp~2{2bb0)vBs\R H^nBH |6kpӎE5Y#~4[$di2q1^QyYSD31 w ʼnV$Ih w+! Rlf1)))DB.  dk`XL DB_P'Nvv V-"ZgcusPq](4Ѝ[G.|$q K "b_sZwjYm=y(סaO{N:cܛ&4QwS3=`>ܢ6/3: }`[Bep+..v>GF--#F>%=m=Rƍ|Y{$vh}I8%''(!^<l_%0|v/h~g}@»R<,wbq R-0SbW<e^!WԒRu+!YIF6a~i1E#Tef ?"Rx&BXf d,q&fPT֕(>] 7*Nn?O0~3fVp5^S݇;:m|JTWƆr'O =Y\X(UZ3!0 R!h YHפ jTRM$-^t lPlTƀ/@ P7Qfg?ʮ ;F~1΄g`\C21`vD6ȔИxۡUY-'!uvLI-=fsǡ zpLs'4Pj!< ōR*54sgCԂŌ8<15UJQx&ːڻ~N]ꀶDlSpK4h5sLn ;o6i 猂`u=G?AL4 wPM<5k{LzrVLФŬIhVZw0F Xnˠ.্O X q{v$k*/UhWbS-n (@2_Z9TO~0}H $_PK^ vI PK?27src/org/codehaus/jam/internal/elements/CommentImpl.javaUQO0~G?ڎ&퉎m])ZF G7ٗ;'дiw}9 0ŝ`wg=LB|9A8ԥJI67>w,cT=4@Oq~g.X`[N߳rqJFZ oc,XE&VU*OxkOg$8BpL:wׂ jJzMf5܆p4z,-Beh-YJ@/3Vh"5{$U iYILlԲQ(h &MZe0&۞*~=|0F t|M1a0o`-Tx[W^L/'τu-˹F"EHҠ@KmYfR3e2T}]_-`o;:(mCT" 0Y ֪ F%9{RZIG_@OaLj=?EI vLpL,{[12ۃ"YOPohooL)g/L"9Dg1ӭe8M}(h doXŊؽ͹\͙myY:ѿQsrc/org/codehaus/jam/internal/elements/PrimitiveClassImpl.javaXmOHq 8ݧzD5mGV=8[]f_;&pjgfM{z<]d,J8<8S ݔ1rN2 '!'[㾷,!;,7-@3;W 8X- Ì, rAQ pb [@S ,Ҙ$0grMYEUɪIp=)~TE==]xc#.o^8  ß,_@&uL3 QFy$K 2!36 CUa$ 8#^uGe|ǯޏc;]@lx!~@w ÓPMoi@g#JW1Ҁ]cLD"~KCf3&TM11F܏O[koomo!7Jb{.MRp.LIZ ]ǜ, A/ԥB%`-:'ibw z{F&d%tU\bj 3 :qT/I$,V-{i.R]]\V_j.=fr]_)H-`F ¢_L[[o9 JU;ݾ5\8G)*\e!%Qkt 6|eB{?œ*(VG'z ˩}37V+>sͷ撷N qՐ廫<;ֱ4Zg5f}wfzZ.# /ӳ}dw EJkڰRǡZ"ޘ -`ߚu~9۟I􉊍\@|&V4JX=OJ핞-vXBʃRd 40ldֲ UU|lQH2THC@䖢iyJ0 KS_RQJHy)S [ƔS85;5| g-CY *p_Jmތ6!8r|1;=`oeNA/lп,l +AqMqV0iʘT-*{8#)!:ll>tzng7?_v''79\]fvuMwl!DSFsLK3Җ#Kn%K"+ +~OEG :̬L3/_ h]|I%ϤHXP9ӂJbʼ|rv?Dj'HaD.8AOB]=IOu`/Ưl"Z# IS5 WZMJQ%&JM)f&6RAK3hIx_Y[;0}$霕F{0JCM8'ESH^bPn6tTqE3iC+&(a9D[ ^ ,3ȨL(]b8u7{?$R=@by "yOF$:6 KzWR=bz,Ny k}T.BN natEtݜE_㨨mR>Xfo 8 hi'/\ԤŘ1BR6Nr[ӱeD@V "X4A@ iMPbBmUnFFfdJ+iici{x]9~QL >^rCj!3r?̮~ONb 6 Y- 989jL6,UdH\øe?M@s MI ӱrIf9Ifb`{ѠQC`31͂bO 5QZJfOFdhvdZPE~3?~{Sa}V`%!7 5VN['9ˌ}HiK ޿'_Km]+;n36J)lڢ+3F)]iJS ZUb:$IYB)u2߆љ=mIerɝ/Z9COC:Ys$vI=\=ԆM.Qv:{[k^!L\`' ^ߎ`(.MjY ; vPOM齻^@aVupt6tq8t:Bva~5[v- njEAEo;, :Ǧq?AoIҟc1hGخZ;hL.=}O/+nC >!eU}5<'"hv>027eko\n ͳ3I>uW,~B²™/s{:IEĩa -}l>7'em3X[ژDKѾ=dg B~^8`xDRi&+4fSY(e74OahdA9+p `s"(%lJ6Es|{?"5}gzUE!,-|4sY^6_D^Po]ITIa.&.cZ^ggB yU`γ*YV5Գ*sI"1(SQr:--@%5 UQL'2 yUy8|iȳ,[TI }؀jMy A 8-*Yyz 6 Km96_5=; un=F@":|6ZлǏQYv=H$Ä"hrQ]B{ib`KN rLWbq;. 7sԗ{"hDI+oC(PN1`_,;<낹<9;=|qtO:a%5d';Z ~}imO 6.g%ߜD%K羾ʲDž/V FIAZhQ( u\nS'UP*خk;:bu,\6=m%A57jSj ]-f^ aqAY~]xHA.F ڜ_,7-`/>>2fK8PuV%&+If)%]WB/!)jYnt u%78s.,#(> VVpjU0 Wpٶ .r0bg&vG?"Zw?¯Kۼ|HH`E)9%JRt_բg9ғ/j>n QQ<npJ`H!NA\Z @wmCsX0] |8:D_lnB vwf]0|d84„,ph_D6#8Jm5T{cuֻ@pAYZQ=)?j\ݦ[̻ qc]JҗD3q?UM/WM 3LkygK.KСЯSpduīkG0Vq G蓑+0HQ:A6-cpb [۾*(hoA^7e*2T!C;@U,^[NmQ8`4-ɒ2G;ds0CXcjDЉ<w"|Na^g2IΚ8C[`Lp; D,mEb#,1u_^VvΛ705"rY8C,jkBVP4VR'+0",fu W\Է_n?wZ6}Uq{d49qFAC#Č\K3QܭEG0tr3qb{ 5_{2! r~jN``qY e;>1*H>%[&Oۃ'lt0% qYj3jԜY% Yk+P(wGoxT+NqIϹL9Kad8^i"APme{jƍ =EMް/ød5aeAXpq}%VKaױbD[Nqz sr "Q,EuNA#;Q}^)0C G+n$6F%zy_z:TsE܁LtA cow"xk~yw541#Y<Ӯ95tBVK.^Qzw8[C/m8>&8\բe,D.D* .*NbAf#XsƇy .z EuwvtY啙8S~2P+LT^5 *{t e@5`Z^;p֏.!/8o6AS@`Hr's} 0|M02ahf(iӢҙusq|xw׽3,4О"B낣QQ}$j_ o gbhsQ%{OpYy7!˻ތCPT&>DJ6Lx){6b]-rYPQ$`(3]$xI Qy.[ Ng뤗WbX] 7A՚X*_R:r\GXFk1>5^M J02ؽuE ˏLYbPl6t7GڏH۰ z<X͢Dd;uPLFD|lP$ɖȮ%(CAnKIp>݈zBu2q]vҽ-x{=)o`BechֿiuAsō{'Kz\.ЖV*U6uY|͚us"oZ۵-&N.! z=BgpiČؾ laC]7N[zVJ킻R7;|O94bTAtDIWʩ`ŞBcܫ~ItdɗlyMO|Y8tПˊZ؟q֒N>Xuf:02/MWĥNVKj̆t˯8)kWg6,e%˩DBu/PK @TPK?26src/org/codehaus/jam/internal/elements/MemberImpl.javaTMo8!X =m^j[;A~ii,H.9c,w(Q&iYMr͛7`|MwXFF3+p+ Zr{r9|D8 ^D'? ([]A)4Aa,.EC 4*EHZץP`$s V h8l6Gqф}2K t,SI/ KŒYbڂ-ic%I L:rYс-[a?e NFsH'hΧdՇ|܌fd2_&jƫK;d%RxgJ//fs"+sS)JE50hKe;5H,%նq?WWXoRZT.*H*bxQDX`Ї3[mDžp>рIT%'"ʊ=G].&*0h3,Dg^7 ^S6 v0ѫؼQњ/Z#o0X!N b)dL* 49it6Ւ= bɖ)AՂÆ TYl W}([ƜcxLQX5vMc-A"([E`̎%[펄&QN޾@ZQ߫_WD¦s .K| = - 49Dz;툁Z^׹L>O'rk z/ؑ8Ը}~d zam7컄^cCPWUQ\RӰw'@\\q xG-;tZ2-!DD `a!̘rN'F4 ۤ( LgNgXޖj x9 '?"Q; -F:` TqӒ/"@4E%-ơ(adzC[7_?\Eop?~;)~;W^>Nc9d"-x}1>M607\E̹ ELɎj D(M\X<qJ0m_%q "ҨmG:F<XU_{R;l$uł%z8C 瓠؍ 3a_%ݫ>Ȅ'f3K C_lyby7 o4$#0Pl~副Jݴɂ׷q~F&QIF4FwOmb"ptWr_@?=5MY3E}$8-v 54ފ̸&mhtoE4=k[z{Y!'6.F§ [o q؋v}4=YٌJm_q!&]M#J_i 8m">ڌ[/i%aCT |gyt׉ *I[cgM.L'őA:Ԭ++nҠ8Ÿ$N D c\XJ3q@B[@2g+WEެ 0+)@ZYH;b{S1E#V*Mlkja >L?Ҟ[Eb$ራSB t՚ {k{1w^z@"N>=g*b!.^YB|xNE^lpm^ҩ.ںA& ISNS6dm2@&IãG1AٜdBj3l0?pmqfljCfa?p2&cG6!MɈlt}0fڠY/5Q=^;besgL^/ViOl S5c@ u)y[V\kv2ϳ#GS=ChwB~Yi[?_7bWlU6@߽.pm R{[iLS&tk<[?ȠdvC'Ry ^' \UmuL6?ג grU+Z:dWVjkC~c^: ndje*HU_٩[i3I2n 7]~k*=}&a~rwdrD(`‹&R##m{ex&э,;ޓ4ct$5sŶ<1bR9d1v g,'ixDcNrv{7]"35=113j/;ajrjŮ˩a[јn6Km *Xa#J Oh̉NAE [j(^N DMP,ipT)rb{'z&qj&`1ʼ-G~ƶȼћ}B_ӗb>DH#P{FpX%yf)062uvW(M_g+S:{IӼ،joJ:rWki۽ċ<ֺf{kZ}v~tGCəu+^vn :cmʡt#ΛΝq嚶(;sLn-V9[-|qgv~:G'J̶lKZ:5&üͺH."}1Qeaזk.={\+m^рoPK9֜=0PK?29src/org/codehaus/jam/internal/elements/InvokableImpl.javaX[s8~L!2D͆0k) Ãb+$7GvrۙʹX::|H&< <8=k 5+%QGpqsXp Plfh^6eZv< A&a" O,oاejmLeLL _*+IiU*Zhn]b\wGd:O~e8RR&0Hd^Gd \ 9ŵ[ LSlCUa$1s=c蚤}G6.'K#gZBN""^D E &J1;/㲿R!4/_a*^܋{6U< w䚸sdn^!xT Avϑ](IUaB"ƚ3!,zO!Q%%À!v:˨K,S K*+0pAeehH8%fH?=OL[@"5Ql4E<AFY[HOE< W"\a`ߪ >uFTdb/q&/?Je τcsY$,8*OK [SBM* (b/hHSmKJ#vKn=AE-:YwE5ҵ;!#Mk١[Cd'[af}%ybY-X6 ֮v <״s|==n* U~e XZ5+pkJ\LGQ4ڸәx>٩_ 7NU $W&X ++FʸYQJI=8Gm=sGhbiz]Ʃ|RP:z%L.K`޼L=ZnL| mliR&~ӷ9oF9S26gBq 먛>yZ;N6ѕ4u$ֹWbfVo&+˵ݿ_qgްqݧߥqqX9[7R8\-1e4WMBy^*U tu6Ƚm{St*XU#3a7۝=+?1+i ҹ|K7\ Ѳ6O\W;5dnԲPI2ĵ>^5֧ sHmj89mO71S P W`׳rch䚄s=tvpgb;חPK^ PK?2:src/org/codehaus/jam/internal/elements/AnnotationImpl.javaW[s8~LZI;Tβ4%@7t:<[Z#9 avHJ.MI9tEl:(tbPLH EC{p`+Q zVpEB'xg jnVo;H`NVDQa &,@k`1#Fx@a>滃cMЃOW-o>3r 9mEj!9~U $M+ 1 YGd BJkZK4&('C Ғ]1c: PF¡BoX:ްpF[N07 x:O %GѻX8,30rHiDTL6aȧ RC9S& i)RL۲QZ{O$A>Iӈ) Kf g%dvEwv#7_[p'qa`i!#L/6{C4ZMop?nׅ'I 3`?K"2 {6}8 !чcJCLu;K\2Ƣ^A`$-=KLS*8Mi{k rJ&(V N^ஈd&/*}@,قh a,,Jcժ㔐b .EtJ&W3)Z(o.- La. + @یvf"B( tvVnC:!ImCTmK^w"bU2VV}l@!{7xoƻ:rQ&I2Դ+J73f n zo`:?[abg W:U3U*E|2Iq3S'-ʺ <ߌ0_R3-@V6!,,l(L.YTYD$HQћqs R*L\sA̋7"al5,ۻ `:RUؿ#. Iˢx2n^*<_ :r>'Pkwn2u3j6ct#ʧzWZ韊c0,c@NZc|=R`prg]ۮk7pn+ +aI` F~{[9!Ξw?PKlK1WPK?2:src/org/codehaus/jam/internal/elements/ElementContext.java}Tao0^Әd E˴@i \Somlgm`)J߽{9):;{ PcʏD- dN(9o,R2=2ڝܐ38GыAUTFXX6)iBBJ])ZU] ZF-rr09. u5@<,pQ4I>?H*  [@R\0נ `nF8!V)wlY% #8L|Wӯs6͆y%0h:t«KNns<\6>R2!zBdbVS*"e^aN2[M2ͬA*D)\mwua=+*V6218Tt-0WeџhX!;%[& FmIF=e* Nxژ>);EBtP+bg \ 7EtE]Aϔ8```Av&Ys=Lo"_ D"q4L~ZǼ\vbЄ4 @\ex~ʩFQ^v"zm&V˪gCkC&CtsBGޔ@vY5J_AxH $u<#AZIrg }K,! PK +PK?2?src/org/codehaus/jam/internal/elements/UnresolvedClassImpl.javaUQo6~pCk{l` }->>:>b<ke:}*1<ʈ$Upf{~!|7P⓾oꋵߞ\?W\cߖ]ܮ&Pyn^Z޳YV%M\_<l\Ɋ~Dnmv Xrg_H7 <:C9E7Nsffae ު=~:RwŸ|8>~lAm=:>ENvH_"EaVsɜ6D/?4-?Ov ?%,{2+=L~6<2cfֿ[2)'E[PB"%(h<; y# ]1ڣ Ն"C!rK aQm S' "~oPyCyGQ~&a<IR+9&3Z(?^WFW`6ߢ}n7PKMyPK?2<src/org/codehaus/jam/internal/parser/ParserClassBuilder.javaYmSH^UݮAvWGy/1fKq0Hc{IpH3#i$MQ`KoOw,X,5:K'c&zsY Bϟ"k W[>o* ~Ar/+=RCUr#JB!Y VB/VNPļwbfO L{ӵԺ8VUČTQjtvv{)/KPPh=-jHl8iI"_C$%JVZ[Ond9'3xy2w_q NNד\\zr1Żs8L q+Pd*+Ƚ<}9㼣\Zʂb.b1_Tla!4(DI.QJJE&Ir>3'b%#"kҨ` 3T*N;NSV%K 6F(r\*s:45zc ,sJ5YcE2-4]y*ш1LW%KߝvG^_řA)xb^TzgmM|!v6-ndHkDΦE|7gX]2kX-9Bk`*w%'Jp%E7V< т\11F柍"bԦJ/_%OpRĢsxDzEn9;H>@^-1)ng3 ^ɉR]Nf~nj7(CAI%'[)S.x{vbv0giɏJL *=|A6Qպf6o%Z .*d9_}yJR}U➱#)fDzPP BB"b \TsTxJ׃ZL3޶%C~}YB\D}!teHɕ $M'jQFM)$ABbC 5r48.]"ŋ<%eETb<t`hykbH{ tKa?_ 1h|BX;mQ8<;}?aLuc߃ p~EXYIN_vr'-ԸA0vhnެUv`ߵQp*ՕEMRLm mc? =KJfva vz@Zݷfot7H/_FL qՄeX >Ŷ'dCȪT ,M KHa z]$#@,N!Ȉ`{>n68q2D}P9Vued`3)f:^ׄ9s>3]+ l/NtblQb:n/o\=ںs?xn>hwR$PXJ5v84Tsa5 ]֞q0W0%YDtOgf + "N%N|Գ9,<*XI@C$ejZk+aԫVC#wgk/La4)9hs -O9AH,qC4 ܼ֛7rx8s6t܄^oP7X ;lu[sϜJLlFѻ4m+19b'{%QHjA~8q;Ec=^¥b9v`H9fX7t' Fmӏy9ƛ>*_U'KxF/c2M媙tj80m66aH"C1m)J7lvFeS(1{1FQDo.0CdQ)s=tp*Rv^a|Dz"08ܶInA-o3J<)4Ur+,qzK r-t ^6αu{ߠtCկ==q/HRcG4Ơ2fy=1 k&*P[b(4-.L|Yw9l@^=e?Y];S<aWfpalGjp+̮W\c|j[mEe'EhՇYȺe?R9T#6f`N`XrVl }@=?Q"XC77^]>ЕC'wuV{511k5 j\cayiDt_#,8XHPE^]drщQ3ʿ)u:i}?NQ]*kc8TȒD?iSMcCA3!oPKt&xnPK?25src/org/codehaus/jam/internal/parser/ParamStruct.javaT]o@|JĮ*!BVu qco;n7B9NHjTf8? 5Ln]qM9=Aɼ*#)#|׍ +9/":~ٸcJ܂ 'QVJCF2ٲ MF(^:%@S Gõf.i[uEwpNy:FVN/p)56``HSL11ʳS˚W+9$F4Л=x7It|Knmrs3/Y W70O\>d>%C PJCBL Yٝ0_QV* (솜kP+"31iU*n鯭HwK2k2RuTdR%9}Iޅ_aIqǃSbk}vSԸ_iSJ_B!H髂ǝxĐib):c1GWG @Y6&s;b[J[uK/Ǒ;%,B{YF䞅^UFqn?6@Yk?*߉6Vx"ݧdx|F~X9=KBYA_脯L j њ W%gl~/ Eǵ;:\'H=ED8 GO Q˩AyFG9ڙPKʎPK?28src/org/codehaus/jam/internal/JamServiceContextImpl.javaksg`N,h{4U$ajKQI=gd%.^pZi)'žX,=$M-z1>>="gjzCht \5;Q"u&bOV4˸i#<%nA.dp4!ɀ|{4O5__GGg 9 g'@:>;' TCUr͌.'yKXͳd, ]0(X]hb*hll<[eB 'GݿwhR'i9cK=]%Y!< ,ksk'_њPZ;JƓ#뫺x &=2 `zIv¤l F ي'|kP@1ΒÈ6YP^[tx&b*KGoԓ pׁ%ng?I-{p$+2;O2t_o!6/Q]ӛb/=4xJgb@Zk1pi_dLYJ;)ʦ33d2PEm2&n̆kXi%a?Pg_&99 [dϴcg#eJ|Ro h5 E< i6ng-Coǽټm;==`Gl a~̜]6x.rpz[ό\OrPGw㧭n }Bl|ԃE#oQPD='㳿"-ݵQLG:G26?wCA8Y Vy]Bc!ZRrH8ȶ 2t?ahqԥ֛|{Ků)Xti+QڬmZ-o,/m(RK6SB՗)t{ oFM[vp 7>ܰFZͤq}mYbSѭ>Nj^5+@N*>0aJCrw D]/:W ě @7BPY?]k2lNrR,AsVسƲn3ɓQ‚'hvȊ~ GĮN^N"I}kZzs۶xqXAFvxⶁg̰]|s-x{N m,[E|E ~=Ӣ|Cqm1^ Cæ7|kYp3 }l'V{8tD[w#՝w73[xՃƸ Ձf_<5+{^?Mż<Ѻkⴵs"޶u&}a5D-dW/ޑOEfQ=U\᳙}g?_`*S}.ϐ$ӂ2l͊ul˜dAuMwLxo0w&2j \r9 {m 8+vٛR_ #v ȣc/$D~Q :) ]ɥ\:=ƈܹ ޴U`8c641vzfq[E?Wn'X]*)vւ En}HƋBm2Y\z97_젉NIgj=CVӴr1>w+9گ=q|Fњ5Ind ߁&<5oR33u6aɑgMO-~2G^nc6lić}̿{kc4G;gǦ?{^d]A ?ux@VWTXkMԙEJT2S*X k,f iUPkhƪ=tx,^M6,@ޜ,I=Uc ;{`l ׾w'vq.޵r7fU/jnCn7q-Y؀lfOPK;.ܴk3Iƀox3Z j5Vd&J )j1.욈 C=e C;|tow=x/g r)zȵ '/ -DkD&39Eb""18%{9T7l4c$E*li_Y}x9,V>TL &4epJ d$ku/BeE!$?o vٱM]KR|AĻU~ޅ: V-ĊLv,u> p@XgXgp]9(2mYBlsX( ğ2l 9JLϥPBf)@o$kZ$$|%*lg3-p]֪7:<rmx}U~#=4{LpKX|mFCyP+-cWeq6|  6,?'@W)h|ʪj_PKVB)t PK?20src/org/codehaus/jam/internal/TigerDelegate.javaWQo6~/pCcw0v6Xn>tRFRv!}G-'ٚIww};u@œǧ0["s% f LY 'Ѿ a1z nӆ4m14킆h/*]0OA$&UzɣOҋh 'VgҢ";lJn_uKPw3Jw$I3$4$Hfhal g3+̒b3 `K3az2.^B1a3G։鐡gU)f`sqf 3X]x~ DrW֞:"N9 !F /ߍg_Fj4zpCp /EFi_XFA+9D5zttv1lY=!Z3X}`eN ioBx҉BD$n~ 8R /=9)~df e`]Y0[\w۾ W!HRrJr{i=9V'{^m ASrn=v2!m_j7g+E;E\}X{R M*] [\mS]z 3DR>̭v,pGGʶtBJ&2EPھ"oxB(TEC-˨{OWs4 ˹9[*vÃiaB0c]vyh6\o9X)u>|kc }kVi(EtS3Ud:҆(G"l(]E6ʅpQףɅe 5Ms͚וZ-ʯ0 Knգe$v4QB=^AZ ݭz=Tfr2 ,Tovp]rrW /]ӶtR,';@f,7sjVi7BV:\PsBS=$*XGdI%c~&)Mj 5vHQ>C@'6D!8rfn_9۞C+DLq!\ԆP.nPKvwPK?25src/org/codehaus/jam/internal/JamClassLoaderImpl.javaZms6sSSL7͹.=\>A$( ( Rd'KbwSBȩ/<fIM35Pȹl.ǏSU1ELοLiXDHأleCJ%4 `& dY N 7KJ=F i 54~1l6ZSbvvG UiM ?ZׂnT.wF" c@=RεQ|ޘ H+rp2#d6=·nȇ듋ٌ\^ˋӛ|;''L/^ Vc,GdΖ韴Lye ǏE.ѿO+ --I{G)dRtkOA_V|4_ ⋷RFf_ L5˿n{?ketCQ+V6\ܯ5H}>|鍢k~"Z.in*V]])!O.S)Б[Z{uSN>m#߿hc (ĤlENKI?sJ RgTQs4g( sgd)74aBcΥ _hm1$/!!16pLkר|23=?CV:.hl$ Xm@ $#/8Q>ur W P4r(>^GH}&l!s($aL! ug];)Xz  ';\قuN}x[E.N[[Q@rmnyڗPP45U)s^ĉՋ!B*5Z3CY|8N$鼠cseLw) 9'A~d 8$mwx 2˖ZN8;dbn iRm{pmGr,eI}noaa(zwŽlP$>}T+Kn g ,pݎldnm$-G&q RΝySY ዁*| 5Ap!|1Z \YnyR14Z0a~H-K2KT]/FG.Z15f1S3b3R60N琻Ye3n, jB}"ʌΤHF+ׂl5tk3ԈXLS{ppÂ(% F,Ȩ0V/2$=bfۆx)[.pD4Ud7 8S7,UDިq#ollj0?[?y e]J\ j??|BhW|MBH#oVe=Zu =4ԍN`}X[\[hwvlT>6[7Sc` k$=M|HƛiI?Eܖɮٴ :vb8~U2޶_?n|i'|bp o*QnnA5S[q0z5S=WKeϪ[X7oZ 'Ȱ='Oz gEа=B6Lx!؛.MNxG.=:_5vʜtu :ފDñή~}u=HǛc[MPK .aPK?21src/org/codehaus/jam/internal/JamServiceImpl.javaVn8? |hԖ`OuMQmg-"4P"%Y (#-͛7o&0Ńi7XfcUh>R%VGp9JĤ,%kdڕ|!c9΃3z]L[]B k! hS@(u^H*&T-Q|ki!G |c]Odo'ڤ*_.1~VCpŸb+05kN{Nt5eJuFJgV-`0 , Q5\~b^Fp}p^/Sx?b 9m `KˈhOZ7lAXkTi)A(. 2ٖe& p&GGgcX'aiB9G9({ s.3kHdFV<0"sϕ<HRN1׼quYn~el_]`3n+馔oQэWD1oW^b_4ߺɍ 5L&p?}Z/hIPq`wV0W4c9ګQx1Vlc㾁یvRkɞxC"0dkUJy“ot*̤绬9#ÁGX6㖥aLmdǶ5.f籿߄k?_uC>\EH.ц\iTW[p2wMb꟠O!ґ={u yJys5gR>׭wHRn}')w͛t{g6:77w9 tި7t])DS)&td!G&pLe4fc4'S SHeAF)Sln&&L[بfцbU#jTOxpBmcpu9Qj/zek!]r:Hqu^2yͽ^ʚT&}2Gl|"+V{ަ鳗 *2a4H7 >aAWl^eaplbGˌː<@)&T,z7y=ðcSVhUdba;BYgwG{$S,3lRRn>8Nmx/~yN޼~98y ~`ǯ>xWf^1<" d,5aj.lb&R,E9 [#)fYEj므 xr$|O|dEy~P@,&мNgd"JI&@WoNIɀ,Ƞg br./Di$Jj2vwj/)-;9̟ա,Sj(HV`O'աa|15diA/A9qYʋxv@'^fJO0/K^ 62@+q"#UeQCp읔Up Ղ"lPb$+yB%æ6xZlP$85PS1ϕLfv#s^F~Vd&G!.e6P@jQ9п ڲ%VsM](Qwv9 n)n&20(GddfDz@$RJ%((ߑU:;0XWl (FD*(E( τ)EA\&JTE)rN~ BOQxu<U`]ygǖO[Jڀ (]gk.* u{f%I o\3ί#ZVކXӮP+AѲֲ0Ƚ{$&":YdMiqƮc;(>zzM RD>G 7$듄C9!wK)(TJt󜧺8x \Ut^ۛ8PVXxNoe{>a<X U0Q ѥc9™f%% PbyV؋.Vr a9, !apܐ"gol7 m܍bYpwt%G o%prQ?cmz&l(I.I5t@<;?Y <>oX:r8>dc]в>k*l/؏/cIfgn8_ӹwD!%_{ڥ]0]IJ K|Ws[zn$gAɓއdO\>qq9އSlC";wCNC\3Jx-XeP\pƭ(2bǚ?/VMC}D&{&{DGv/\]c* 4vqr,O@ p FR(\#7ax=woRJUr^n,de݄bj1,uB ى|ic3THO}[6xgC4ab`u qVX;HH5q A?NOFV5ȾKDN*MrJgg.J}Ӡ@LԲ;sC*sERhW *R tNDNQ'u@RI(ZC;T3'GE$Dt niJKhˉ-@d_@xB@˚nT+Oex($H3!=WIx  FIlƙFR |1ot X!Bws*cLE~ژD!J,\9utieӾ$nKsv  R Yl>crhwd 5ʣszXޮ2ZNg 2pő4@$&vQ{LYtkO듻nu~+pq1 h·Gx4m&GnӨ>1%(3Ѱmi,vЯb,Nai6D5WC!Yqc8t0HA:T$"< r)0鄁Fv>=9 fSCӥ0ycJC(mFkȫti15ɤ>kP;!YkO#O5z@[9t\3[ -@4]_ĕ=&g0-;ٽloo]{{az>w:PtTU3"G*$Y[u[}EڊݤgEl<Øȳ|QmF53P%|Q8 ]H:҃B5QQn{h ŵm`~ckl![.cʱDm$2ۤ%|c_~Gu=16ۚz- "ߐ#,,r%XlnX}G_4::VVMa{mIBEmSh|+B2@5\?'\dse$eQeEsd&x0CQ-%>#GS teoQJRx{ D[[A޹^y`xf2'Qݙ$7i?lۄXC>S^ t>"㲬3M*Xj`aZ ~ܭJgj,ݵrnŀ?W}Y!YG\t -,8:'30i&y!MeY*pI{]zωQ$ %8U4Ok![MN ) x) ZY8 Ywf";[u"јa+x?W@uӥ?5śIfys=d73PGjA;kǪoTu[USWؿ-e'81RnaPu}%-K*ycջ][6\@C+4'fg+³xB(rEzXAOO.ƕr\j}Z)=76\3VZuxҌѨh%>F!RlK;ҳ( 6НG̍$]%L 9.K4&}7<_H qE1<S}?A9m(<Q_l+qMg{CM}f{ͺה5\?@ɀmsz }c"EB^>֍Ug)́ 97ܻdNn{g 'XR҉'{TcG,"q)g$6;Erv Hݣ/ _2r韹^G7PetI#TLdy J7~PK4)ScPK?2+src/org/codehaus/jam/JAnnotatedElement.javaVQk#7~7?%b>B) pI凜cwJMbJ{g$w$wo6X|Ru崰BV=h<Gp'p"(k`e\- +UTPsk@cl@^Z@ap* h%Bt7P"AMOf)E3lCE`pl05*+4 RD0ޕagQ.*6 A >)r 4oY, ~2MʪDN%RY:8 JO0D!{[(*T#u a|n9\Zqy]E %d_P0 R'PKL O,qe. MT3]ݺG]kv1yL533vxO<r*dzZ]ٲ/Ol" $4X.7҄:7Br5!3o0'gvx-6ёPL1HF!EޑT;u-UF㥢%Odϖ{^BЫ4; (4f54A,8w 9/?qiWSmqNWLiqR:{!~ž=>,itrT#,gGY$:ۄnE:$ûw<P2\Aq)2" )le2\M@,˃PAtn@Ͽcrfb1~^|a?mF'BLwl tP~=_y{;zH@to6N9_L>5F %D,PۇPd;,׈k󵢶)1#a>msJQgTM A* N`c IN!6 e|?4>-uE-.u8.Nߘ Iy7XLmFODқܾ ߑ,a[VԡW`JK=~y{H{6}dk ~XOgOr!WOq߁79}o6 6(Fi鎘dF`A0`O-ՒJNx^@7.ᆳ;[m~zFr  hj g-xAh32t$_˓ҭ סBAOTRaw(/A:K媊M΋]^tƣPK[ oPK?2(src/org/codehaus/jam/JamClassLoader.javaUQo9~4( '5ģl\{ &)v$7|Mls^zK]I7.V8I5ʚ''qJxYIGp/g<.ы9QvؑZ/<-$ vh%L)i*@Ea",pDV!4Fv[Ht܏bG?-''!ŎD~X[D$Ne,hFN-pOĎ-t8>S}<Oe|s3N/t}Cٻz_4}ٻIHPG8U,:-R#odDnE- RF\lUBjB_6zrc4h_+NYzq'@ە*WTB mE"ptQPpAwb# XL>56Bڶk+U~+ڰB/WTsJz(p!Űa>yΪip[ XE97!͍ c~Jk9M^0R{ gLY/\8><QPAk5-3/D(Ԩ3; bئL%#@ `_ []вz7 wuvpާGCRI];K`]M1#v~؃jԣ3Y5uCzAG͛tPqJZ("sm76 g 0®<; Av02j^( 18Zb\JZgt! Jx Te[s?pVƃ vO}Z@zLҳl#xyG Ӳi^@ŗ;2D%1a ],#Wj. g#&&|ćފ]'VDIrSԞ vv)zqS* &Ox!m])cP⨑JۢQRfѬdtVht|/~A+`XY?c,1 cVbS!k`咜dUؔHlL_d;vX0LR`~hYh{=vum/598 4u(dދAOl-gogsl3{Uh2'.1G ]πr_PK'] PK?2"src/org/codehaus/jam/JElement.javaVQo8 ~/@a3 r]KoKsMajeɓ8I^"$~"?~$58+S\޽}; a%2_ pcj />>s'2C0C ~kwz ##xS>pN.#P5hvH0\*|ʰ 5d:CXI_"Pa~DzAl*5;_}u1VDcwϣOw j΁ş~QHk%V`,E_Y^EB#R.2C(4 0hڋ8G?~8pwWwOnLn`8ƟzD!]O8Ybr9Eqdn\ˌbԋZ,fVShP-d;r3o,qGG#Ifr,DQ^&f?KIolrΛ$>!QE <3%GQb={+DAQK!TP})~n|f/c,U@6v=ڹ ^+,Q{h<{%ϊ䡣פ8qtf3MX&MrNɞ ;p*Lhv~W{xXHf1ؔE$ `ŸE,,":oHT쯆(h7XC냋Bkc?Β$il#gJ{tTQ5&D% B,[*Bn\ Jj.4ۼtlmI$ p\{Nj0E9% sP;STYUær|j5[nV0X/6Ò` [skLVFy\}Gdgb%!wR XT扬Ѡ%Hf9 )H8_-??;?cτ)o`׃+I{ !fh͓,Bĩzxӷܚc'UMz:'m0x+7qPqȎxݾ+>tMGP3Dv+v\mb?QǤwjZF AlInqM3v/J#B?}s2wx-5(+h)pZ?e^T6- [>'C>izK3G E=jB^,[y5lv1ƭO0߯ _)m 4"Oχ˫\s~/PKqav PK?2"src/org/codehaus/jam/JComment.java}Sn0 ?9mESSsV$En葑G,y<7l7Ka C"Ԕ{+ˋwLJIh L3~uRvȂ]E".4$ lܡMA#RЋ҃ LQ*ZVPms/⸮ꑱyt'"QVXVIo%a k001oJ/u> !ey+7#+[8eD I I:4IΗdq/jX'+.:Y.t|JC [KiLVy){2%zCdkZb$!R:0'wGl!]01ͬERY|MXGdE_`|~]̴U =iBn tpCFɆZFwUެ[k05ccV* < _ۻ3O;&6I-<{ZS4oĈPb0E;vD1(hC8ʌq܏;jl=m`x`D/S\7_,1 oI&_sʈf?qښ וR }#٨:K@c ;GϢX!+jќd2q)lےBqQTVPs]:/,i-|)8Ô-~ݢb!xqj7x._혃AbzkzR%WucuvSnHNVHy}{u$8 0y]Vts:H\X޿(ArhaNg`RF` $FbK1 @)I:Բ+l*gAg&$4 ln]yG9A׬"LsJvYo)@I[^ַ,@YU )͖SDyQsbmhG~= =F"lA ֐lcZxFa!kd>Y94?t | *joANQ% G G([B]F=YiTH"!аG<%A,)dOR`#tK,Ķ88*3x+>AC6>Iu q^:L4fA~mQFDɴ e),<&&ɈO&xI2W;ìŶ,X5*5x$`[=Ĝ 4pTRDg]3 Xjh{haAՌ@5_R\BQFzRO.Bn.ϱ(J@HH4PDv9ȜO(mb {-ՙ$U-xoߡ" /B:H9,_ Ap"ORdMHF`.'q=FKz$e_0 ^j{hGn_\,қA&ln.%nTVPJ DD>aPWS^Bc@ki7Qc`]Յ0HY^/M @eRc"ܵ& ^c[?rãP.dGJ%Nbf;؏<#ݩ ;qtF~=2ݠ{Sˏx7ak:|2ILz=''}v<=/{ +U؝Иis9=ekJ+%7yk7QAMwFPp-2AFC|Xx[jf@bT` l`mv27ybӣۥ1xnGo!] Kc5f%]hy"p:zr eڔ/d*ZttcVm\CsΚDTkVÿn" V9 ۾ #;]%jcv#R c{{k 鄁=||spevSFAW>tq[c ^mMS4Л``VZ+u[wן_`o``%n@;vtqh&Ɨ!)nt5Mo`f4C-ME~mB1HcXvT 4X&l!䋸UܰI*D~?@AIǐwT`!?Z}ŝ> ^1 Fqgm3I&Q<{Ƀ+p@UYV`\R!-& Nu`aFPΣHV%ԫK Vs(NQ^: :]ud=HF$UOq&*Cǘ%Fp' zl0]; o{]-;{we_oLlO -=/qr&pF΋kL&\7;d>/{1='5+~;ù,+!SYxWl]NŲ @.omC2WCn^KQ9P㸍.Mj_^nm(KRm: ,^ 2S;B=na-EF f,bkw._ŇEҾnB9pBL2<ޙSi 'Pz v jou 3FT0f\,93i z8_Yr4ZiwfamVWPGwxܱə!G̢s[r'ʋ X|RF !P*œFt⺥P0mLR(ŤIeg"ںrB]9tZǒ0CKp| DZm<b2QYdtχٖ6 9"nOՔyM`~Z k҂XmpxYK({DU,pjېDS8X3~;dWIKXc,m HIG;LL•_*^FZ8hCni \O&nhƃ 'ef Hu4x6hߠ0z J*2~ LX/f4'=L570ՆYg';Xh9J#t=n1W ݁c#qCӀ۞/ R?lf0"Q8q%y\\䕝p?}q@?ROt6r(iA69nهuXQOz`)m"7h)(f"p}d+ܙU?Qt%֥KZ KtR.~}ski胦LHƨ$o~벼\OE D[?['p2YbB'x '`q[ 3}=^/ sb RM˄dr@0槵t5I=V plI 0e={_>3鵤e=;+wϠPJiߥWZ/;b%o}hT*PFrI^Bh!;3fVCo5>oGظ纚"a[T]ϦM% r}roG҄c7(74PxmGX9ҙj Hȹw\Yߖ:/sZmb*:b7ti+sA =a4FwBؙ4ahM`G&}lH_C:}p7Qa&"OLD m*AM|\?2y_9ٺ*JnAg>28v 4s9'S->ttYBz |1Lh/E`B]ZX0]UR™Y0+UF5 PK"~@PK?2!src/org/codehaus/jam/JMember.javaV]o7|7Cl)dAA&a9 Hݭ$&ȓ"%yd-a>ٝDtaMKO/?nLZڹ_mBym:{swܐKo;7ENdQzu;OQ6RmZ͵ao9מtE-kU3_T)P|Na+PSn߁/p^3gY M\w6~ ;G 6j ZmH-;o^W>DhTh=kZ4FSOh:SO_>ҧhr; ]\MތoWܽ36Bou#uz踜2՜QchՂiaWT(jnJ0R06a}!h>mKպ* O#/W7, \2z%x:c*!I0ʹ e2Оܴa`*5ץ!/mu&6T+mK؄B\U7sINv\J^@,OZ*c6=)QԁaLBHankΕ2$Jf=a8.c*\G6[t7DBlqv(樂)ɂE\'=l )VIۦ5A0 +hۺθ@1襲eZW 7{ۇ ,cNR)xe}6˭(]w奺0w2gs$)bVl|[@k$ +Fi?q%j]xX1ۈ~Q+od JȺs)207|g8C8jOQf{`eOE͵RF xJ;Cziyw/Pcr槠pޝOEB_0~ux7PKGt PK?2+src/org/codehaus/jam/JamServiceFactory.javaW]OH}G?CjMa"Ъ0q&P'Dg>jU" ν~̹׽="bDzsp']53dӉ,)3B;gqL<|JLu.t3WMt@m+ [N?hYɒlE4Tj5BLd] C"X΋L<&u(ȉa8pj-KlԘm\.#GR%̋hx|>>7yƵ&-b6-I*b3_*aDtIMSԂF8l ,`LqGnet暾 ף1]\ztq ο?]!LBY?V:ck@fL1OJpJ䂫Q\hl S)sa\Zowgwa!Q,Y[Ѽf בA<6ޥ%war#Cylrɬ !G\Y =B;㬜zq4'\* 'UX )k#d݊p@I^Omm"IS7=\GG7Rdj w|z: \o@j9RG:|?+)M{zao]0n&K*Аe,E^eLdoY4S3-]$A% U@][jbOp|29Fl-WG/y\KQ!Wܔ*w503VfyCE>g"8tv- ËfH&I6`Zh/҇hQS8-:oR q,ME4$攈Ӹ6>2D7W92%7iV {*ԴլI,.+q\*;cܘ=Ve_gl6ԡf(>,K;?6!+'qj#=շ( ՕoBcM {9>FA<6BOɷT wο4E35}~nq0|ͫG}T<1)_w*[P)&juV7Є5Yy[]n ?Sua}Fz xiWnzpu23% b; HD)E-rЊWvk?|UY"%.yNg :'ge JŞ20J%],sG*XyDK)P`p7j%Zƹ`"]Y\G٨[oDZKFY({9^'bGڐXgN;=ЀT(}4:g0gy [a.,tO֍^R MPa Z*8\9;i%arT xcb*~~M!vS Cs[ŭȼzYJS%j~Xzn(8Ua'Y, aa`P8M ZY]VTlOy]ua0KGU6^=ob+:&'*Ůp@Q)kh/q u)^*/9UZ"YfO[+_х/\ko _~[̴I/JHuNb3Ԙ~|MgwB#Σ5^>`4q9^.Q ԕ|C=eLJ͓uć73}a2փY\'=ɿw?? bB|~,oÛ_PrUS=^z. f7C0jPK^$PK?2*src/org/codehaus/jam/JAnnotationValue.javaZ[o~@%ve[h4 Jia9 EJb23Ԓ+Fs!93$]7vY|spDqjV/W^rh-sH+ԅ'?{sU;UMY}ᗁM8O*צq h'TB} ]TR:WbXBY { c^ {m]+_m8l6$3cÒdv.sª?mAk/saK7oP^ˁp@[=o|(-]0Z<xHƳAq|zR|]\&^l|9N+1.1 ^UD,gJY̭U:e#J,͕5&VڡY0RWړ۸]ჇH rSl\IVGw?Y?P(=@JB[KfT#d~[OGf L@UTd89DR^BH|~ VN x pk"+Y^sSB\i+A+vP76KK7w"BHJ1dB-tRbDU>)FE+#ipY|ct W(+QNTKm-0Vim͕. 2)>YbDŽF!P2x$Z6rܕ5.'$Tg/'CC#F3Va XRn^HjY"B"s_Br7d-%CQ2,e /d7 ũ, >b$q<Cr.`. b8,L^ "a ;ŎZ洄X)ubJ"90!s-8ҙv]u@ q:DZ s17,@"l(^D\&XnYr#]H %$1%A`{vl_7f6W ǗR|QA[[CKk.QK#jEeK!-DI  6le`~\M9 ױ<6'3<2A%xK@+onB Ě3`[ R&HgMM5LR#N5& kVC21%#9m z32)nDw ڰjJRch+QGC5ꊏr W_|#˾RN dX`U`6]>\lw)+8JbWQ4֯?//J϶Zd$*ZA՚ҷPQb Wds*ʂ.}\6[N%2C, c8{ʶ:$(-`@<0#D~늹1!*r]Z @ @A#r8 4 rh(`"Eo~.x`,Gv ED3G<(t)Y+؂j%?b}KyN;' K  1C# 04, Q?TE-((f$ `+LvQL6q Aooօ3j@òV ES<AF9?dx>nwn){[Roʚdv%?ܻ,KKfhz+8W*B.6L#ǩ;sQN@eclKT>kp;p`_ث!%-,Zckx\Z~Gb6Pc:؛ug5HhXTqR)²{vRo4/P4Pv~ A4@sH b+7ކ{)Y P!LܡINEh6nSH7=p[8ׯܞ* .nkNMX hذMfƛ|w_0n!=ÈΉ%CsҎ8&VT=αyFfFd^?m =0,MU(dOτ׆ߴthzvu:cW4'wK@l[ٔ&~. *|Q}@ phqMxpcM<|4"a;P>,>ǭjd#yCmz+#Aq`4άu&;7Ϫ k-3)eH `7MI^&B7h[uJtTƪV'_Us^}֨ZUT 2H05t+¨CV&)K,hX$MbrzvAը!o]Th_bCp_Xv[~VA$rMfsތ'_9 1^t bA8oeVs]w,ntjU,}ٮyB>/PKRFt *PK?2$src/org/codehaus/jam/JInvokable.javaV]o6}/p)Ke9aX$'-%"D5KI6's%ysWܵLJ8KTY+UUg׻*[ =KNՋ 2қ2="7ԌPZUw*JT|I)mjEYIT#Վ*jYF)t-Ħt)UUdƨ֕R<4O'6+28rB7-jҋVSL]s}ǯZR`FVS<9d B$YΦW_sA#_:.Pn- Hu)TidW>BUe2۲e p,Sg*3,AL18-r8=P$Ros.MI̮4&k]٩S^|w$?leMn{Nj?흴nJxg?w$k%V̞Rfj/E(VTo*ҳpP2;?4(e' }}':݌6U3xa{VGD]6{13:s%k XKkSRttީ)mWげe}ⰽv*fuع/EZ&Tm+$E(qC< k1aSr'CDiG!XC@hNbG7 ܡ,IX\Aq E1H0+?.0Xğlޑ'I#tiꆱfc7,OCycW\Ct1AbILх;ۼ; f`=!∼`ԃ0`7aPÓ@zlwV4=gC~r-F3KWѳbcPoW,EAxtÈ#?qc"Aص#1σY$ba8t00ug\axo2a_~b쇭C7>Cvۺi%0>K|,ۀnD䟢" |",nWǣb;v6D".Ƙh]=@?n/8Cj4{' Z0,\Ht4}24W4 CZ|9ɥ= 5Z8=sG.9}u-.Eڨ†29͕%oBs+)*1ց`~s9aV._򴒛,>~mzN)h8 hA-f+UHvJzGB\zp󅤢+D~rKnɓ\InުBfZt? ^ڜ'KYfgɞ'/$._Iyi9F*5bCe6 p9no;u<е!\h-2 dU >WW|+`fB2tՇ(v3~;EfVF1%Q"naج*+g[%h/u17xOPK XE PK?2"src/org/codehaus/jam/JamUtils.javaXmo6 :rSVK1gEΊ( Z-TIYdMbhm%@Gs%&ݟaph,ƏH͌)/d2܀E3Gk\JJ쇻_jz,`I#4Eʁ<7 24Ob3a浇CЃOu[`>IZl2z(դ:s:vN{_sR5(w!n8c~1b)T&㚑L #I/G mfeXeՎm5=Ϋ^//۽A4%tߺn^@~kb(~+&+|T2|)tb,bc6)؄D^s j*45[c#06z}6Zksa,GNylbUF^2xM"W- #ҰV:HG zqDXIM ȏ$$7a04'c?sH,J)a[n3,& 1 XF F2Ӿਕ,ixm*PHN Os+4S xI=\1's2V&z@rƿSD: ~C"y:nZ&2#P8y-?81_T#gK\oå?g^TpPX谔%؇r[zyfv팤=1%]!Jb*V'"@_鏇[05*JbMUAs2h')T^4h:pAf/xe%Cg5oS c*/. ]Єw,,^Z%@9)<Pzy֜XtKoכIiГ>xyٸy.2y8r1&8kh`fd#ʫԶۧz> WɨYuIecT*q$1)o r6'arҶSlY ԨHSު)%g5aa5 y~rbPgMpP^E$B>9.loނAhph~x Wn9EXŲwa SMvee\D@Pz?+ϞՀ=퉯gWiѬZsX$p?9W\7F8qq9wNՏ=hɌݳҠiU_e taekTss"3ߒ<LWef޷ѻMng{y3XŮFG~ i7"5nMWVeap[?7*B>G{Lc2)kA8[5|g<ѣs[fǿNy߅5 nR3ħj{4ލH*k1}GqSbu3րx0mB}b~!̟`U,ȼy^k)F.T7oS O2l.E.u麠{'j.;.}yѾl˅a'ܟ_y-lF&cQv:bk=ߑM(h!~OC6𗌂X[s_q{{U)p;{NkNe#EFG\`w:O֬jrPKjUPK?2$src/org/codehaus/jam/JamService.javaVn6}C]}jb^bŰ+ZbBIYu)u[D{ιхi6VW/_RhpYKԇtJR;Yމ%}_zsFuD/8,8JNƴTjuh|ͥjMhu.)_ƣ8|I0&= VkSz߼Ls>6~\..l8GVjEن3ܑą&.%AR9oUG"l5M4[/lqp>nӛvvήx@m6F q|mldUW GDV'J娱.Z. [4jVh.{$*cliÃ(Р87K)u{;9ۼsn\ًhLN|0p]sԕ*/dZaѰ4bDbZ |j!v r}{h.gAA9"6lA>^tΈAIpФ'LB !9PrlvҼۆgn} w>1b?k.BsX7GGhiI\T-VvJ;HOԋO8F|kSF )A?6QlwmޑO&85\"AeU;ϵWA;x77>d1N|h,ThWN$UOaae}Ӛq3 I=sBkprd.GŒLV# o-v P`*ZL[{ J˰'̠o;$4cȏx V: tK]։yF aZGɊm(AۤvAFf9zl'\0P֓H]c4i: Z*U1CҰ' dذL-dϤ8!dEՃMm18`#7ZXJ$ABLmªqܾT'OҺQ5?Br } PKEײ8q PK?2!src/org/codehaus/jam/JMethod.javaVmS6 a86'`pLCnbo䄴]IN Bxo*;K]/B9-A֍*Zѹ[X=Cn}.>I K$=6؋"R7P%(H0Dc@*uURa!̻@ia :!LM&][CfէYX,RᩧL2vpq8#Uւ4x &~R,@Si0I5MƄFBZgqIlRF`?h~$|CU=ӕDd< lN+sP}TpCꛨB[tXyil_VBz- uC>}߶˗O> 쇝y7kql^q ى*zXH7|\VJ))CR@i5U/RzoEIC` PK9x PK?2$src/org/codehaus/jam/JParameter.javauU]OH|G?xX>'xtV}lg`͌1YTWU43"vƛbo\ MjXUl ݸ9WЙ~pɤ S|;7C9p4,^ (P\&`LBITL5qݕ88Sm8ןuxܶmblamv=/砿w{e%Wc<2NrK^o*FC܄Mw&n‡ +:,h8'b4<Ζ}_a2_Φ {rv7 M?^uQ{%zyGdzb̬LUp!TQ-4A@3)Mb>몍$s WQREԠfϥD`L„UY7YtWxM-ʒ*E hjZ}r.3Nv) Jxg'{kF{>x%%{Iuy*|x*ՠnR$|NF@ BLMD9wNUxHْ;^[BGNNvt|l4C:q`w8 !*" ]{TƾJ:+]gK0&.P@ЋqaʋktɥOE kؼ:\9Uk|؎p ]~2n~]tR7]C7oT.vzM/5 bDMjp=a_ݨFt֖ގ' e7]FG`"H 2+8!^8($uy|7XMYs(/PKTL|PK?2 src/org/codehaus/jam/JField.javaUn8}HY}J``Mr[i1F6[TI*be \ 9sf89 lX?> ki?r] kݪj?݊x ]\\I A>=aFe[q J;h-1P I@5B׍ ppTJ#}K[5 ڹd2l6)6mvq5˯LYI h[d7 9opBQЈT X=[aeDiY>?y'kNl]p7efv =. -xˈL.APZ',VX Y-o~В$ %nz+3`wEu%DѢoPX*m#a,ؗoP%piOtΆTóIxm 0 p&ll $:0X.oX֥gS[m_K7\{ZݭE,?8cnZ) W$Xǡ=??}&me~]zrK|]<ՈhAo|{îT!,n-HF<]\^ID&W oFePiŗGL#`a9: 7hvCDJ?Ƚ t1v V=0P;R&I_׾]?bؕ]7Ό:PKegPK?2*src/org/codehaus/jam/JamServiceParams.javaZ[o8~/@ab)֝6 `DleQCRv<{!)Ѳdv{ 0D";Wj1vʭe?=~]-<jn7\ JUEƭTTFd lϿB~J.8'VUlŷPUFi\悉TɂjU`it'x2z2jf9ధZm>,-F&zbffrzv>=E.aZVI ϶_gu7LiZ;V3^R&rV%nAP#/x&#b299`TGRD,r*#s3H\ cBZ ]hz% ˕/6zgOR%LN%{C|3^%F蓛wZ%0{V97E%[ި4*~El&R%'{O/,GpFޞ?7IN[Rb5_ XlKl2]ɩkIl氖jDɳQs 缲K%)0CnOĊ)+SfXoǜÑȟa@Q_ҏ'w,Uf)26)Ҽ|c+ |R|[K0v,žCęcTҞ}!( JmLk,|mEJ!k'$hIY3 L`Q$X[+zSچHI[SumZO )t$XcF܉ :wJoMCRyB{⚧)ϲi[l!~ Qб"Gj4 c`'Df-RpU!٥C!t= Ai|ա͓91 ;v__fZm D ZžQ:l 9w.'HH36@"[AP]4+%T$(&f(I1a9 :0R?ix۫>IK-x&k?>{|x{}!>4ş5QU6m$]6v-G< Q5B+_q@ 6V8 J%3mȖy7)9OG-49a#lߜ9~ᠦ+/9x L;K-ndq$Ŀυ6C *bB8)l1=Aص<)<[ ocRHUVn =d% 5Rc_f[HW_`HP;&F󝦖sT`/e#5Voi$ L]3> 6%[C6x`~]ߩP V2;.Q-9F煁֩I44nЧ4B ȎkJ Y"o6Ke5ν\4 5)lhcxź+}2VDGhuЄ|t%@!1H2~|q϶30)Q-⼨IR|sq0mbo6eYL E\_dž77mYi bc.QrgN %Tx}IMs8ީVpM촯{ -A@9mK] g+*k1ʹ|4أn mFZ>^syYQDX X]IU"c pZi:1 MY16;ۣb ga !Ueƀ kIwt?|=؋vnPצ5t*p&C#mBdb2 aʘfh3Mŀ@!ܚZW=uTQk-|s~\J;RbHT0ͻѢu;]Pq LCD "54U7T྾0oAEʜoZ *B⫲/a?&OZQtn?> E+C ArRЈĆ83mpW.2ZxZ PK1 6*PK?2#src/org/codehaus/jam/JProperty.javamo0Ow8iM&ī&JPi@:̱4T9M}Pw|n&X|)*t^Vѻ;^ ҞJ5rn|$9g0nKK{)ƴ z4J*&iA'CKDYJ91ˀcn0lO=23\ }~6='# ЊG_[2%S+8;'dhTJ\ᖉW5M {bR̊lb&bvR9LO/g^d/Bo:VF{ 2$J QW-VY\Xrٞ1! j;0% 6S{?PEt5Xgֲ$_pْPݫVJMJdy;+ u]fQ} wg?Z* ,7"@ԏHL$ -)N|?$Bw?l9C*(~Sm6 ({e& \9pe0IcaVfz )xI%#>FCtޥS|W:n Wnd2)3e=g5KOPKs~"+PKzA2 META-INF/PKzA2YGG=META-INF/MANIFEST.MFPK?2$ZR src/java.gPK?2TM1src/org/codehaus/jam/mutable/MSourcePosition.javaPK?28[5*!src/org/codehaus/jam/mutable/MComment.javaPK?2"?"(R$src/org/codehaus/jam/mutable/MField.javaPK?28L*&src/org/codehaus/jam/mutable/MElement.javaPK?2`Rh|()src/org/codehaus/jam/mutable/MClass.javaPK?2WQ< ()/src/org/codehaus/jam/mutable/MMember.javaPK?2ͪ.2src/org/codehaus/jam/mutable/MConstructor.javaPK?2Pn)m34src/org/codehaus/jam/mutable/MAnnotatedElement.javaPK?2DU-O6src/org/codehaus/jam/mutable/MAnnotation.javaPK?2J,o9src/org/codehaus/jam/mutable/MInvokable.javaPK?2='*@src/org/codehaus/jam/mutable/MPackage.javaPK?2%&)HCsrc/org/codehaus/jam/mutable/MMethod.javaPK?2+A.,Fsrc/org/codehaus/jam/mutable/MParameter.javaPK?24D;/Isrc/org/codehaus/jam/provider/CompositeJamClassBuilder.javaPK?2>TX $8Lsrc/org/codehaus/jam/provider/JamServiceFactoryImpl.javaPK?2N4Wsrc/org/codehaus/jam/provider/JamClassPopulator.javaPK?2F{&2Zsrc/org/codehaus/jam/provider/JamClassBuilder.javaPK?2#" /Ubsrc/org/codehaus/jam/provider/ResourcePath.javaPK?2W#,2gsrc/org/codehaus/jam/provider/JamLogger.javaPK?2W4Njsrc/org/codehaus/jam/provider/JamServiceContext.javaPK?2iD[ 3ssrc/org/codehaus/jam/visitor/CompositeMVisitor.javaPK?2LQ4Gwsrc/org/codehaus/jam/visitor/TraversingMVisitor.javaPK?2@C&(5,}src/org/codehaus/jam/visitor/PropertyInitializer.javaPK?22kE\*src/org/codehaus/jam/visitor/JVisitor.javaPK?2c*˅src/org/codehaus/jam/visitor/MVisitor.javaPK?2H< 3src/org/codehaus/jam/visitor/CompositeJVisitor.javaPK?2M܏zj4Zsrc/org/codehaus/jam/visitor/TraversingJVisitor.javaPK?2B ?"06src/org/codehaus/jam/xml/TunnelledException.javaPK?2!*Ӕsrc/org/codehaus/jam/xml/JamXmlWriter.javaPK?2T#,,src/org/codehaus/jam/xml/JamXmlElements.javaPK?2 {(*src/org/codehaus/jam/xml/JamXmlReader.javaPK?2g6o )src/org/codehaus/jam/xml/JamXmlUtils.javaPK?2|Ж^ ;կsrc/org/codehaus/jam/annotation/LineDelimitedTagParser.javaPK?2s5Դsrc/org/codehaus/jam/annotation/JavadocTagParser.javaPK?2MW=src/org/codehaus/jam/annotation/TypedAnnotationProxyBase.javaPK?2gMo ;src/org/codehaus/jam/annotation/DefaultAnnotationProxy.javaPK?2]KEJ 4tsrc/org/codehaus/jam/annotation/AnnotationProxy.javaPK?2zsrc/org/codehaus/jam/internal/reflect/ReflectClassBuilder.javaPK?2ʮWAfsrc/org/codehaus/jam/internal/classrefs/UnqualifiedJClassRef.javaPK?2 F ?src/org/codehaus/jam/internal/classrefs/QualifiedJClassRef.javaPK?2P}=6src/org/codehaus/jam/internal/classrefs/JClassRefContext.javaPK?2W3<src/org/codehaus/jam/internal/classrefs/DirectJClassRef.javaPK?2VV6src/org/codehaus/jam/internal/classrefs/JClassRef.javaPK?2s8>src/org/codehaus/jam/internal/javadoc/JavadocClassBuilder.javaPK?2l N8 src/org/codehaus/jam/internal/javadoc/JavadocRunner.javaPK?2l_ 9src/org/codehaus/jam/internal/javadoc/JavadocResults.javaPK?2!>O Gsrc/org/codehaus/jam/internal/javadoc/JavadocClassloadingException.javaPK?2e'3z?src/org/codehaus/jam/internal/javadoc/JavadocTigerDelegate.javaPK?2D}TS4>%src/org/codehaus/jam/internal/elements/SourcePositionImpl.javaPK?2Uf>o 9(src/org/codehaus/jam/internal/elements/ParameterImpl.javaPK?2w9B*6-src/org/codehaus/jam/internal/elements/MethodImpl.javaPK?2-q=5 3src/org/codehaus/jam/internal/elements/FieldImpl.javaPK?2GNw87src/org/codehaus/jam/internal/elements/PropertyImpl.javaPK?2ZS<@src/org/codehaus/jam/internal/elements/BuiltinClassImpl.javaPK?2p\E/ ;Gsrc/org/codehaus/jam/internal/elements/ConstructorImpl.javaPK?27 99?Lsrc/org/codehaus/jam/internal/elements/VoidClassImpl.javaPK?27Osrc/org/codehaus/jam/internal/elements/ElementImpl.javaPK?2`[=@Vsrc/org/codehaus/jam/internal/elements/AnnotatedElementImpl.javaPK?2^ vI 7n]src/org/codehaus/jam/internal/elements/PackageImpl.javaPK?23d7asrc/org/codehaus/jam/internal/elements/CommentImpl.javaPK?2N >esrc/org/codehaus/jam/internal/elements/PrimitiveClassImpl.javaPK?2R:lsrc/org/codehaus/jam/internal/elements/ArrayClassImpl.javaPK?2 @T5rtsrc/org/codehaus/jam/internal/elements/ClassImpl.javaPK?2'\ 6src/org/codehaus/jam/internal/elements/MemberImpl.javaPK?29֜=0?src/org/codehaus/jam/internal/elements/AnnotationValueImpl.javaPK?2^ 9<src/org/codehaus/jam/internal/elements/InvokableImpl.javaPK?2lK1W:src/org/codehaus/jam/internal/elements/AnnotationImpl.javaPK?2 +:(src/org/codehaus/jam/internal/elements/ElementContext.javaPK?2My?nsrc/org/codehaus/jam/internal/elements/UnresolvedClassImpl.javaPK?2ĿC*<Tsrc/org/codehaus/jam/internal/parser/ParserClassBuilder.javaPK?2t&xn9src/org/codehaus/jam/internal/parser/ParamStructPool.javaPK?2ʎ5osrc/org/codehaus/jam/internal/parser/ParamStruct.javaPK?2;.qsrc/org/codehaus/jam/JamServiceParams.javaPK?2s~"+#r|src/org/codehaus/jam/JProperty.javaPKjjG'xmlbeans-2.5.0.orig/external/lib/jam.LICENSE.txt0000644000175000017500000002613610320272515021150 0ustar drazzibdrazzib Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. xmlbeans-2.5.0.orig/external/lib/piccolo_apache_dist_20040711_v2.jar0000644000175000017500000044621710627104471024631 0ustar drazzibdrazzibPK$ZM3 META-INF/PKPK$ZM3META-INF/MANIFEST.MFMLK-. K-*ϳR03r.JM,IMu +h)f&W+x%irrPKYGGPK YM3src/PK YM3src/com/PK YM3src/com/bluecast/PK YM3src/com/bluecast/io/PKYM3,src/com/bluecast/io/FileFormatException.javaS_@?0=DmW>Xϣz&twc$EB) _^@xw<;2fsåpsv0rx8| ?xk^O#K%9\Y ;LœcそO 4EBjo7_" 2d/Ptj ˳N:I]gFUXmƼPKm&PKYM3'src/com/bluecast/io/CharsetDecoder.javaUo6~! \1 sСa:{AQ tɤJRVaHſoՋ)}'W'pI>q)EwD:z ~e!az8JT&53_Xk#cc!]̠`TUC,hVGx'3TshW"jOw҃?X >\pYwtvyHֺX"-B kRAu%ZJSEN@b7jtq۶#mqm.O WZ.Fʜ%jҖWm@, ҙӬ5IՅk@KLW'T*Pp6C2?y2/atw7'9`<&lJo?h& np$Urad:Ȳ5f%X , FlId*N8,;Y|zrzBU٨QZ5 "oiM[{~*iA _sjvhDѸ qŢoB!NC-܇|,-SФ8XrdGOiG9*u cGCCB^ Sa'ƣr(a#ٕJ jM#NԢQ .\Rm2?sq]בhhGj]|t~ԟn"UI/Q2L5(,q̛K] R K\W}Lق lMS$i_iZdmyfX%̖d,|Wrb=6`2{*1--WR&72cDA(̞f]( CvL2oI/|uMvUEp>"ĘaSV~fݧoRj@zaŞtfJ|Jk UT4]U}`i* ]ՏNr UwN% ݽi!11` XwgWw~6 uj:0RFta]ՅpO.C!L1Ѡ^a0G( Ɛ& v0XD:҅ߨ W]B: drX He!7H(@#,p >9Bdq FQeT$d?}Nkam(qx?̃ 0Nny0NW0yĄL.H*wC!6d$e2x#jP9KRB-/P/qC6$2_rl򠻒?~GBcČrE.i+fyHC$i>e Dixhe%OK0hUy)ihEz@t-[n{e|kUEw.ot(S65+:(Y)4#[G>w-CM XC$vZ܄j HN4f'AhlWAHu 9~W͊v=7$YF3t^nQ ~9ʓVхPKh//mPKYM3(src/com/bluecast/util/IndexedObject.javamRn@<7RadD7U#DWEl)8r\oY[Uo7Z8̛7o\,&ʌv-WJ*bŕ ~pf\M?a_oE0U8spzZkƗ/CXh) -e_ <ȔJCjaׄ)zd懶T%^# zhp~ۉUأT!V+YhRe!KjSR)vݞxK+@pIŻ{*}jMx)EG6C4%[+{* 2.9%*&Ƭr-,ZFh2iIm;88@Qbƈq:hmsΗ,.ZF9">ߍ@DJ.تtCb#+2r%Snkr%]r_HoqC6l2 V?ݵ'8=5Xm:h9EKz%xG 9ٖ1tl`I:}_+@B\~PKPKYM3$src/com/bluecast/util/LongStack.javaT]o6}7pkIdIZna2AZʤJRR!}[Ib|=#'QÕذW 9Bv_mY\쾀#@ /R[יm# -zX(>L 5 W#\b L0-XBvǃO4`n 'd+Kذ-iH(\CsO0$rS䜉&k&8CmQ0j`RSzX ʌ)AP׵ھT w:.gx6""GmVrE/V-qj Z!i׊.h)t@+t1%  @&`0!~G`>G7/>t~bX\b!sz [#<**ƶ #vh&< 뒭ֲB%H6\CDrrᆙ3uͰKL6~ix>^p|Q*")zw4݇sK3\if+nͷsJ \ҩB32[VxŌcΑt0PH=idmPOZ@.1w\r\q:(h:UWOV)`A) mv6RhJ%Z _l4:\cdJа*ŶE~QE^Rl[ÁSd)e~/H$_ѽ`ب/*93Qsk=Ry[ӳN4!(wq EJlëklk˟{:jӲX'҃{Did&7\tLXSCS|ȡ$G$^N.mb PK(V]PKYM3#src/com/bluecast/util/IntStack.javaT]o6}7pgIdII;jaB;AZʤJRR!}q}s9G776&0}|g3D;{dM‡RYD[cCHhd%<) VF%H\CDr 憙呺vX{Wf_L2~/8sGm !a.oYer"ˮr FҺ ލOcqAeC`K?VxL˽c69ځR 5eL#mb%0nܡzY?t.lZF{u]ͦE,Ǹ6`h`.R#F[,4\ZΑRlSH教g$FOo6EY!xAA-u/ 9 1 +rrϩ/u}vy:/*8(Vbg.Yx:g6=*gu='WfrŁ!vm5菣}ZOZ S2[Ok~t?~/PKn7ZTPKYM3&src/com/bluecast/util/StringStack.javaoo0OwU}A $uZUI2-ZRCWUU_pWdeSq( H1s{?{GpN!2IdX|}gsVC{ 8w~pi8=~ lD݇@.RB'IOƦ56KW(=h yGޓ\dr nN <؀bkDI34 0bL p q2Kg2FXp3+:S)Ta(%_r(0fkjLzc9/\/Nu넾N5GuN~b6$b(`g˾PШjY0Nh5p VdA9 d>|lGaTs2sjvov#_B;aG>Aw_y ̣J*rkl1Tqc8,b<$cI2G%/HQ͸C9rBϸa&]^{e?գ {Ca̴2EG6h 9.P:m;_ھv ]ِ`iu_@W,nNksKi[WUm7&IW<繮pdpILD'@bR k# ΂V6 1Tl366dJ:[Ktv'LxhT郎B;OV) XS+ey:^VJގƹ5jc^ɧciH!s Њ&)봊>ei*]G\`gC@6Z$Rb':?.|9eR.GCl`QtF(~ľފRcp}Zc],ˆ^/3C*@\hK, Y2[ʃx)K9j[Jd: ZX }_;,.;{(P[bi%!2J)TFh[;|ࢗN@m);va4hmm'trGٓ*0~p眗-K&.Em CgotRXr0:#{_Rm(zq$s&頳yN_gO gp L \H.ؚܿpםNtߝuO^mfAɐ2 Z0 IjNH&[Jp#xB?@$ xŚO\>4rr3?N"^]pHlz6JaŶF҄?p%!x*|z6\W[jDPJf(0Y`ǵ2>t6l7Nh0Oz9 xBd|K}#_,Fl m 㞌FՆ$ \ q}R@Y1[</o>mn4- n/Fwkv it}I1BXT1%HJb3Cy&_~AO( jC%a;uX3AޗdBN{,n*G/R#WyF)tt0C+|xPa 0!6.ą;;/` S(Q,X*PdN>UcmT/cBR<69t4o>T.ۺz? MZtm }L5CGLMUCPW,5gZyDLϫ{+kiA5D~#QF_!LW hXG#аIXlH`,|[Uӎ*f_3ąCG!V+ |mלkegUҀsdhɅ6!(}1OWYZj'PUuB{e\-3` н2s[Sq`^*/햭O5&\Jzi,gb]jβ:tv(2#(}|jȢ:* TN5@8dK3|u0&1~Ӥ,z5H/9եcꊊVɩ(blSٟPQ,^S*DyGd+}~A "[$Ӳ}w/RC5AhO -;wlJ'{e9+TToox3nAO5`9o[\5OtEEv#1Ϭh%?qG0vDhetpdj"#>t~R>  [/Ny lsm/Z(PK\mPKYM3/src/com/bluecast/util/FactoryServiceFinder.javaVmoF~R&6j4QS>.f3άbSAzgfcxN/VdNJfx+MU >p't..;.MSɣE7mq)d*nw`RV; #Jn-DF“x@cVpw bVxj_U ]Rl@iEBf2G RAE.-|W(EOA!7p/I^ci̓r]zzD%^hP/QLLq.֠ Az4s_餚3+IڷeJ-;PVwttR|Iǿ ;v7nO8[G0\Q0Th39楘# @lR:Au>Yr?oG'y..̯) <:>?bCΟKYQY.ڈ\@f^DҲ`80.Z Xb},7V16%J,WnƕFY3in)H"M9^j2Pڒn|q{YB7'nsp}o&p1_7dLo ‡p|xt犽 A"h̳Vc$2"E)l*% G qȕB=aHC͒#Qh~ yeJ?Y,La_?@r"̒A /,+V1WVpI# ΢ҘmdGʀԵVzIjV79QmM]Zӹ#+ QVY{51) +V3YS̷5(z^$' /00Z򤥲Oxu2Iy=,gH9+Nv՞Xқo5no^3 uRh2FYg2b"tCvǝx^lrN&EVL7$K`! Of_12vpZf=t!8c1{>"nESU)4E܎L?lT?+!%5=n) p@po7ݍyj&Ch:, $ Ep׸qd\EiFIݤ;F_|4yZsh:TUl ӫ}{كCn ^r߉dێ鵻VdL峵kr{1ad6Yx ܓGA~峎Omq ĖƜ }aah Xڴ''w)/(=T_PKha&Wp PKYM3 src/com/bluecast/xml/Entity.java}Tn@}<$$R#xrVS0bf[1Vm-$gΜ=s[.,;0ɖ \{ޭ}t;:Mǻ2_T`{ГYx276´WBဟPA4(Ԩ;op#cE XDӆ'TK׎j\nMR! kWfH.3!̫fymX0 `l lgnLqݢ(VvJܴk> oEweNbiؔ% g^(nHڠLaMsmf|kTm h!a >ak`e8g<`h ѰLѐ>?|Iʔ͂r[ئ!⎌e #>%(%\d\&kD)_pLe<Ȯ:==_/g[L#Z]%uR;ew&wXr/R;*{% RQՌрKNIJ"5Q/{ԨG*YhFjm1Fyo!]J»|LJ4,ԍCew!a .֐#yI7J&-:Pr f7ղua2GǴq܂~hppG}$>F)_<vMZ|vqҽwJW'F{L}Q=|X>PK~aPKYM3'src/com/bluecast/xml/EntityManager.javaYo6Ӡʩ+gW{o ;i(-ӶZґT~ÇޔN=$ǃ^ØPn#=Ko⯃/__GCzO | 4wك89pj٫ZẊQ&À2AW F eg3"/Sgv74 89%"J(`FC@ ! %QHX@aʭdq|KIp% ~ˤ@d!;>[)׃~ۏfb1\(zET(c' 9j" %J=ȆS}CMD{©ZBpʊ2Ie4 ap6ZdqoGɢo`~4_Fhz;/`6jr;MߓU(9ч+-PP:`AiEul ulb&^P r@!W( w$R6ϟ=VCeҀ?좡Db.AE0χ0n 1*X>ZA7_ EJM"r3q 3(a L¿|t obM~4݌os}Qf>=2ɧeGC&2D\HaAl #`i`P/"~$sJgyF%Bb`` b$IA,k-Qz@XKX),գꇯQp^}_#[_kC&ȫY dV.3鷋 \ͩQmp! WE2h< %~5z~-}Mfҩ3"}c;F rd;$L)[MPC,>x`z5鄅g YfG&̠EkZB[PLI"WQa{XQO(&F%;מឯi(^$d6qbqٿS2y})Jqqp(J, J*U!:9c3SN0nNQF=ƽZnܙ!U4{3qi! ^a8QL˥X yu?NM)aPm7C͐M4|^$J#O5j2)[Ył6qZItbbWBnz~6g]F-N1@ ԌȇFD8[EЛsYX/N-xEw"_6۾h釸MZ:!]1"zHEdh_9:!=f 8-F_,x=EliњXJ*CmAH7z#̝ݳuJuCdOm X[=gKC*M0Rp7TJW }7QZLsmHΌ76lC@_N;On rM[6U7Ҟ]&1Чg" *:z]}Ԥju'D9JV^0(UX?ڥ~[7$]^VNHl4Z*6?Fw8(E҄hW#al~;#Q[,1 Z)6(ml4(N,ѧܯbmIvg$+7S) ,kWbꅀeAwOw+9%-$oɆNV<ѪC&R݀[nv'5MGHe+S]K>~xZ(gtQɢQ:}vϱ6Qj{jUfXS vfp\N !:euɛW4j}WWQ!X[~bo~nds{vu/lۣ˨^E;l#rQ)8)j+i7.P]^sy8SK|rPKc*E,"PKYM3$src/com/bluecast/xml/XMLDecoder.javaUmo6 hXA=Ōe6낢((dsH,HUӇ/w= \$_a34b-zkx~U%A Zƛ c\.a˕c fUâobE,0^,fP+n0DJڛJ:Wg7dk(vP[$i!nRH.B "4ҭ|' (-N A.}Snǝs i`lh<UbSKCSDERB4 As7F:=:w02iI)`߀ ( 0d 0'fq0.&9`4Mٔva8}'ӻ "2Q\ضsleJ e-KF(/Дr-P!KOӓWFFIQc*6eq×DM<ݑh%Hu Zt EתCW::ܨEC dƒ۳f❨݊v -S8K U:١1!\xdM]r2 ywN7$K43L "G#$Bs?ZK2R?(2Hv:Y>۹:3ZtR1tӴx02h7`Y;#EF R})PmGxW9IU:1չ7N5̩Gb.o)Nv-+Z1] Sc-qShZG6PC鹲ED]8>+!ܾk[+_(ԓ/Oškȁp^z9V_kM sV\pO!)T^ v3m7d_82 >p{6{zPK?KPKYM3+src/com/bluecast/xml/XMLDecoderFactory.javaVa6)Z`lWʩұcA"~L2{!,w$p[Zby~мkr.0/Bؖշvnպm~n:t[?v[O,0|Xj}%_ iXXa"1r`! $*[ ^#bWRQ*."qZP5JTOI" C$4$ +X|5|C"a8)c"QE(0}Ncum6wìlGU3L9rñ7lc< Q3&\RI8d;J"ia$%BX-ʈ+sȊD)Q7\3m'nּ03G,} v6!uy fRΊS0T) H^%s O4LX>ԼN:+/CF^+|̜%%(Ji`6C™$'Q' t9W@wbyDES4$M!3eL6R~ cE~`^۱i8HnmVWSrk;Uv8q[%]ρ F#|4]s>dFB+D˧idÌsd=ﺅ(|γRM:~]J,Daq3yWew u?ycĵ&<9Er8 TWQgۗg׆1&lfF4)+ر۟ #w6Coi88+Ъ;lWYTΝC*?F}3PY}?U=z7Q#Ĭ֨;ISZ-|9^=>W`)֊%T% qތ! ՃrM{9j%7x{LPyc+󿥯ˋPK; PKYM3(src/com/bluecast/xml/XMLInputReader.javaVoF~a@gh"Ghk5Nz>1lx5V;kc;Йw|3bл\gybl{7# ?G+6,0}`X&"I\ivBgs4@Bc0SC+q"*O;JE7&SuoNf;ȄB!p O%\ <,\Jϡ<("Ԍ+i5wVZ`z\Rd: zL1)$T/8e[R"iao%<[ADoDs% *_ŔJ  :ǁW#|/٣? `|v? Ƴg՟x&|ɥQAT)lTE#1 H`,a)6(395WɊH(kٗ ./̇{aZ`Ĕ^9%vBjp w[?k%9}j>kXi4GXc=6,s)HD+&YN64 rH3b0J7x%(d+O+zk=_}72H ݔcs 7w#;WeXH r!yuZ.kbU r%0{TjD +RSfX(D= 4iMG 'DlMfͳ=v41IrEmuBcdi#xl7^We1Wg52V׊z0ah#YM֊֠<.$͔9̊urAnoYej l 6SBy2ڿ֫ ޖgڱ,+^Bt ?(, IBv)fKvXz%V?%ojguhRh) zwWAO4Z}>uDMz+z]'qE9EW`رEz~+ij2kZ"(FYm/;b}֌fZZmȖ<\GӒd_FB`ꀒdOґźdTR4A 8j?i2~&c, ɂJⰎ4"TпCycÜżn3J6+~̩ϙAG{bA`*Kp̀B²M.+ ̮'$=X^e! _/E.ɹ)}.zU^вMYh5j@A*&Yh,3QIv۵Ѓ$OmU=_bJIJPOL `}?H5"r΢{"MEi%"S)7||~7>pjG@jwK4iBrZrGV*t4Vb^+f\[rͻV8JZaqj`g cȉDcPT;/֊匎.eS%i:Lӡ &˭>9;/Cw`x[4[w ) LA82z14 Iȗf ^.9Φ0*#WP'-&_~@ֵi)~% -f5-iZ'pq(P-F-WͭP.^zu4&Pl·߂EzZ2VxȬ^ŵM[Lœ_ONw[66c6]I=rOTyߎt/:iG'})NZ!̃iͫWApfV³|w9- cT2~pgߣiNFKIyrc>a0UJ c7vRc:Ԫ TxނqL9<] y6վYܑ10˽SDU|_b3̚f}`Q[9_5v GkCq߂P7\^O&ѶlOSxP3IqܜzH@Ʊ9,휭 oxQ7נYz|>֫f 4wdf˫׿Z^iZ!Iov4W'*8$gPK&˅o3 PKYM3)src/com/bluecast/xml/XMLStreamReader.java]sI}#QLBB6HD רɊˬG?Jy6z2ݪ׿tmnl[s{]uoYzZsv_Z=n_WgmF}D[۾P;ufsqAڬfSf׾㹬Qv䭝ݗBȣaw#sm|8>[8K_g*`fjXfNpKrBG)Ż, X@YEʬ  XxxZ\_ :' Ѯܥ3q`9Zn34^Z[3fmýCN7e{ZBs S p岝 ';ם 'e!%]Yxx98o'{ ΃쯫5Z:XYMl;j+{,lx^9>VJ΅sVX _?/(z3_/.h0«W}2-AHM,L4n4$6f; ʯK/Y[frvYN`[km.+E}f@.enCQkᯨ} %߂Q,kh78A@e;yl;?KW/D6ҬTlwM $Z;XcΘ}L{W''t2{NeB홇EWK^;k{;+gY7r~9)ɶ p{yKT1'{>؎\;?*5HfכTrm xVIAF_̥_/9Bﳷd[1y=@pz̷x[Yk_W@V=u\x3O%@P1"AvSV̑d3 ,5pND>9ta 8n|k m诃.!@RuK6C!W/ 1bP}9Z8/ " 8 .#1Ʌ_QГ駜wŀhȗ> =%Uy`8#X7SMNrd1hR^ې}1L b 1{ϙ ~/$Ľo`Q4b u-qRmzs24FfgS-vޟik(/%c <,q`}hq@5\@w:9v w-Z7'p9 VR~nZBOڑ;n`;aOT 0p&R]9nqSmFj0ɁF ;GAHvnt.|8PnXXhHeN)p|~ڮөKl7O8=f'k죍MQn7Z'oƍ:.O*흗>DqT5"pdfAKny8&gF6j{-1G}zhAzv,;7q[ vxD^9^&/^kn(KygL2fKT:ZD1{*iԭr~k̪ȀSW!w\= GW)` `?Vۑ4QЉwi9ʠbKirk7*AK ܒYեb@ȏLWPcyQo?{A ᳗#桘RҠ䜔 ?Rֱ~,SO]p-:35u1xփ@YM83y'u3+ݲR,!(F^38p&> حK+\ā 72@:\;)ӴfAҮM@"ˬbd<Ug%uPӡ992g%w`Dڋ _TT"Y-ɣwUkYAĢf=jLV!M.@kɧgXWI2,UvoKxUo^Ƽ{6dyfJ{0AFrf{"LW[a 36 o|ٮ%b 6Ӥ$IUzkg֊eKJ$ytPWmRrciU zaU&;e_vcߥsOt{itsN6LtPѮsisc; RanЛs =9K/}YTȜNn̹c;nHR(qBt?\TVUO*4q{>N;6+NٝÂaBp :Wx^a pNn3/jR!7|sXoQMQ#0G}UD )FK'I TJ摂7MI%}q^o$?F m )#!F$Q#eD#40K#HFʈR4F$Q#eD3Ʉxi@HqR ^A"5RFBJq$Q#eQH)hxi@H)Efa9^A"5RFtBJs4Dax~|aR7UIT#HTH!(H͐TbÐTQbVH*j1QH*j11R;$Ƒt~048E.GIќSeF%$47 )p2#\f69kNSbex9NQfK\<+Bs ̨Q1s\Y{7wMY^Bh*!F%_i1^hNSj3/;s xԜ(3k 6jМ'ji EOFvx0xXd.sps^Mz z޷YRǿ7ofNO=[?:~ym\6-"|W|)a'VAF8Wsu6+_$2c|B|_n,ۺ4K ؜a]P8@-dM%&ildfQN>Om-߾8AM4'ty2$p#4#ҟl YlkHܩ&2HVx C.pbdK$aẙF T"z3+4Dl6+=T8u;ӳA_]I%߄kba Y 64ҞQLs ӘhOLR`]d=MUS3:oϯ.]yv9N:3zjC~휝TyR+xXE2Y^dY@ xjwr$:,V؉KWEwWdV&oe C}k# mȨ8Q#/tXDWLB.%]ɗpm8K,}f'ϖ֞ cӾFQ,FFD"ˍ!MUH4v]?bZ-%|] 67֜)]va?)?3/kPKTc(<PKYM3.src/com/bluecast/xml/UnicodeBigXMLDecoder.javaXmO#7!t$6m EPQT9IzIcen@w'aφn_=S>raV@ c=*W*R~!0_,]cZ+4ДÑ6jC 5pP8}"!( QM,l9P؇H#F<T! #l뱑= a}yh<9|΄0zd=%vmbE4#F*= VE%v#Zt_\ÇUsօ+h^^:ם zjC~\JDyYLbC"` d + Qb!PNP TcC d?61L'Yg-bfz,lSn2tzK9b*D~\q|#~fԍDL 6ĉ5?Џ}ZVz|xO99I8ӦbBI`=ZE)M u.(3|.p@YbIy;^?o/ -+WEv,+p3 aw 2D=JV|Fu|2Ljr>zRH$lڼ0?D˝ N+"|J1KobSVILdXK#awT[KPk+,L$U(TfKǩy' Ab,I@[BLfge=!|] VrBNl]@֗Kf q*p 7ohxn@5Ţ&B̊B&!.L"E k2iKsMX4 Ϫ\s 96"v\5s溮 ݕ?*as ŌY5lY.}ŝAϥ VN-wٲe[f>M k%%]-8-'txY`dFiy`(VRr(/M^xm߬1S;좻(ο0>IPKwUj $PKYM3'src/com/bluecast/xml/XMLDeclParser.java=WF[g1 򌽹3 iNҀ]WU4 8n<[goSvYyyWlZRv*-*ig*O?3wBV, _oy2\ft/iR77>neհ?d-\<~þg=tTuZ.[$yxL3u]~q%;[c/Ύ϶8ߎt-͛Gg ;<=yy~b'O^n=rf(X1Aeɪ4̦`q@*oӪ@MV @#ʳI:sb%ElTԚ? f4|cD9G v6 FYTEMh@ǂKf[ˣoPF^7 >a0$嬯EO=;3d=liS#e0pzeL_Cv]k?Dq$j.Q.4pw:~kUNz<Ϧ2/u5c0DOz6lBYNsj@<i\èMx2K'Z i1Ck&#>8ըlS0>vZYFu? yY~Jd Uv 7xћ: ?p (^NᏧoϏNO_x½e`JZ R?>pZ0 yd7Z <E- NX8~UIQ$t85zVHҚ737C7X>}pWמn:gYTm>xч}M"r=ܐ ~K_A@_xKP1 ]B2rehB(cPq⚸Cvy' ;::qpݸnݸ^bv}ߧ1KkqRFWSQL(ci9p0O5 dG|ǧvI{s<"W(\{W=+B^L+$\ }N4\GpCO&µq|'NԲ}M%W(}u+ T!Aׄ0^D_\B2!q@(I`{ILw\¼4`x5i+p=&pc&܀BD B_OdmA&qds0F!}\ф0d ALL̂I!&\;dlC*:hl`df`Jl9QLQv?2#zꀭC0gcp)ܡʈ~E(^./ }/4\"j/m&a$Қ`՚D<{1CӅ|!J T!zFxudBue>a xa )(s$]kOrMJL^z d2a+_W)mϋ!fO ̉Z'7@b, bL]BJm5%k6 c=h ')40M,F\h \6C|IbemOܣtH޶E醾Ii>*;dȄx*ht2߾RnW$B.sb ^)ڤY*~OPF.Iɘd%XDkH zzCYϟ/H (xⰹ|gjb9XB_!ę9nV2<'@m/qܽH]*tD!w3HYj5c, iه |"xΗxw,]M +N~>9͛7qoׯ~^h/58W YrI:JkՅ &(o߀$sُ|YN SyW iumK@t{-O6CuNi nI5/h/`m/,YTWl ` O7/޽=z!7\MI#v,ը| 96&Kr ^7Mع?ZӾ'2iy,;>Ѣ-ŊKu dbY6+Ɠ6}YzMSK]7i{pi, EU%hl&6OPEG(Zv2,WӤܳpr'pOj!Lwo@́F.$TuS2" U526/s")|(hp(Һ)+huZ@OMԠ[0[2 4Ma.t4@~ܦ3E[cb"z' c KednS:WŪ\ i Y!ƣ UqJU C]WYA;Fg^Y=x?-)^CHAanHn RY/- N޹T`"\2.-kp5>mOG>؋3Jr-pD{AE/n yqC: ɳBQt`" JREYiRh]P \tPKcu|sQ<͘wGѾKY&ÐN}U0R&7؏/W? $9]1KrpI^@]Lm8cu pi#Pw5;>=Cd)6&/K`@ܖٌq|ELV> &6h]F} \J_E{vj*omFd5haoG9Qѳ gW5̡mwuHnļFvF_Y(*c1 4aB'k+ )5#F < \B<#d% %3i4h44T> JB_V{˸sL¶.uӾly3H$m% wKܖ!gC U0 .J І#3(H*7І?)ş]㹙=cFemCtzz2R0Vg%?67qD$-ۼтCIa_x{U@faIU*ȌĐ(x|MXVNaVS(6uj@e\0YU7 O)JƭCxFl]\Tq=fDZjU9g˘o8K {[G+ibE1PuV.obhcz"T.IĞ﷢._&o}@bx"cJ [Irh>4<(C.7!MhF\#Uibq#C#[(Ұ.WyvUhPI3THM jZ= >KҟezmѤ 1̏كH)*#]P3p.cel| UJup.+0Mk͆6VO._Ocݽ93OlvuG'X֜t,db99ej fxԖ&<mDQQL}e%eFXl떆uY%A*jM;D`(F쫊^.G=Bswt^`5Ev4oX#y݊1]cҔm~ASD PmMy;lp ǚ{ ex+VeTPG(bt/ GbЁZ:eH͆A0Ž!*Zz7 Xݠ-?g =:\X߰P$ u͒TL%7 &]Aவ';˪Mw)9]6`c8@ښ>7Z3.UCenJ]+4#o[hismdb(RnjVTϴpB9Sx^o)4Qx).o苁hjT; RVRi9UE c e=*PUj>B:z;+@esk-?_Yv/+b %yZ#0){5+8KGFąw+{S2k|(Ya,2ZѥģS`M zz֍N0>T9nn=\0*+lsY>Dnt[cp*_Vew^&91(Wvjѵ0r?h;߰?֡2Z2f;nݐINJ5*%8WKIrdخ022>bqv8 r=p^t\ 99qE޺{ @~|8Mg&ɊΎ-7tAO/#3Ś,OSLڪ(/%rz8CN+]g9n63}Ѷ_ԩVŭ}z bzuJQPo; G4Qçm(05}<)bַқiRܺ~DmʄY *l@Sago3/r#Tdc|]07r, EYGY‰hT),+m~%\ېOJ U M.D 6:kaR|0D]O|k/uĴqxrWY]Un=]f׋$+l1F vi#k^`hc 8îA&9 Wr*Z(3$U"C|S:$cNhrI߆aoң"*JEy@FTm!7H)T4ti q9|4xZgAI/*8`5WPⴶ\orC{LgFC*ѷVQf+|c5#"G'M0rd  ~8 1eXt7_<^47qnOf hQ@U')Y׳*[;*iX-6,0IѴaI:ةIdDͳ}qytu8Em +%R9{rvQ/ 垷nC(syܣf|~Cd#)?x&-|m&_M?^A rҬT䷸6z}6*E/,:N- ƴK}5b%l/5֖&%6sr[ lFA蔹[k.C/ʎtVѡ}Kpǃ٬?8D p~-Ip4HC*% /Sgxw} PƏHԴS\ q٦JK]Lm1bxx*"i]K] T1oiX7*8"+h<%.닎V m*ё|.N&WA &`]BOf>݄uዎO#eU}l̺FpY9C wΫUck޾v5cW-I'D|wv;ϟ8ѣ<a;riI\Yi> F-{ {+ޚtotny]꽎S\X_?RcxXEmɖmw b;FyB_`pO[8Л7xt]4$ʎ2tUvixH^ϕn]aGLYElpM =/{ʞA!zKcN֏W3gۓI>=؄_1@HtS^fdᐿrGD탳㯐M#뛉lHpLoV)0] ^KuehE{oPKE:uyPKYM3'src/com/bluecast/xml/XMLDeclParser.flexXmSF aG زMҔ` &uK4dtwtQ w-ap҈Kۗg_Dl3{$eogAk{k{˟2R3ۗ^kI*gK[-؃g}O<ΡiFUsq+H9 $nCxF*Jg:2L#2U$_#YpE0Yb8ښs^3"$)v\e+UxϣؗTʖݖQf,!$1G-~ c?o]*E$ |&\ _MLm\eZH1`(۸ L5U*<4l[Fz`Y8B_]//"6q #`㚒}*r,F*G*/G!(2`@߱wF͇ů >?o.=po\A mէfIp8/K+}Jz"<<1%9FQ3_1kicuS&I*<,miiņmɮ $$.̸J3HZs1@Q˂FΫӃM9k)F.k,n dv=L",A]T&_wwϔ3b߂δ>)6Jc P(ôc_@K$w7ԐG;Ԁ7sovw|q.ڃnl8-zGWWnf,)X;H6MG|J$I:Eg @oEJyMEc[H Wq0zbţ A|;>Ǟ"DiD3ki7- =XO6Z>0f X`ݭ4\f;MEfuU(VYb3 r5VY!x2.ƪ҆͢WB`lW\I)5Ey A?ЧOn;hRZi8TQŸXB'I Tdyvx{V1|y/;FGCTȿr,p'\I>n㵢08g^׆ erCg@gL虍/C(0Sj")ڡĐIztifuDsn7{W)3$xѯQO8| @`ݮ4Rn&02 Һ%Mc1"jMTP FEmmuI9H9>dD_i^+ټEZ.!L{xw)pkru`>/:rO-z瓆k?ǀ_ޝb5 0a&c:Ն6¡\c8dNjo%%#Zh)oBa  <̍;`'t7D>QxM j7VVg׮7s1G^vjn?^&nb\ƟHJ~vzyyEO]ѓitXMxBwCtjҕBo $8^:[CYè DZ=G4oḄ' )j*fH_ -G4V Z8M䭢@9)šl98Tk7z8OB|Hwmf :ͪ/ ;x- Pn1y jn޷%슮{i9 eɪTXuqn]l}?IГe>)jM7ǑQ/n\DR53L"U%QT]}PVa(w怹Jc07_g9}F,1w 7IgbC_6 s4_t p$~bU}| <^Fk-֟;0L&)ANdOgúDOCrrv̵D(0 }taŀ1~k*RmZACВu}Zʃ%tF[ Nt WZt܁$VKIg TLelF"1)m'Y\ZQ--ĸzhxⷘ (tGy4mQ՘gilV<\!/鱟V 'D:ˎQ=6V>.YQȓ%S66ͳiC4= 0rb ,IdTH +]O3Bk>Jo(ON2>DH;1ܢsUjTY:vU4Rd*(ꀾ͇3Iŷ|qHPD^Nٲz?U+˯|^@S."5&C$Ppf㘠%k2%,i$DSiôÓ+mϞRI~B'p'5 Ϥm bT88\&x-+r܂ i޴w"8IYnzQ̷>˴~tsͼTs|hah=ğ٥W%j5.39τ!y\WG-ꨴm%V"Ԋf$;#19w+<<Vwg hf|D,K_-_sޡj{UQh5;*߶'dxXM?*gun-kEXmm^VU,eՅ)k]>n0n*qWw'`X5sZG͢|Ћ > sX#Zn+8YXҼϾ'@2GkŞmqTgB5w mj˵ЩcY5B UE !Bk٣f떾͠_n%UEdҫ2&]h vԀ,A<;:ejFj~TA_VKOvp ݣZ_T`\삓{qN`ӄ.K \Hu A:Bc '-~X9NBF={&oea3Q~(%? Zl5#3?m[Nm;-~qU@ 2=Y1fx#P߮NEmG)_~?PKd. IPKb6(src/com/bluecast/xml/DocumentEntity.javaX[o9~pTtv+JThBM ij`3@Ъ}ϱ ss|' ΒrɥH-&XwD8sq+ؔ+f00r:Wgp% Ml/_/L6a`H PjŧN܈˂OS@/8s;g IxCN٥JX LCYp" OxAHHe &kFY)_l20d':uČQj0^{O2R(r-a8ekx3}rޅ"5S B+1)u$O]V̗ѧ;ҿFp5^whC]ce2ly1] X-gh,rcGmCG-Vxr@V'=$)(SӮم{CtN<!gDž2b[]uUꪳ{Я3 L̞Ѻc/^_dZTUڣs Х[$2Vu'0y:\L)}=| BVY/$)  Ò UhB98l5ێ2vnFv` {+ۀXCcsI[qf&lZlJ_s>c}ժUG}!bDaPh{\ =4}eFM10pJ 4 Oi8d#Ԓ}!bLZ Ҕ"L.UxXW(;%iXiȂ9 \)4gs&(iw#&\TphK4A,ٽ%n؉<005 saւ݌| T^۵ӄٵCʲR/^dS'Ɨ~TT!6P[I(Tۍ59ݙp)O!\^cH&0d:?$(5>bh~,D DT7 ب>!ԝ.Ey&@I޽m:u[Z…ÏذYՇ."XsMwX(, iok^?򇥺ઋ40/x3a :ѭjՖJ8GC>wK;C۝Uhs =Bty2K>҇\YgoX’ONQEk[߱wIsCp?lA_w7AƐKQG1Ty8L>,L5ɷ"ZkaNE~鯒vh^`T/vd?k[{C j(vvDk]I{({!wE.|8||fiY ]mˢ>>S]b76}g)q{ɓPKUKIӟPKYM3-src/com/bluecast/xml/AttributeDefinition.javaV]o8}p2 t;E&[RM4fLU̓ 8P؄$*>>>\̋3gt 100! /Ҹflޘ|`. pFM\l(p/X$&4^Бs@y4H`DcS VDш gHQX2>NRmg |sm('ѷ(QT&UIp)-RVQL(L "X"ȑ$ٌq³ɭӓt_&l z$oBnNCYd\C֥#QTJez( 8U$pHg4[|qo@%%j%tnY.fUxDHC*inVID.%Ko$iF<~8vವٷ<9 zupZ5 t4h-q C*鍈 o? cp.</9(:d|>)H/l(.3ȧHIp>'H}_Mjb2%Y*ihR>pHڡ **Mny?*ra|PڇuAqv ʑd#RtC]2×\|(a\ARħB*`Q_$b+QyJ Vd+y(iwЫupCJDAKDD> 0[̥#R,BM&bX~xWJiʿKg%b8[9:}4UKw32 nnγPOQn!^oȏ8Qn{*8Ty'~7]R!m_&(sS5UA 0˰Seu5paC5W;j7 9zz?PKQ,g[ PKYM3)src/com/bluecast/xml/ASCIIXMLDecoder.javaWmoGna, 9*US)ijVsq{E{g_8 $JO$3<;39ώ NQڃs 1Bf6s;h47.%e6cE';d)xk %k{{Ў"0&)HLQp1SAPvNj+ʔ.A*- Lb KPx !p`iqs&&,ʽCCȁKBo)0s5Q*ic'Y;׽k}#Le\RK[8bsX")%W< 3hS%0SVLIMPj]{j|lޝ=>tn{Wۣh'wU$(. \ .`X K+M0!(x1XPƔ$(<՗ɑ+L{(À[L# b&*pu&L\,צKKtfjѶ~f #(buBkojIu>U&)uS D<Ɛ!5P$t]: Rcj<>+("[ Zv8`M]:pOM3N! "ɆTDak[Dp1%'kH>c a(DT)w,JhhlANv0Vd˲*@% _PjJarN3A'2 Umm+CHfapgϑ.]Pd&2erjPq"fY*IMo6&g,E[Z_E.XKHS9$}IlLkN_*T1Zm=C[%@6LuHeN &_޸6߬(QZUkY?Uʍ :XPXim) H1zmsӓjqM%ry."J_U0vr2)3|{Lv^/rT+N@СDk{9!!!V;?%<Y}}3ׂ `was?̚ĥÎzU:_Ӕx}cjѠx򡡯^}|3PK7šBPKYM3(src/com/bluecast/xml/UTF8XMLDecoder.javaZmo aNl)֮S,P.,iŊZI[S\\Z2.٥DRҺ8lbX$g}-|11dwlڍ?@:h6t=p1W҇CjГ} 3E:F*^\4IypǍ5B>C=@8_=+B!=4ZP%JR;1LesvT&9]l{<$g+Zb>j4LI}%r,X*Heܷ]&@2*gC +p03ln~zwϮ.oCpv<| TUc 9Ϩ1F玘 r;xh<cs7siaQ#7 Uc9w1;P7! B \OK:P͊aOzw&Uϟ5_ПH^?ŗ$(P:,pa2L ']_~RS?H͐R{\vXaxq}:bމ0?q< H/>z~1~ 0嘈![& v2r/w5% =LUk'ad2bèO^/< $A+[pZ8I1(Y'S~:cM.YN.%J!KTFBzEz^.,rU 5,E6XZTUvIiW~7_z=@Z&).9 `΍8 2D(4{S51 `3M3jUK TOKz?]98>w*&P$CoƝ[팶bbĄ sjKqK4kC TV NyJK\J{^rMVVҝ)@$@Bh+i~X'IP˓hvkfL l}"fe ]褕C:S~YyQme_؝DZ[KF2OiƠlwaupj>S ՂU^Zcm3%s|sSl/8yӪZ5|ZbãvRCZTޫQثW|%_0Bo-JQϰfZ.XCT<>gSz.)lO(W}n-A(X̎O4 8i'\1%)[-$ݝ2FWF v?j}A.;p#즑ySm(H<,v*E\'^w+a^7: Зs!S^: æw<{I<~ׁCӰֺu ASAP$ŅI_~):Vt5b_*:^1g Ya8e}yzNcf>L7K%[JnOEm@/'7xC;vp$>'yN;znoʐMT&Mv_b9ɼ{:jlݥo8ejoRz BAze2Z߇C#@nF$.ÿPKrs (PKYM3/src/com/bluecast/xml/FatalParsingException.javaRN@|.0x. '7*J*JyZν;ljP{vZ@塶%ks3NpF8Q}JUN9Nj~l>45kłW6!9F:^WzBZgq#x ɐf|L4 ztiv?CrwL$:)W7HN'Ѷ6K>R蕌eٚr9Te#JB7dBMf-_eEOTɵtuqsxj(օuuy%X?={p Њm%ߞOf+ _O ; c&K;~~PK+m+PKYM3-src/com/bluecast/xml/ISO8859_1XMLDecoder.javaWmoGna, m*ʩ*pZn-l}^xQ|SW|;3̬ε#8oo/~^/(9̡Q} Z7^9 \-c8@)AG+'S.ε/Vp/1B; $ 1A9q(15Eḩ?LZ6(BeAV"[A$  O !.}|1C"aDr8UrPH1r`[i LeiMb2C*Z:W9Q>F!&Z?S.)sҋg#b l"Δ+M*@-D 4扒||k$ "(Toa|n>?`xWC]z7^GoO^HQ$\RgAT`K+)h DQF(g/4.,9 D]F͔ ɣ~1nB^, U\E{fj3a Vc9Nk.ynҨUJزGLw(H$ʇ<^d^% 9)W@6TuٞlJo޺6߮IQukQ?5:\P" b./O`ھ:ϝwNQ"ϏT-+ΨO c''2#G/{;dgE,NpR4Idͮ\NyHuzzO CDV?FL<=@^0wX<\p>& qᰣ^e肝пoJ|吾 ՠx]]7n}{|PKU^PKYM3.src/com/bluecast/xml/JAXPSAXParserFactory.javaZmoF^a"*+‰rU#&,w)W})YAh6y}e> xOSdy*>`oɷÓ''8=m '8inYD򻵢e/ZX<˔>4-[!%[B/Y j`!opRE /g_/ &xX($C.\ŠG }y3 A`GD ].wbvA %*Lܗk.z9L=q</ӛ./f:5]Lo3;<C$vdɱ6sjjQK&,+]1[h$,pIA0@-봰_?oďB/T&Btn"U7o?G<"sNJzJCY}aׯ$4\ˉF"Z~Io 2VFAL^ S rFc='&&56҈G_0û5#l"~9ʗaG!X2xJ^.ڿ``(i&FBcU(uycwKQS{3XDqԘ%"c׫!x> HR`TV&BkLcvHTl996I9KFbj{֡м~L1e-5BFڲ,0Iѡ<cL+~:C pWӁYPS˚C5l`~(\~7[[^-Nuzj?X7-\ bRB$[ .K:@}B,.4~7+#O;||1o.[l37 \2^+c800Sn7_\|0AxN?*Z?JnrT _6_0;ik6l}SSJ$ y LVJm®(əҸKK3 QE`&mM rHl&V1Ma:W R-^atlJpW92gF !;"}Ԭz\\bVkcy[5 r9`qUaXtAr.Ґ>%[Yhrb٪D~"Ԡfq&5 ]˖%}5*o-%:૯nWw͇v+i*e.'t-n&U_Ƴ*>ƍĢGZ(rf&.*t1]m:;M{^RنŪp5#"e^3Kڞ&ŻpGK -t&7taoxEj ^uɡwׄV%GqŃŴ^[2T*(\E=0')ք )5ulnqӬJ&J=WsvrjAw4яGAߌ֠ޡ4׃)^Rm zC94Z33׻ETxH'" a # l'NG9尫^5椼Rt3)kPæ\U-*FJ*۳ǜѣMmɒB }n9ϓ={؞x;kv;cc)CJo"%QiC =ie q49mIv&Ɏ\t9cP=22Mk>X# n_;3⋞D 5jIի*+s$fk<*iI͸|nbP%Թeu09(ӷ'r(X|/{<>LkjͶGMm3/á|\>S)'疪[I FG q͗Rxu-Rqe w1yj~l|wuAC/Z#`ƬZc [hιU-o*Cs>msW*|46x$_UmgRۋk,c͏lYt (VUA.WJ(9C߹4?qEbG}?A밥LbK?PK{YW *PKYM3!src/com/bluecast/xml/Piccolo.java=kw㶕suwGHHYVRmi3۝Ñh[YTDj%2fqXh}@nr6 |-8XފF>C-> BhqvxMj%7/4k"Y6눓 7m}保p- ]~ l΄_P&ZGaMVX=A g l@E$E_Nfķ*$Dn.hO~'E߫z FyVTi;Fe/$ _T'Q4+_}9:2q~Js&߅SD\4۞DYlS$h8~sq<4 :2LM G4?㛯߈wEJGTNymvR,J!cԡL] ("Qo8&(` "ErR^YOpKF.Z:KK8NeApRǓ5l.Dr`?#h톨bTc Q̢D,AԠ,1! x$wTPJ($`Vq"1 Ѹ]wwvB{$lgʙrPu7),smDmG`oQ/Bat*؞n"36@0 QOK,Ne ~+TUFMWYŖ*r1dʕ䠉@|VTO| |*R/B4y(=2bh((cp bD%c QY352n-8@t=!yzTKe7(uuWsDu5欲 H2A851^5=A4Ncn:t,RR焚}2,Zש7|_LF /[oou BE $L؜Uz`T}(xp o0o}p˾/c]սʦ/24fcI iGhzA$utT+n= ɜ. b08yDbs @>|'YNRRfN3 so.noj&h.Og2쓵LUS6\Qv<9WϩPOv_eȶWu:oK9U9:UΒTHIr./%-o+wO#x6ȇ,Gg8<::ݽ\W?^N _4K N4GfY׀>dlf<<>ȜZOίʜҜjpy~p-f=:xq9y漾|}[Π / r OΏO? \L:>?Br]l9H-g92ehpx8-g*ͽBqΠ=<;U{+8$z+}p)Sα!lpdpACrƩ6Br r .?@rQKV*f.d+e^;'WgG3FCܐGMbe%1a뷌g{œ6:Oxri3q{!&C;Ӳ>x'Khҳk^vlgDǨ+K k-_}ݡ%vu]ۤQwaM=Rϔry%ѪmqHF'2$e- iu e͙lA_`ғgj~I&ȫ$~|8IGzuY<06ɊGz2 4]F:U7WSIMC#dRTkdU_NhۤyIR .*gxJPM%lCT\"[ތI;H$GDn)zZۺiݒH/]׷ͭ*!W::0ϴ#zyRuxiow.VNЭ>M4%sXh ci^vw$GÆ<IvM1$GyiFN~)zq-f 6%:rDFfO桺`0w)JItݲ9UvX<$$ӀGC6~[I3iIq#1&y'3,{I'|Nգi!_F <ɕJPlk{^nI~OOz~z\)Am]!pƶ-9vkL3$-yaSP<̓Ʋtـ1M.ᔞNaԒ+7چyL130o\qlQKѼ7rKk)$jj1>Hb,K O-dy8IΙbV@5/l狴Ĕv_v<=aRM #D\>`P-Ŷ7Ɲ`3WE۶r0qeOBM+Ua}?MMCv˵#-S# Gw[fioݲVS5-kCl^v !F͐xzz'-~2tl(;^Ynt>xj#OBd[<3rSJS%;uo}!!\9c{&}K% IBq<&M]LTSңRJ bBMh Sk7%yIeo޹S-):_NqL*4,8k+[Td\OeP1~#K eml42rl̥"1{5쿜@ni$}pΪ}<$B84bw-\ek"BrWz-CֲB.b<8XOrgۭ#k ]Da72<ԁ5SIx@:`0X7/xǴQ+KRHe=4Xlup B4!`GO>`jI1!ڄ;$o8b|~3}0q~[ sX0C' [ E02EB`|\m@2JC_Prl;}Kxp!A1 <ҭWpFTG'+hG S^TxE8L|<]a-#O3 ds8!Pu 73N2sO5* @?0NEKb Iq#͓kd|̲oH-&dbyͦtEEkG 1&-( s} d\d= $M2.,J:Kx bCodc }KFr-F)7"#Dn,J1TͧXc"$kd d:5r"`EVԑuSWtx~Ҏᅥ ͔ Kt&H2hVm)0og"z] ]u\2~9m9᫑30@b@*C /gO FQO ir~=3a2gAFf[veӠsD' I'] 5}tsڧZ*DTN iבdEo3+8%u*yYLg~JEBEKƍ]_yҢϩ.Swã|7g/H޾vɹ[e_ {ped:^\F.hJu|&`BYh>ȃ[3Ȅ3{_Ws񴰐YZ08SJiqWM͖7@U. 2dz=ƷtH4΄@3 F]{kZ1.#ckfQ\E!8m\7~Dޮײd~ (GWGid-x; ޸TS6a>>ՆoC&۹tXk Y^)Nxy7&b}F*;ڕAc0Ut%mIv7~wnDkSy7#Ctr^׮ƯR9PK h-/KUH"Z*2Eg~HMemMyOƾف: Js\̸Yp6_&rV/RRԜ`܇RtKϙm&QڳsFs~i"AjG&!Pk8.X8L"@n߆ xB7&84`=4zAu8sjKBeCfK6 ܬ;F]ݧf\woJ|Ln?k? 6Y}(/^;tU:8 3m9 1-_ꩉܶAyGz1"Z7tlWifU [ i.OaBV\' O UgtV:ۆLHiXŻd bJl\TV+ᬲWq0]ß+4V+g3v: N$ sTpY H&C͇ty?; )d2YǓYXRlrSp,.?[> ˏIp7%b8;'FDtD™Xɗ)QQz%Omз#'DUPI"€kB{J\, 3$$u (!cǞ;6ffy/-V+I"94 ʮdRf햆21Q4pWAK\3g{DSr4gJgg~nT}-ELH0mt5@߉ ;k^v1_D1 4&R5\3[v3q3ȰϊpOsؔyFRH1ǭB1d\svqkDZLa5 )vH~;z4`>2>qۗ"*P #sp%9kJU![(4J.Uh"E_̸ ᩨr$ݝtfw@vԈَ_dN~5v5eF^ZUeCg/}o[ű. Κh8:1 veÛV*?I\ɖq0f ėiδ?e'\L܄Mk[0);`PyF8`fۅZC %u6tM|B͜ne[W= УuU7hhed,ƘhӤس)QLnorb⊮6ZB$F/c՟HimO TLb^#sg<:LXeh_?Z}Cze/ %("yH3:+p@"p`ΕT/OR6WP5f,6W\I8ò#0yek!\X# AΘaĮkd3Nea^rbIZA.k]a^tA0h,$9r$h43S6"3o}^.(_ff.y]H 3iş߉h kE/}9pObT %18/!/Hb:`5ky˫?n/hI|95ų,fSyjtffTmY{ڇ!Upbfx` |QD@t.* "˸ V5Ofq!^@/ `NI0TA)K [eXSRCK(a*YGy6+/W6hJ@nVKodX_e5kg§ӇfH p t~us];WQ$l8tWK!j%@G]D;Z΍[wv:x.Q͙`' 6ƫ}P♙pA<NE{F>Jб1bX700޳g/|Y\&Ze \oEM~9냏2:LQ15uMZ͎+3Xl4xt2S ܦnv_Q4{WjlffFq^q>U5BbpkWNMZaK}vŮ[/]{1+ 8MCf4]Hmqc[qy/DR26h(YJ!@eR\p&H/"dMv:igj?,FkKDi1#W[\90 ™?Qn\L~_U 7 n ggԴry*ہcc2ڗVr5kت|qh&nE*8UG,oUm8!,"oY8y_>h9B* >kVhoBE&qNi)<@<{齥$فm{Xݎud^>Ȍs媫VckYڲ\˝‘_sLo[7e~>V5@3(3e9&TW]d5iC$0D^4A>h9vofGS`>'n(Yy6Rn 02y-:)OZWl2/o+K㔱.*(*qADArBHӰbvi8fh1w:Madngt?/ }0ܸ}:s&MoF;a@ÚGs(E{:`.>n9;#TYWT&HϖFfC'խ1W%;g^=>2%CYx]8-ŽӨQG:yAP8XHKd1-9,4 k+9EpH+6ǽZI9Znt0?ul4xJ>xdn=+F >H Fjr$('Eg܉oQFw +q߸{GudlpJ}tny;1*>l?޿<0-[_8 ѯݽF:~-]gxM4Fw2}0"`CZHc'%~J=:ʎ#^SI%Ik35=|)S$*HARݨXIw! %ac X tq!MOZR }kZK vf)dES#OQOZ9~qA(i١ vtT z者fı/ ?e FwJ q4 k"$wt2(>p,+4(9 fRQ4u*2D~po*LDɕh9R&w2Y"#@7*}I %ٮ?\s87eT )6e4TkBg0!4WWHDD a,8։ (S8@Sa A}Ey7{xaC,NPa8+@/q fZCo,(F3Q,e?)Q4Jx49.I]=46\*C/?/Qfh-M4d2Fh.5!Հg/BUF`uA\0j!¤a9)1UE4t4J^᧝ó?.<%Tz_qX~_%[`> FGhܕgh+ D "z18jcݞо} 4=<;HYjl(^{毮jbx\i!MX`;9rf7zFϣc\I< cݥQ8O.1(Cp[-#Ri]F82[fU${8#j=>_ vWڱݽ"Ѕp:)8;9.:B7c%턊f TgnpN @\CB6r h{G:B[`#UA A K7Nf0 ^p l c:5\رwb1-(T%:?Dkrm9Wu[&1#MR8TUUqx&<1'=H @Fo̱rpQ|sNG0RkyMf#C)zF¾o'3{3m86ޫpM\:V'~s $bݴ^믍uĺYJAwĖm{ ӻsMlzgV?M=|ʟw.P=l֦6k6(kx fok5EO,db b\^{Ƹ[)W-u 7<őt ZV3KG춟l9N2 ن`IDyF3Ycb=+\EŧAەXΧZ|Ko]ܬBez +FԚv-]'9x}xzv1pmb7M,2Q>jZ^63`,oTo^P{M[,wA"\+Fj&zn&I"n(z}%\Sub2F"MpעG+#;glnn`:=O MCDZk`/~GRwfjpqsU맚,˟tz&Iɔ%heIp"$Pݴk `*·~q)Pl坆UyqN坭=7DYk6~ i{1BuHJ~7Wj;߈( s`ƢG<=^Zxxy%i1-$$5?fU04Ha/\w9+ds3/|Ծ~(rgaeMM=k)SVl5Si!V%6.l57.6| 4WuXhgiZMiaQH<@2% &X1z,}̅/ɇ{:F)%dָtdy,:zp6OҜ$_5M54ͪ\/wp4¤*y4&I:͈0z# iU=#Ey|'Ԣz?`P8<9`mڬ{L',:;/^AmfA =p3b8-pLcwdĖ(JF={* M*9)@%#HB H! jelaZ0_$eSzh^ߕ]_z`/Sr)ПA.pim`恹.*%@ZV`Q:o`].4(!,P0ux5e{),hzT_KͲ+ l*IhpVQ~%(*oA]a+h̗@*~cW1_WpU讘Kn. FB9$ա4 2xGUSϖYMb:ܿbl$ "̗^gK3OւѝJA'`URS'ҡZ|OJq!aq5 kN V#e]L:7z!_ o(>{~*ha%?%y9̤p &cck'!j:9wg+ugⵌkpbi˃-aِ ı[/>91Zs5>#jV^Eze]ӄ,y C*~YhO| YAwYQ8ɕC`VGʅV^nZ޻AgZ P "(ZӱUP_I׺s{ma!&s[[*||:Mԫu&8w:QdVA}'vDjmLi~J 幨kqPmQYOT%dWJx;Gҡ4o>}Qgss-Tg zVZ/VX+-*lȆՆRM ax\tZjw?LzcoȑkZ5-EC r/):"O\+aO8NB}r RVpMKe‡g-R)1l$yMsI"6HwBnJ2Jc2OM,2 IˢXCױ~`<ƜLMIuHU!`GO:+ -ķ bEZ ?+܇=#fr '}%V{0( 6qvPp;/K\HSUvtx! }, Ov0TE;X!RȲuz&XxJ tXȘh~9T"j0^c*A߅ zTز%YP!mقg$c#v/*}Ӗ7ct@{kdhN֙Do{bV21זٕj*xV7%66%>)y(JдCJd'Ge8ȉauER G43xxn G*9YN1V`aØざgOW Vg?+P^s^+R>^3emThX܍As^,OՙWfD*~s~2[/k\(UGfl=LΰR1$o9!|TB5 SdO4"1ǻ= _{{`CiJͱ7ײgU,2ty5z q T/p)]÷g/,f:0)`(wf uc*\%IDSq?M1a[&i4)ANd4?)H0 G5$q2Qw@Rg3̑]Ӆ:+7h IuB?3~G~,yD#+*46S(Y^E,dJͷ4Oh ul ,{%R- Fj(U+"4qI 69):o]Yt$6ixscvCnPpBi~]o#8,Qdk-ڙ7/~/5hӛI^K܍btYxb9^'.O䓲R](^m:`s22[kVQ EM OWc1 S6Lsd(}H4NPsƕ XqK] 0[Um+HCN-G0[pi9jb*^yQAE> nԉMlT@Q2߫JOp E*|6 o,*?CtRL _CS·7LKEi0}C#L-B G<<( RDܦjzU/1Ɗ P*jegUؑWU2m@3bEupxzI>GtLٖ-Bx)Xq;XA2 ,g5OSR>ǭdP1xFTR!>,05ɸ#.~:2ػL0raլ.( z (H`Iwid)0\mf{G$bW`D%O)H1fs 5n:j ueo玾^N1)mmj ~ؓ)2޼W*|ixcLVZ gmap{$VM:+tKsnrRBZӥA o+9fiy+Xi4:mx(D43æa_L]f6{sך޷rRlstĂ0oi/ 8+;05ۀMsEBUU'F˂]◹d_]t>^GqUi)p;%|cL h] 6qy/&}&-37!0dXF++yB)V}z[ʡ0R'yv};RA/$)E h#XDF+)5 0B'R j1}d"~D4^I tcpm!aw0(?FVUJG} E&#=n joFnVԃQ$Js[xJgt5'}W7؃'(K*' ucnmK;1-h=J͐@yLNubLbըK~HAMv0؅~<7Ee&>5 8J\uy·ڿbtTQ)j>_cLn$y""_ÃT~^>C<ȏJm / awNA98K%Enbd"S]AVI6*$ϲDl"jܛWgCF䝀]M6İ.hW05DH1(&³QPagl-DW\BYXաg۶߁q1r).n{;z/Q"{{;ŧ/[Nk!vXv]D 1Ɍ)<]RE05rF c=q.#uf#EALn!+趐6KG+$5 d٣9!W'(p}k:?nmP7H-cR{3⬆uZ}4G T|C?'+CEr.XCv^vߪ ?Z7j}F"%xJ%b7gšq# 0V#pp5lϧrbU<74͙9`*?k}H9:'<->aLKe[9n/(dBa_AÕu.nt)L\vWC Av2+هQ΁gv3Ƀ۸ӏj FwK;aOna͓yis fRt3:`.h0˼sWв\ ^)!%a)u#fU?}j|,^#St+: ۑ]ȿHKqu Rz cSڹ4{&$VwʽOh֍ˎ>?PKgCJ#PKIdM3&src/com/bluecast/xml/PiccoloLexer.flex}m[H<3I 0',.!,xX^a'v-d$32c!_G^7ڷ`wpv/ߎ j5>>e|}F8T?k%N'A~~KǗ//e={i`Pyon[jmnU/7w^V7,(K 7Wb9lueMk4{u~›D{xm?C,AaϺ'lM֠?Zv-'ݏ7ac ._JpW-{00Ih{q~CgM=Ʒ7R.jpZU J ֭wo 5 }QJ??tF7]r5q9Tʯ\Jp9DOd+5Mbu3^ݭz %;{plo茱i,Z.l]R@<YZD PƢ+ &wاzp2_N'$j@ohsRIB9Sg>8':Զ_uZ5FchN pwWhz :x]w:9⣂ěT밲5H彠?O+Rл7ta|^8]1GyO]hYgֻɻsk/oV4B~}0<ʿ4.V_[9Ia(][ɞc =9>'ex㸈wƻnz7ݨvnVn*=Ws%j%տO௳wV.^K'@6L~㟨8ɗRޙ(awY'ьI?TG_0ۂ$1b}FP`p"hV(]DN\%JBl{Af,ٍG~܃ܵ [)/ճ; ?~TWcot䧸__ۖ uz:C 褺Q]\=KEvƇmCyMmCT@{ 16na Jh6J7w@mோlLeolMlf 0K ?UDmVԪb E_}ف*k wvIM5Bt-Fhukڪ/BlQ1[.fM [dMR^akN_Gtթzk\QŇfr[zhwNU^i`6l/ +,C +hQ1.V@m&h쪍^/fo/fo z_*`;[ |76܆NN[K44j͵66nR1MI`&$٤5 Դ&6IMkbӚԴ&6IMkbӚuzh/B6nkRk84m=`0@4v w۔4@s6ԡ`Cu:PP96`CjPClC qC>pd Ke"ɵB"[a l!-@Gq7hʥr9n 5@Cw6𷆿jm>tC66zµ˷`SQ]-z@:]N1"A \dnm]_]o`lo1օ_(Y6w񷁿Mzோ𻉯@Ԭװ-|U [["C_X+B^oQ",j@ƴۘjo 4 Hߛ6:A]F_ \Ҧ/-ݡP_j_6b1[Mψ6>Pf /4`~w軃ߩ7 /}ia5.}q1Y hcmJ_67 'nMua7MP68$r\NW{ShEPtjF~ Yݠ6"&I&M8vk;j$x$Q"flcԔ-0[M[%:0x5LUBY 㭎7[ă.taI|(4`X rwyT5Ҕj k7Hbc7|hb ؊  ͦM4C2A "D{J5\ۦ!)6JS!E66K8(F 0kzU(="@hH@%d"AIU7g%C4T5!* .H%iVlDBСUTvCU;XCU;XӢPmUIJ!-o-EEU%UE%|5Iq 4\#!EG7H_"_ 6)m~:=jFurMrmc%Mʉjn Q$n 4uM49B u| U:{NkK.;}M_lҤ/MҤ/}qCyҢ/-L)KBlni(7 [hUV83PcՑ"$iC|9wě`8s9αZicmu?DiE>>>ſNAMyw{uA^l?w~pZ}|nn13f?8<~cwsF3eԛ/DHuROO;'F`B8߸G@h>>9=`^:o:? `)~ǹ|OZw%^rb#DFjH~Ie NߎcJ5Xq̺!`ü7CC%%fkg X€opҟ[x'd2=%` "gJYިVxC(|'X(7ƿT_0_8EcuE .rzu+4z=ښ=YL}.9;"ׅo4vΰ>iH&EF$rSI^iC5TznϛxL '{^On^B~뉬1?p3"a$DN|-2/_ VR8 sv血D2@h쿧127d:RRw;.HRZC"0\ E[`e:ء~V^TQsBݍ}X_\ z(8DUF#يi.og=єR'޵x"VM,~${_I~K2^xoA&|qkOGԟ,V0͑W$0;:S޼F?oEט[HK|Np9U0$0\sB7J wN}?z7S"jNfMQuEԆb\A<.WI$Uwȇ 0h עpAڣ! ƿh2dw›ap'"/{e-tʺ{hyG"#w7>KE;|cBBD&KըS) KW!N?,B~Ͽ򦃉ļ,2qZǍ7;N4NdHIPpz+,Hm/Dd:BWa(jL Y=iP]#Bry4_qܫtQqs%bӷ]kNtmh)rHr ~VYF?*Nd'ɂp1ԭ@II*b聧Ṵ|ARsAW$(OUAFXRGzz<<끉b%cF"5|L0URI&ƽ^|2XV9}YZUgq4>*k k= ƢKKҔ+.Ol%UcA^I$+",d 0g F<#F)$ZU\M1qd̯(4YM É7q\'sM~FPMWAU M܋dӤ[&j޶Hw($!`(I{"يF5?ALprovKp!b|y!Jp䧜B",mqR%M" ' Ђp#* '@ #w7% $( CEp]%U5 Y#Gkp{_m>LͿlRǏV,>R^a94% I STB@WAmL̡0PHV$ r7M<09WJ3 B<y(D3;`MGvԶ81deS [(TPޱEg8YMr sM/^ Y\lt(R}~˟2'|R{bE_lIrhWϰM+iqpnh캮>?Mn;{f%1iNQpш9! @S2d-nhp#J_,ErNr1\Ei%CHu'Z-\j KI=frd β*ᯤDZ\*R)W.XNSF80&LkzBCMNT+R L9_<% c]]*mȇreVL)%6 O2(Vﬕk;1ԓOϵb^IVNU\ׅИbU+/T`z}C_hGe/X Wc ,#&$pW1f/D`9eE ~(7f(i,jV(x PtG{?g%E<t3j֭"b5fe%p2 @?d <W1x?k'=yR"KC,JTpҀO*YYcfL(<_F7%+{exRIR|}Vs'IYZb6W˿k+j)nCTZ* ֿaG:],&+U$ryW am^ЋZ[X8 OU-PrF]1!7ЛYV(roy&K4Ϸ* 6?OaP3"kBd߇-{Vf+ A/^2,0.ye%KpUL;}%ɽkv$йlwV8Iv;y-HP}~*"ֈ >_3f&NJq>Y ?~w.1i@ (8PbmQ<<3\&{z4+e AK hW`:uآ-ƟW$ "WILn.(/<4 &>̳(, ҝEђfhp͢>ysY;|'yX#I F~zĻa7Le6UO]W,bdŅCbNAӹ-ݢBSz31hD$_ɭ s:-|lp|䄚?&0ݔ@(h4%hh8K _9C-BEfv.fM"(+ jßv!t; =BNу,sGCL| ?bL;l\9Ksb+`k4V)q1'+OŖ,cx]''s"+\O' O y=?'A\^O n?C<ĿRϓ9c3%d 2kwYUkof5yV |=# Ez6 «C(=S%<}׼576mkP %9 v|]ܠUl=MrmhJ'Ǐp <𮡜 bfBfz8ayѐ] 9[: hg5%p`h{`09鴧#-˴E&-f|/_.xw<$V*i vǡΩd&N5n? Ǫ5KL/6HRG+o+Ot.sQg%Yl p s헏.O#%=JoyVavϠyh{,4.+R:{_^Qɛg3ҕ5a;2+zDP#&P,)}~kmlP5tnz(l9Mx)} ÒcA(ljGg 6sdb|eQdK&yOf!fʘXZmybu÷:VM}4z?%3q> [wU\3pifߩٷwk={9{zw(4O/oa>4]D].(CNnBx(57&hҚY>gpjOW6ˁnInX Q)қ3#ˇ9)38!W ܅ة`h/ h /9fz* ӬxR79Buoda*r^X[rB:e:bisIn#-~"z88Q>{1e S2xrǓf59kSSmFxRVzRV'm4WZ|5c@gGQ霟oggygh?$+un,hY2m˄Su2MնsAr]u9vU !MPܨX+v 4V73|5۷$>)H=5h-k0Q<͋*G3/Lj#і%˙K+-65rcwp^ H?Vj 1Ud}F5U3@AJqXuՃC|drRu¶%w55PS;,>T&C@w9{trK>O'3t~7-L},K52Bv?:y27[][Z{gQoB[4gBm&V@ot)ƹ-RP&BfsOo<1^ |oblk0i`GH EY%%10]}_k~V8S5>h ':~XVU8C™bFqGet dD/{-8[{fJE^C}ﻻm{Gܜ$_k떝.*تGv]^vl5vd"0\/E70/fK诙Gv]Û6˦~]ڣCL-RuV?֞K3sN7'7 ;dȉ4ct`G|{]@̏4 MEhaN (TEABMQ,BuV0ÕE>I1|ճ`CZ8ɇ}PW67d𷢸 wop8R6%*,jNx p@ÿƣxpz{N 탏ō@-J E'K!,:D#؛.F n '%*Zȭ,Cu1M[DUBU?ͺ9;U\§?<] x)x}kz!yam}Od~_@׷Z+(_%MbZE_qU#μH ;ȥy:BOH'뵿 NAh,t;p*h+* eda8m`C+h e H/tt5I\|[32 Gq 7w Tzocm(*$Q`E0naYP'ss Q7ʝ}rpnQ0 b,Z7B_!r{@}݉nOz#%!`H}NGp4x1 @dm_޳gt;#xbXV[{|ql^ǧ* 7ktݦwZtos6}آ&7w|w&[U|t-Nww:{mAk6 Ss9]ڤ[[ o^ߠuK}Mpoݥ{M_co6M6|'|6?gl.߮{{ʱ7{sn극6t ; MNoMp5&duSw4~ h7;W;o]8 tSy0:ƃwnniq=-|gƋ[S6mg6糷n|M~t5yrѝ}o} 7};?8ߪ#X_oo[tf9]'wM.Ʒ3\.k3\m6?ש?|ot4ŝk;|?tm|!6]S=6݉mVk|':~q{mZΧWs!B̍*ѻjƾUoUohpX tRGŦRfI6_ZSUGiͩ}eip,u|g{%xM6,DB w)Xzl6R]``<6+R8t,Y*mafo`nooJ]J!Ÿ;K rbp5&d O,xj25OK|/K-wRp: p9 8 ;O0n#ˍkq=-7PXztߓR eiBMs5f^uW)RBx$4[ RV@ q9ۜnbR 1ϔB zs{},Uj\RfRhK)~O|Gܹ߷9])仔B>E 5NZffXNMڶ7u)4[\m Ϗ6Y_dCŜi)}A[M[,Okַwudu9>K:K돍M,A59uu,Mǒp7Xk|Fy^` cW<9:aomH6csmflf8lz&z\Oimr}MhM.{96ysb.ߩ-9o\;\;,nG[\~oш޻rӻ[&gt5*6σڛyYb6km\,, <i3&oHN-Nq35M:FuCyuKϺ[,sXV#~[|vY>᱙rq9[ӱnU:?s=͚xץ%q4M.?m[j|gw8\;Gw|9巸VMY7Nxֹj;!Ix֩Z<"!Gv:`u6шgB(w2F|GVƈwyĻ񈗫Q„@? Z(V)]Y/jK@6an}ʼnmWG-TckпO*l5'pRmTK~ -hV;]yIQh`Ձ?$Eii|_,5QX+مDeRxۇRP lY";>Z3zB0 '$[WY*8/NHz);1Aa/ljʱp ر`ގDݪba7/s"ù98 \}6u~Ӏ{IZͯX]Ö:rL*gsL %XĐrx*PvI?>·{7~>,者AgԇT!r'k>BgJߔݼB{" X^_.x Q Cn,(6Oc$5z"{Lׁv391, E(ĻV9T^2LQrޞGf\4N4b閫:En:ws4 JeEc?}O|BW &/ O wUΧl YvLZ}6+KA:@\ˬxn{1WrNi7>n҄-xR(AEtAc/ѱI]GF~hQpNL( C$$YVM)Kʫ`pb N(&(x0],a 9 i:g׀ydDdu#,IӘixR2߉/pNYn5ajoً(c\^^Kjn>M.Մ.oPRa9]a#(&B$"\jNЖkր3c_ +m! ٦ 7ޏ-MQ⶿bD܇"5=$ʰN+z Cx,god&4+ #70ݼѸ)<{^ u:C H:.NlGY'bp8[bbr>i)΢1dKm`aCy}(=ya>߸A:e7پ#"-z~tc{?QKQ(T}V4i9!d*Qg/Y PJRUX {@hGgkjs_mⓣ8<6]DkwZ[Fc=*((ȿ]2.U^j>K"9(qG~kiCC"*Kbl"-/fXJqz̑1fs0+#O#uʡ+e")3#uWE}Jwa`I"iZmB*وQQCCM;-k,ecyfW$3c|bŅDׯa nk(cSa4j'yStÕ$*Js&/;0nE:E!&iJP aM)i: X~c]NEL!&==뿻 M )gWWܢdp q^i};,Tc*17H WJ&'ԌfꔪR@'v0FQ3X5r|MXS4bMUtfeharH)6؇xpx$Y?(Qt`EswrGD4x}V 0r  :/ؼz춳[Dzy bHtICLܞZ#)if+S6A3[11MX]z` hu.=DN$Y _3bI4!x,#̀jA9 zR-fEgXKГ}y=8,&$$qd ,`ʙb04:XWyQ%/1LJe)v7?ʙbv!`AT|b&~* :egBυXDKrj\oqK8F=9`YHHpC,tzq.8.vG~yQDtMlz_<4U-ʝ?aanyrT  cfbp KJK?w~@v=v[y)Q6FG{+=0 肜̖*GɤCC?>H@(H! pUΓXgAylƲ"ըX[p.x0`tz@#Cy 79vN4/t<LSkUtTEdJEH_QXX:cgesL2#)A,)SƒGu`.Zx z}W2.vP"] 3d.~7l"55daX8Cpwqa#ap\WfWY(jh$0v4?.GjB3L8a `ui(X#WVZGǃhºOk@V @ug^md8 [t%t2#`(7h^U Z:YەByϕ*zvnrHͷ?7*C,I+ƖZVGM8f&2⤤iXH  #pkYmXcb>2n^^gN < ="{Ww6z=hmKy rgݺ[z-ΝG.WØc:?~oкU*;h~GnB`HF-%Fb6,~ 6j|ݘ69G֠ nq~ͅ/ h+oy)q/FtRbE M ce`0EǁE_So/^χbe6o&A3 Qz[Yt1$íBq.4qzW~S6c̛Ίw9锯ip&E ^`#Bd1rITId,l }ǃW`(7q}{ ]$n[St +~O봹)װ|M!k1"M0c .ajRz"TliE Ĥt8Ӄְ,>x- ^㈝`_F'D)/%_tN;~%9vץݒQ4+x(A2~+3ظUNnNJ'6*S)z5 'Ip*VP. (I%=(/IfR3?Zuf'&AQpwJ(>ZSeH%cY g~Wk\BڨF5)y9$HEdPnlC<|\g_2gaz3B9 Vr(2,Ӈ;>S6E`)=: խ{Q{д9.T4GH2yލO⬺UVh~/x^=E3Q(#j)8-W,OVӕ(DQ ̈́ QqsZK5q> _:wuA+>asA?f `F&9X6CM4{ܲ.6QR,qԠE[J FQERK\aA-01F&U,㡃T"Ъr_?%Eqx{+'9Q #K߅J{t[åXw%]ISu y1KJRY`ysdT]%xHoURsH&9a&X!30cR"_.hᓐaI O|mRِb%)(_*td*!a&3GɨRVЌ("M du⣎.^Ʋڨל|=Mˇt:y8)ŀzЩQ>)!{G:q]Y`Tn u~ʇ酻Q7sNms\tZ $ujk=9#͖i(h@clQ'W,^Hq\)9a0&111xjMөبi xyǹU=HT,t~\'ICA5qv"׎\1KexZ@U'C^H$V#zF#5G*.F3C=]L,>r@#BdT)\mB8myd)n̨aDM=әeiqQ`>^ o>ǻ祕\>uU8ɤ:-.+ߎnsy%u]coWcFmW~1alfTUVuIulaރ@9ƠIMdyYZ֒Hkݢ)J9sp!{Y^#y+kZpUPCz˒3KH-04t;ƐnQ*̮T 16أ+<&?@]Dk;B:-5hJ\pxΓ8Y2+4W&󤩘DiS-+m-C75틩 D$o]0Υq<(CדS ԫXRfrD XYJ4M>ŕێ L39%-CJ|D$BA9fx'L[#'ʣqD4ƪz'ɂL"PE+YYʛR_$5甑򬔰n1(4&2ӰF%Rp:Oom{aJwDIS1F]aΑ mfˉ^k,oQ?{@_0x`l$R>},-LTRᔟЕgP f,*m$⹉3"4b81Σbp~Yp"_̄T8ZYBV3GlqĶPb/~y7ychͮLdzf8iƋN++"Yn"l_\̈́V3ϮԍkU6hȆ$Լdli_‚yFAx paר5u" SuG=gA=g/tq71dG/n(ÉνI{7U\:+Q0u,]ǀ>L15+[mihX`4R|1;Û`@[406w`z㎍pXtLe9af^OJ!~8Fϼ(HF@eRqixfE%w$k p 9-Z5Έuzv,jd/O\/7FDYDzJOͩP:c5+*$w9@G9wju3IJPRQIHٌd :FQ>z(&w/]~:,rِs_ 2)c땲|yS0= }e :Oc^zǐ{ &dgq,.#)7*F$o<)ՅQQgj+ ձ% Q:UƸ 6|ԂGGgdd.{f_p0'c~Bc33^-E)_I]kTfX!>}Zk i؍deE38_gj6ɭL4KpNP>뇊ݍm,%#7dz't=%Z݉ R%Uz@fY<"RmBо%IpjZEST͡fx^u@'ޓ$R"g61B2T1EU}O,/+-UT1\Ə|y. Ͷw{R]@BXޓ"I0:")b{C[jWW~wҪ}LǾb}Ȕ s_wn.QiR"JaU <Vꅰ6%̳?Wi=k@~12Sd4I7%3<E>EBcFJ,<Auuwd)FzƓa3d=MKG a!*"҇R-}2ZZN n-nF'DvOR -ZtO48L*%P9ЕF31ƃǵC>ReG_ Q!"4_ ]3ǟA 5>93mF[>~L>c@?Ni~yU \Eo(Mt\qŊN61P_KIkh`֖k1 t8i7giRFא$*"tiէ@pTpn6u\J$Y QٺHD}k}ad ".cdyx_X-q۸<f:ӟ-Xv/yb& ART0C"GtX+ICO3DZ)ے5;~E2 };LpJdp\)OT>^ÄCW1K>ͼ9ʞPsUvG+@@ʼnsv#&;xW`2LH]`txU#wI퍂pzw~EYuq"*ߝg|4Ky5k PԝzXP☿TdD; ko dmK FHyi}_z!7@apo^iڋ? 7ToV2ƈmFT+1$ j2Z\x&3B==B/.$L Pdu),|J2F|2an΁ݙٮM^eKcUrbY8N*aT/iCG3ɗψ'5˵"0)uWyF<ʪrLz췅SsvxB *+b$h)faҌ#C͙6+裄|ZÊPw_*fl,R+yToF º@3:ˑJ3Qo:<'IVb*ѶCowWI ϓZe +?Kde=\ZVU=R:}6,R~S91DIN5}FJL3Ԝ6vAzY{j\f2``TN BP=Q-Z PK>[.,IL 4G'[~dttg??^ Ng/ャӣg0`'(DIŇ9B:rIQXhCQbOA]KhMƗEaa($LDSh$x<(Th[`ʇyv^?2Qý1?٥U9D9JY,'y>{>R ^9 ܓdOH^E'<BtxQË́s u>h 1 Ζ.Iʾͅ:0*%ֽB d Bjy&x:( ?+= E4dB"y9g!m2-r^sQw>~'f,Fm&E`݌oNN{/NOd<mL ~8~Ќ;i4Jp_ON_d,n5fl=qf dg [sM)݋4aSx?8='PFTFqc>:D$ݤ{/zOJ˚J9~z/bUV#8iVn2@NjjvLDSAwzub$ a֡;rRBDmfZ!l6i"}!V(UX3$1%lHBRa>##'c,_,[LKנec9훴O5cZJT~ƂJVII&`z+VerkL_{zH%m2, ko;r$e8 Ћ 1t5u_Ȗo&r1kfH&FU ?SFJ;`*G'⻊nH_-)%5%,â3/"n`KD[>Qͭ3--[QQcrxr 2BkȊoŶӈINk@#/>*> $B :K`(_^/܁Y.Q%#d$I .i%¥dpdG N:mM,XQ(35,Ұ6Z)aemNV'DX6 ~=`  P8bVJ3uw@QNvu",iGJ MD)Q@IIuIiXYHld'BhF4TVJm.xTH^ Ⱥn!N⥋-  P@+jA8Ɨq7qi/8*J6^M"P@+;ˬ Y`:1huD? ͧ.E'ji](-K2(&KȖvS@BNLm= (HUȜuQ!c;BylG(屝(i( B3vŲFlwVem'{(v"\^$T%(͝BiuHX:(,M"KG.Z@WuA7D] xA]ЍI,!m B PwkecqBnKvA% +bGz(R%@ h q! =h(lEY# BVb#.lBqꂲDvD> (Ъ0l.KNG4P@ h(ZX\;FX.iaqX^< t:G :'9^ (9>3 szj+)i'"&PGВ (JBG`/=((IE/0P9wI+I+e &!66U/I'òIh(K|U *aAU *ѶH]FibSMb1PGBAEꉄpV G\@DIc' -ZW"aS,aVC/A/<,e1(qe (a"%T`mP!QE+C!|%ՉVfQ Î%jǠ Z4;WvUo; e(6Jz%^ܷ ±5 /4  O Jz'EI5ְZ(,b utP>b cˉ{l^\Pg6^TP.vnEa(</ h d BAcakb ia101rۡInEŻvZUd'D$%!#K[ykg* #H\2([lXixlk,] _Ѩ#QmEjY*eSo>7Vl?%} xa?']E(h(/d>QVQ 7%ZdT;1,@[cPpg*9 h ݢ'ʼn" Z'|/!Z*F&k[Y0v8ٮeK% 9`Բebfd@C* '#t>{Ʀ2r$'LҔŘ"ʎ3 SA%DtCQ{[r< dLeM&)j62nXv6 *1nSF @vD zm)LEm6DD5%f"Z%*?(pN\ R@m[*Mg~gbvD׫D̮vJ5EHlI ~t_IJ8^'#|ITkMHl)d(3-*Y1N_cy>Y튽SELL`qNd8R> hŽ,4Sp A&5 m޶an"?u-(vfBLmF4WliVqn{r\;B;B&$DNR1Jri\((1zqJv@u[%AE 4_&NΙD#+3Av}wg`E>\4 vh|9|d'G N)#.&IP}Y&n"$NkkQ[]2PXf+E+M1T\uCd1:7 9 ;YeXacSH.8 WHlt֫1c6fϪeN*%HdvôtL#U>K::l^"Qq(Sش+?RQaH8'+y*a.MQr#L-Η#WGYXfbwj W͐TQ_D2*lU b8hP[e+GAcvf%.2ELѸ-*6912MƬ)m ,\4:\4 zpQ9iLGIbUUT%݌5[]0uJZ_ Z3fSHC 9"5pyk9P;7sy) _Ѭ -'BP ?@+QZNE H+rZ?/IZJ6'hRk^G=V͡ r&=tp+42^j4/,Qj5@%pxxŲRĉ{iD8QmMҶԳI_W [;Y)F jwV[~-@UrEn10TE+0שJ#B=lѤ܍J)iHRj5IVHơG6c$\Q%;[$ȻHơ'q&UwziTAϭSzV-8+A ^ ? /=Z4k%:1MT!eirvVTQ2%_UW q028 F#T}k[ :Ե&IE2F [U &YK@ iؕ#8M$~t+1"RRUP]Ɣ)E-}% {i܆ S8_bXVa/! :7٘|e%"?r6RCMӾ҃nYT*r A*?7vV$g:e+ Èp1l K'c$e爬BqiD0/nYE o,s^.L#TpΈy : CWǝAa,52r$" G-+LS( N%MXTԓC•A&JowL ~i]thRad/#SͮHḻgd!lOʗ1AjA/Ld't28-(Y H i|f01nK IJzckbszǵcMc<2U ++sMc4Ќ;ZQQՙZ.rJ%c)LU,&َoˊq"FqCmcKA =ȤDa3ua=D~ U~sl$g8a- ̠~QEC𓃎@lXx 7DkWy'v6V6>>[y|5ON9D;X[\ rVrc5|0WdV7OՐCXXq "5򩰾;u0DE_[N:% Yۡwv?pʔn^E_vgN*aUa1`|_q#e\cBbFҦ77MN\%ftUMP$gm (ڃء (UQä[ӫ?(2 %uA3$2I X+?1M+ibOl.6bB}#븄~*H 5\,#e2cX2eDlVg7\+n14;nqDU6*"HC,#n&c2"bG4jbf| ؜j{ݍJ)UU(<3uW=Ԥrvvu\hxQ5gf 2N!MW^,aĬx.`ÈkLw w˱;.cF 0dk\qA$J`Kl :nF:=Wrǭ2 ӯIwL$ (LUQגpƠL2(DmO´jŦjh%R2#dz}tc=tϛ͚bE;Y1jgZZQ h c*VmәT35Q}L#Q:X، l4<>l $,0z*q+A*kݤj.OgUqj܏by떅ET@-DlDZ4Y.ga9nDj]SmTt -,Wg?K g~EW:ش/Okzd 4mٯ [N#e2C5r9ٯשٙφ_ߜ02ƈp?ˈ^|&۪NsN4ږ6tY)H]vda0G2[0_'39K+ʸa=h{ bi$6nKr `M9à]ڂmyf۵#K.L'}J;u5L?\Y"@u*!G;1hHUi'}e jvm77l_GKV4Tt]v T|gq3fֽKZ'Nٴi<Ӽ:gfi;ɇ’ns MhT'ث@7vS2$65mKJ;FҘwݪMwA};yT[ݴN!vB_];0=鶭lz~cJ5G໹ggxAD^T)naL##'bӌ[4^R I2c|j8:2>,i򲟅@Zj oCy&}l:7;<7̫#n6q¦ƒ*,]CDi8R:`m: |6QQo~<񳟎 ^xB qޓ7'Ӂqi"q2OMȑq2ueQ ŹxJaٻbSx̛'?Б?N |:-T:`9u \\j@dLg2_ W˅jY=m'"x)`/*_Wt8XSԵwzhP|-.`9]T9[پop߇@ǔ>,J4fڞ]7Vie __B:C\Nwńus ]{ux][Rw/S5V MhຮsmgHT853pqu )pvNB`GGG'q-ϋrgl qɄl9[dھ#pCFn6GPLpu<<89k< PSH`ve |΂yQ.fs`[LEIM؈¿5抋l48#u0fb2WJ*9 qW&_I^.|8,@6糲 עsVhދŏOHPd<#*?8 9 Q6_@ سb<=kp\b:rJB#C`I T|+g?PKV"ҹ$L *$dd2D1~+)vHNTʏ *R,\њX&iA|IQ.G L'TK\yz=&E>5 Ræ¹HH^|6IJpv%Xo[bweIJR3cŖd!DP.Nc-)KY#Og\ TzJdJ"Xd`#Ƚ +f4|M:~ii#㽩׶>X ū m0*I`Ʉ%}D 8IG lnn!Nb;v3T!V4;4ޱ{GN&Qkt:iT:tBm8]FR6 q:'pNH*UnՉjjd-H$ZPF2C T"j4#%$njQ1AmLVJh=Q=A'кdp N^-foF3R"H\,|{%:ue9P|Wڐ?E-U h0]𓕢/]1tIQ{Rnax*i>/ k=+ŶGf=RTϳ Cq?++D|_i9`euPCVDa6-|Se>6fN\:UƩ$Io` h}v(_T!t?)18a/Q =6Yu6^̦N. }Uldo>/ 9T؟fz$R\͋wIf")bO)`::&I:. 62FyYZ(`uy1K9cCV4<Qq&W9v^0DCKtIvsP[ |yEeΚ猣/1槼b4?.IgWB+?($?4%ŨzqmO=>{>8~sagxdwu=;?/*s^}_ŤD`W-|%^ ^J(QrP7zEeq?8jd6'm`k} UڒTet딆f ϭ0v}`QEq4>ir[ Z@GWPM'Sܫ!~iY$"w";O՜LBsyte;1ߐ"w| Y+r @ u(.ukWs|%Oog}}Šj6XM!Ɣ߂[ u)q6ǶBb N)+\\BWmgf9~<4ҸUAPm6x`r. tC_1c팏Ed|90=#ēۄCƽⰕkv:łoo}zh6m6}#Jl} B8.^8XL}~m2I~7[a=Š©9Er3̲J{4xlV}v3{^~hn(ļ$t~ C JL{j-yq'[]7[_ԩ7do]^QۄNCUy0ֶ pgrDrE%.ٕa%(ZDF s(i= t>o\CEQsŵ.ێUPU(wW&.qPАQs|:#M*7]pOQ?ٱ|]UN]ή1,axxW9Typֆ7ӓ?0R1.bT4z,|vMP|v&ǴrGAkRE 0qZע T ON-vu9a\('c1 s' cZ+e^Z-A1 m@ w b7~֠bm3i6[co* MuT5ez{6V⺊<[MT l[v؇n4° 0) G2x[Lv0)F8POƘΦ`8p rM);.qXS5WX~pqv.T`PszEJtly񖾎1x >װf/D 9D'3=YQw+BߞٚHȟfȇ ɸ:WҀnN(t %4awn+^!O @DQRYثjQCeǜ۝1mؖQ8@0F@v Z3XRSC U >SK%*n\:^ VE.d 71E 1;Y6o$ ou(Cra̟ :dX)y}%uCeg 718 +[aq|Rw9¶ubd}_˦݋`9{ea> /vzs<Sx)xvn Ij #*R1 (曚H)1`VmKHm|3WU `|iq{͑t s_?xM]\tFTʓ"0)(А48c|tc?iɛS\}f¯v:gjc`ƊWΊs,*j[Sa=%lI\sK[NHkpuA-,A3EH^3T0(!0q+;xT9 Po[Pi-'\ph@5sgÚ>L@sXsQ5^mP<#o8P3HL9 @cάYhu/Zt^W] ZߚuY!,+kB{,ig?,-){7*)>0`7sP/Ho}Q碏7MbDd^gio.n~^)Piܔ 6 57/@N![@*ݫi=F4Y7ڳt:7ܻ8߇lR5Wld<,M'j|NOe*e!*Yߠgit(|u?Kzս~_{_Wݯ郯WȵskƦ]{{L+7­-.p|Mfwqa6Y_;)H+ fWXLýyѸ>v'@)4GUNV6oeA ua7p&rk " zsp\\E[S7BlWF|RTϰYԼz-2QƟGAm-=A+)>|^-'GEk5Nc$5\SԑH7KtvwCU5p_'XDE߬&O5u9,` уϫI@I&4=q&/c<4!im 0s"F'Z+5lΰ>9fpT7 VŐT[*7lz^鴮&kiGU_E, aٓyvKZqo)GDoڝ1PJ|F S m(0*C3/jK˟ E|7CګEhn .p*xxsQ_Xɗ@Dlnv  6?ooJBv#[srg y|DTyԼ(gwz|"kA>cs!d~u<[;x4ܭ0Pm%T![ 'Cêp[#LM ~΃1uJl]dn@ջ<6ҌfgG|?>zs98p_#uӂk:h} d8fk@k@W  Ŀk@5 G?| )qp1A9_r}   [?^2}Z7!@d }ӍRIڣΡz|BN^zu4WT 7-k0 (K,K7r Fj42Z٨K~nW 5t[u#| ݰǛ|(aI:CA̦ޏVP 793D mQHEOWB-Y} ;>j:7:i:P7t2]USm=±,p:W륜 IYk,KIj0g5|~]RF>fns}֗E?9\ň>N JxVe}FGgPM]1tqguxXLAm[߹gig7+{AXIU1kf$5Bu雡!o;F[6NSr2-~[8q* v|Ju\e" lP=Smt1$ʍj:VVڬcm5×ڭ66u?jמממ?'CmQ#i+oa}[}Mƽ]w~oʦ|O/4tu \ @ ;~pOh ֞1©9~yPn<Xz@mسr⇫lOkϳV3~l?A8+mm8*h\mY0lK'iNu?mW!:/ʅ]3jboy7oTIpOi3~_a% Ԡ4oσ[4Y^>~`Ғ[ܮ"s/lfÍuZLFRpu7I2WUO *XֽWG&5m];YGS z<ՙ*dž鳆K  bgbO1L5ɧdF<2[tosV ߾Gf_՞cJn#۴?v uPW/p|"ܿu͒6r|E?0;m+_Gs#52H[ex2S>eDt1N`G}+&zz)?RhR/T÷; )>w0$T Vk;9,NЫyp!XN> 0MJ@\os$U1_ pgi>>c>U*"$"\JYLU'8ZKb6 򬠕Hts, x:h[& :.-aM!*h"ajD;i8~\$Z089TB+[="OKs0M"gx u͞wMłezށYowE tm>B/"Q۬npt.qB*u B/{^33,9bDSW8z , !7 /0 =5c(v0\56U$!28:Ϧ ⩅N.>ŚyWWn>*R0OAŭ 몸HbE_,au L,7з{#Nq\GRF.{P΀3`pxHt,~Y( G:PWp;]t|M~!]Dnvc=Lgz ^Dpz1%1_9]B=_^瀯 1~=Ư9=>x3^>㵟d|>_9|._9}3:|}ƫ|ԏ^3գ>g:}>9r. ?3])?w{'k=]t8_Wxzop;SyE`4G?5k]u@פW~N9S~ "\^+fڜ?ĕ}C-׀2^T΀?`aDc~Nu9lT#Ws;9!X^{|ЕI°MWwI(vM~^6Cリbm\!Io>I5S_\㈸:fiG[!. T$}2n:Ӑ)iURSvlN++?3ޭӢV [匵YF\!_J+#[.ӥֳtVVp?k/dUʰV%l=Xi}|VJaz_o2~U+ցg}kVL}}~RWVV/+g+x>gOs}n>g:} WY!wp9\?`"GBV aָj*+Sw=6IVBZ\Y![[inkX!t+[}~/kZ+ԥ~>Z|es*L5V}J+2?tlX}J+3P$!6(F8C⧃v/j[tXOvS[Z-IZlZSYJ2e!+I@ƚ,gː%MX3[X}ǖxwr?s~ktƣpcIq{OczW1=ƣs}.wrsy~Ycs=ӌh~g}g}g z0?`$BcA" 9%5)̗cʀՐA k^!!s9d uȖ#!Yq8`?K!$aRkgE}>h|!ۼ$x؇lm%žC|=d |_Y [Sys%5Vs>.G|sٗ1~=ƧǜH9g/}:B鳱ħ҇c d$qs=CxҔs1>k>3>ӱ ϚA*1|-ijϕ}-Húkk֒E`'T&,GwۛxM 6؟SǧK[r^$35SEvͣ3@g9/(Zc~V<8>=:6ʍ~εy$$2|ԣ-2+6LҰb#K޻ vܣ$[o&Vh]JŻ 3q+w*Z#M6۶3ZS۴nw>ߦU2/gʽZf1]^ k(E_r^£ Z;6ߪ=CgmE:й;ZlNhWoڽv]eb+Cm6n/?xu S+kZ?PHTWM&E>x- A!wd,s^q7<;\_:fDjNO?kdo:#z`^1~]qAYzX?E6t#+*zONYo4ƞ#G|"v@n >aϛHZ?֜o?5Է],U?{/o9{b`%櫳x\/Q4_ݽ^Pc*?[9q"|kiG;N@bw?bz~xklk:B;ӊYDTֈ[u0{$%Nb:)|n88>/aQ3(*7=/ʡ͍h@(F {NaoOVuN~7y_v92w @+&9yY4ȑ.|/^ȸߟ>5^Dmi!*1$j-Qh)<s5p^Zk:`6{m,˵K )[%%,xR|@\̯}[Doj۳mNmG[bp6[R||Ά%Ş-B- |2GUQՔ? ,?=^xl.Sn&\ΐh{O9? /zOR=(\E^brd!b*1#>_^Z6 U)£ 6Gԋ]^}|ۢy/@dx<|DM}n`W*ОX"Ҝ]*.}C5RF:9(~!(A,0hb~㭩\= hFVYl@XKq~Q3rh(+"Hi46)`Le"+:t{ë/59"[/G-߭4$Ꮿ B?ɯ+ZYHJZ[JLЯ kh~._aܫI>Ph9`$.u _3RO !tQU[xNvԙl$(] MSPώp8VZC}/r:*S9|t}? S`**G&pjޏ"`T˿8`P߃@_{_3-Kh*izShhBΖ`mLJ}l u=2#~EcsZVn|p h@ 5BQq9+Jt!ǜ.* 1ںú6W^ bk lU?}wiU2[sa+r+I_ā11}], ),(ĖES™ qe&.O<"M}5yf˳Iqr|4\5CӓNs:=@p܎֛ѳ'ַ;zr78&ѳ_" 'Im+RCfgfH?>~ @$pPG 񰕪U1ĭ_N(]U`41 "\(1F65xvrdR{DZ4}5EVS7T:B&^<=9xWY4l nB2)!TAN0G=OV$"_5Fd3Z{DZ-'1„y5y8jA:bYoMW/3n*ٻ^TEXݮO߲~s^37Wj&>;~5<Kefp9.i+st_m]ve_!rGxp\7׍WHN,M𳥽wf^6j(b]ݼ+dw:5/y~rp/``q4^4WWVlw™'#Ttؓ&RwWw u|u:|gG F hc#%/O pUzUz"RGxۭ 0\6iy(!suZh@Nr|g։jE?D/nt:t;0x~x RT.cO } 4Qw,U-U>kJv2[AD$_:Os>OȔd/1xD!P4V]\. ah}4GB~g~ YͼfalC}P"p9L"k\xnyX`*Y=8s^\%Ur|IhgWÀҩepHF^h19Q' ,j4{Z ;|'Ia_1|_ 875^ }gUlVYʙY:{5$6tS8^K~ Q,`z$ԟ2O{%?Ǻ՞Rm_ܮ;5·s5՗͘LYg8WLy$s( SpH ˷8[̮^N@ 6iKrᯁpB9%P%I<)>.sc®`9}y$!?VwvJ #J"GڤSm'o.Rq0?NEWWЭ0")aaQ fM r;Cd1j&uC[/Z2kc_3W/(j2S@?BwYßwxjOn BmF!b&M tR4?1Ur" #tarw X?FJ0Jy{"v43y#dTs6ÞT:x&pkD?L4$$͈/{& $˽{T_6mTb٨FGY^є73d2H| `{8yW>2Xr`-̢)&Ša?BBR"03<=t,4`"YmV"r.mޗ2x'-O2UĊyऩ f.vqWi]r8A,6KV2dFaܚhipYwyߧaHxDerT8y gq.qMעGHH;{Gqwpps/)@d ě&*pdr#zܠ9`SصVxc K1TQ b./:hh<̥P]AҢ.35z΋,smW˔ɶx.(1ArSE ZlH]^NNjoC'`B|CA|o7{xpE @Uc,sv Q?vg S5n :ToP. Ĥgk&ZPIyB~KiaD Z6Aw {o|ϸ4l ډ8C!Z[; S-R6€MfAR4G?B]|t\zDFAħ ~&^*:{Ao>.=1(J? 2b6ˆՒ,p 枍*6N, >sc9% ʼn:\l8ѭ= 鎥8$-Qݜ+mOB@>y0q)4:=JN0j5^?Fq|d7LjC9lv24ћsǹs^ZGiR1̊rO-usO@wHRp큵vs:2Dt D'Kw8?HQJP2ǎb : XHp'^Knv>q㱧wP&*E؂yˢ,컳͌X!p2*Cwd+r?`Mg#,]ٱ.0Ȏc m$ kAk_̕t9IOE6:9kRL 3LeEa*퍖  㭢\yy)ALa {af+l>' u,O^hwPɩ"MJhP5L$_ ۥJ %9]Xܰ&[~aWeZKECyr?5#Szrlt vL~aANY;WȹV:V#G;Yӌek S6;:#QD1ANF 19[<;{L] m+,Bh%BB{V.oY0W`bX茣ӣޓ{Ⱪx 9?/ԪFӏ8 3Mw/=4ugtƫ ,%T􂒽W?̼aR C8ͣkjf 6_olO*z_LYZubK=eu@KE\֤ˉ`NduxZJ+53u5sfY2Nj Ds/P$G].X #4r[ pg$;%ȉWɮnR.0G<~*MG}[b//X H Ӆ a iXr6ew$Jm$YJ6ƶt'0h !Kb^BV,&67_^,Icb*+cEVZ+ޗ\(hxp7bRB>{/-s~:а4`pE)_9? 3E!,rv#{!/I]*MCϒkͽL2Ǐql% .źrȆcF,0t4ݮ6򯖰6Ey\\^cR^/F.9#-a,'p&`5 V-}qI/S[^(HV#n>o=n+$H 9hˎIaP fuYFCd{3 eC!¸Tjv2P*7;sPK91%vr8{8ضǤ֥'euk*lYIl:{4Wz.w' ciWɛQT N[$ŝ0BLn |_`)#UmXM4unOL6x^5*(D^ܞh| 8Mt}.rΟt({ӔwjB32Ql$- fQd7$jnW3{pSQջg\ڊIC[?2̗j\R&4N42w\7s#&HejYXaљ([P@T7RL,%IW w xa#ųdbFgo:o5VXȦ )2&Cd,>@hK+X$3$7D:]J5Žg3__+w qss]-fTuʶ>Qt"ݏg3~};QS;'MY3|=RIlN\Wrd-s:nǮsr$5^Xr'vLm}ԙeVDҺ;"? SpIwɷ禝 w7+y.R얷RK%!W_ ꥌ<.f*~H7k{MܩS_*/ԁ`p2~]yM+ӸȢ{'7'oҒle?N{z'Cg M&a}qez'_d$ɴO],>dF&z%빾p®QLFp 'f$%ԘB'%;˯{M\ \۵yW5us[:t!UoZ__oVkQKOݕ & &02u"P̡˿g2S7q*B VXhtAƑ("./}2{|{楇\A FH8v!C nSD; bm7nNI W6FΛQ۟c6bkvVםQٞw#Ze&G/N"&rQu"#b:1Cڥ,c3W sNCRK `ΨI`Uٳo垍e-VV2<.Zg3Eqg>҈qMoh WԈFC ,D^(@#@=i>i{*<x"cLTzRwo CWF 5"rhօ2YCkFS.hItӂئؠA{cJWzWS :FbL>/,8 8gF ~3Ш@vo%7_̣:Ze tOb`fk&?j+֟")HO#Gu½f>'C0;N}]HS0㤛A`@[-Ʃ.F|w5Y.A~|~U?7ֱg\]"fMZXl3q׺lX ՍC"Y}E|Ōal9"Fk'MhA8lQ0>w;m:ji۾fEʡqrC`{ӣ6-{˻};нrw:ʗ=8얻) x]ֹ{y^u׹-9yLQzG]^n֪gc~0ww2:uN%o/Hc~Y*\-= OC_2iJ},M `>^#s8w0np!ΙzEBĒdt_ӹ6o%鍪TvEcudSJٴcJ*Gر฽C"jpu/O0##X5|EJhU],)m`rͥ^Zw^=ViP+z0}DV.vOI-eJ'$QmqzN>U?-VbpJ'"$tf{NSc}_, ɨ'ϦXV]F`4>.&phK qX4]WR^A1nZC3x!XSf ݋cEJbFKS M*bҔ`R=u[4Q ⥮q xz^ W4]*[[{j^ζ.u?ҟ,Egx$a8z+kx=ʣxLʡN# sT kE#HG~AeoqP-oTY:޺K,B[2NPU(7FSm?N68솲RBf\ yq I JiޑB2x-XkI!my>d믪P`4Ukp-e Ƈ`ߐI 1c89ag%DNhNu>!8I?9Ywu /GH;=-)h=a]tY\_v8/{6&GVM=h2Qp5zhZ"@Pð .Kz<|ƚ, (UBVkIsoK8d6]j%6"pl}Z%BCژ4 v" 6,xYZD>Vbd>|؜$m~ؽwHs%N}J{_MUEHb1dI$}l:%xM+)kX+F쾾uգOې\Tiq"\ŨI*a-8nyC$kY\X|g~f" Fx$6&zEXkQKD鲣w)pM  l KJhTJo% 3Ub#T$G'YM߃Z=1dfh6*`Ǎ1bJe(\+02D,W+)*#3ψ7ެ}?Z5 #^3XYZR\fXzB)!|:< ABNد\ez )pǿi.ʑ@rO\؝^VٰpLeSa҃ԦwQE! ܒis~d/D(! Chs0B !j?R) nϓ-& hlP*I1oL2q_#>ռft6;FyGP`DS6 Y;vYZ):W8ɑ9J^@HmS1AU•9F%gYqaG`_#rYüZc>qvNUEdpRPA> :䴑?$C&Wݩh$F @ vme(wĠfu6Rֈe:X[FC fċgSYC,֋|Qlmyr1.POE2 xD1ޟ:e^>'`CVM4,SG'\[Ay&KIqmt#8`d}9'M8EZCA:0[=xj% D2yqs $+4GY;~8?W6/%Eg"aKSgwE7\e~gʦmaladɪ5Ԃ#yt4VY>q,ǖZ ^ّE (7{rvO{!~;,obΥ]ZU%q^N.W.!ӘH{_Ō%F5SLE> - 3j0݋s:>+nyHfTdɷ˖ %Biič*6ڢkÊaV Ѫl4=av-ۛ?,IJ4#ĻF9W/5'4ƘP? &=8|el6֌؆|2l {VJd5?޽!) Sī2wDd_FeDl_V5"FL⹳R%xY`mFa<0Ǟ10$7 `Zŷ". wE+AGUÓ%i2b/pSH+ڋr/2) KA$;uJ{AɡP Y;wIo-%|}KH h~(g['laK^Lʩ{ey 'aJ*%T? i!-{tjq^RM.h}Nzi{6 L~lzh j{q2AhB9,dt~kJ-$'*1 Q#..N/JP*1~z?"܂MZ|8F[x PKLQhYsPKYM3.src/com/bluecast/xml/FastNamespaceSupport.javaXmo7 a*lnM8vrv`9>P%]nI^z΍ҏ"rf3/gp /Ƌ!eJ߱ W1IǑԽؖup\ ?`j8n8ɖcxA \GAZEtavO$=+.|l{1 HF J~R($rKKk%a# hE(XyA06q X8zmvrvz'g%i Ub[E;^kazEr_Mn=W\$BۜqvI`+qMG}'*ZZ%D_)( ,hI 9'kat8\݌wxFw_㻛p$wXU.K0b>K1GUVVіˍPd P 6B3mּ3?{ Ya|{ sL~\"B.%Z2%}<Yp=R.D̊[LT cjQ+ِz4l"?~hlxf[hK05z/w6J"T۝b &WI4]3Nyf$ߐ3 ügS,ҭl<_7揻a eBFqT8@䘉zmcZ0Άpc A,a/fF%N$jI l;b0Ob]FKy%zXeo]y"OdT/}E = V% SʥWRvߙvr|eRԘb4w&?OR`z٠HqT ly/YPlM4jAYm_ N2}x'- @6y)?5AƐ q-!LQ" [Lu 0@ jHIܤ-˩vV`$ xlImTFb al"_A?KrH)󹐃 ^M /^vp,>=tq,8pt?s4X{PwVʬMF#N7=Թ :E8>Z{^S{uDyNL!_ =ee6[^LSUsLXbJ;<"j/؛DWhԆ̊36T%3eژjVY*Xj༪Cĵ G9[!z*rhn,(1%2Qaf!;_w{޲~Tu&Ko)Kuo֊ӹ1,݈i=0׽>~xurͷ&Ì<9[;DKUnV {M=WuH4s> ƞ+C, /KtZ5]hܨ3r&"c`lh:jbgw`YJVvWp'ZT^\PS>x}>Ja.` z}Sѷ|IMU $_$p}t3Dz~fr=99H"ɲyujH6zD8@Ef VfN'Lz'r%*=ǀMV, Y[aHFg B< P݇|a/L$5@Ob"h"+TJ*@FY2^kPf|6ue[viYd B^h_z2\VfbLxjtbiۼ,Q bnd%R{|-. ȼKf9@ 0"/YE 8 ѬVpY+9憐$<}*W#hچVȁ~ƅ,e(ׯ.x h|1!mt#" 9lYw*e!x,A+7t/nQ[kk `.PQN>% f5z!e\B|aciPCjfCM 6v _-H$iCl*P %]*v*Q7U5s<1}|NU!b H+5\SV Gm7Xd|P^_jJՇ`wUˮe`fbb;f/6bjjuEA};aLxuld"ꊗ D,1A9y"R ro˘ xmkyUe- lnߥXbca!z~-mPsC6-+^gqjIR/8h^㚲>:c] *DzI} _ Dvs0E) l;:ۨYTxiFԉB/t\q'RYI9V-1%E*E"8:fzwn١O#ǡwzNP1"73Τl{lv瘼h8<^nȁ+ݔX4Ug[ s0sm2ƛ칳/{pf?N Tly`PF{S}ݾlp/uUIcz1LtNеYI%"Ѳm@ tqˌNG!yiv.jߖuJ6P1ŒS4FQ\=Qgw{s ђ7Z&o@7}8rҍlra vP{F $#A 1b`*DmrfEy熐ﳙ~2`X;ے3YҔz Ŀ¡p - F8ž9ģ_(B&v% GLKu >,a/fIK' =[^2_ׇsͪ۽Q" ?SF|m|B7_'ˆpIs$UO9ou$⤕_h׎FlyuQ&a^.R4u =je`Rlo:^\łωZ@\,褫[ X4>m8=|2#?>iX8xOC8$ y1G F N3EŖ 4lwEu+)_؆`SHBm\+V>(q_Y>A6Xc^%B+LJind V/ŠD ךjQPү'R{#2&Lrԇ(YMtbt]xIs> oO)ξJVv㳛^vJV%tH 7? Szc 'POQKk۽Rb!K"+,<-^q)m+ɾV>S]BR i74ZajRLhjJ _ 4) V|n`2 <0%av\6 ?T%u=1x]G[HVdpgvY=&e;`e]+Ľ0tR]093iaTǙ9 =Pỻt蕹m.jU=<;-=>[cWn!DAPnkJ2?| [#fK)Bs8&DM\ y=>N/$$stpaIL)b',DMg bP4EUܸz뭕Qviҡml/6 E61Jl\r-_;QFL6f[Q?қ镨c=t󻏰s du!x0Be2҉c{ 1[?x3#G.vNq2e yEQl1?nނ~RֱG60obcQ== 7qR GL&鳋ðn&IEZyڹK9ֻhb>ie5הp] 6:bdvюZ}i᧻I҄NYv8kqhx20RkF{fL.tX{}a1dҔɂzxv!{id4SWnSM0]6tFkLj%jl)s616W %{6F@9evRzضPK.4w 9PKYM3src/lib/jflex-skeleton.piccolo\{o#?@wJkYLמx`{mFK^J?lWU|lٙ$ vG.bկ$-7zE!w;YF⧋&o&߉W}(E-ebfPbcޯ_ gΖYY,U#k,\)$5DfgnF|x~Fݗs^Mu Bl)9d\Y#C7?ys~y5sb<>@ 0j-z> m(dUJ4[ݏ.ưT۷ߟ>Q|ŻN~WOpӳo^|-~d'-FrXɺnA ˤMս&[dO?ABPީ +l^ϲE^_ ľ-JlFk˙j-mbu[/NgE+C(ðI:$LB7$"|()>YQY!g\/AaқMEߘ۪H4]k'߽9: (}!l`>~\ON,yTdyY4AJr.2֒D\l6h0ʄCNIJ@f&֊4 f3m #UA#@%=84Jc&F`J9~9R`(F#cV7"AmYUV{Uo 㿓r*I0Z`QYA"yi7ݏ5}r;IaV5hk5v*oDy3:s|Y_H<ލ|GxJ?rJ ${7=v5`B`#E^P`V][{ۉ[C]'Mboj&ӷGFvUvΚoh*pG'0FJP`,"PLN*dV.&jzCSK^_ )p0B ʁlUk}&'X8EV##ݜf1&D.=,GDc{8%9c c3Ç cU|D> w)< Q6:EZ } 5De+Bd76Hl kd:u6J,ɫ#QG*#&Q ޡUA2gt 8P5K&MN5F,ОT ƚa_kpl+R{dFeW΃1T&Te*17]JH֋e&zITi+##);ȂkS"1G V2\_9r#&{d 5H^ "fY q7pU׿RFq@ MMT.'q$ŷ-/6? ,6V㬪2fǴH}V*(С;.t>Nnchc;CFÊki/{/[c1G{+wZ<~ v݅UBR(RDl!ĴPXBheN u"~sj9үԍ@}:{x65 +ȃ-\PHh$!ƍV,IvE&b]a ! 9)xH)H?\,> &9yD1Qalؓy;v> |\j*[fO^Ny>C$ȴ5p];U4W(27s9bgXXY\6i \[^QV82m0a e@VrAlTIli+15'pZ ٠[aAD@ 8L*F;3xu4>f= i |pmvqpa2 N4 $KD,: ⦔s=A|O4 ^c[&4O 3Np߇.̧TpY[@q>׫| 3#2,2-)(d6$ FHJ~&"9۷w9XSrL\Y}Z,&5}3u<J#3ee:XiC-xJ{eqqI|Vn ~E(tMX5jy2Jޮm ش&_yGP|n6T0t ƘrqU -IE]XG羞{C>#@' TAhZdmMwdp5FQް6˺8z"2^ꔵl˽*Zph#? PU6oHD֗\kkJYVٜH(lل;ÕeR bayT2}t> 3L:M@`Y'v*Ϧ$+;i-hz}hozS`D{ሡWf=L -8j<̢mقH __K=49yn/8Mot:1M_<wC,X1~э&z| 3@8g`Uld`)@ ?ZߴlN`*F2KnyJ}'z]7$c%yIWM+]#7X-z' j2^OK!{b DY۶k0M땧9>jAnߠl?ts(}dHG}eh*C1͡+{Hbz (RLapbR1V_Ζd7⽹U" XRtk<@87VPRZ 2wvSdE,)woC+qhǝ\AԻ1~lA_7]At)?=|3-䴟5`<ɥsBc{*VhNc~Pm]5ǤEM6 :\:ƎNp5Ph hhln86sc{Xa1}N͵ݗ#[/}n'P;ܶ$U9eowgmv bamI貓.fÓ,6KJFxjtpﺙ `1)W"dXslWҩiVUv(xc'gY QyEZ[ cU%?M? l NgZ JWs+,MHӨ 9$-ok=gn$| ?d,_X;,8clAFV0U?Tʅ9Ø) b]y;F W78J?Qo&{ܳtBXL ˇ0Ϲw=B5Y :icB)=KxD6N 0$0*I cDMхet "~ (;r./bf^tL C3YLIJ>ރ /,ZPgżBjAu%-ҵhvۘ_`j݊Ao?t/0 og8 |]E-w3 w{3j G6@mp9:acÓK^JZO]jKv>M6JBz%o} d(Elg(\B7>^h4cvu H Ro{x= x lR[,1cVIi޽[3 zES;n%[(;ws]0 m(—;ptņ_hR:BJq7Ns;_~Z#F#\MdZC© tp CtuS`֥#?]odxŁD3tm#*ӀۖsUdynǫWa jQh֬ICd,]Ch|D+;Hf+ ~ı`PHzkג,ɰHñVh"Y,U^Ï-*Ņ<6b~U m=(Sii>}Vӝ?s({>.Qȳ 6gF7xdі2l2vH:'hAyZEeOW}B}lI08%b0\0wF<W%?c[:48>6.귿 0Zal:誑T " v-Z & /src/com/bluecast/xml/PiccoloLexer.flexPKQName
class represents the value of a qualified name * as specified in XML * Schema Part2: Datatypes specification. *

* The value of a QName contains a namespaceURI, a localPart and a prefix. * The localPart provides the local part of the qualified name. The * namespaceURI is a URI reference identifying the namespace. * * @version 1.1 */ public class QName implements Serializable { private static final long serialVersionUID = -9120448754896609940L; /** comment/shared empty string */ private static final String emptyString = "".intern(); /** Field namespaceURI */ private String namespaceURI; /** Field localPart */ private String localPart; /** Field prefix */ private String prefix; /** * Constructor for the QName. * * @param localPart Local part of the QName */ public QName(String localPart) { this(emptyString, localPart, emptyString); } /** * Constructor for the QName. * * @param namespaceURI Namespace URI for the QName * @param localPart Local part of the QName. */ public QName(String namespaceURI, String localPart) { this(namespaceURI, localPart, emptyString); } /** * Constructor for the QName. * * @param namespaceURI Namespace URI for the QName * @param localPart Local part of the QName. * @param prefix Prefix of the QName. */ public QName(String namespaceURI, String localPart, String prefix) { this.namespaceURI = (namespaceURI == null) ? emptyString : namespaceURI.intern(); if (localPart == null) { throw new IllegalArgumentException("invalid QName local part"); } else { this.localPart = localPart.intern(); } if (prefix == null) { throw new IllegalArgumentException("invalid QName prefix"); } else { this.prefix = prefix.intern(); } } /** * Gets the Namespace URI for this QName * * @return Namespace URI */ public String getNamespaceURI() { return namespaceURI; } /** * Gets the Local part for this QName * * @return Local part */ public String getLocalPart() { return localPart; } /** * Gets the Prefix for this QName * * @return Prefix */ public String getPrefix() { return prefix; } /** * Returns a string representation of this QName * * @return a string representation of the QName */ public String toString() { return ((namespaceURI == emptyString) ? localPart : '{' + namespaceURI + '}' + localPart); } /** * Tests this QName for equality with another object. *

* If the given object is not a QName or is null then this method * returns false. *

* For two QNames to be considered equal requires that both * localPart and namespaceURI must be equal. This method uses * String.equals to check equality of localPart * and namespaceURI. Any class that extends QName is required * to satisfy this equality contract. *

* This method satisfies the general contract of the Object.equals method. * * @param obj the reference object with which to compare * * @return true if the given object is identical to this * QName: false otherwise. */ public final boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof QName)) { return false; } if ((namespaceURI == ((QName) obj).namespaceURI) && (localPart == ((QName) obj).localPart)) { return true; } return false; } /** * Returns a QName holding the value of the specified String. *

* The string must be in the form returned by the QName.toString() * method, i.e. "{namespaceURI}localPart", with the "{namespaceURI}" * part being optional. *

* This method doesn't do a full validation of the resulting QName. * In particular, it doesn't check that the resulting namespace URI * is a legal URI (per RFC 2396 and RFC 2732), nor that the resulting * local part is a legal NCName per the XML Namespaces specification. * * @param s the string to be parsed * @throws java.lang.IllegalArgumentException If the specified String cannot be parsed as a QName * @return QName corresponding to the given String */ public static QName valueOf(String s) { if ((s == null) || s.equals("")) { throw new IllegalArgumentException("invalid QName literal"); } if (s.charAt(0) == '{') { int i = s.indexOf('}'); if (i == -1) { throw new IllegalArgumentException("invalid QName literal"); } if (i == s.length() - 1) { throw new IllegalArgumentException("invalid QName literal"); } else { return new QName(s.substring(1, i), s.substring(i + 1)); } } else { return new QName(s); } } /** * Returns a hash code value for this QName object. The hash code * is based on both the localPart and namespaceURI parts of the * QName. This method satisfies the general contract of the * Object.hashCode method. * * @return a hash code value for this Qname object */ public final int hashCode() { return namespaceURI.hashCode() ^ localPart.hashCode(); } /** * Ensure that deserialization properly interns the results. * @param in the ObjectInputStream to be read */ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); namespaceURI = namespaceURI.intern(); localPart = localPart.intern(); prefix = prefix.intern(); } } xmlbeans-2.5.0.orig/src/xmlpublic/org/0000755000175000017500000000000011127016531017534 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/src/xmlpublic/org/apache/0000755000175000017500000000000011127016531020755 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/0000755000175000017500000000000011331341653022571 5ustar drazzibdrazzibxmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/GDate.java0000644000175000017500000010716211224766653024443 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import java.math.BigDecimal; import java.math.BigInteger; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; /** * Represents an XML Schema-compatible Gregorian date. *

* There are many date types in XML Schema, and this type * represents the natural union of all those types. A GDate * can hold any subset of date fields (Year, Month, Day, Time, * Timezone, or some combination). Wherever the specification * provides guidance, the guidelines in the * XML Schema 1.0 specification * (plus published errata) are followed. *

* Instances may separately have values or no values for * the year, month, day-of-month, and time-of-day. Not all * operations are meaningful on all combinations. */ public final class GDate implements GDateSpecification, java.io.Serializable { private static final long serialVersionUID = 1L; // XMLSchema spec requires support only for years 1 to 9999, but XMLBeans covers more up to the following limitations // to avoid losing precision when transforming to a java.util.Date static final int MAX_YEAR = 292277265; // is Long.MAX_VALUE ms in years - 1 (for the 11month, 31days, 23h, 59m, 59sec case). static final int MIN_YEAR = -292275295; // is Long.MIN_VALUE ms in years + 1970 + 1 // for fast equality comparison, hashing, and serialization private transient String _canonicalString; private transient String _string; private int _bits; private int _CY; private int _M; private int _D; private int _h; private int _m; private int _s; private BigDecimal _fs; private int _tzsign; private int _tzh; private int _tzm; /* package */ static final BigDecimal _zero = BigDecimal.valueOf(0); /* package */ static final BigDecimal _one = BigDecimal.valueOf(1); /** * Constructs a GDate based on a lexical representation. */ public GDate(CharSequence string) { // first trim XML whitespace int len = string.length(); int start = 0; while (len > 0 && isSpace(string.charAt(len - 1))) len -= 1; while (start < len && isSpace(string.charAt(start))) start += 1; // pick optional timezone off the end if (len - start >= 1 && string.charAt(len - 1) == 'Z') { _bits |= HAS_TIMEZONE; len -= 1; } else if (len - start >= 6) timezone: { int tzsign; int tzhour; int tzminute; if (string.charAt(len - 3) != ':') break timezone; switch (string.charAt(len - 6)) { case '-': tzsign = -1; break; case '+': tzsign = 1; break; default: break timezone; } tzhour = twoDigit(string, len - 5); tzminute = twoDigit(string, len - 2); if (tzhour > 14) throw new IllegalArgumentException("time zone hour must be two digits between -14 and +14"); if (tzminute > 59) throw new IllegalArgumentException("time zone minute must be two digits between 00 and 59"); _bits |= HAS_TIMEZONE; _tzsign = tzsign; _tzh = tzhour; _tzm = tzminute; len -= 6; } // pick date fields off the beginning if it doesn't look like a time if (start < len && (start + 2 >= len || string.charAt(start + 2) != ':')) scandate: { // parse year sign boolean negyear = false; if (start < len && string.charAt(start) == '-') { negyear = true; start += 1; } // scan year digits int value = 0; int digits = -start; char ch; boolean startsWithZero = start < len && digitVal(string.charAt(start))==0; for (;;) { ch = start < len ? string.charAt(start) : '\0'; if (!isDigit(ch)) break; if ( startsWithZero && start+digits>=4 ) throw new IllegalArgumentException("year value starting with zero must be 4 or less digits: " + string); value = value * 10 + digitVal(ch); start += 1; } digits += start; if (digits > 9) throw new IllegalArgumentException("year too long (up to 9 digits)"); else if (digits >= 4) { _bits |= HAS_YEAR; _CY = negyear ? -value : value; if (_CY == 0) throw new IllegalArgumentException("year must not be zero"); } else if (digits > 0) throw new IllegalArgumentException("year must be four digits (may pad with zeroes, e.g., 0560)"); if ( _CY > MAX_YEAR ) throw new IllegalArgumentException("year value not supported: too big, must be less than " + MAX_YEAR); if ( _CY < MIN_YEAR ) throw new IllegalArgumentException("year values not supported: too small, must be bigger than " + MIN_YEAR); // hyphen introduces a month if (ch != '-') { if (negyear && !hasYear()) throw new IllegalArgumentException(); // a single minus else break scandate; } start += 1; // two-digit month if (len - start >= 2) { value = twoDigit(string, start); if (value >= 1 && value <= 12) { _bits |= HAS_MONTH; _M = value; start += 2; } } // hyphen introduces a day ch = start < len ? string.charAt(start) : '\0'; if (ch != '-') { if (!hasMonth()) throw new IllegalArgumentException(); // minus after a year else break scandate; } start += 1; // two-digit day if (len - start >= 2) { value = twoDigit(string, start); if (value >= 1 && value <= 31) { _bits |= HAS_DAY; _D = value; start += 2; } } if (!hasDay()) { // error in the original schema spec permits an extra '-' here if (hasMonth() && !hasYear()) { ch = start < len ? string.charAt(start) : '\0'; if (ch == '-') { start += 1; break scandate; } } throw new IllegalArgumentException(); // minus after a month } } // time if (start < len) { if (hasYear() || hasMonth() || hasDay()) { if (string.charAt(start) != 'T') throw new IllegalArgumentException("date and time must be separated by 'T'"); start += 1; } if (len < start + 8 || string.charAt(start + 2) != ':' || string.charAt(start + 5) != ':') throw new IllegalArgumentException(); int h = twoDigit(string, start); if (h > 24) throw new IllegalArgumentException("hour must be between 00 and 23"); int m = twoDigit(string, start + 3); if (m >= 60) throw new IllegalArgumentException("minute must be between 00 and 59"); int s = twoDigit(string, start + 6); if (s >= 60) throw new IllegalArgumentException("second must be between 00 and 59"); start += 8; BigDecimal fs = _zero; if (start < len) { if (string.charAt(start) != '.') throw new IllegalArgumentException(); if (start + 1 < len) { for (int i = start + 1; i < len; i++) { if (!isDigit(string.charAt(i))) throw new IllegalArgumentException(); } try { fs = new BigDecimal(string.subSequence(start, len).toString()); } catch (Throwable e) { throw new IllegalArgumentException(); } } } _bits |= HAS_TIME; _h = h; _m = m; _s = s; _fs = fs; } if ( hasTime() && _h == 24 ) { if ( _m != 0 || _s != 0 || _fs.compareTo(_zero) != 0 ) throw new IllegalArgumentException("if hour is 24, minutes, seconds and fraction must be 0"); else { // normalize to next day if it has date or at least has day if ( hasDate() ) { GDateBuilder gdb = new GDateBuilder(_CY, _M, _D, _h, _m, _s, _fs, _tzsign, _tzh, _tzm); gdb.normalize24h(); _D = gdb.getDay(); _M = gdb.getMonth(); _CY = gdb.getYear(); _h = 0; } else if ( hasDay() ) // if no date only days increment { _D++; _h = 0; } } } if (!isValid()) throw new IllegalArgumentException("invalid date"); } /** * Constructs a GDate with the specified year, month, day, * hours, minutes, seconds, and optional fractional seconds, in * an unspecified timezone. *

* Note that by not specifying the timezone the GDate * becomes partially unordered with respect to times that * do have a specified timezone. */ public GDate( int year, int month, int day, int hour, int minute, int second, BigDecimal fraction) { _bits = HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME; _CY = year; _M = month; _D = day; _h = hour; _m = minute; _s = second; _fs = fraction == null ? _zero : fraction; if (!isValid()) throw new IllegalArgumentException(); } /** * Constructs an absolute GDate with the specified year, * month, day, hours, minutes, seconds, and optional fractional * seconds, and in the timezone specified. *

* If you wish to have a time or date that isn't in a specified timezone, * then use the constructor that does not include the timezone arguments. */ public GDate( int year, int month, int day, int hour, int minute, int second, BigDecimal fraction, int tzSign, int tzHour, int tzMinute) { _bits = HAS_TIMEZONE | HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME; _CY = year; _M = month; _D = day; _h = hour; _m = minute; _s = second; _fs = fraction == null ? _zero : fraction; _tzsign = tzSign; _tzh = tzHour; _tzm = tzMinute; if (!isValid()) throw new IllegalArgumentException(); } /** * Constructs a GDate based on a java.util.Date. *

* The current offset of the default timezone is used as the timezone. *

* For example, if eastern daylight time is in effect at the given * date, the timezone on the east coast of the united states * translates to GMT-05:00 (EST) + 1:00 (DT offset) == GMT-04:00. */ public GDate(Date date) { // requires some date math, so ctor lives on GDateBuilder this(new GDateBuilder(date)); } /** * Constructs a GDate based on a java.util.Calendar. *

* If the calendar does not have some fields set, the same absence * of information is reflected in the GDate. Note that * java.util.GregorianCalendar fills in all fields as soon as any * are fetched, so constructing a GDate with the same calendar object * twice may result in a different GDate because of a changed calendar. * Note that org.apache.xmlbeans.XmlCalendar is stable if you re-get a set field, * so it does not have the same problem. */ public GDate(Calendar calendar) { // we must scrape the "isSet" information out before accessing anything boolean isSetYear = calendar.isSet(Calendar.YEAR); boolean isSetEra = calendar.isSet(Calendar.ERA); boolean isSetMonth = calendar.isSet(Calendar.MONTH); boolean isSetDay = calendar.isSet(Calendar.DAY_OF_MONTH); boolean isSetHourOfDay = calendar.isSet(Calendar.HOUR_OF_DAY); boolean isSetHour = calendar.isSet(Calendar.HOUR); boolean isSetAmPm = calendar.isSet(Calendar.AM_PM); boolean isSetMinute = calendar.isSet(Calendar.MINUTE); boolean isSetSecond = calendar.isSet(Calendar.SECOND); boolean isSetMillis = calendar.isSet(Calendar.MILLISECOND); boolean isSetZone = calendar.isSet(Calendar.ZONE_OFFSET); boolean isSetDst = calendar.isSet(Calendar.DST_OFFSET); if (isSetYear) { int y = calendar.get(Calendar.YEAR); if (isSetEra && calendar instanceof GregorianCalendar) if (calendar.get(Calendar.ERA) == GregorianCalendar.BC) y = -y; //1 - y; _bits |= HAS_YEAR; _CY = y; } if (isSetMonth) { _bits |= HAS_MONTH; _M = calendar.get(Calendar.MONTH) + 1; // !!note } if (isSetDay) { _bits |= HAS_DAY; _D = calendar.get(Calendar.DAY_OF_MONTH); } boolean gotTime = false; int h = 0; int m = 0; int s = 0; BigDecimal fs = _zero; if (isSetHourOfDay) { h = calendar.get(Calendar.HOUR_OF_DAY); gotTime = true; } else if (isSetHour && isSetAmPm) { h = calendar.get(Calendar.HOUR) + calendar.get(Calendar.AM_PM) * 12; gotTime = true; } if (isSetMinute) { m = calendar.get(Calendar.MINUTE); gotTime = true; } if (isSetSecond) { s = calendar.get(Calendar.SECOND); gotTime = true; } if (isSetMillis) { fs = BigDecimal.valueOf(calendar.get(Calendar.MILLISECOND), 3); gotTime = true; } if (gotTime) { _bits |= HAS_TIME; _h = h; _m = m; _s = s; _fs = fs; } if (isSetZone) { int zoneOffsetInMilliseconds = calendar.get(Calendar.ZONE_OFFSET); if (isSetDst) zoneOffsetInMilliseconds += calendar.get(Calendar.DST_OFFSET); _bits |= HAS_TIMEZONE; if (zoneOffsetInMilliseconds == 0) { _tzsign = 0; _tzh = 0; _tzm = 0; TimeZone zone = calendar.getTimeZone(); String id = zone.getID(); if (id != null && id.length() > 3) switch (id.charAt(3)) { case '+': _tzsign = 1; break; // GMT+00:00 case '-': _tzsign = -1; break; // GMT-00:00 } } else { _tzsign = (zoneOffsetInMilliseconds < 0 ? -1 : +1); zoneOffsetInMilliseconds = zoneOffsetInMilliseconds * _tzsign; _tzh = zoneOffsetInMilliseconds / 3600000; _tzm = (zoneOffsetInMilliseconds - _tzh * 3600000) / 60000; } } } /** * Constructs a GDate based on another GDateSpecification. */ public GDate(GDateSpecification gdate) { if (gdate.hasTimeZone()) { _bits |= HAS_TIMEZONE; _tzsign = gdate.getTimeZoneSign(); _tzh = gdate.getTimeZoneHour(); _tzm = gdate.getTimeZoneMinute(); } if (gdate.hasTime()) { _bits |= HAS_TIME; _h = gdate.getHour(); _m = gdate.getMinute(); _s = gdate.getSecond(); _fs = gdate.getFraction(); } if (gdate.hasDay()) { _bits |= HAS_DAY; _D = gdate.getDay(); } if (gdate.hasMonth()) { _bits |= HAS_MONTH; _M = gdate.getMonth(); } if (gdate.hasYear()) { _bits |= HAS_YEAR; _CY = gdate.getYear(); } } /* package */ static final boolean isDigit(char ch) { return ((char)(ch - '0') <= '9' - '0'); // char is unsigned } /* package */ static final boolean isSpace(char ch) { switch (ch) { case ' ': case '\t': case '\r': case '\n': return true; default: return false; } } /* package */ static final int digitVal(char ch) { return (ch - '0'); } private static final int twoDigit(CharSequence str, int index) { char ch1 = str.charAt(index); char ch2 = str.charAt(index + 1); if (!isDigit(ch1) || !isDigit(ch2)) return 100; // not two digits return digitVal(ch1) * 10 + digitVal(ch2); } /** * Returns true: all GDate instances are immutable. */ public final boolean isImmutable() { return true; } /** * Returns a combination of flags indicating the information * contained by this GDate. The five flags are * HAS_TIMEZONE, HAS_YEAR, HAS_MONTH, HAS_DAY, and HAS_TIME. */ public int getFlags() { return _bits; } /** * True if this date/time specification specifies a timezone. */ public final boolean hasTimeZone() { return ((_bits & HAS_TIMEZONE) != 0); } /** * True if this date/time specification specifies a year. */ public final boolean hasYear() { return ((_bits & HAS_YEAR) != 0); } /** * True if this date/time specification specifies a month-of-year. */ public final boolean hasMonth() { return ((_bits & HAS_MONTH) != 0); } /** * True if this date/time specification specifies a day-of-month. */ public final boolean hasDay() { return ((_bits & HAS_DAY) != 0); } /** * True if this date/time specification specifies a time-of-day. */ public final boolean hasTime() { return ((_bits & HAS_TIME) != 0); } /** * True if this date/time specification specifies a full date (year, month, day) */ public final boolean hasDate() { return ((_bits & (HAS_DAY | HAS_MONTH | HAS_YEAR)) == (HAS_DAY | HAS_MONTH | HAS_YEAR)); } /** * Gets the year. Should be a four-digit year specification. */ public final int getYear() { return _CY; } /** * Gets the month-of-year. January is 1. */ public final int getMonth() { return _M; } /** * Gets the day-of-month. The first day of each month is 1. */ public final int getDay() { return _D; } /** * Gets the hour-of-day. Midnight is 0, and 11PM is 23. */ public final int getHour() { return _h; } /** * Gets the minute-of-hour. Range from 0 to 59. */ public final int getMinute() { return _m; } /** * Gets the second-of-minute. Range from 0 to 59. */ public final int getSecond() { return _s; } /** * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive). */ public final BigDecimal getFraction() { return _fs; } /** * Gets the time zone sign. For time zones east of GMT, * this is positive; for time zones west, this is negative. */ public final int getTimeZoneSign() { return _tzsign; } /** * Gets the time zone hour. * * This is always positive: for the sign, look at * getTimeZoneSign(). */ public final int getTimeZoneHour() { return _tzh; } /** * Gets the time zone minutes. * * This is always positive: for the sign, look at * getTimeZoneSign(). */ public final int getTimeZoneMinute() { return _tzm; } /** * Gets the rounded millisecond value. Range from 0 to 999 */ public int getMillisecond() { if (_fs == null) return 0; return _fs.setScale(3, BigDecimal.ROUND_DOWN).unscaledValue().intValue(); } /** * The canonical string representation. Specific moments or * times-of-day in a specified timezone are normalized to * UTC time to produce a canonical string form for them. * Other recurring time specifications keep their timezone * information. */ public String canonicalString() { ensureCanonicalString(); return _canonicalString; } /** * True if this GDate corresponds to a valid gregorian date value * in XML schema. */ public boolean isValid() { return GDateBuilder.isValidGDate(this); } /** * Returns the Julian date corresponding to this Gregorian date. * The Julian date (JD) is a continuous count of days from * 1 January 4713 BC. */ public int getJulianDate() { return GDateBuilder.julianDateForGDate(this); } /** * Retrieves the value of the current time as an {@link XmlCalendar}. *

* {@link XmlCalendar} is a subclass of {@link java.util.GregorianCalendar} * which is slightly customized to match XML schema date rules. *

* The returned {@link XmlCalendar} has only those time and date fields * set that are reflected in the GDate object. Because of the way the * {@link java.util.Calendar} contract works, any information in the isSet() vanishes * as soon as you view any unset field using get() methods. * This means that if it is important to understand which date fields * are set, you must call isSet() first before get(). */ public XmlCalendar getCalendar() { return new XmlCalendar(this); } /** * Retrieves the value of the current time as a java.util.Date * instance. */ public Date getDate() { return GDateBuilder.dateForGDate(this); } /** * Comparison to another GDate. *

    *
  • Returns -1 if this < date. (less-than) *
  • Returns 0 if this == date. (equal) *
  • Returns 1 if this > date. (greater-than) *
  • Returns 2 if this <> date. (incomparable) *
* Two instances are incomparable if they have different amounts * of information. */ public int compareToGDate(GDateSpecification datespec) { return GDateBuilder.compareGDate(this, datespec); } /** * Returns the builtin type code for the shape of the information * contained in this instance, or 0 if the * instance doesn't contain information corresponding to a * Schema type. *

* Value will be equal to * {@link SchemaType#BTC_NOT_BUILTIN}, * {@link SchemaType#BTC_G_YEAR}, * {@link SchemaType#BTC_G_YEAR_MONTH}, * {@link SchemaType#BTC_G_MONTH}, * {@link SchemaType#BTC_G_MONTH_DAY}, * {@link SchemaType#BTC_G_DAY}, * {@link SchemaType#BTC_DATE}, * {@link SchemaType#BTC_DATE_TIME}, or * {@link SchemaType#BTC_TIME}. */ public int getBuiltinTypeCode() { return GDateBuilder.btcForFlags(_bits); } /** * Adds a duration to this GDate, and returns a new GDate. */ public GDate add(GDurationSpecification duration) { GDateBuilder builder = new GDateBuilder(this); builder.addGDuration(duration); return builder.toGDate(); } /** * Adds a duration to this GDate, and returns a new GDate. */ public GDate subtract(GDurationSpecification duration) { GDateBuilder builder = new GDateBuilder(this); builder.subtractGDuration(duration); return builder.toGDate(); } /** * GDate is an immutable class, and equality is computed based * on its canonical value. */ public boolean equals(Object obj) { if (obj == this) return true; if (!(obj instanceof GDate)) return false; ensureCanonicalString(); return _canonicalString.equals(((GDate)obj).canonicalString()); } /** * Returns a hash code for this GDate. */ public int hashCode() { ensureCanonicalString(); return _canonicalString.hashCode(); } /** * The canonical string representation. Specific moments or * times-of-day in a specified timezone are normalized to * UTC time to produce a canonical string form for them. * Other recurring time specifications keep their timezone * information. */ private void ensureCanonicalString() { if (_canonicalString != null) return; boolean needNormalize = (hasTimeZone() && getTimeZoneSign() != 0 && hasTime() && ((hasDay() == hasMonth() && hasDay() == hasYear()))); if (!needNormalize && getFraction() != null && getFraction().scale() > 0) { BigInteger bi = getFraction().unscaledValue(); needNormalize = (bi.mod(GDateBuilder.TEN).signum() == 0); } if (!needNormalize) _canonicalString = toString(); else { GDateBuilder gdb = new GDateBuilder(this); gdb.normalize(); _canonicalString = gdb.toString(); } } /** * The natural string representation. This represents the information * that is available, including timezone. For types that correspond * to defined schema types (schemaBuiltinTypeCode() > 0), * this provides the natural lexical representation. *

* When both time and timezone are specified, this string is not * the canonical representation unless the timezone is UTC (Z) * (since the same moment in time can be expressed in different * timezones). To get a canonical string, use the canonicalString() * method. */ public String toString() { if (_string == null) _string = formatGDate(this); return _string; } private final static char[] _tensDigit = { '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9', }; private final static char[] _onesDigit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', }; private static final int _padTwoAppend(char[] b, int i, int n) { assert(n >= 0 && n < 100); b[i] = _tensDigit[n]; b[i + 1] = _onesDigit[n]; return i + 2; } private static final int _padFourAppend(char[] b, int i, int n) { if (n < 0) { b[i++] = '-'; n = -n; } if (n >= 10000) { String s = Integer.toString(n); s.getChars(0, s.length(), b, i); return i + s.length(); } int q = n / 100; int r = n - q * 100; b[i] = _tensDigit[q]; b[i + 1] = _onesDigit[q]; b[i + 2] = _tensDigit[r]; b[i + 3] = _onesDigit[r]; return i + 4; } private static final TimeZone GMTZONE = TimeZone.getTimeZone("GMT"); private static final TimeZone[] MINUSZONE = { TimeZone.getTimeZone("GMT-00:00"), TimeZone.getTimeZone("GMT-01:00"), TimeZone.getTimeZone("GMT-02:00"), TimeZone.getTimeZone("GMT-03:00"), TimeZone.getTimeZone("GMT-04:00"), TimeZone.getTimeZone("GMT-05:00"), TimeZone.getTimeZone("GMT-06:00"), TimeZone.getTimeZone("GMT-07:00"), TimeZone.getTimeZone("GMT-08:00"), TimeZone.getTimeZone("GMT-09:00"), TimeZone.getTimeZone("GMT-10:00"), TimeZone.getTimeZone("GMT-11:00"), TimeZone.getTimeZone("GMT-12:00"), TimeZone.getTimeZone("GMT-13:00"), TimeZone.getTimeZone("GMT-14:00"), }; private static final TimeZone[] PLUSZONE = { TimeZone.getTimeZone("GMT+00:00"), TimeZone.getTimeZone("GMT+01:00"), TimeZone.getTimeZone("GMT+02:00"), TimeZone.getTimeZone("GMT+03:00"), TimeZone.getTimeZone("GMT+04:00"), TimeZone.getTimeZone("GMT+05:00"), TimeZone.getTimeZone("GMT+06:00"), TimeZone.getTimeZone("GMT+07:00"), TimeZone.getTimeZone("GMT+08:00"), TimeZone.getTimeZone("GMT+09:00"), TimeZone.getTimeZone("GMT+10:00"), TimeZone.getTimeZone("GMT+11:00"), TimeZone.getTimeZone("GMT+12:00"), TimeZone.getTimeZone("GMT+13:00"), TimeZone.getTimeZone("GMT+14:00"), }; /* package */ static final TimeZone timeZoneForGDate(GDateSpecification date) { // use a cached timezone if integral; otherwise make a new one. if (!date.hasTimeZone()) return TimeZone.getDefault(); if (date.getTimeZoneSign() == 0) return GMTZONE; if (date.getTimeZoneMinute() == 0 && date.getTimeZoneHour() <= 14 && date.getTimeZoneHour() >= 0) return date.getTimeZoneSign() < 0 ? MINUSZONE[date.getTimeZoneHour()] : PLUSZONE[date.getTimeZoneHour()]; char[] zb = new char[9]; zb[0] = 'G'; zb[1] = 'M'; zb[2] = 'T'; zb[3] = (date.getTimeZoneSign() < 0) ? '-' : '+'; GDate._padTwoAppend(zb, 4, date.getTimeZoneHour()); zb[6] = ':'; GDate._padTwoAppend(zb, 7, date.getTimeZoneMinute()); return TimeZone.getTimeZone(new String(zb)); } /* package */ static String formatGDate(GDateSpecification spec) { // We've used a char[] rather than a StringBuffer for a 4x speedup // -YY(10)YY-MM-DDTHH:MM:SS.FFFFFF+ZH:ZM // 1 + 10 + 3+ 3+ 3+ 3+ 3+1 + s + 3+ 3 = 33 + s BigDecimal fs = spec.getFraction(); char[] message = new char[33 + (fs == null ? 0 : fs.scale())]; int i = 0; if (spec.hasYear() || spec.hasMonth() || spec.hasDay()) { dmy: { if (spec.hasYear()) i = _padFourAppend(message, 0, spec.getYear()); else message[i++] = '-'; if (!(spec.hasMonth() || spec.hasDay())) break dmy; message[i++] = '-'; if (spec.hasMonth()) i = _padTwoAppend(message, i, spec.getMonth()); if (!spec.hasDay()) break dmy; message[i++] = '-'; i = _padTwoAppend(message, i, spec.getDay()); break dmy; } if (spec.hasTime()) message[i++] = 'T'; } if (spec.hasTime()) { i = _padTwoAppend(message, i, spec.getHour()); message[i++] = ':'; i = _padTwoAppend(message, i, spec.getMinute()); message[i++] = ':'; i = _padTwoAppend(message, i, spec.getSecond()); if (fs != _zero) // (optimization ~3%) { String frac = fs.toString(); int point = frac.indexOf('.'); if (point >= 0) { frac.getChars(point, frac.length(), message, i); i += frac.length() - point; } } } if (spec.hasTimeZone()) { if (spec.getTimeZoneSign() == 0) { message[i++] = 'Z'; } else { message[i++] = spec.getTimeZoneSign() > 0 ? '+' : '-'; i = _padTwoAppend(message, i, spec.getTimeZoneHour()); message[i++] = ':'; i = _padTwoAppend(message, i, spec.getTimeZoneMinute()); } } // it would be nice to use (0, i, message) ctor instead return new String(message, 0, i); } } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/GDateSpecification.java0000644000175000017500000001630310616206727027133 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import java.math.BigDecimal; import java.util.Date; /** * Represents an XML Schema-compatible Gregorian date. *

* Both the immutable GDate and the mutable GDateBuilder are * GDateSpecifications. Use this interface where you want to * allow callers to pass any implementation of a GDate. * * @see GDate * @see XmlCalendar */ public interface GDateSpecification { /** * Returns a combination of flags indicating the information * contained by this GDate. The five flags are * {@link #HAS_TIMEZONE}, {@link #HAS_YEAR}, {@link #HAS_MONTH}, * {@link #HAS_DAY}, and {@link #HAS_TIME}. */ int getFlags(); /** Timezone is specified. See {@link #getFlags}. */ public final int HAS_TIMEZONE = 1; /** Year is specified. See {@link #getFlags}. */ public final int HAS_YEAR = 2; /** Month of year is specified. See {@link #getFlags}. */ public final int HAS_MONTH = 4; /** Day of month is specified. See {@link #getFlags}. */ public final int HAS_DAY = 8; /** Time of day is specified. See {@link #getFlags}. */ public final int HAS_TIME = 16; /** * True if this GDate specification is immutable. GDate returns true, * and GDateBuilder returns false. */ boolean isImmutable(); /** * True if this GDate corresponds to a valid gregorian date value * in XML schema. */ boolean isValid(); /** * True if this date/time specification specifies a timezone. */ boolean hasTimeZone(); /** * True if this date/time specification specifies a year. */ boolean hasYear(); /** * True if this date/time specification specifies a month-of-year. */ boolean hasMonth(); /** * True if this date/time specification specifies a day-of-month. */ boolean hasDay(); /** * True if this date/time specification specifies a time-of-day. */ boolean hasTime(); /** * True if this date/time specification specifies a full date (year, month, day) */ boolean hasDate(); /** * Gets the year. Should be a four-digit year specification. */ int getYear(); /** * Gets the month-of-year. January is 1. */ int getMonth(); /** * Gets the day-of-month. The first day of each month is 1. */ int getDay(); /** * Gets the hour-of-day. Midnight is 0, and 11PM is 23. */ int getHour(); /** * Gets the minute-of-hour. Range from 0 to 59. */ int getMinute(); /** * Gets the second-of-minute. Range from 0 to 59. */ int getSecond(); /** * Gets the time zone sign. For time zones east of GMT, * this is positive; for time zones west, this is negative. */ int getTimeZoneSign(); /** * Gets the time zone hour. * This is always positive: for the sign, look at * getTimeZoneSign(). */ int getTimeZoneHour(); /** * Gets the time zone minutes. * This is always positive: for the sign, look at * getTimeZoneSign(). */ int getTimeZoneMinute(); /** * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive). */ BigDecimal getFraction(); /** * Gets the rounded millisecond value. Range from 0 to 999 */ int getMillisecond(); /** * Returns the Julian date corresponding to this Gregorian date. * The Julian date (JD) is a continuous count of days from * 1 January 4713 BC. */ int getJulianDate(); /** * Retrieves the value of the current time as an {@link XmlCalendar}. *

* {@link XmlCalendar} is a subclass of {@link java.util.GregorianCalendar} * which is slightly customized to match XML schema date rules. *

* The returned {@link XmlCalendar} has only those time and date fields * set that are reflected in the GDate object. Because of the way the * {@link java.util.Calendar} contract works, any information in the isSet() vanishes * as soon as you view any unset field using get() methods. * This means that if it is important to understand which date fields * are set, you must call isSet() first before get(). */ XmlCalendar getCalendar(); /** * Retrieves the value of the current time as a java.util.Date * instance. */ Date getDate(); /** * Comparison to another GDate. *

    *
  • Returns -1 if this < date. (less-than) *
  • Returns 0 if this == date. (equal) *
  • Returns 1 if this > date. (greater-than) *
  • Returns 2 if this <> date. (incomparable) *
* Two instances are incomparable if they have different amounts * of information. * * @param gdatespec the date to compare against. */ int compareToGDate(GDateSpecification gdatespec); /** * Returns the builtin type code for the shape of the information * contained in this instance, or 0 if the * instance doesn't contain information corresponding to a * Schema type. *

* Value will be equal to * {@link SchemaType#BTC_NOT_BUILTIN}, * {@link SchemaType#BTC_G_YEAR}, * {@link SchemaType#BTC_G_YEAR_MONTH}, * {@link SchemaType#BTC_G_MONTH}, * {@link SchemaType#BTC_G_MONTH_DAY}, * {@link SchemaType#BTC_G_DAY}, * {@link SchemaType#BTC_DATE}, * {@link SchemaType#BTC_DATE_TIME}, or * {@link SchemaType#BTC_TIME}. */ int getBuiltinTypeCode(); /** * The canonical string representation. Specific moments or * times-of-day in a specified timezone are normalized to * UTC time to produce a canonical string form for them. * Other recurring time specifications keep their timezone * information. */ String canonicalString(); /** * The natural string representation. This represents the information * that is available, including timezone. For types that correspond * to defined schema types (schemaBuiltinTypeCode() > 0), * this provides the natural lexical representation. * * When both time and timezone are specified, this string is not * the canonical representation unless the timezone is UTC (Z) * (since the same moment in time can be expressed in different * timezones). To get a canonical string, use the canonicalString() * method. */ String toString(); } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/XmlInt.java0000644000175000017500000002113610320272542024647 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import javax.xml.stream.XMLStreamReader; /** * Corresponds to the XML Schema * xs:int type. * One of the derived types based on xs:decimal. *

* Naturally, convertible to a Java int. */ public interface XmlInt extends XmlLong { /** The constant {@link SchemaType} object representing this schema type. */ public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_int"); /** Returns this value as an int */ int getIntValue(); /** Sets this value as an int */ void setIntValue(int v); /** * Returns this value as an int * @deprecated replaced with {@link #getIntValue} **/ int intValue(); /** * Sets this value as an int * @deprecated replaced with {@link #setIntValue} **/ void set(int v); /** * A class with methods for creating instances * of {@link XmlInt}. */ public static final class Factory { /** Creates an empty instance of {@link XmlInt} */ public static XmlInt newInstance() { return (XmlInt) XmlBeans.getContextTypeLoader().newInstance( type, null ); } /** Creates an empty instance of {@link XmlInt} */ public static XmlInt newInstance(org.apache.xmlbeans.XmlOptions options) { return (XmlInt) XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** Creates an immutable {@link XmlInt} value */ public static XmlInt newValue(Object obj) { return (XmlInt) type.newValue( obj ); } /** Parses a {@link XmlInt} fragment from a String. For example: "<xml-fragment>1234567</xml-fragment>". */ public static XmlInt parse(java.lang.String s) throws org.apache.xmlbeans.XmlException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( s, type, null ); } /** Parses a {@link XmlInt} fragment from a String. For example: "<xml-fragment>1234567</xml-fragment>". */ public static XmlInt parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( s, type, options ); } /** Parses a {@link XmlInt} fragment from a File. */ public static XmlInt parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( f, type, null ); } /** Parses a {@link XmlInt} fragment from a File. */ public static XmlInt parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( f, type, options ); } /** Parses a {@link XmlInt} fragment from a URL. */ public static XmlInt parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( u, type, null ); } /** Parses a {@link XmlInt} fragment from a URL. */ public static XmlInt parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( u, type, options ); } /** Parses a {@link XmlInt} fragment from an InputStream. */ public static XmlInt parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( is, type, null ); } /** Parses a {@link XmlInt} fragment from an InputStream. */ public static XmlInt parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( is, type, options ); } /** Parses a {@link XmlInt} fragment from a Reader. */ public static XmlInt parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( r, type, null ); } /** Parses a {@link XmlInt} fragment from a Reader. */ public static XmlInt parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( r, type, options ); } /** Parses a {@link XmlInt} fragment from a DOM Node. */ public static XmlInt parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( node, type, null ); } /** Parses a {@link XmlInt} fragment from a DOM Node. */ public static XmlInt parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** Parses a {@link XmlInt} fragment from an XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static XmlInt parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** Parses a {@link XmlInt} fragment from an XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static XmlInt parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** Parses a {@link XmlInt} fragment from an XMLStreamReader. */ public static XmlInt parse(javax.xml.stream.XMLStreamReader xsr) throws org.apache.xmlbeans.XmlException { return (XmlInt) XmlBeans.getContextTypeLoader().parse( xsr, type, null ); } /** Parses a {@link XmlInt} fragment from an XMLStreamReader. */ public static XmlInt parse(javax.xml.stream.XMLStreamReader xsr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException{ return (XmlInt) XmlBeans.getContextTypeLoader().parse( xsr, type, options ); } /** Returns a validating XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** Returns a validating XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/XmlException.java0000644000175000017500000000635610320272537026066 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import java.util.List; import java.util.Collections; import java.util.Collection; import java.util.ArrayList; /** * A checked exception that can be thrown while processing, * parsing, or compiling XML. May contain any number of {@link XmlError} * objects. *

* @see XmlError * @see XmlRuntimeException */ public class XmlException extends Exception { private static final long serialVersionUID = 1L; /** * Constructs an XmlException from a message. */ public XmlException ( String m ) { super( m ); } /** * Constructs an XmlException from a message and a cause. */ public XmlException ( String m, Throwable t ) { super( m, t ); } /** * Constructs an XmlException from a cause. */ public XmlException ( Throwable t ) { super( t ); } /** * Constructs an XmlException from an {@link XmlError}. */ public XmlException ( XmlError error ) { this( error.toString(), null, error ); } /** * Constructs an XmlException from a message, a cause, and an {@link XmlError}. */ public XmlException ( String m, Throwable t, XmlError error ) { this( m, t, Collections.singletonList( error ) ); } /** * Constructs an XmlException from a message, a cause, and a collection of {@link XmlError XmlErrors}. */ public XmlException ( String m, Throwable t, Collection errors ) { super( m, t ); if (errors != null) _errors = Collections.unmodifiableList( new ArrayList( errors ) ); } /** * Constructs an XmlException from an {@link XmlRuntimeException}. */ public XmlException ( XmlRuntimeException xmlRuntimeException ) { super( xmlRuntimeException.getMessage(), xmlRuntimeException.getCause() ); Collection errors = xmlRuntimeException.getErrors(); if (errors != null) _errors = Collections.unmodifiableList( new ArrayList( errors ) ); } /** * Returns the first {@link XmlError XmlErrors} that caused the exception, if any. */ public XmlError getError ( ) { if (_errors == null || _errors.size() == 0) return null; return (XmlError) _errors.get( 0 ); } /** * Returns the collection of {@link XmlError XmlErrors} that caused the exception, if any. */ public Collection getErrors ( ) { return _errors; } private List _errors; }xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/XmlDateTime.java0000644000175000017500000002412610320272542025613 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import javax.xml.stream.XMLStreamReader; import java.util.Date; import java.util.Calendar; /** * Corresponds to the XML Schema * xs:dateTime type. *

* Convertible to {@link Calendar}, {@link Date}, and {@link GDate}. * *

* The XmlDateTime class only encapsulates a schema DateTime value, if you need to perform operations * on dates, see the GDate class * @see XmlCalendar * @see GDate * @see GDuration */ public interface XmlDateTime extends XmlAnySimpleType { /** The constant {@link SchemaType} object representing this schema type. */ public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_dateTime"); /** * Returns this value as a {@link Calendar} * @deprecated replaced with {@link #getCalendarValue} **/ Calendar calendarValue(); /** * Sets this value as a {@link Calendar} * @deprecated replaced with {@link #setCalendarValue} **/ void set(Calendar c); /** * Returns this value as a {@link GDate} * @deprecated replaced with {@link #getGDateValue} **/ GDate gDateValue(); /** * Sets this value as a {@link GDateSpecification} * @deprecated replaced with {@link #setGDateValue} **/ void set(GDateSpecification gd); /** * Returns this value as a {@link Date} * @deprecated replaced with {@link #getDateValue} **/ Date dateValue(); /** * Sets this value as a {@link Date} * @deprecated replaced with {@link #setDateValue} **/ void set(Date d); /** Returns this value as a {@link Calendar} */ Calendar getCalendarValue(); /** Sets this value as a {@link Calendar} */ void setCalendarValue(Calendar c); /** Returns this value as a {@link GDate} */ GDate getGDateValue(); /** Sets this value as a {@link GDateSpecification} */ void setGDateValue(GDate gd); /** Returns this value as a {@link Date} */ Date getDateValue(); /** Sets this value as a {@link Date} */ void setDateValue(Date d); /** * A class with methods for creating instances * of {@link XmlDateTime}. */ public static final class Factory { /** Creates an empty instance of {@link XmlDateTime} */ public static XmlDateTime newInstance() { return (XmlDateTime) XmlBeans.getContextTypeLoader().newInstance( type, null ); } /** Creates an empty instance of {@link XmlDateTime} */ public static XmlDateTime newInstance(org.apache.xmlbeans.XmlOptions options) { return (XmlDateTime) XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** Creates an immutable {@link XmlDateTime} value */ public static XmlDateTime newValue(Object obj) { return (XmlDateTime) type.newValue( obj ); } /** Parses a {@link XmlDateTime} fragment from a String. For example: "<xml-fragment>2003-06-14T12:00:00</xml-fragment>". */ public static XmlDateTime parse(java.lang.String s) throws org.apache.xmlbeans.XmlException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( s, type, null ); } /** Parses a {@link XmlDateTime} fragment from a String. For example: "<xml-fragment>2003-06-14T12:00:00</xml-fragment>". */ public static XmlDateTime parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( s, type, options ); } /** Parses a {@link XmlDateTime} fragment from a File. */ public static XmlDateTime parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( f, type, null ); } /** Parses a {@link XmlDateTime} fragment from a File. */ public static XmlDateTime parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( f, type, options ); } /** Parses a {@link XmlDateTime} fragment from a URL. */ public static XmlDateTime parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( u, type, null ); } /** Parses a {@link XmlDateTime} fragment from a URL. */ public static XmlDateTime parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( u, type, options ); } /** Parses a {@link XmlDateTime} fragment from an InputStream. */ public static XmlDateTime parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( is, type, null ); } /** Parses a {@link XmlDateTime} fragment from an InputStream. */ public static XmlDateTime parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( is, type, options ); } /** Parses a {@link XmlDateTime} fragment from a Reader. */ public static XmlDateTime parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( r, type, null ); } /** Parses a {@link XmlDateTime} fragment from a Reader. */ public static XmlDateTime parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( r, type, options ); } /** Parses a {@link XmlDateTime} fragment from a DOM Node. */ public static XmlDateTime parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( node, type, null ); } /** Parses a {@link XmlDateTime} fragment from a DOM Node. */ public static XmlDateTime parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** Parses a {@link XmlDateTime} fragment from an XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static XmlDateTime parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** Parses a {@link XmlDateTime} fragment from an XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static XmlDateTime parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** Parses a {@link XmlDateTime} fragment from an XMLStreamReader. */ public static XmlDateTime parse(javax.xml.stream.XMLStreamReader xsr) throws org.apache.xmlbeans.XmlException { return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( xsr, type, null ); } /** Parses a {@link XmlDateTime} fragment from an XMLStreamReader. */ public static XmlDateTime parse(javax.xml.stream.XMLStreamReader xsr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException{ return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( xsr, type, options ); } /** Returns a validating XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** Returns a validating XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/SchemaLocalElement.java0000644000175000017500000000327310320272542027123 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; /** * Represents a local or global element definition. */ public interface SchemaLocalElement extends SchemaField, SchemaAnnotated { /** * True if extension is blocked. */ boolean blockExtension(); /** * True if restriction is blocked. */ boolean blockRestriction(); /** * True if element substitution is blocked. */ boolean blockSubstitution(); /** * True if this element is prohibited in content. Only * sensible if this is the head of a substitution group; * then only substitution group members can appear.

* * Although local elements cannot be abstract, if an element * use is a ref to a global element, then the flag from the * global element is copied in to the local element where the * use occurs. */ boolean isAbstract(); /** * Returns all the Key, KeyRef, and Unique constraints * on this element. */ SchemaIdentityConstraint[] getIdentityConstraints(); } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/InterfaceExtension.java0000644000175000017500000000313410320272542027227 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; public interface InterfaceExtension { /** * Get the fully qualified interface name. */ String getInterface(); /** * Get the fully qualified static handler class name. */ String getStaticHandler(); /** * Returns an array of MethodSignature declared in the interface class. * Possibly null if there is an error in the configuration. */ MethodSignature[] getMethods(); public interface MethodSignature { /** Returns the name of the method. */ String getName(); /** Returns the fully qualified type name of the return value or 'void' for no return value. */ String getReturnType(); /** Returns the fully qualified type name of the parameter types in order. */ String[] getParameterTypes(); /** Returns the fully qualified type name of the exception types. */ String[] getExceptionTypes(); } } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/XmlDouble.java0000644000175000017500000002132310320272542025325 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import javax.xml.stream.XMLStreamReader; /** * Corresponds to the XML Schema * xs:double type. *

* Naturally, convertible to a Java double. */ public interface XmlDouble extends XmlAnySimpleType { /** The constant {@link SchemaType} object representing this schema type. */ public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_double"); /** Returns this value as a double */ double getDoubleValue(); /** Sets this value as a double */ void setDoubleValue(double v); /** * Returns this value as a double * @deprecated replaced with {@link #getDoubleValue} **/ double doubleValue(); /** * Sets this value as a double * @deprecated replaced with {@link #setDoubleValue} **/ void set(double v); /** * A class with methods for creating instances * of {@link XmlDouble}. */ public static final class Factory { /** Creates an empty instance of {@link XmlDouble} */ public static XmlDouble newInstance() { return (XmlDouble) XmlBeans.getContextTypeLoader().newInstance( type, null ); } /** Creates an empty instance of {@link XmlDouble} */ public static XmlDouble newInstance(org.apache.xmlbeans.XmlOptions options) { return (XmlDouble) XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** Creates an immutable {@link XmlDouble} value */ public static XmlDouble newValue(Object obj) { return (XmlDouble) type.newValue( obj ); } /** Parses a {@link XmlDouble} fragment from a String. For example: "<xml-fragment>123.34e+57</xml-fragment>". */ public static XmlDouble parse(java.lang.String s) throws org.apache.xmlbeans.XmlException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( s, type, null ); } /** Parses a {@link XmlDouble} fragment from a String. For example: "<xml-fragment>123.34e+57</xml-fragment>". */ public static XmlDouble parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( s, type, options ); } /** Parses a {@link XmlDouble} fragment from a File. */ public static XmlDouble parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( f, type, null ); } /** Parses a {@link XmlDouble} fragment from a File. */ public static XmlDouble parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( f, type, options ); } /** Parses a {@link XmlDouble} fragment from a URL. */ public static XmlDouble parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( u, type, null ); } /** Parses a {@link XmlDouble} fragment from a URL. */ public static XmlDouble parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( u, type, options ); } /** Parses a {@link XmlDouble} fragment from an InputStream. */ public static XmlDouble parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( is, type, null ); } /** Parses a {@link XmlDouble} fragment from an InputStream. */ public static XmlDouble parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( is, type, options ); } /** Parses a {@link XmlDouble} fragment from a Reader. */ public static XmlDouble parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( r, type, null ); } /** Parses a {@link XmlDouble} fragment from a Reader. */ public static XmlDouble parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( r, type, options ); } /** Parses a {@link XmlDouble} fragment from a DOM Node. */ public static XmlDouble parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( node, type, null ); } /** Parses a {@link XmlDouble} fragment from a DOM Node. */ public static XmlDouble parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** Parses a {@link XmlDouble} fragment from an XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static XmlDouble parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** Parses a {@link XmlDouble} fragment from an XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static XmlDouble parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** Parses a {@link XmlDouble} fragment from an XMLStreamReader. */ public static XmlDouble parse(javax.xml.stream.XMLStreamReader xsr) throws org.apache.xmlbeans.XmlException { return (XmlDouble) XmlBeans.getContextTypeLoader().parse( xsr, type, null ); } /** Parses a {@link XmlDouble} fragment from an XMLStreamReader. */ public static XmlDouble parse(javax.xml.stream.XMLStreamReader xsr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException{ return (XmlDouble) XmlBeans.getContextTypeLoader().parse( xsr, type, options ); } /** Returns a validating XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** Returns a validating XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/XmlNonPositiveInteger.java0000644000175000017500000002230210320272536027707 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import javax.xml.stream.XMLStreamReader; /** * Corresponds to the XML Schema * xs:nonPositiveInteger type. * One of the derived types based on xs:decimal. *

* Verified to be zero or negative when validating. *

* Convertible to {@link java.math.BigInteger}. */ public interface XmlNonPositiveInteger extends XmlInteger { /** The constant {@link SchemaType} object representing this schema type. */ public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_nonPositiveInteger"); /** * A class with methods for creating instances * of {@link XmlNonPositiveInteger}. */ public static final class Factory { /** Creates an empty instance of {@link XmlNonPositiveInteger} */ public static XmlNonPositiveInteger newInstance() { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().newInstance( type, null ); } /** Creates an empty instance of {@link XmlNonPositiveInteger} */ public static XmlNonPositiveInteger newInstance(org.apache.xmlbeans.XmlOptions options) { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().newInstance( type, options ); } /** Creates an immutable {@link XmlNonPositiveInteger} value */ public static XmlNonPositiveInteger newValue(Object obj) { return (XmlNonPositiveInteger) type.newValue( obj ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a String. For example: "<xml-fragment>-1234567890</xml-fragment>". */ public static XmlNonPositiveInteger parse(java.lang.String s) throws org.apache.xmlbeans.XmlException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( s, type, null ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a String. For example: "<xml-fragment>-1234567890</xml-fragment>". */ public static XmlNonPositiveInteger parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( s, type, options ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a File. */ public static XmlNonPositiveInteger parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( f, type, null ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a File. */ public static XmlNonPositiveInteger parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( f, type, options ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a URL. */ public static XmlNonPositiveInteger parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( u, type, null ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a URL. */ public static XmlNonPositiveInteger parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( u, type, options ); } /** Parses a {@link XmlNonPositiveInteger} fragment from an InputStream. */ public static XmlNonPositiveInteger parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( is, type, null ); } /** Parses a {@link XmlNonPositiveInteger} fragment from an InputStream. */ public static XmlNonPositiveInteger parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( is, type, options ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a Reader. */ public static XmlNonPositiveInteger parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( r, type, null ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a Reader. */ public static XmlNonPositiveInteger parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( r, type, options ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a DOM Node. */ public static XmlNonPositiveInteger parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( node, type, null ); } /** Parses a {@link XmlNonPositiveInteger} fragment from a DOM Node. */ public static XmlNonPositiveInteger parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( node, type, options ); } /** Parses a {@link XmlNonPositiveInteger} fragment from an XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static XmlNonPositiveInteger parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( xis, type, null ); } /** Parses a {@link XmlNonPositiveInteger} fragment from an XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static XmlNonPositiveInteger parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( xis, type, options ); } /** Parses a {@link XmlNonPositiveInteger} fragment from an XMLStreamReader. */ public static XmlNonPositiveInteger parse(javax.xml.stream.XMLStreamReader xsr) throws org.apache.xmlbeans.XmlException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( xsr, type, null ); } /** Parses a {@link XmlNonPositiveInteger} fragment from an XMLStreamReader. */ public static XmlNonPositiveInteger parse(javax.xml.stream.XMLStreamReader xsr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException { return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( xsr, type, options ); } /** Returns a validating XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); } /** Returns a validating XMLInputStream. * @deprecated XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API. */ public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException { return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); } private Factory() { } // No instance of this class allowed } } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/GDurationSpecification.java0000644000175000017500000000470110616206727030042 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import java.math.BigDecimal; /** * Represents an XML Schema-compatible duration. *

* Both the immutable GDuration and the mutable GDurationBuilder are * GDurationSpecifications. Use this interface where you want to * allow callers to pass any implementation of a GDuration. * * @see GDuration */ public interface GDurationSpecification { /** * True if this instance is immutable. */ boolean isImmutable(); /** * Returns the sign of the duration: +1 is forwards * and -1 is backwards in time. */ int getSign(); /** * Gets the year component. */ int getYear(); /** * Gets the month-of-year component. */ int getMonth(); /** * Gets the day-of-month component. */ int getDay(); /** * Gets the hour-of-day component. */ int getHour(); /** * Gets the minute-of-hour component. */ int getMinute(); /** * Gets the second-of-minute component. */ int getSecond(); /** * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive). */ BigDecimal getFraction(); /** * Returns true if all of the individual components * of the duration are nonnegative. */ boolean isValid(); /** * Comparison to another GDuration. *

    *
  • Returns -1 if this < duration. (less-than) *
  • Returns 0 if this == duration. (equal) *
  • Returns 1 if this > duration. (greater-than) *
  • Returns 2 if this <> duration. (incomparable) *
* Two instances are incomparable if they have different amounts * of information. */ int compareToGDuration(GDurationSpecification duration); } xmlbeans-2.5.0.orig/src/xmlpublic/org/apache/xmlbeans/XmlOptionCharEscapeMap.java0000644000175000017500000001073710320272542027747 0ustar drazzibdrazzib/* Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xmlbeans; import java.util.HashMap; /** * Corresponds to the Saver and XmlOptions. *

* This class is used to set up a map containing characters to be escaped. * Characters can be escaped as hex, decimal or as a predefined entity (this * latter option applies only to the 5 characters defined as predefined entities * in the XML Spec). *

*