dleslie 01/05/23 10:12:33
Modified: targets/xalan-j commandline.html extensions.html
extensionslib.html faq.html getstarted.html
index.html overview.html readme.html samples.html
todo.html usagepatterns.html whatsnew.html
Added: targets/xalan-j trax.html xsltc_usage.html
Log:
Updates for Xalan-J 2.1
Revision Changes Path
1.8 +10 -6 xml-site/targets/xalan-j/commandline.html
Index: commandline.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/commandline.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- commandline.html 2001/03/16 23:02:04 1.7
+++ commandline.html 2001/05/23 17:11:49 1.8
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,19 +16,22 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Using the Command-Line Utility</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
1.9 +11 -7 xml-site/targets/xalan-j/extensions.html
Index: extensions.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/extensions.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- extensions.html 2001/03/16 23:02:05 1.8
+++ extensions.html 2001/05/23 17:11:51 1.9
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,19 +16,22 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<IMG alt="Extensions" border="0" height="12" hspace="0"
src="graphics/extensions-label-1.jpg" vspace="0" width="120"><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#intro">Introduction</A></LI>
@@ -267,7 +271,7 @@
<P>If the extension element is implemented in a loosely typed scripting
language, such as JavaScript, the arguments and return value are untyped.</P>
<P><B>Caution:</B> The value returned by an extension element is placed in
the transformation result. If you are not interested in a return value, use a
public void Java method or return null from a scripting language function.</P>
<P>Java example: <CODE><FONT face="courier, monospaced">public void
myElement</FONT></CODE><BR>
-<CODE><FONT face="courier,
monospaced"> (org.apache.xalan.xslt.XSLProcessorContext,
</FONT></CODE><BR>
+<CODE><FONT face="courier,
monospaced"> (org.apache.xalan.extensions.XSLProcessorContext,
</FONT></CODE><BR>
<CODE><FONT face="courier,
monospaced"> org.apache.xalan.templates.ElemExtensionCall
extensionElement)</FONT></CODE></P>
<P>JavaScript example: <CODE><FONT face="courier, monospaced">function
myElement(xslProcContext, element)</FONT></CODE></P>
<P>The <A href="extensionslib.html#redirect">Redirect extension</A> in the
extensions library contains three extension elements.</P>
1.7 +102 -20 xml-site/targets/xalan-j/extensionslib.html
Index: extensionslib.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/extensionslib.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- extensionslib.html 2001/03/16 23:02:06 1.6
+++ extensionslib.html 2001/05/23 17:11:53 1.7
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,19 +16,22 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="Extensions Library" border="0" height="12" hspace="0"
src="graphics/extensionslib-label-1.jpg" vspace="0" width="120"><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#intro">Introduction</A></LI>
@@ -38,7 +42,7 @@
<LI><A href="#difference">difference</A></LI>
<LI><A href="#distinct">distinct</A></LI>
<LI><A href="#hassamenodes">hasSameNodes</A></LI>
-<LI><A href="#sql">SQL extensions</A></LI>
+<LI><A href="#sql">SQL library</A></LI>
<LI><A href="#evaluate">evaluate</A></LI>
<LI><A href="#tokenize">tokenize</A></LI>
<LI><A href="#groupitem">group and item</A> <I>(to be done)</I></LI>
@@ -185,29 +189,106 @@
<CODE><FONT face="courier, monospaced">hasSameNodes(node-set1,
node-set2)</FONT></CODE> returns true if both node-set1 and node-set2 contain
exactly the same set of nodes.</P>
</FONT></TD></TR></TABLE><BR><A name="sql"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>SQL library</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+<UL>
+<LI><A href="#sqlconn">Setting up a connection</A></LI>
+<LI><A href="#sqlparam">Parameterized queries</A></LI>
+<LI><A href="#ex-sql">SQL library example</A></LI>
+<LI><A href="samples.html#sql">SQL library sample applications</A></LI>
+</UL>
<P><B>**Experimental**</B> Provides extension functions for connecting to a
JDBC data source, executing a query,
-and working incrementally through "streamable" result set.</P>
-<P><B>The SQL extension use of a single row-set node to incrementally return
a query result set is experimental. Keep in mind that you
-can only access row elements one at a time moving forward through the result
set. The use of XPath expressions in your stylesheet, for
-example, that attempt to return nodes from the result set in any other
manner may produce unpredictable results.</B></P>
-<P><A
href="apidocs/org/apache/xalan/lib/sql/XConnection.html">org.apache.xalan.lib.sql.XConnection</A>
provides three extension functions that you can use in your stylesheet.</P>
+and optionally working incrementally through a "streamable" result
set. <I>Due to a bug, caching, not streaming, is currently
+the default mode of operation.</I> </P>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Many features of
the SQL library, including support for connection pools, parameterized queries,
caching,
+and added support for extracting connection information and query parameters
from XML source documents exist
+thanks to John Gentilin ([EMAIL PROTECTED]), who has also added a number of
SQL library samples.</I></FONT></TD></TR></TABLE>
+<P><B>The SQL extension use in streaming mode of a single row-set node to
incrementally return a query result set is experimental. If you use streaming
mode, you can only access row elements one at a time moving forward through the
result set. The use of XPath expressions in your stylesheet, for example, that
attempt to return nodes from the result set in any other manner may produce
unpredictable results.</B></P>
+<P><A
href="apidocs/org/apache/xalan/lib/sql/XConnection.html">org.apache.xalan.lib.sql.XConnection</A>
provides a number
+of extension functions that you can use in your stylesheet.</P>
<OL>
<LI>new() -- Use one of the XConnection constructors to connect to a
data source, and return an XConnection
- object.<BR><BR></LI>
+ object. You can use one of the constructors creates a connection pool
from which stylesheets can obtain connections
+ to a datasource. To support connction pools, SQL library includes a
ConnectionPool interface and a implementation:
+ DefaultConnectionPool. You can also provide your own ConnectionPool
implementation.<BR><BR></LI>
<LI>query() -- Use the XConnection object query() method to return a
"streamable" result set in the form of a row-set
node. Work your way through the row-set one row at a time. The same
row element is used over and over again, so you can
begin "transforming" the row-set before the entire result
set has been returned.<BR><BR></LI>
+ <LI>pquery(), addParameter(), addParameterFromElement(),
clearParameters() -- Use the XConnection pquery() method in
+ conjunction with these other methods to set up and execute
parameterized queries.<BR><BR></LI>
+ <LI>Use disableCacheNodes() to use streaming node, and
enableCacheNodes() to cache the query result set. <BR><BR></LI>
<LI>close() -- Use the XConnection object close() method to terminate
the connection.</LI>
</OL>
- <P>The query() extension function returns a Document node that contains
(as needed) an array of column-header elements,
+ <P>The query() and pquery() extension functions return a Document node
that contains (as needed) an array of column-header elements,
a single row element that is used repeatedly, and an array of col
elements. Each column-header element (one per column in
the row-set) contains an attribute (ColumnAttribute) for each of the
column descriptors in the ResultSetMetaData object.
Each col element contains a text node with a textual representation of
the value for that column in the current row.</P>
- <A name="ex-sql"><!--anchor--></A>
+ <A name="sqlconn"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Setting up a connection</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>You can place connection information (JDBC driver, datasource URL,
and usually user ID and password) in stylesheets or
+ in XML source documents.</P>
+ <P>The following stylesheet fragment uses stylesheet parameters to
designate a JDBC driver and datasource. The default
+ parameter values can be overridden with runtime parameter values.</P>
+ <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE><xsl:param name="driver"
select="'org.enhydra.instantdb.jdbc.idbDriver'"/>
+<xsl:param name="datasource"
select="'jdbc:idb:../../instantdb/sample.prp'"/>
+<xsl:param name="query" select="'SELECT * FROM
import1'"/></PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+ <P>You can also obtain connection information from the XML source
document that you use for the transformationl. Suppose
+ you have the following DBINFO nodeset in an XML document:</P>
+ <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE><DBINFO>
+ <dbdriver>org.enhydra.instantdb.jdbc.idbDriver</dbdriver>
+ <dburl>jdbc:idb:../../instantdb/sample.prp</dburl>
+ <user>jbloe</user>
+ <password>geron07moe</password>
+</DBINFO></PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+ <P>In the stylesheet, you can extract this information as follows:</P>
+ <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE><xsl:stylesheet version 1.0
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:sql="org.apache.xalan.lib.sql.XConnection"
+ extension-element-prefixes="sql">
+ <xsl:param name="cinfo"
select="//DBINFO"/>
+ <xsl:variable name="db"
select="sql:new($cinfo)"/>
+....</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+ <P>For an example of both approaches, see <A
href="samples.html#basic-conn">Basic Connection</A> samples.</P>
+ <P>You can also create a named connection pool that is maintained
external to Xalan-Java.</P>
+ <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>import
org.apache.xalan.lib.sql.DefaultConnectionPool;
+import org.apache.xalan.lib.sql.XConnectionPoolManager;
+...
+DefaultConnectionPool cp = new DefaultConnectionPool();
+cp.setDriver("org.enhydra.instantdb.jdbc.idbDriver");
+cp.setURL("jdbc:idb:../../instantdb/sample.prp");
+cp.setUser("jbloe");
+cp.setPassword("geron07moe");
+// Start with 10 connections.
+cp.setMinConnections(10);
+cp.enablePool();
+// Register the connection pool so stylesheets can use it.
+XConnectionPoolManager pm = new XConnectionPoolManager();
+pm.registerPool("extpool", cp);</PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+ <P>A stylesheet can use this connection pool as follows:</P>
+ <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE><xsl:stylesheet version 1.0
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:sql="org.apache.xalan.lib.sql.XConnection"
+ extension-element-prefixes="sql">
+...
+ <xsl:variable name="db" select="sql:new($driver,
'extpool')"/></PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+ <P>For an example, see the <A
href="samples.html#ext-conn">ExternalConnection</A> sample.</P>
+ </FONT></TD></TR></TABLE><BR><A name="sqlparam"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Parameterized queries</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>To define a parameterized query, use a SQL query string with a
question mark (?) for each parameter. You can provide
+ the parameter values at runtime with stylesheet parameters or with
nodes in the XML source document. For each parameter,
+ you should also designate the SQL data type.</P>
+ <P>XConnection provides a number of addParameter() methods and an
addParameterFromElement() method that you can use
+ as extension functions to pull in the parameter values (in the order
the parameters appear in the query). To
+ execute the query and return the result set, call the pquery() method
as an extension function. There are two variations
+ of the pquery() method. The one you should ordinarily use includes as
arguments the SQL query string and a string list
+ (delimited by the space, tab, or line feeds) of parameter types. For
example:</P>
+ <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE><xsl:variable name="resultset"
+ select=sql:pquery($XConnectionObj,
+ 'select * from X where Y = ? and Z = ?',
+ 'int string')"/></PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+ <P>For a complete example, see the <A
href="samples.html#pquery">Parameterized query</A> sample.</P>
+ </FONT></TD></TR></TABLE><BR><A name="ex-sql"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Example with SQL library</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>This example displays the result set from a table in a sample
InstantDB database. It is also
- available as a sample application; see
- <A href="samples.html#ext6">6-sqllib-instantdb</A>.</P>
+ available as a sample application; see <A
href="samples.html#ext6">6-sqllib-instantdb</A>.</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE><?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
@@ -259,9 +340,10 @@
</xsl:stylesheet>
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
</FONT></TD></TR></TABLE><BR>
-</FONT></TD></TR></TABLE><BR><A name="evaluate"><!--anchor--></A>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>evaluate</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>Implemented in <A
href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</A>,<BR>
+
+ </FONT></TD></TR></TABLE><BR><A name="evaluate"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>evaluate</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <P>Implemented in <A
href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</A>,<BR>
<CODE><FONT face="courier, monospaced">evaluate
(xpath-expression)</FONT></CODE> function returns the result of evaluating the
xpath-expression in the current
XPath expression context (automatically passed in by the extension
mechanism).</P>
<P>Use the evaluation extension function when the value of the expression is
not known until run time.</P>
1.5 +38 -11 xml-site/targets/xalan-j/faq.html
Index: faq.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/faq.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- faq.html 2001/03/16 23:02:06 1.4
+++ faq.html 2001/05/23 17:11:55 1.5
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,29 +16,32 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD><TABLE border="0"
cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Questions</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><UL><LI><A
href="#faq-1">Where do I go to learn about XSLT</A></LI><LI><A
href="#faq-2">Which version of Xerces should I be using?</A></LI><LI><A
href="#faq-3">Compatibility with Xalan-Java version 1</A></LI><LI><A
href="#faq-4">TrAX and JAXP</A></LI><LI><A href="#faq-5">Chaining
transformations</A></LI><LI><A href="#faq-6">Issues running Xalan on JDK
1.3</A></LI><LI><A href="#faq-7">a "DOM006 Hierarchy request
error"</A></LI><LI><A href="#faq-8">Speeding up
transformations</A></LI><LI><A href="#faq-9">NoClassDefFound
errors</A></LI><LI><A href="#faq-10">Stylesheet validation</A></LI><LI><A
href="#faq-11">Retrieving nodes in the default
namespace</A></LI></UL></FONT></TD></TR></TABLE><BR><TABLE border="0"
cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Answers</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><BR><A
name="faq-1"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Where do I go to learn about XSLT?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>The definitive sources are the W3C XSLT and XPath recommendations:
<A href="http://www.w3.org/TR/xslt" target="_top">W3C Recommendation XSL
Transformations (XSLT) Version 1.0</A> and
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
+<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD><TABLE border="0"
cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Questions</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><UL><LI><A
href="#faq-1">Where do I go to learn about XSLT</A></LI><LI><A
href="#faq-2">Which version of Xerces should I be using?</A></LI><LI><A
href="#faq-3">Compatibility with Xalan-Java version 1</A></LI><LI><A
href="#faq-4">TrAX and JAXP</A></LI><LI><A href="#faq-5">Chaining
transformations</A></LI><LI><A href="#faq-6">Issues running Xalan on JDK
1.3</A></LI><LI><A href="#faq-7">a "DOM006 Hierarchy request
error"</A></LI><LI><A href="#faq-8">Speeding up
transformations</A></LI><LI><A href="#faq-9">NoClassDefFound
errors</A></LI><LI><A href="#faq-10">Stylesheet validation</A></LI><LI><A
href="#faq-11">Retrieving nodes in the default namespace</A></LI><LI><A
href="#faq-12">Using the 'signature' file to verify a
download</A></LI></UL></FONT></TD></TR></TABLE><BR><TABLE border="0"
cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Answers</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><BR><A
name="faq-1"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Where do I go to learn about XSLT?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>The definitive sources are the W3C XSLT and XPath recommendations:
<A href="http://www.w3.org/TR/xslt" target="_top">W3C Recommendation XSL
Transformations (XSLT) Version 1.0</A> and
<A href="http://www.w3.org/TR/xpath" target="_top">XML Path Language
(XPath) Version 1.0</A>.</P>
- <P>For a brief listing of tutorials, discussion forums, and other
materials, see <A href="overview.html#uptospeed">Getting up to speed with
XSLT</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-2"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Which version of Xerces should I be using?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>Xalan-Java version 2.0.1 has been tested with Xerces-Java version
1.3.0. See <A
href="readme.html#status">Status</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-3"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>How do I run applications that use the Xalan-Java version 1 API
with Xalan-Java 2</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>Use the Xalan-Java 1 compatibility JAR to recompile and run your
Xalan-Java 1 applications with Xalan-Java 2. For more information, see
+ <P>For a brief listing of tutorials, discussion forums, and other
materials, see <A href="overview.html#uptospeed">Getting up to speed with
XSLT</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-2"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Which version of Xerces should I be using?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>Xalan-Java version 2.1.0 has been tested with Xerces-Java version
1.4. See <A
href="readme.html#status">Status</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-3"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>How do I run applications that use the Xalan-Java version 1 API
with Xalan-Java 2</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>Use the Xalan-Java 1 compatibility JAR to recompile and run your
Xalan-Java 1 applications with Xalan-Java 2. For more information, see
<A href="usagepatterns.html#compat">Using the Xalan-Java version 1
API</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-4"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What are TrAX and JAXP, and are they related?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>TrAX is the Transformation API for XML. In November 2000, TrAX was
revised and incorporated into JAXP, the JAVA API for XML
Processing. JAXP (including TrAX) provides users a standard,
vendor-neutral API for working with (and transforming) XML documents.
You can use this API to build applications that are not bound to the
particular implementation details of a given XML parser or XSL
transformer.</P>
<P>Xalan-Java includes the JAXP packages, implements the TrAX portion of
that API (javax.xml.transform....), and includes xerces.jar from
Xerces-Java, which implements the parser portion of the API
(javax.xml.parser....).</P>
-<P>For more information, see <A href="apidocs/javax/xml/transform/trax.html"
target="_top">TRaX (Transformation API for XML)</A> and <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/jaxp-pd2.pdf"
target="_top">Java API for XML Processing 1.1 Public Review
2</A>.</P></FONT></TD></TR></TABLE><BR><A name="faq-5"><!--anchor--></A><TABLE
border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699"
colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>How do you chain together a series of
transformations?"</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>Xalan-Java supports two strategies for chaining together a series
of transformations such that the output of each
+<P>For more information, see <A href="trax.html" target="_top">TRaX
(Transformation API for XML)</A> and <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/jaxp-pd2.pdf"
target="_top">Java API for XML Processing 1.1 Public Review
2</A>.</P></FONT></TD></TR></TABLE><BR><A name="faq-5"><!--anchor--></A><TABLE
border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699"
colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>How do you chain together a series of
transformations?"</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>Xalan-Java supports two strategies for chaining together a series
of transformations such that the output of each
transformation provides input for the next transformation.</P>
<UL>
<LI>For each transformation in the series, you can set one SAX
ContentHandler to process the input, and another ContenHandler to process
@@ -86,7 +90,18 @@
and be sure xalanj1compat.jar is on the classpath at run time (see <A
href="usagepatterns.html#compat">Using the Xalan-Java version 1
API)</A>.</LI>
</OL>
- <P>For more information, see <A href="getstarted.html#classpath">Setting
up the system classpath</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-10"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2"
width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>How do I validate an XSL stylesheet?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>For more information, see <A href="getstarted.html#classpath">Setting
up the system classpath</A>.</P>
+ <P><B>Using the EnvironmentCheck utility:</B> To help diagnose classpath
problems, try running Xalan's environment checking utility, checked in at
+ xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.</P>
+ <P>You can run this utility from the command line as follows:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.EnvironmentCheck [-out outFile]</FONT></CODE></P>
+ <P>You can also call this utility from within your application. For
example,</P>
+ <P><CODE><FONT face="courier, monospaced">boolean environmentOK = (new
EnvironmentCheck()).checkEnvironment (yourPrintWriter);</FONT></CODE></P>
+ <P>Be sure to run EnvironmentCheck in the environment where you are
experiencing the problem. For example, if you get a
+ NoClassDefFound error from a command-line application, run
EnvironmentCheck on the command line with exactly the same
+ classpath. If the error occurs inside your Java application (or in a
servlet, etc.), be sure to call the
+ EnvironmentCheck checkEnvironment(...) method from within your running
application.</P>
+ </FONT></TD></TR></TABLE><BR><A name="faq-10"><!--anchor--></A><TABLE
border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699"
colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>How do I validate an XSL stylesheet?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>An XSL stylesheet is an XML document, so it can have a DOCTYPE and
be subject to validation, right? </P>
<P>The XSLT Recommendation includes a <A
href="http://www.w3.org/TR/xslt#dtd">DTD Fragment
for XSL Stylesheets</A> with some indications of what you need to do
to create a complete DTD for a given
@@ -103,7 +118,19 @@
<P>Add a nampespace declaration with a prefix:<BR>
<CODE><FONT face="courier,
monospaced">xmlns:foo="http://my-namespace"</FONT></CODE></P>
<P>Then you can use foo: in your XPath expression.</P>
- <P>Hint: Don't use default namespaces, and the problem doesn't
arise.</P></FONT></TD></TR></TABLE><BR></FONT></TD></TR></TABLE><BR></TD></TR></TABLE></TD></TR></TABLE><BR><TABLE
border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD
bgcolor="#0086b2"><IMG height="1" src="images/dot.gif"
width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
+ <P>Hint: Don't use default namespaces, and the problem doesn't
arise.</P></FONT></TD></TR></TABLE><BR><A name="faq-12"><!--anchor--></A><TABLE
border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699"
colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>How does I use the "signature" file to verify my
download?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>For each Xalan download file in <A
href="http://xml.apache.org/dist/xalan-j/" target="_top">xalan-j distribution
directory</A>, there is a corresponding signature file.
+ The signature file for xalan-j_2_0_1.tar.gz, for example, is
xalan-j_2_0_1.tar.gz.sig.</P>
+ <P>The .sig files are PGP signatures of the actual .zip or .tar.gz
+ download files. You can use these files to verify the authenticiy
of the download. You do not need the .sig file to
+ use the corresponding donwload file.</P>
+ <P>To check the authenticity of a Xalan distribution, you need a
copy of
+ PGP which is available in a number of licenses, including some free
+ non-commercial licenses, either from an mit.edu site or on
+ the pgp.com site. Once you have a version of PGP installed, you
+ should be able to 'verify the signature' of the .sig file, which
basically verifies that the corresponding
+ .zip or tar.gz file has not been changed since we signed it.</P>
+
</FONT></TD></TR></TABLE><BR></FONT></TD></TR></TABLE><BR></TD></TR></TABLE></TD></TR></TABLE><BR><TABLE
border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD
bgcolor="#0086b2"><IMG height="1" src="images/dot.gif"
width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
Copyright © 2000 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>
1.9 +14 -10 xml-site/targets/xalan-j/getstarted.html
Index: getstarted.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/getstarted.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- getstarted.html 2001/03/16 23:02:08 1.8
+++ getstarted.html 2001/05/23 17:11:56 1.9
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="Getting Started" border="0" height="12" hspace="0"
src="graphics/getstarted-label-1.jpg" vspace="0" width="120"><BR>
@@ -15,19 +16,22 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#download">Downloading what you need</A></LI>
@@ -45,14 +49,14 @@
<LI>xerces.jar (or another <A href="usagepatterns.html#plug">XML
Parser</A>)</LI>
</UL>
<P>You can get the JDK or JRE from <A
href="http://www.ibm.com/java/jdk">ibm.com/java/jdk/</A> or <A
href="http://www.java.sun.com">java.sun.com</A>.</P>
-<P>Download <A href="http://xml.apache.org/dist/xalan-j/xalan-j_2_0_1.zip"
target="_top">xalan-j_2_0_1.zip</A> or <A
href="http://xml.apache.org/dist/xalan-j/xalan-j_2_0_1.tar.gz"
target="_top">xalan-j_2_0_1.tar.gz</A>. Both of these files contain <A
href="http://xml.apache.org/xalan" target="_top">Xalan-Java version 2.0.1</A>
(with xalan.jar) and xerces.jar from <A
href="http://xml.apache.org/xerces-j/index.html" target="_top">Xerces-Java
version 1.3.0</A>. You can use a zip or tar utility to expand these files into
a full build.</P>
+<P>Download <A href="http://xml.apache.org/dist/xalan-j/xalan-j_2_1_0.zip"
target="_top">xalan-j_2_1_0.zip</A> or <A
href="http://xml.apache.org/dist/xalan-j/xalan-j_2_1_0.tar.gz"
target="_top">xalan-j_2_1_0.tar.gz</A>. Both of these files contain <A
href="http://xml.apache.org/xalan" target="_top">Xalan-Java version 2.1.0</A>
(with xalan.jar) and xerces.jar from <A
href="http://xml.apache.org/xerces-j/index.html" target="_top">Xerces-Java
version 1.4</A>. You can use a zip or tar utility to expand these files into a
full build.</P>
<P>If you plan to run <A href="extensions.html">XSLT extensions</A>, you
need bsf.jar, which is included in the Xalan-Java distribution. If you plan to
run XSLT extensions implemented in Javascript or another scripting language,
you will need one or more additional files as indicated in <A
href="extensions.html#supported-lang">extensions language requirements</A>.</P>
</FONT></TD></TR></TABLE><BR><A name="classpath"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Setting up the system classpath</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>At the very minimum, you must include xalan.jar and xerces.jar (or
another conformant XML parser -- see <A href="usagepatterns.html#plug">Plugging
in a Transformer and XML parser</A>) on the system classpath. To run the sample
applications, include xalansamples.jar (all samples other than the servlet) and
xalanservlet.jar. To run extensions, include bsf.jar. All these JAR files are
distributed with Xalan-Java. For extensions implemented in JavaScript or
another scripting language, see <A
href="extensions.html#supported-lang">extensions language requirements</A> to
identify any additional JAR files you must place on the classpath and where you
can get them.</P>
-<P>If you are using JDK or JRE 1.1.8, also include classes.zip on the
classpath.</P>
-<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you are using
xerces.jar from a Xerces release that is more recent than Xerces-Java version
1.3.0, you may need to put xerces.jar before xalan.jar on the classpath. Both
JAR files include the org.w3c.dom packages. The Xerces team is tracking updates
to DOM level 2, and the Xerces parser may require access to updates in these
packages.</I></FONT></TD></TR></TABLE>
+<P>If you are using JDK or JRE 1.1.8, also include classes.zip on the
classpath. If you are using JDK or JRE 1.2, include tools.jar on the
classpath.</P>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you are using
xerces.jar from a Xerces release that is more recent than Xerces-Java version
1.4, you may need to put xerces.jar before xalan.jar on the classpath. Both JAR
files include the org.w3c.dom packages. The Xerces team is tracking updates to
DOM level 2, and the Xerces parser may require access to updates in these
packages.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR><A name="samples"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Trying out the samples</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>The Xalan-Java distribution includes a number of basic sample
applications. These samples are easy to run, and you can review the source
files -- all of which are brief -- to see just how they work.</P>
@@ -75,7 +79,7 @@
<CODE><FONT face="courier, monospaced"> -xsl
<I>stylesheet</I> -out <I>outputfile</I></FONT></CODE></P>
<P>where <I>xmlSource</I> is the XML source file name, <I>stylesheet</I> is
the XSL stylesheet file name, and <I>outputfile</I> is the output file name.</P>
<P>If you want the output to be displayed on the screen, simply omit the
-out flag and argument.</P>
-<P>You can use this utility to try out XSL stylesheets you have written, to
make sure they do what you expect with the XML source files they are designed
to transform. The utility provides useful messages if the source file or
stylesheet is not well formed. If you include a DOCTYPE statement in your XML
source files and include the -validate flag on the command line, the utility
will also let you know whether the XML document is valid (conforms to that
DOCTYPE). For more information, see <A href="commandline.html">Command-Line
Utility</A>.</P>
+<P>You can use this utility to try out XSL stylesheets you have written, to
make sure they do what you expect with the XML source files they are designed
to transform. The utility provides useful messages if the source file or
stylesheet is not well formed. For more information, see <A
href="commandline.html">Command-Line Utility</A>.</P>
</FONT></TD></TR></TABLE><BR><A name="java-apps"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Setting up your own Java
applications</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>You can start by using your own XML source files and XSL stylesheets with
the sample applications, which illustrate a number of the <A
href="usagepatterns.html">basic usage patterns</A>.</P>
1.11 +18 -13 xml-site/targets/xalan-j/index.html
Index: index.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/index.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- index.html 2001/03/16 23:02:09 1.10
+++ index.html 2001/05/23 17:11:58 1.11
@@ -1,9 +1,10 @@
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js"
type="text/javascript"></SCRIPT><TITLE>Xalan-Java version
2.0.1</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4"
link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4"
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0"
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top"
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif"
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5"
valign="top" width="456"><IMG border="0" height="5" hspace="0"
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left"
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60"
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top"
width="456"><IMG alt="" border="0" height="35" hspace="0"
src="graphics/index-header.jpg" vspace="0" width="456"></TD></TR><TR><TD
align="left" height="20" valign="top" width="168"><IMG border="0" height="20"
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');"
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"
border="0" height="20" hspace="0" name="xml"
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://www.apache.org/" onMouseOut="rolloverOff('asf');"
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"
border="0" height="20" hspace="0" name="asf"
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');"
target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0"
name="w3c"
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
src="resources/button-w3c-lo.gif" vspace="0"
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0"
width="120"><BR>
+<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js"
type="text/javascript"></SCRIPT><TITLE>Xalan-Java version
2.1.0</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4"
link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4"
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0"
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top"
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif"
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5"
valign="top" width="456"><IMG border="0" height="5" hspace="0"
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left"
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60"
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top"
width="456"><IMG alt="" border="0" height="35" hspace="0"
src="graphics/index-header.jpg" vspace="0" width="456"></TD></TR><TR><TD
align="left" height="20" valign="top" width="168"><IMG border="0" height="20"
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');"
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"
border="0" height="20" hspace="0" name="xml"
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://www.apache.org/" onMouseOut="rolloverOff('asf');"
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"
border="0" height="20" hspace="0" name="asf"
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');"
target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0"
name="w3c"
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
src="resources/button-w3c-lo.gif" vspace="0"
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0"
width="120"><BR>
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <IMG alt="Xalan-J 2.0.1" border="0" height="12" hspace="0"
src="graphics/index-label-1.jpg" vspace="0" width="120"><BR>
+ <IMG alt="Xalan-J 2.1.0" border="0" height="12" hspace="0"
src="graphics/index-label-1.jpg" vspace="0" width="120"><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,19 +16,22 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>What is it?</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Xalan is an XSLT processor for transforming XML documents into HTML,
text, or other XML document types. It implements the
@@ -35,26 +39,27 @@
in an applet or a servlet, or as a module in other program.</P>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>I've heard of Xalan-Java, but what is version
2?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Xalan-Java version 2 recasts Xalan as an implementation of the <A
href="apidocs/javax/xml/transform/trax.html" target="_top">TRaX (Transformation
API for XML)</A> interfaces, part of the <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/jaxp-pd2.pdf"
target="_top">Java API for XML Processing 1.1 Public Review 2</A>. TRaX
provides a
+ <P>Xalan-Java version 2 recasts Xalan as an implementation of the <A
href="trax.html" target="_top">TRaX (Transformation API for XML)</A>
interfaces, part of the <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/jaxp-pd2.pdf"
target="_top">Java API for XML Processing 1.1 Public Review 2</A>. TRaX
provides a
modular framework and a standard API for performing XML transformations,
and it utilizes system properties to determine which Transformer and which XML
parser to use.</P>
<P>Xalan-Java version 2 also builds on <A
href="http://www.megginson.com/SAX/Java/index.html" target="_top">SAX 2</A>, <A
href="http://www.w3.org/TR/DOM-Level-2/" target="_top">DOM level 2</A>, and the
XML parser API in
<A href="http://java.sun.com/xml/docs/api/index.html"
target="_top">Java API for XML Parsing 1.0</A>.</P>
<P>For more information, see <A href="whatsnew.html">What's new in
Xalan-Java 2</A>.</P>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>How about this release?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Xalan-Java version 2.0.1 is a production release It incorporates a
number of enhancements and bug fixes. For the details, see
- <A href="readme.html">Release Notes</A>. Please send your feedback to the
<A href="mailto:[email protected]">Xalan Development Mailing
List</A>.</P>
+ <P>Xalan-Java version 2.1.0 is a production release. This is the first
Xalan-Java release to include the
+ <A href="xsltc_usage.html">XSLTC</A> translet compiler and runtime,. This
release also incorporates a number of bug fixes.
+ For the details, see <A href="readme.html">Release Notes</A>. Please send
your feedback to the <A href="mailto:[email protected]">Xalan
Development Mailing List</A>.</P>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>How do I get it?</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Download and unzip either of the following:</P>
<UL>
- <LI><A href="http://xml.apache.org/dist/xalan-j/xalan-j_2_0_1.zip"
target="_top">xalan-j_2_0_1.zip</A></LI>
- <LI><A href="http://xml.apache.org/dist/xalan-j/xalan-j_2_0_1.tar.gz"
target="_top">xalan-j_2_0_1.tar.gz</A></LI>
+ <LI><A href="http://xml.apache.org/dist/xalan-j/xalan-j_2_1_0.zip"
target="_top">xalan-j_2_1_0.zip</A></LI>
+ <LI><A href="http://xml.apache.org/dist/xalan-j/xalan-j_2_1_0.tar.gz"
target="_top">xalan-j_2_1_0.tar.gz</A></LI>
</UL>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Where do I get Xerces?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>The Xalan download includes xerces.jar from Xerces-Java version
1.3.0. This is all you need to run Xalan with the Xerces XML parser.
+ <P>The Xalan download includes xerces.jar from Xerces-Java version 1.4.
This is all you need to run Xalan with the Xerces XML parser.
You can, however, download the complete Xerces distribution from the <A
href="http://xml.apache.org/dist/xerces-j/" target="_top">xerces-j distribution
directory</A>.</P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you plan to use
a different XML parser, see <A href="usagepatterns.html#plug">Plugging in a
Transformer
and XML parser</A>.</I></FONT></TD></TR></TABLE>
1.9 +11 -7 xml-site/targets/xalan-j/overview.html
Index: overview.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/overview.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- overview.html 2001/03/16 23:02:09 1.8
+++ overview.html 2001/05/23 17:11:59 1.9
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<IMG alt="Overview" border="0" height="12" hspace="0"
src="graphics/overview-label-1.jpg" vspace="0" width="120"><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,19 +16,22 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#intro">Introduction</A></LI>
@@ -68,7 +72,7 @@
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Xalan-Java Features</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<UL>
<LI>Implements the relevant W3C specifications: <A
href="http://www.w3.org/TR/xslt" target="_top">W3C Recommendation XSL
Transformations (XSLT) Version 1.0</A> and <A href="http://www.w3.org/TR/xpath"
target="_top">XML Path Language (XPath) Version 1.0</A>.<BR><BR></LI>
- <LI>Implements <A href="apidocs/javax/xml/transform/trax.html"
target="_top">TRaX (Transformation API for XML)</A>, now part of <A
href="http://java.sun.com/xml/docs/api/index.html" target="_top">Java API for
XML Parsing 1.0</A>, and builds on
+ <LI>Implements <A href="trax.html" target="_top">TRaX
(Transformation API for XML)</A>, now part of <A
href="http://java.sun.com/xml/docs/api/index.html" target="_top">Java API for
XML Parsing 1.0</A>, and builds on
<A href="http://www.megginson.com/SAX/Java/index.html"
target="_top">SAX 2</A> and <A href="http://www.w3.org/TR/DOM-Level-2/"
target="_top">DOM level 2</A>.<BR><BR></LI>
<LI>May be configured to work with any XML parser, such
<A href="http://xml.apache.org/xerces-j/index.html">Xerces-Java</A>,
that implements <A href="http://java.sun.com/xml/docs/api/index.html"
target="_top">Java API for XML Parsing 1.0</A> (see <A
href="usagepatterns.html#plug">Plugging in an XML
1.10 +674 -240 xml-site/targets/xalan-j/readme.html
Index: readme.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/readme.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- readme.html 2001/03/16 23:02:10 1.9
+++ readme.html 2001/05/23 17:12:01 1.10
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,45 +16,696 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<IMG alt="Release Notes" border="0" height="12" hspace="0"
src="graphics/readme-label-1.jpg" vspace="0" width="120"><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
-<P>Xalan-Java version 2.0.1</P>
+<P>Xalan-Java version 2.1.0</P>
<UL>
- <LI><A href="#status0">Status</A></LI>
+ <LI><A href="#status0">Status</A></LI><LI><A
href="#xsltcreleasenotes">XSLTC Release Notes</A></LI>
<LI><A href="#build">Build Notes</A></LI>
<LI><A href="#contact">Getting in touch</A></LI>
<LI><A href="#history">History of software changes</A></LI>
</UL><A name="status0"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Status</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<UL>
- <LI><A href="#done">Changes since version 2.0</A></LI>
+ <LI><A href="#done">Changes since version 2.0.1</A></LI>
<LI><A href="#other">Other points of interest</A></LI>
<LI><A href="#bugs">Bugs</A></LI>
<LI><A href="#status">Version of Xerces to use</A></LI>
<LI><A href="#to-do">To-do tasks for future Xalan-Java releases</A></LI>
</UL>
<A name="done"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes since Xalan-Java 2.0.0</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>This release includes a number of bug fixes to the Xalan-Java and
TrAX core and Xalan-Java 1 compability API. We have also</P>
- <UL>
- <LI>Entered all known Xalan-Java 2 <A href="#bugs">bugs</A> in the
Apache Bugzilla database<BR><BR></LI>
- <LI>Added support for using custom URIResolver, EntityResolver, and
ContentHandler implementations with the <A href="commandline.html">command-line
utility</A><BR><BR></LI>
- <LI>Upgraded from Ant 1.2 to Ant 1.3 for our <A
href="#build">builds</A> (the new ant.jar is in the bin directory).</LI>
- </UL>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes since Xalan-Java 2.0.1</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>The Sun XSLTC team ([EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL
PROTECTED],
+ [EMAIL PROTECTED]) has checked <A
href="xsltc_usage.html">XSLTC</A> into the Xalan
+ source tree, and we have begun the process of merging XSLTC
into Xalan. XSLTC provides a compiler for compiling
+ stylesheets into translets, and a streamlined runtime
environment for using translets to transform XML input.
+ In the near term, XSLTC will appear in a separate JAR file
(xsltc.jar) with its own API and command-line
+ utilities. You can already use the same JAXP interfaces to
perform
+ transformations with the Xalan transformer and with
translets. Over time, we plan to merge the two codebases.
+ <I>See <A href="xsltc/index.html">XSLTC Design
Documents</A>.</I></P>
+ <P>See <A href="#xsltcreleasenotes">XSLTC Release
Notes</A>.</P>
+ <P>This release also includes a number of bug fixes to Xalan-Java and
TrAX.
+ We have also enhanced the ApplyXSLT servlet. It can now be set up to
use a compiled Templates object to respond to multiple
+ client transformation requests involving the same stylesheet.</P>
-<P>Core source code updates:</P><UL><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>02/06/2001<BR><I>Modified:
</I>java/src/org/apache/xpath/axes ChildWalkerMultiStep.java<BR><I>Committer's
log entry: </I>Fix for bug reported by "Chris P. McCabe" <[EMAIL
PROTECTED]>
+<P>Core source code updates:</P><UL><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>03/16/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/processor StylesheetHandler.java
+ java/src/org/apache/xpath Expression.java XPath.java
+ XPathContext.java
+ java/src/org/apache/xpath/compiler Compiler.java
+ XPathParser.java<BR><I>Committer's log entry: </I>Renamed
"assert()" to "assertion()".
+
+ Assert can be a keyword, and brake the
compilation.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>03/19/2001<BR><I>Modified: </I>java/src/org/apache/xalan/transformer
KeyWalker.java<BR><I>Committer's log entry: </I>Throw an error message if the
key name in a key function was not defined<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>03/20/2001<BR><I>Modified:
</I>java/src/org/apache/xml/utils FastStringBuffer.java<BR><I>Committer's log
entry: </I>Reworked "chunk growth" algorithm again. Growing mode not
+ yet adequately tested, but fixed-size mode (which is what Xalan
+ is currently using) is simpler code and shows improved
performance.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>03/20/2001<BR><I>Added: </I>java/src/org/apache/xalan/xslt
EnvironmentCheck.java<BR><I>Committer's log entry: </I>Utility class to check
your JVM environment for common problems<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>03/22/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/xslt EnvironmentCheck.java<BR><I>Committer's log
entry: </I>Added more .jar sizes to jarVersions
listing<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>03/22/2001<BR><I>Modified: </I>java/src/org/apache/xml/utils
FastStringBuffer.java<BR><I>Committer's log entry: </I>We've reworked the
algorithm again. The fixed-chunk-size mode (initial
+ and max. chunk sizes equal) runs essentially unchanged, though with a
+ few cycles less overhead. The variable-chunk-size mode now uses a
+ recursive-encapsulation scheme, where the first chunk may itself be a
+ FastStringBuffer whose total length equals one chunk; every so often
+ we push the existing data down one level and restart with a larger
+ chunk size. The new scheme has been stress-tested and is apparently
+ working. At this writing, however, Xalan uses only the fixed-size
+ mode (initial size equals max size), and no effort has been made to
+ find the optimial values for the tuning parameters. It does appear
+ likely that the best values will vary with usage patterns, but we hope
+ to find a good compromise.
+
+ I'll probably be putting this aside for a while to work on other things.
+ If someone wants to experiment with varying the block sizes and
+ how frequently they grow, and suggest good performance/memory
+ tradeoff points, go for it!<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>03/22/2001<BR><I>Modified:
</I>java/src/org/apache/xml/utils FastStringBuffer.java<BR><I>Committer's log
entry: </I>Minor tweak to the javadoc.<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>03/23/2001<BR><I>Modified:
</I>java/src/org/apache/xml/utils FastStringBuffer.java<BR><I>Committer's log
entry: </I>reset() versus setLength(0).<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>03/26/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/templates ElemForEach.java<BR><I>Committer's log
entry: </I>Fix for bug# 1116, getMatchedTemplate throws ClassCastException.
+ Don't push template unless it is a
xsl:template.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>03/26/2001<BR><I>Modified: </I>java/src/org/apache/xalan/templates
OutputProperties.java<BR><I>Committer's log entry: </I>Patches submitted by
Patrick Moore <[EMAIL PROTECTED]>
+ on 03/15/2001 01:25 PM:
+
+ This proposed change does a number of things:
+
+ 1. Problem: HTML output method does not uses XML output properties as
+ default.
+
+ In both org/apache/xalan/templates/output_html.properties and in the java
+ doc for
+ org/apache/xalan/templates/OutputProperties#getDefaultMethodProperties(Strin
+ g) It specifically states that all OutputProperties use the
+ output_xml.properties as a base. In the code this is not true for html. This
+ is now changed to match the comments
+
+ 2. Problem: unclear IOException.
+
+ If there was a problem loading the XML properties file. The wrapped
+ exception now will say which file was trying to be loaded. If the file did
+ not exist I was getting a very strange "Stream closed"
IOException message.
+
+ 3. Problem: the streams were not closed after reading the property file.
+
+ Fixed.
+
+ 4. Problem: the double-check locking mechanism does not work in Java (see
+ bug #919)
+
+ <http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox.html>
+
+ 5. QUESTION: now if there is a default properties (i.e.
+ output_xml.properties has been loaded) but the expected properties file does
+ not exist a error message will be printed to System.err and the processing
+ will continuing using just the default properties (output_xml.properties) I
+ felt that this is the best behavior.
+
+ (comment by sboag: I think it's better to
+ throw a runtime exception in this case.
+ but we can discuss this over time. For now
+ the patch was modified to do the runtime
exception).<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>03/27/2001<BR><I>Modified: </I>java/src/org/apache/xalan/processor
XSLTSchema.java
+ java/src/org/apache/xalan/stree SourceTreeHandler.java
+ java/src/org/apache/xalan/templates ElemForEach.java
+ ElemLiteralResult.java
+ java/src/org/apache/xalan/transformer QueuedSAXEvent.java
+ ResultTreeHandler.java TransformerImpl.java
+ java/src/org/apache/xml/utils BoolStack.java
+ java/src/org/apache/xpath XPathContext.java<BR><I>Committer's log entry:
</I>This check-in contains a couple things that overlapped on my
+ system, so I'm checking them in together.
+ 1) Unfinished (in progress) implementation of TransformSnapshot mechanism,
+ which will hopefully allow a result ContentHandler to take a snapshot
+ at a given point, and the restart execution from that point at some
+ later time. For tooling support.
+ 2) Check to make sure SourceTreeHandler isn't being entered twice,
+ which is related to the cocoon bug from a couple of weeks ago. This
+ will just help diagnose such a problem in the future.
+ 3) Removed the error stack trace print from postExceptionFromThread.
+ 4) Report exception in SourceTreeHandler#endDocument after
+ the join, if we can determine that the posted exception won't be
+ caught elsewhere.
+ 5) removed some catches that simply rethrew the exception
+ (thanks to Patrick Moore <[EMAIL PROTECTED]>).
+ See my note on 3/27/2001 to Patrick for more info
+ on the last two.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I>
on </I>03/27/2001<BR><I>Added: </I>java/src/org/apache/xalan/transformer
TransformSnapshot.java
+ TransformSnapshotImpl.java<BR><I>Committer's log entry: </I>Unfinished (in
progress) implementation of TransformSnapshot mechanism,
+ which will hopefully allow a result ContentHandler to take a snapshot
+ at a given point, and the restart execution from that point at some
+ later time. For tooling support.on the last
two.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>03/29/2001<BR><I>Modified: </I>java/src/org/apache/xalan/processor
+ ProcessorStylesheetElement.java
+ ProcessorTemplateElem.java StylesheetHandler.java
+ XSLTElementDef.java XSLTElementProcessor.java
+ XSLTSchema.java<BR><I>Committer's log entry: </I>Try to catch element order
and required element errors during stylesheet
+object creation. This new code adds an order and a required field to
+XSLElementDef objects where it is applicable.<BR><BR></LI><LI><I>Committed
by </I>[EMAIL PROTECTED]<I> on </I>04/02/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/transformer
TransformerImpl.java<BR><I>Committer's log entry: </I>Fix bugzilla bug 1170. If
we're trying an xsl:apply-imports at the top level
+(ie there are no
+ imported stylesheets), we need to indicate that there is no matching
template
+and prevent and infinite recursion by using the built-in
template.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/02/2001<BR><I>Modified: </I>java/src/org/apache/xalan/extensions
MethodResolver.java<BR><I>Committer's log entry: </I>Code cleanup submitted by
Art Welch <[EMAIL PROTECTED]>.<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>04/06/2001<BR><I>Modified:
</I>java/src/org/apache/xml/utils TreeWalker.java<BR><I>Committer's log entry:
</I>Add locator support to TreeWalker<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>04/06/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/transformer
+ QueuedStartElement.java<BR><I>Committer's log entry: </I>Small fix made for
getCurrentNode.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/06/2001<BR><I>Modified: </I>java/src/org/apache/xml/utils
TreeWalker.java<BR><I>Committer's log entry: </I>Commented out extra call to
getData()... this could be a big performance
+ improvement for some stylesheets.<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>04/09/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/transformer
+ TransformSnapshotImpl.java TransformerImpl.java<BR><I>Committer's log
entry: </I>Additional support for tooling. Allow tools to take a snapshot of
context and
+restart execution at that point.<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>04/10/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/processor
+ XSLTElementProcessor.java
+ java/src/org/apache/xalan/res XSLTErrorResources.java
+ java/src/org/apache/xalan/transformer
+ TransformSnapshotImpl.java TransformerImpl.java<BR><I>Committer's log
entry: </I>Misc stuff left out from previous check
in<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/11/2001<BR><I>Modified: </I>java/src/org/apache/xpath/functions
FuncCurrent.java<BR><I>Committer's log entry: </I>Don't assume that the object
returned by getSubContextList() is a
+PredicatedNodeTest object.<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>04/11/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/processor ProcessorInclude.java
+ TransformerFactoryImpl.java
+ java/src/org/apache/xalan/transformer
+ TransformerIdentityImpl.java
+ java/src/org/apache/xml/utils TreeWalker.java<BR><I>Committer's log entry:
</I>Create new TreeWalker constructor that takes a systemId parameter. Change
+TreeWalker to change fields in the locator and not set it for each
node.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/17/2001<BR><I>Modified: </I>java/src/org/apache/xpath
XPath.java<BR><I>Committer's log entry: </I>Fix Bugzilla bug:
+ PR: 1106
+ Submitted by: [EMAIL PROTECTED]<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>04/18/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/lib/sql QueryParameter.java
+ SQLExtensionError.java XConnection.java<BR><I>Committer's log entry:
</I>Minor Javadoc updates (add @author name, remove declared but unthrown
@throws)<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/18/2001<BR><I>Modified: </I>java/src/org/apache/xalan/lib/sql Column.java
+ ColumnAttribute.java ColumnData.java
+ ColumnHeader.java Row.java RowSet.java
+ StreamableNode.java XConnection.java
+ XStatement.java<BR><I>Committer's log entry: </I>Support for Streamable
Mode- John Gentilin<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/24/2001<BR><I>Modified: </I>java/src/org/apache/xpath/objects
XObject.java<BR><I>Committer's log entry: </I>Resolve bugzilla bug 1015
+<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1015>.
+ Fix prevents null pointer exceptions when null non-XSLT arguments are
+ passed to an extension function.<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>04/24/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/extensions MethodResolver.java<BR><I>Committer's
log entry: </I>Resolve bugzilla bug 1015
+<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1015>.
+ Fix prevents null pointer exceptions when null non-XSLT arguments are
+ passed to an extension function.<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>04/24/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/processor
+ TransformerFactoryImpl.java<BR><I>Committer's log entry: </I>Fix copy/paste
error. Want to use TransformerFactoryImpl's class
loader.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/24/2001<BR><I>Modified: </I>java/src/org/apache/xalan/transformer
+ TransformSnapshotImpl.java<BR><I>Committer's log entry: </I>Keep a copy of
current contextNodeList is there is one<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>04/25/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/xslt EnvironmentCheck.java<BR><I>Committer's log
entry: </I>Added checkDirForJars() which checks java.ext.dirs as well
now<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/26/2001<BR><I>Added: </I>java/src/javax/xml/transform package.html
+ java/src/javax/xml/transform/dom package.html
+ java/src/javax/xml/transform/sax package.html
+ java/src/javax/xml/transform/stream package.html<BR><I>Committer's log
entry: </I>Add package.html for each package in
javax.xml.transform.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I>
on </I>04/27/2001<BR><I>Modified: </I>java/src/org/apache/xalan/transformer
TransformerImpl.java<BR><I>Committer's log entry: </I>Resolve bug 1496
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1496>
+where xsl:param statements were not being reset properly if the
TransformerImpl
+was reused.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/27/2001<BR><I>Modified: </I>java/src/org/apache/xalan/stree
DocImpl.java<BR><I>Committer's log entry: </I>Fix for
#1561<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>04/29/2001<BR><I>Modified: </I>java/src/org/apache/xpath/functions
FuncExtFunction.java<BR><I>Committer's log entry: </I>Resolve bugzilla bug 1373
+<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1373>.
+ Added code to support return of Integer or Long by an external function.
+ Code was contributed by Patrick Moore <[EMAIL
PROTECTED]>.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/03/2001<BR><I>Modified: </I>java/src/javax/xml/transform/stream
StreamResult.java
+ StreamSource.java<BR><I>Committer's log entry: </I>Small fix to avoid
file:////path that may fail on some JDK.<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>05/04/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/lib/sql package.html<BR><I>Committer's log entry:
</I>Preliminary updates for John G's work.<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>05/07/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/transformer
TransformerImpl.java<BR><I>Committer's log entry: </I>Check for a null
contextNodeList before returning its clone<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>05/07/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/stree StreeDOMBuilder.java<BR><I>Committer's log
entry: </I>Set the element's level correctly, before we process
attributes.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/08/2001<BR><I>Modified: </I>java/src/org/apache/xalan/transformer
+ TransformerIdentityImpl.java<BR><I>Committer's log entry: </I>Resolve
bugzilla 1648
+(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1648).
+ TransformerIdentityImpl was improperly using an old LexicalHandler when
+invoked for a second transform.
+ This bug only affects identity transforms with StreamResults.
+ Many thanks to John Keyes <[EMAIL PROTECTED]> for reporting this
bug.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/10/2001<BR><I>Modified: </I>java/src/org/apache/xalan/processor
XSLProcessorVersion.java<BR><I>Committer's log entry: </I>Updated version
number to 2.1.0<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/10/2001<BR><I>Modified: </I>java/src/org/apache/xalan/res
XSLTInfo.properties<BR><I>Committer's log entry: </I>Updated version number to
2.1.0<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/10/2001<BR><I>Modified: </I>java/src/org/apache/xpath/functions
FuncExtFunction.java<BR><I>Committer's log entry: </I>Change submitted by
Patrick Moore <[EMAIL PROTECTED]> as part of bugzilla
+1373 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1373).
+ Return value from extension function is now generalized so that all
+derivatives of Number are now properly handled.<BR><BR></LI><LI><I>Committed
by </I>[EMAIL PROTECTED]<I> on </I>05/11/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/processor XSLTSchema.java<BR><I>Committer's log
entry: </I>Set the correct order of xsl:include
elements<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/13/2001<BR><I>Modified: </I>java/src/org/apache/xalan/lib/sql Column.java
+ ColumnAttribute.java ColumnData.java
+ ColumnHeader.java ConnectionPool.java
+ DefaultConnectionPool.java ExtensionError.java
+ PooledConnection.java QueryParameter.java Row.java
+ RowSet.java SQLExtensionError.java
+ StreamableNode.java XConnection.java
+ XConnectionPoolManager.java XStatement.java
+ package.html<BR><I>Committer's log entry: </I>Updates Javadocs
+ Submitted by:John Gentilin mailto://[EMAIL
PROTECTED]<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/14/2001<BR><I>Modified: </I>java/src/org/apache/xalan/xslt
Process.java<BR><I>Committer's log entry: </I>Correct typo introduced in
revision 1.30 causing problems with transforms on
+Unix platforms.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/14/2001<BR><I>Modified: </I>java/src/org/apache/xalan/templates
ElemChoose.java<BR><I>Committer's log entry: </I>Correct bugzilla bug 1748
+<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1748>.
+ When evaluating xsl:when, the xsl:choose element was used to resolve
+namespace prefixes instead of
+ the xsl:when element itself. This caused namespace prefixes defined on the
+xsl:when to be ignored.<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>05/15/2001<BR><I>Modified: </I>java/src/javax/xml/parsers
DocumentBuilderFactory.java
+ SAXParserFactory.java
+ java/src/javax/xml/transform TransformerFactory.java<BR><I>Committer's log
entry: </I>Use the context class loader if available.
+
+ The implementation is based on ExtensionHandler, and it's needed in order
+ to work in certain environments ( like tomcat
).<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/15/2001<BR><I>Modified: </I>java/src/org/apache/xalan/extensions
ExtensionHandler.java
+ ExtensionHandlerGeneral.java<BR><I>Committer's log entry: </I>Make
getClassForName a public method. There are few other places in xalan
+ where Class.forName is used, and this can create problems in some cases
+ where the Thread.getContextClassLoader should be used.
+
+ getClassForName uses introspection to call getContextClassLoader
+ ( so it works in JDK1.1 ).
+
+ In ExtensionHandlerGeneral, use the thread loader to find BSF ( it may be
+ possible that xalan is installed in CLASSPATH, but BSF is in a webapp
).<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/15/2001<BR><I>Modified: </I>java/src/org/apache/xalan/processor
+ CompilingStylesheetHandler.java
+ java/src/org/apache/xalan/serialize
SerializerFactory.java<BR><I>Committer's log entry: </I>2 more instances where
Class.forName was used.
+
+ Use the method in ExtensionHandler for consistency ( we could move it in
+ org.apache.xml.utils, but for now it's easier to just use it as it is
)<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/15/2001<BR><I>Modified: </I>java/src/org/apache/xalan/stree
SourceTreeHandler.java
+ java/src/org/apache/xalan/transformer
TransformerImpl.java<BR><I>Committer's log entry: </I>This is the "thread
pooling hook".
+
+ It slightly changes the API used to create and wait for the transform
thread.
+ Instead of using threadCreate() and Thread.start() that creates a new thread
+ and thread.join() that waits for a thread to end, we now use a
+ThreadControler
+ class that has the equivalent methods:
+ - run( Runnable ) - executes a task in a thread. The default implementation
+ is identical with what we had, using new Thread() and start()
+ - waitTread() - waits for a task to end. The default impl. is identical with
+ the previous code, using thread.join().
+
+ Someone wanting to use a thread pool for xalan will have to extend
+ the ThreadControler and override the 2 methods, then call
setThreadController.
+
+ Xalan itself doesn't implement a thread pool right now ( for mosts uses it's
+ not even needed - if you just do few transforms for example ), instead
+ a server that runs xalan could plug it's own thread
pool.<BR><BR></LI><LI><I>Committed by </I>Gary L Peskin <[EMAIL
PROTECTED]><I> on </I>05/15/2001<BR><I>Committer's log entry: </I>
+> Use the context class loader if available.
+>
+> The implementation is based on ExtensionHandler, and it's needed in
order
+> to work in certain environments ( like tomcat ).
+>
+><BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/16/2001<BR><I>Modified: </I>java/src/org/apache/xalan/lib/sql
ExtensionError.java<BR><I>Committer's log entry: </I>Fixed "conflict"
in javadoc comments.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I>
on </I>05/16/2001<BR><I>Modified: </I>java/src/org/apache/xalan/lib/sql
package.html<BR><I>Committer's log entry: </I>Editing
pass.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/17/2001<BR><I>Modified: </I>java/src/org/apache/xalan/xsltc
TransletOutputHandler.java<BR><I>Committer's log entry: </I>bug # 1406 fixed,
omit xml header implemented<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>05/17/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/xslt Process.java<BR><I>Committer's log entry:
</I>Update Javadoc and remove commented out reference to properties file
+ PR:Bugzilla1627<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/18/2001<BR><I>Modified: </I>java/src/org/apache/xalan/transformer
ResultTreeHandler.java<BR><I>Committer's log entry: </I>Resolve bug 1330
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1330>.
+ setContentHandler failed to also reset m_lexicalHandler if the
ContentHandler
+ was also a LexicalHandler. This caused the old LexicalHandler to be used
+which
+ was pointing to a previous result tree.<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>05/18/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/processor
+ TransformerFactoryImpl.java<BR><I>Committer's log entry: </I>Resolve bug
1762 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1762>.
+ TransformerFactoryImpl's URIResolver was not propagated to created
+Transformers.
+ Modified code to propagate.<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>05/19/2001<BR><I>Modified:
</I>java/src/org/apache/xml/utils TreeWalker.java
+ SystemIDResolver.java<BR><I>Committer's log entry: </I>Catch
SecurityException whenever accessing System.getProperty("user.dir");
+ minor javadoc update<BR><BR></LI><LI><I>Committed by </I>[EMAIL
PROTECTED]<I> on </I>05/21/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/templates ElemCopy.java
+ ElemValueOf.java
+ java/src/org/apache/xalan/transformer TreeWalker2Result.java
+ java/src/org/apache/xpath/functions FuncLast.java<BR><I>Committer's log
entry: </I>Fix for bugs reported by the Eclipse folks for TransformState, where
+ some operations (xsl:value-of, xsl-copy) were not pushing the
+ current node on the current node stack. Addresses
+
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1524.<BR><BR></LI><LI><I>Committed
by </I>[EMAIL PROTECTED]<I> on </I>05/21/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/templates OutputProperties.java<BR><I>Committer's
log entry: </I>Catch SecurityException as needed
+ PR: Bugzilla1258<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I>
on </I>05/21/2001<BR><I>Modified: </I>java/src/org/apache/xalan/templates
OutputProperties.java<BR><I>Committer's log entry: </I>Fix to the following bug
reported by [EMAIL PROTECTED]:
+
+ loadPropertiesFile method in
org\apache\xalan\templates\OutputProperties.java
+does not fall back
+ to the Thread Context Class Loader to load properties files like
+output_xml.properties etc. This
+ is causing problems in ServletExec_3_1+C2.<BR><BR></LI><LI><I>Committed by
</I>[EMAIL PROTECTED]<I> on </I>05/21/2001<BR><I>Modified:
</I>java/src/org/apache/xalan/templates OutputProperties.java<BR><I>Committer's
log entry: </I>Correct implementation of ContextClassLoader to support case
where properties
+file is to be loaded by a different ClassLoader than the OutputProperties
+class. Thanks to Davanum Srinivas <[EMAIL PROTECTED]> for this code
and for
+reporting this bug.
+ loadPropertiesFile should eventually be moved into a thread-specific
class.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>05/21/2001<BR><I>Modified: </I>java/src/org/apache/xalan/processor
+ TransformerFactoryImpl.java
+ java/src/org/apache/xalan/serialize CharInfo.java
+ java/src/org/apache/xpath/functions
FuncSystemProperty.java<BR><I>Committer's log entry: </I>Modify
getResourceAsStream calls to use the contextClassLoader, if available.
+ This is a temporary fix until we can centralize this
function.<BR><BR></LI></UL><TABLE border="0" cellpadding="0" cellspacing="3"
width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0"
height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><I>This release includes no updates of the compatibility source
code.</I></FONT></TD></TR></TABLE>
+ </FONT></TD></TR></TABLE><BR>
+ <A name="other"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Other points of interest</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <UL>
+ <LI>Handling xsl:namespace-alias declarations: In release 2.0.D01, we
reported the need to do some research concerning exactly how Xalan
+ should handle xsl:namespace-alias declarations. As a result of
discussions among members of the W3C Working Group on XSL, we have reached a
+ more precise consensus on how namespaces should be represented when an
xsl:namespace-alias declaration is in effect.<BR><BR>
+ If a literal result element has a namespace prefix, the prefix will be
preserved and the namespace URI of the element will be as
+ specified in the xsl:namespace-alias element, but the result-prefix is
not required to appear in the result. This also applies to the
+ two other cases of "Literal namespace URI" mentioned in the
XSLT Recommendation on
+ <A href="http://www.w3.org/TR/xslt#literal-result-element">Literal
Result Elements</A>. More simply, if the stylesheet calls for
+ <axsl:foo> to be output as a literal result element, then it will
be output as <axsl:foo> in the result, but the namespace
+ associated with this "axsl" prefix will be as designated in
the xsl:namespace-alias declaration.<BR><BR></LI>
+ <LI>For HTML output, Xalan-Java 2 outputs character entity references
(&copy; etc.) for the special characters designated in
+ <A href="http://www.w3.org/TR/xhtml1/#dtds">Appendix A. DTDs of the
XHTML 1.0: The Extensible HyperText Markup
+ Language</A>. Xalan-Java 1.x, on the other hand, outputs literal
characters for some of these special characters.<BR><BR></LI>
+ <LI>In conformance with the <A
href="http://www.w3.org/TR/xslt#section-HTML-Output-Method">XSLT Recommendation
on the HTML
+ Output Method</A> and <A
href="http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.1">Section
B.2.1 of the HTML 4.0
+ Recommendation</A>, Xalan-Java 2 uses %hh encoding for each byte of the
UTF-8 representation of non-ASCII characters in HTML URI
+ attributes.<BR><BR></LI>
+ <LI>When your stylesheet asks for an explicit carriage-return character
(&#13;) to be inserted into the output, it is output during
+ the serialization process in escaped form unless escaping has been
disabled. When your stylesheet asks for an explicit line-feed character
+ (&#10;) to be output, the system-default line-break character(s)
is/are output during the serialization process. Also keep in mind that
+ the XML parser normalizes line-breaks to line-feeds when it sends
character events to the processor.<BR><BR></LI>
+ <LI>If your XML input is a DOM, use the
javax.xml.parsers.DocumentBuilderFactory setCoalescing() method to set
coalescing to true (it is
+ false by default), if you want to append CDATA sections to adjacent
text sections to form a single text node (as the XPath standard calls
+ for), and if the XML parser supports this feature (Xerces-Java version
1.4 does not).</LI>
+ </UL>
+ </FONT></TD></TR></TABLE><BR><A name="bugs"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Bugs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>All known Xalan-Java bugs are listed in <A
href="http://nagoya.betaversion.org/bugzilla/" target="_top">Bugzilla (the
Apache bug database)</A>. For a list of open bugs with links to each bug
+ report, see <A
href="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=XalanJ2&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=%27Importance%27"
target="_top">XalanJ2 open bugs</A>. If you find a new bug, please enter a
XalanJ2 bug report in this
+ database.</P>
+ <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Before you can
enter your first bug report, you must submit your email address to Bugzilla and
receive a password.</I></FONT></TD></TR></TABLE>
+ <P>We strongly encourage you write patches for problems you find and
submit them to
+ [EMAIL PROTECTED] We review the patches we receive to make sure they
do not break something else, and (assuming they
+ do not) include them in our next release. In the interest of fixing
bugs, adding enhancements, and addressing outstanding design
+ issues, we sincerely want (and need!) your active participation in the
ongoing development of Xalan.</P>
+ <P>Xerces bug in Xerces-Java version 1.4:</P>
+ <UL>
+ <LI>Xerces-Java version 1.4 does not process namespaces in SAX events
when parsing UTF-16 documents, which causes Xalan-Java to fail with UTF-16
+ documents. Xerces will post a fix shortly.<BR><BR></LI>
+ </UL>
+ </FONT></TD></TR></TABLE><BR>
+ <A name="status"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Version of Xerces to use</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>The Xalan-Java version 2.1.0 has been tested with Xerces-Java version
1.4. The Xalan-Java version 2.1.0 download from xml.apache.org includes
xerces.jar from Xerces-Java version 1.4. For information about including
xerces.jar on the system class path, see <A
href="getstarted.html#classpath">Setting up the system class path</A>.</P>
+<P><B>Important</B> You may experience unpredictable anomalies if your Xalan
and Xerces builds are not in synch. If you download an update to Xalan, check
the release notes to determine which version of Xerces you should use.</P>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>You can use Xalan
with other XML parsers that implement the <A
href="http://java.sun.com/xml/docs/api/index.html" target="_top">Java API for
XML Parsing 1.0</A>. See
+<A href="usagepatterns.html#plug">Plugging in the Transformer and XML
parser</A>.</I></FONT></TD></TR></TABLE>
+</FONT></TD></TR></TABLE><BR>
+ <A name="to-do"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>To-do tasks</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>For a list of goals, tasks, and target dates for completion, see
<A href="todo.html">Xalan-Java Version 2: Things To Do</A>.
+ As tasks are completed, they are moved from the to-do list to
+ <A href="todo.html#release-date-completed">Completed</A>.</P>
+ <P>The source document for the to-do list is an active document in
the Apache CVS repository:
+ <A
href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xalan/java/todo.xml">xml-xalan/java/todo.xml</A>.</P>
+ </FONT></TD></TR></TABLE><BR>
+ </FONT></TD></TR></TABLE><BR>
+ <A name="xsltcreleasenotes"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>XSLTC Release Notes</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+<P>For this release, please note the following changes, additions,
omissions, problems, procedures for running demos, and new support
+for the TrAX API.
+</P>
+<UL>
+ <LI><A href="#xsltcnew">Changes and New Features</A></LI>
+ <LI><A href="#xsltcconf">Conformance</A></LI>
+ <LI><A href="#xsltcknownproblems">Known Problems</A></LI>
+ <LI><A href="#xsltcdemos">Running Demos</A></LI>
+ <LI><A href="#xsltctrax">Translets and TrAX</A></LI>
+</UL>
+<A name="xsltcnew"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes and New Features</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>Since this is the first release of XSLTC on Apache (xml.apache.org),
changes are
+relative to Preview 5 of XSLTC posted on www.sun.com/xml/developers.</P>
+<UL>
+ <LI>Simplified stylesheets are now implemented.</LI>
+ <LI>Base package name has changed from <CODE><FONT face="courier,
monospaced">com.sun.xslt</FONT></CODE> to <CODE><FONT face="courier,
monospaced">org.apache.xalan.xsltc</FONT></CODE></LI>
+ <LI>You no longer have to get the BCEL.jar file; it is included in the
distribution.</LI>
+ <LI>The Project X parser components and APIs have all been replaced with
JAXP equivalents.
+ Consequently, you may deploy XSLTC with JAXP-conformant parsers, such as
Xerces or Crimson.</LI>
+ <LI>Previously undocumented feature: -x. You can use the -x option on the
java command line when you
+ compile translets or run them to get more detailed information on
errors.</LI>
+ <LI>Addition of -s to DefaultRun - a new -s option has been added to the
DefaultRun class
+ for use with test auotmation. When you use the option, it prevents
System.exit() from being called when
+ and exception is encountered.</LI>
+</UL>
+</FONT></TD></TR></TABLE><BR>
+<A name="xsltcconf"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>XSLT 1.0 Conformance and Extensions</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>XSLTC does not yet support the following features of the <A
href="http://www.w3.org/TR/xsl" target="_top">Extensible Stylesheet Language
(XSL) Version 1.0 W3C Candidate Recommendation</A>:</P>
+<UL>
+ <LI>The namespace axis is not implemented. You cannot get a node set
containing the namespace nodes
+ in scope from a context node in the document tree. Otherwise, namespace
functionality is implemented.</LI>
+</UL>
+<P>XSLTC does not support a number of features that are not required by the
XSLT 1.0 specification,
+but which are supported by a number of other XSLT processors:</P>
+<UL>
+ <LI>Incomplete support for extension elements and external Java functions.
Currently you can set up an extension function
+ to call a static Java function. For the extension namespace, use<BR>
+
http://xml.apache.org/xalan/xsltc/java/java/<class><BR>
+ where <class> identifies the class with the static method.</LI>
+ <LI>Lack of support for the redirection of output to multiple
+ output files from within a stylesheet (equivalent to xalan:redirect or
+ saxon:output).</LI>
+ <LI>XSLTC does not implement a node-set extension to convert result tree
fragments to
+ node-sets. This would enable sorting and grouping of nodes assigned to a
tree </LI>
+</UL>
+</FONT></TD></TR></TABLE><BR>
+<A name="xsltcknownproblems"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Known Problems</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<UL>
+ <LI>Casting variables: XSLTC requires you to explicitly type cast values
+ returned by variables or expressions, when you use them in tests. Always a
good
+ practice, but it may seem like overkill in some in contexts, where other
XSLT processors
+ automatically assume or convert to the correct type. For example. unless
you cast $country
+ to a string in the following apply-templates, entry nodes whose
<country> elements
+ contain a string matching the global $country parameter are NOT
selected.<BR><BR>
+ <CODE><FONT face="courier,
monospaced"><xsl:apply-templates
select="entry[country=string($country)]"/></FONT></CODE></LI>
+ <LI>Order dependency of conditions within a predicate: If you have a
predicate in a select or match
+ expression that has multiple conditions, one of which contains a union (X
or Y), put it last.
+ Otherwise, the predicate fails to match node that it should.</LI>
+ <LI>When using DOM caching, as shown in the Servlet demo, if the source
document is local to the
+ server, the cache is not refreshed when the source XML document is
modified. This
+ problem does not apply when the source is associated with a URL.</LI>
+ <LI>If you have a list of references included or imported stylesheets, put
any with
+ a relative path last; otherwise, stylesheets in the current directory are
not found.</LI>
+ <LI>[1] should be treated equivalent to position()=1, but it is not.
Therefore, if
+ you get unexpected results using such shortcut positional predicates,
substitute the
+ full postion()= version.</LI>
+ <LI>XSLTC fails to match existing nodes when match expressions have
+ multiple steps with predicates containing the position function.
+ The following examples are taken from the XSLTMark oddtemplates.xsl
test:<BR><BR>
+ <CODE><FONT face="courier,
monospaced"> match='top/*[position()=2]'</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced"> match='top/*[6]/kid[2]'</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced"> match='top/*[position()=last()]'</FONT></CODE><BR></LI>
+ <LI>XSTLC has problems with output escaping, see bug 1403.</LI>
+ <LI>Case-order option with sorting is ignored.</LI>
+ <LI>As a minor side-effect of implementing simplified stylesheets, if you
inadvertenly
+ go to compile a stylesheet and give the name of the .xml doc instead of
the .xsl doc,
+ it may compile without a warning. In some cases, the compiler aborts with
an error
+ about too many branches.</LI>
+</UL>
+</FONT></TD></TR></TABLE><BR>
+<A name="xsltcdemos"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Running Demos</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>XSLTC provides demos for using XSLTC as a servlet and as a handler for
+Brazil (a new and powerful Web techology from Sun labs). To run these demos,
+download Brazil from sunlabs:</P>
+<P><CODE><FONT face="courier, monospaced"> <A
href="http://research.sun.com/research/download/index.html">http://research.sun.com/research/download/index.html</A></FONT></CODE></P>
+<P>and the java extensions for servlets from Sun:</P>
+<P><CODE><FONT face="courier, monospaced">
+<A href="http://java.sun.com/products/servlet/download.html">
+http://java.sun.com/products/servlet/download.html</A>
+</FONT></CODE></P>
+<P>The translet must be specified as a pure class name, accessible
+through the Brazil handler's classpath. For example:</P>
+<P><CODE><FONT face="courier,
monospaced"> translet=mk054</FONT></CODE></P>
+<P>The document must be specified as a valid URL. For example:</P>
+<P><CODE><FONT face="courier,
monospaced"> document=http://server/path/to/filename.xml</FONT></CODE></P>
+<P>If the file is local to the Brazil handler, it has to be
+specified using the "file:filename.xml" format.</P>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>You also need to
make the Brazil and javax classes available from your
classpath</I></FONT></TD></TR></TABLE>
+<P>See also: <A href="samples.html#translets">sample JAXP translets</A>.</P>
+</FONT></TD></TR></TABLE><BR>
+
+<A name="xsltctrax"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Translets and TrAX</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>
+The Translet API has been extended to conform with the JAXP1.1 TrAX model.
+This release contains the first implementation of that extension. Two
+new classes have been added to the Translet XSLT codebase, they are:</P>
+<P>(1) <CODE><FONT face="courier,
monospaced">org.apache.xalan.xsltc.runtime.TransformerFactoryImpl</FONT></CODE>
-<BR>
+ the Translet implementation of a
SAXTransformerFactory.</P>
+<P>(2) <CODE><FONT face="courier,
monospaced">org.apache.xalan.xsltc.runtime.TransletTemplates</FONT></CODE> -
+ the Translet implementation of a Templates
object.</P>
+<P>
+The existing XSLT class 'org.apache.xalan.xsltc.runtime.AbstractTranslet'
+that implements the Translet interface is now also extending the
+javax.xml.transform.Transformer abstract class.
+</P>
+<P>
+This implementation is only a partial implementation, with many limitations.
+These limitations include:
+</P>
+<OL>
+<LI>Currently 'StreamSource' and 'StreamResult' are the only
+ TrAX Sources and Results that are supported.</LI>
+<LI>The translet is compiled everytime a call is made to the<BR>
+<CODE><FONT face="courier, monospaced">TransformerFactoryImpl
'newTransformer()'</FONT></CODE> method.</LI>
+<LI>The translet is compiled everytime a call is made to the <BR>
+<CODE><FONT face="courier, monospaced">TemplateFactoryImpl
'newTransformer()'</FONT></CODE> method.</LI>
+<LI>Translet are currently not cached. (See (2) and (3)).</LI>
+<LI>Several abstract methods from SAXTransformerFactory still need to
+be implemented in the xsltc.runtime.TransformerFactoryImpl class:<BR><BR>
+<CODE><FONT face="courier,
monospaced"> TemplatesHandler
newTemplatesHandler()</FONT></CODE><BR>
+<CODE><FONT face="courier,
monospaced"> TransformerHandler
newTransformerHandler()</FONT></CODE><BR>
+<CODE><FONT face="courier,
monospaced"> TransformerHandler
newTransformerHandler(Source src)</FONT></CODE><BR>
+<CODE><FONT face="courier,
monospaced"> TransformerHandler
newTransformerHandler(Templates templates)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> XMLFilter
newXMLFilter(Source src)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> XMLFilter
newXMLFilter(Templates templates)</FONT></CODE></LI>
+<LI>Several abstract methods from Transformer still need to be implemented
in the
+AbstractTranslet class:<BR><BR>
+<CODE><FONT face="courier, monospaced"> ErrorListener
getErrorListener()</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> void
setErrorListener(ErrorListener)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> Properties
getOutputProperties()</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> String
getOutputProperty(String name)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> void
setOutputProperties(Properties props)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> void
setOutputProperty(String name, String value)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> URIResolver
getURIResolver()</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> void
setURIResolver(URIResolver resolver)</FONT></CODE></LI>
+<LI>Abstract method from Templates still need to be implemented in the
TransletTemplates class:<BR><BR>
+<CODE><FONT face="courier, monospaced"> Properties
getOutputProperties()</FONT></CODE></LI>
+<LI>Several abstract methods from TransformerFactory still need to be
implemented
+in the <CODE><FONT face="courier,
monospaced">xsltc.runtime.TransformerFactoryImpl</FONT></CODE> class:<BR><BR>
+<CODE><FONT face="courier, monospaced"> ErrorListener
getErrorListener()</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> void
setErrorListener(ErrorListener listener)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> Object
getAttribute(String name)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> void
setAttribute(String name, Object value)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> boolean
getFeature(String name)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> URIResolver
getURIResolver()</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> void
setURIResolver(URIResolver resolver)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> Source
getAssociatedStylesheet(Source src, String media, String
title,</FONT></CODE><BR>
+<CODE><FONT face="courier,
monospaced"> String
charset)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> Templates
newTemplates(Source xslSrc)</FONT></CODE><BR>
+<CODE><FONT face="courier, monospaced"> Transformer
newTransformer()</FONT></CODE></LI>
+<LI>Whenever possible, the required methods that are currently unimplemented
will throw an
+exception if someone tries to call them- this will alert the user that the
method is not implemented.
+The message is of the form:<BR><BR>
+<CODE><FONT face="courier,
monospaced"> "<Class Name>:<Method
Name>( <args> ) not implemented yet."</FONT></CODE>
+</LI>
+</OL>
+</FONT></TD></TR></TABLE><BR>
+</FONT></TD></TR></TABLE><BR>
+ <A name="build"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Build Notes</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+<UL>
+<LI><A href="#ant">Using Ant</A></LI>
+<LI><A href="#jar">Rebuilding xalan.jar</A></LI>
+<LI><A href="#samples">Rebuilding sample applications</A></LI>
+<LI><A href="#doc">Rebuilding the Xalan-Java documentation</A></LI>
+</UL>
+<A name="ant"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Using Ant</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>Apache <A href="http://jakarta.apache.org/ant/index.html"
target="_top">Ant</A> is a flexible, powerful, and easy-to-use Java build tool
that we include with the
+ Xalan-Java distribution. The Ant JAR file is in the bin directory, and
the cross-platform XML build file (build.xml) is in
+ the root directory along with a Windows32 batch file (build.bat) and a
UNIX shell file (build.sh). The build file defines
+ the "targets" that you can use Ant to build. The batch and
shell files set up the classpath and launch Ant with the target
+ (and any other arguments) you provide.</P>
+ <P><B>Instructions for using Ant</B></P>
+ <OL>
+ <LI>Set the JAVA_HOME environment variable to the JDK root
directory.<BR><BR>
+ If you are using JDK 1.1.8, you must also put classes.zip in the JDK
bin directory on the classpath. You can use Ant
+ with JDK 1.1.8 to compile and jar the Xalan-Java source files, but
you must have JDK 1.2.2 or higher to build the
+ documentation.<BR><BR></LI>
+ <LI>Depending on your environment, run the batch file (build.bat) or
shell file (build.sh) from the Xalan-Java root
+ directory, optionally with arguments (see the table of targets
below).<BR><BR>
+ The batch/shell file adds several JAR files to the classpath and
launches Ant with any arguments you provide. If you
+ provide no target, Ant compiles the source files and rebuilds
xalan.jar (the "jar" target).</LI>
+ </OL>
+ <P>You can also set up your classpath manually (see build.bat or
build.sh for the details), and then run Ant as
+ follows:<BR><BR>
+ <CODE><FONT face="courier, monospaced">java org.apache.tools.ant.Main
<I>target</I></FONT></CODE><BR><BR>
+ where <I>target</I> is nothing (for the default target) or one of the
following.</P>
+ <TABLE border="0" cellpadding="2" cellspacing="2" width="100%">
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><B>Target</B>
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><B>What Ant does</B>
+ </FONT></TD></TR>
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">compile
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">compiles Xalan-Java in build/classes.
+ </FONT></TD></TR>
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">jar (the default)
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">creates xalan.jar in the build directory
+ </FONT></TD></TR>
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">samples
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">compiles and jars the sample apps in build/xalansamples.jar
+ </FONT></TD></TR>
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">servlet
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">compiles and jars the sample servlet in build/xalanservlet.jar
+ </FONT></TD></TR>
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">docs
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">creates the HTML User's Guide in build/docs
+ </FONT></TD></TR>
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">javadocs
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">generates the API documentation in ./build/docs/apidocs
+ </FONT></TD></TR>
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">dist
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">generates a complete distribution tree with zip and tar.gz
distribution files in build
+ </FONT></TD></TR>
+ <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">clean
+ </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">purges the build and distribution
+ </FONT></TD></TR>
+ </TABLE>
+ <P>If you build a target that depends on other targets, Ant creates those
other targets in the correct order.</P>
+ </FONT></TD></TR></TABLE><BR><A name="jar"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding Xalan-Java</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>The Xalan-Java build is in xalan.jar. The Xalan-Java source code
tree is in the src directory.</P>
+ <P>If you are using Ant, the target is jar (the default). For more
information, see <A href="#ant">Using
+ Ant</A>.</P>
+ <P>If you want to do the build without Ant, keep the following in
mind:</P>
+ <UL>
+ <LI>Set the classpath to include the src directory, xerces.jar,
bsf.jar, and bsfengines.jar.</LI>
+ <LI>Use a Java compiler (such as the IBM Just-In-Time compiler or the
Sun javac) to compile all the .java files in the src
+ tree. </LI>
+ <LI>Use the Sun jar utility to store the resulting .class files in
xalan.jar</LI>
+ </UL>
+ </FONT></TD></TR></TABLE><BR><A name="samples"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding a sample application</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>If you modify a sample and want to recompile it, you can run the Java
compiler in the directory containing the
+ example. Be sure xalan.jar and xerces.jar are on the classpath. To
recompile (and run!) the class files in the
+ Servlet subdirectory, the javax.servlet and javax.servlet.http packages
must also be on the classpath. Sun
+ distributes these packages in the JSWDK 1.0.1 servlet.jar file.</P>
+ <P>After recompiling a sample, you can use the Sun jar utility to place
your new .class files in
+ xalansamples.jar.</P>
+ <P>You can use Ant with the samples target to recompile the samples and
place the unpackaged class files in xalansamples.jar.
+ For more information, see <A href="#ant">Using Ant</A>.</P>
+ <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>To rebuild (and to
run) the sample servlet, the javax.servlet and javax.servlet.http packages must
be on your
+ classpath.</I></FONT></TD></TR></TABLE>
+ </FONT></TD></TR></TABLE><BR><A name="doc"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding the Xalan-Java documentation</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>Xalan-Java includes a number of XML source files, XSL stylesheets,
document type definition (DTD)
+ files, entity relationship (ENT) files, graphics, and a JavaScript
file that provide the input for the Xalan
+ HTML User's Guide, and the overview and package-level documents used
during the generation of Javadoc.</P>
+ <P>To rebuild the documentation, you must use the StyleBook tool and
the JDK 1.2.2 java and javadoc
+ tools. StyleBook (which uses Xalan and Xerces) is in
stylebook-1.0-b2.jar. Some of the document definition files,
+ stylesheets, and resources are stored in xml-site-style.tar.gz, and
are unzipped when you run Ant as described
+ below.</P>
+ <P>You can use Ant with the docs target to regenerate the User's Guide
and with the javadocs target to regenerate the
+ Javadoc API documentation. For more information, see <A
href="#ant">Using Ant</A>.</P>
+ <P>If you want to rebuild the documentation without using Ant, keep
the following in mind:</P>
+ <UL>
+ <LI>Unzip xml-site-style.tar.gz into the xdocs directory (the
operation places files in a number of subdirectories).
+ <BR><BR></LI>
+ <LI>Be sure stylebook-1.0-b2.jar, xalanjdoc.jar, xalan.jar, bsf.jar,
bsfengines.jar, and xerces.jar are on the class
+ path.<BR><BR></LI>
+ <LI>To build doc in a build/docs subdirectory, run StyleBook from the
xdocs directory as follows:<BR><BR>
+ <CODE><FONT face="courier, monospaced">java
org.apache.stylebook.StyleBook "targetDirectory=../build/docs/"
sources/xalanLocal.xml style</FONT></CODE>
+ <BR><BR></LI>
+ <LI>To build the HTML source files that javadoc needs for the TrAX
top-level and package-level documentation, add
+ a build/docs/apdidocs/javax/xml/transform directory and run the Xalan
command-line utility from the xdocs directory
+ as follows (all one line):<BR><BR>
+<CODE><FONT face="courier, monospaced">
+java org.apache.xalan.xslt.Process
+ -in sources/trax/trax.xml
+ -param package-root '../../../src/'
+ -xsl style/stylesheets/spec.xsl
+ -out
build/docs/apidocs/javax/xml/transform/trax.html</FONT></CODE><BR><BR></LI>
+ <LI>Before you run javadoc, make sure the following directory
structure exists under the Xalan root
+ directory: build/docs/apidocs.<BR><BR></LI>
+ <LI>To build the API documentation, run the JDK 1.2.2 javadoc tool
from the xdocs directory (all one line):<BR><BR>
+<CODE><FONT face="courier, monospaced">
+javadoc -doclet xalanjdoc.Standard
+ -docletpath ../bin/xalanjdoc.jar
+ -private
+ -overview ../src/javadocOverview.html -sourcepath ../src
+ -group TrAX "javax.xml.transform*"
+ -group Xalan_Core "org.apache.xalan.processor:
+ org.apache.xalan.templates:
+ org.apache.xalan.transformer"
+ -group XPath "org.apache.xpath*"
+ -group Utilities "org.apache.xml.utils*"
+ -group Xalan_Other "org.apache.xalan.client:
+ org.apache.xalan.dtm:
+ org.apache.xalan.extensions:org.apache.xalan.res:
+ org.apache.xalan.stree:org.apache.xalan.trace:
+ org.apache.xalan.xslt"
+ -group Xalan_Extensions "org.apache.xalan.lib*"
+ -group Serializers "org.apache.xalan.serialize"
+ org.apache.xalan.client org.apache.xalan.dtm
+ org.apache.xalan.extensions org.apache.xalan.lib
+ org.apache.xalan.lib.sql org.apache.xalan.processor
+ org.apache.xalan.res org.apache.xalan.stree
+ org.apache.xalan.templates org.apache.xalan.trace
+ org.apache.xalan.transformer org.apache.xalan.xslt
+ org.apache.xpath org.apache.xpath.axes
+ org.apache.xpath.compiler org.apache.xpath.functions
+ org.apache.xpath.objects org.apache.xpath.operations
+ org.apache.xpath.patterns org.apache.xpath.res
+ org.apache.xalan.serialize javax.xml.transform
+ javax.xml.transform.dom javax.xml.transform.sax
+ javax.xml.transform.stream javax.xml.parsers
+ -d ../build/docs/apidocs -windowtitle "Xalan-Java 2"
+ -doctitle "Xalan-Java 2" -bottom "Copyright ©
+ 2000 Apache XML Project. All Rights Reserved."
+</FONT></CODE></LI>
+</UL>
+ </FONT></TD></TR></TABLE><BR>
+ </FONT></TD></TR></TABLE><BR><A name="contact"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Getting in Touch</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <P>Your feedback is more than welcome. Offers of help are even more so!
Perhaps you would like to take on an active role in the ongoing development,
testing, and documentation of Xalan-Java?</P>
+<P>Please email your comments, questions, suggestions, and offers to join
the Xalan team to <A href="mailto:[email protected]">Xalan Development
Mailing List</A>.</P>
+ </FONT></TD></TR></TABLE><BR><A name="history"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Cumulative history of software
changes</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <P>The following sections list the changes in each release since
Xalan-Java version 2.0.D01.</P>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes for Xalan-Java 2.0.1</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>This release includes a number of bug fixes to the Xalan-Java and TrAX
core and Xalan-Java 1 compability API. We have also</P>
+<UL>
+ <LI>Entered all known Xalan-Java 2 <A href="#bugs">bugs</A> in the Apache
Bugzilla database<BR><BR></LI>
+ <LI>Added support for using custom URIResolver, EntityResolver, and
ContentHandler implementations with the <A href="commandline.html">command-line
utility</A><BR><BR></LI>
+ <LI>Upgraded from Ant 1.2 to Ant 1.3 for our <A href="#build">builds</A>
(the new ant.jar is in the bin directory).</LI>
+</UL>
+<P>Core source code updates:</P>
+<UL>
+<LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>02/06/2001<BR><I>Modified: </I>java/src/org/apache/xpath/axes
ChildWalkerMultiStep.java<BR><I>Committer's log entry: </I>Fix for bug reported
by "Chris P. McCabe" <[EMAIL PROTECTED]>
02/06/2001 06:55 PM.
Defensive fix for if the last used walker is null, then don't check to
see if it is a fast walker! Without this, a null pointer exception is
@@ -326,229 +978,11 @@
Fix problem with reading an input source file twice if it has a
PI<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>02/22/2001<BR><I>Modified: </I>java/compat_src/org/apache/xalan/xslt
StylesheetRoot.java<BR><I>Committer's log entry: </I>Add getOutputMethod
API.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>03/07/2001<BR><I>Modified: </I>java/compat_src/org/apache/xalan/xpath/xml
XMLParserLiaisonDefault.java<BR><I>Committer's log entry: </I>Put in Apache
copyright.<BR><BR></LI><LI><I>Committed by </I>[EMAIL PROTECTED]<I> on
</I>03/13/2001<BR><I>Modified: </I>java/compat_src/org/apache/xalan/xpath/xml
TreeWalker.java
java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<BR><I>Committer's
log entry: </I>Made changes for change to API for XalanJ2 TreeWalker, which
- now requires that the DOM helper be created by the caller.<BR><BR></LI></UL>
- </FONT></TD></TR></TABLE><BR>
- <A name="other"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Other points of interest</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <UL>
- <LI>Handling xsl:namespace-alias declarations: In release 2.0.D01, we
reported the need to do some research concerning exactly how Xalan
- should handle xsl:namespace-alias declarations. As a result of
discussions among members of the W3C Working Group on XSL, we have reached a
- more precise consensus on how namespaces should be represented when an
xsl:namespace-alias declaration is in effect.<BR><BR>
- If a literal result element has a namespace prefix, the prefix will be
preserved and the namespace URI of the element will be as
- specified in the xsl:namespace-alias element, but the result-prefix is
not required to appear in the result. This also applies to the
- two other cases of "Literal namespace URI" mentioned in the
XSLT Recommendation on
- <A href="http://www.w3.org/TR/xslt#literal-result-element">Literal
Result Elements</A>. More simply, if the stylesheet calls for
- <axsl:foo> to be output as a literal result element, then it will
be output as <axsl:foo> in the result, but the namespace
- associated with this "axsl" prefix will be as designated in
the xsl:namespace-alias declaration.<BR><BR></LI>
- <LI>For HTML output, Xalan-Java 2 outputs character entity references
(&copy; etc.) for the special characters designated in
- <A href="http://www.w3.org/TR/xhtml1/#dtds">Appendix A. DTDs of the
XHTML 1.0: The Extensible HyperText Markup
- Language</A>. Xalan-Java 1.x, on the other hand, outputs literal
characters for some of these special characters.<BR><BR></LI>
- <LI>In conformance with the <A
href="http://www.w3.org/TR/xslt#section-HTML-Output-Method">XSLT Recommendation
on the HTML
- Output Method</A> and <A
href="http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.1">Section
B.2.1 of the HTML 4.0
- Recommendation</A>, Xalan-Java 2 uses %hh encoding for each byte of the
UTF-8 representation of non-ASCII characters in HTML URI
- attributes.<BR><BR></LI>
- <LI>When your stylesheet asks for an explicit carriage-return character
(&#13;) to be inserted into the output, it is output during
- the serialization process in escaped form unless escaping has been
disabled. When your stylesheet asks for an explicit line-feed character
- (&#10;) to be output, the system-default line-break character(s)
is/are output during the serialization process. Also keep in mind that
- the XML parser normalizes line-breaks to line-feeds when it sends
character events to the processor.<BR><BR></LI>
- <LI>If your XML input is a DOM, use the
javax.xml.parsers.DocumentBuilderFactory setCoalescing() method to set
coalescing to true (it is
- false by default), if you want to append CDATA sections to adjacent
text sections to form a single text node (as the XPath standard calls
- for), and if the XML parser supports this feature (Xerces-Java version
1.3.0 does not).</LI>
- </UL>
- </FONT></TD></TR></TABLE><BR><A name="bugs"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Bugs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>All known Xalan-Java bugs are listed in <A
href="http://nagoya.betaversion.org/bugzilla/" target="_top">Bugzilla (the
Apache bug database)</A>. For a list of open bugs with links to each bug
- report, see <A
href="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=XalanJ2&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=%27Importance%27"
target="_top">XalanJ2 open bugs</A>. If you find a new bug, please enter a
XalanJ2 bug report in this
- database.</P>
- <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Before you can
enter your first bug report, you must submit your email address to Bugzilla and
receive a password.</I></FONT></TD></TR></TABLE>
- <P>We strongly encourage you write patches for problems you find and
submit them to
- [EMAIL PROTECTED] We review the patches we receive to make sure they
do not break something else, and (assuming they
- do not) include them in our next release. In the interest of fixing
bugs, adding enhancements, and addressing outstanding design
- issues, we sincerely want (and need!) your active participation in the
ongoing development of Xalan.</P>
- <P>Xerces bug in Xerces-Java version 1.3.0:</P>
- <UL>
- <LI>Xerces-Java 1.2.3 does not process namespaces in SAX events when
parsing UTF-16 documents, which causes Xalan-Java to fail with UTF-16
- documents. Xerces will post a fix shortly.<BR><BR></LI>
- </UL>
- </FONT></TD></TR></TABLE><BR>
- <A name="status"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Version of Xerces to use</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<P>The Xalan-Java version 2.0.1 has been tested with Xerces-Java version
1.3.0. The Xalan-Java version 2.0.1 download from xml.apache.org includes
xerces.jar from Xerces-Java version 1.3.0. For information about including
xerces.jar on the system class path, see <A
href="getstarted.html#classpath">Setting up the system class path</A>.</P>
-<P><B>Important</B> You may experience unpredictable anomalies if your Xalan
and Xerces builds are not in synch. If you download an update to Xalan, check
the release notes to determine which version of Xerces you should use.</P>
-<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>You can use Xalan
with other XML parsers that implement the <A
href="http://java.sun.com/xml/docs/api/index.html" target="_top">Java API for
XML Parsing 1.0</A>. See
-<A href="usagepatterns.html#plug">Plugging in the Transformer and XML
parser</A>.</I></FONT></TD></TR></TABLE>
+ now requires that the DOM helper be created by the caller.</LI>
+ </UL>
</FONT></TD></TR></TABLE><BR>
- <A name="to-do"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>To-do tasks</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>For a list of goals, tasks, and target dates for completion, see
<A href="todo.html">Xalan-Java Version 2: Things To Do</A>.
- As tasks are completed, they are moved from the to-do list to
- <A href="todo.html#release-date-completed">Completed</A>.</P>
- <P>The source document for the to-do list is an active document in
the Apache CVS repository:
- <A
href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xalan/java/todo.xml">xml-xalan/java/todo.xml</A>.</P>
- </FONT></TD></TR></TABLE><BR>
- </FONT></TD></TR></TABLE><BR>
- <A name="build"><!--anchor--></A>
-
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Build Notes</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<UL>
-<LI><A href="#ant">Using Ant</A></LI>
-<LI><A href="#jar">Rebuilding xalan.jar</A></LI>
-<LI><A href="#samples">Rebuilding sample applications</A></LI>
-<LI><A href="#doc">Rebuilding the Xalan-Java documentation</A></LI>
-</UL>
-<A name="ant"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Using Ant</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>Apache <A href="http://jakarta.apache.org/ant/index.html"
target="_top">Ant</A> is a flexible, powerful, and easy-to-use Java build tool
that we include with the
- Xalan-Java distribution. The Ant JAR file is in the bin directory, and
the cross-platform XML build file (build.xml) is in
- the root directory along with a Windows32 batch file (build.bat) and a
UNIX shell file (build.sh). The build file defines
- the "targets" that you can use Ant to build. The batch and
shell files set up the classpath and launch Ant with the target
- (and any other arguments) you provide.</P>
- <P><B>Instructions for using Ant</B></P>
- <OL>
- <LI>Set the JAVA_HOME environment variable to the JDK root
directory.<BR><BR>
- If you are using JDK 1.1.8, you must also put classes.zip in the JDK
bin directory on the classpath. You can use Ant
- with JDK 1.1.8 to compile and jar the Xalan-Java source files, but
you must have JDK 1.2.2 or higher to build the
- documentation.<BR><BR></LI>
- <LI>Depending on your environment, run the batch file (build.bat) or
shell file (build.sh) from the Xalan-Java root
- directory, optionally with arguments (see the table of targets
below).<BR><BR>
- The batch/shell file adds several JAR files to the classpath and
launches Ant with any arguments you provide. If you
- provide no target, Ant compiles the source files and rebuilds
xalan.jar (the "jar" target).</LI>
- </OL>
- <P>You can also set up your classpath manually (see build.bat or
build.sh for the details), and then run Ant as
- follows:<BR><BR>
- <CODE><FONT face="courier, monospaced">java org.apache.tools.ant.Main
<I>target</I></FONT></CODE><BR><BR>
- where <I>target</I> is nothing (for the default target) or one of the
following.</P>
- <TABLE border="0" cellpadding="2" cellspacing="2" width="100%">
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><B>Target</B>
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><B>What Ant does</B>
- </FONT></TD></TR>
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">compile
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">compiles Xalan-Java in build/classes.
- </FONT></TD></TR>
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">jar (the default)
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">creates xalan.jar in the build directory
- </FONT></TD></TR>
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">samples
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">compiles and jars the sample apps in build/xalansamples.jar
- </FONT></TD></TR>
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">servlet
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">compiles and jars the sample servlet in build/xalanservlet.jar
- </FONT></TD></TR>
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">docs
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">creates the HTML User's Guide in build/docs
- </FONT></TD></TR>
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">javadocs
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">generates the API documentation in ./build/docs/apidocs
- </FONT></TD></TR>
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">dist
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">generates a complete distribution tree with zip and tar.gz
distribution files in build
- </FONT></TD></TR>
- <TR><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">clean
- </FONT></TD><TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">purges the build and distribution
- </FONT></TD></TR>
- </TABLE>
- <P>If you build a target that depends on other targets, Ant creates those
other targets in the correct order.</P>
- </FONT></TD></TR></TABLE><BR><A name="jar"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding Xalan-Java</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>The Xalan-Java build is in xalan.jar. The Xalan-Java source code
tree is in the src directory.</P>
- <P>If you are using Ant, the target is jar (the default). For more
information, see <A href="#ant">Using
- Ant</A>.</P>
- <P>If you want to do the build without Ant, keep the following in
mind:</P>
- <UL>
- <LI>Set the classpath to include the src directory, xerces.jar,
bsf.jar, and bsfengines.jar.</LI>
- <LI>Use a Java compiler (such as the IBM Just-In-Time compiler or the
Sun javac) to compile all the .java files in the src
- tree. </LI>
- <LI>Use the Sun jar utility to store the resulting .class files in
xalan.jar</LI>
- </UL>
- </FONT></TD></TR></TABLE><BR><A name="samples"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding a sample application</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>If you modify a sample and want to recompile it, you can run the Java
compiler in the directory containing the
- example. Be sure xalan.jar and xerces.jar are on the classpath. To
recompile (and run!) the class files in the
- Servlet subdirectory, the javax.servlet and javax.servlet.http packages
must also be on the classpath. Sun
- distributes these packages in the JSWDK 1.0.1 servlet.jar file.</P>
- <P>After recompiling a sample, you can use the Sun jar utility to place
your new .class files in
- xalansamples.jar.</P>
- <P>You can use Ant with the samples target to recompile the samples and
place the unpackaged class files in xalansamples.jar.
- For more information, see <A href="#ant">Using Ant</A>.</P>
- <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>To rebuild (and to
run) the sample servlet, the javax.servlet and javax.servlet.http packages must
be on your
- classpath.</I></FONT></TD></TR></TABLE>
- </FONT></TD></TR></TABLE><BR><A name="doc"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding the Xalan-Java documentation</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>Xalan-Java includes a number of XML source files, XSL stylesheets,
document type definition (DTD)
- files, entity relationship (ENT) files, graphics, and a JavaScript
file that provide the input for the Xalan
- HTML User's Guide, and the overview and package-level documents used
during the generation of Javadoc.</P>
- <P>To rebuild the documentation, you must use the StyleBook tool and
the JDK 1.2.2 java and javadoc
- tools. StyleBook (which uses Xalan and Xerces) is in
stylebook-1.0-b2.jar. Some of the document definition files,
- stylesheets, and resources are stored in xml-site-style.tar.gz, and
are unzipped when you run Ant as described
- below.</P>
- <P>You can use Ant with the docs target to regenerate the User's Guide
and with the javadocs target to regenerate the
- Javadoc API documentation. For more information, see <A
href="#ant">Using Ant</A>.</P>
- <P>If you want to rebuild the documentation without using Ant, keep
the following in mind:</P>
- <UL>
- <LI>Unzip xml-site-style.tar.gz into the xdocs directory (the
operation places files in a number of subdirectories).
- <BR><BR></LI>
- <LI>Be sure stylebook-1.0-b2.jar, xalanjdoc.jar, xalan.jar, bsf.jar,
bsfengines.jar, and xerces.jar are on the class
- path.<BR><BR></LI>
- <LI>To build doc in a build/docs subdirectory, run StyleBook from the
xdocs directory as follows:<BR><BR>
- <CODE><FONT face="courier, monospaced">java
org.apache.stylebook.StyleBook "targetDirectory=../build/docs/"
sources/xalanLocal.xml style</FONT></CODE>
- <BR><BR></LI>
- <LI>To build the HTML source files that javadoc needs for the TrAX
top-level and package-level documentation, add
- a build/docs/apdidocs/javax/xml/transform directory and run the Xalan
command-line utility from the xdocs directory
- as follows (all one line):<BR><BR>
-<CODE><FONT face="courier, monospaced">
-java org.apache.xalan.xslt.Process
- -in sources/trax/trax.xml
- -param package-root '../../../src/'
- -xsl style/stylesheets/spec.xsl
- -out
build/docs/apidocs/javax/xml/transform/trax.html</FONT></CODE><BR><BR></LI>
- <LI>Before you run javadoc, make sure the following directory
structure exists under the Xalan root
- directory: build/docs/apidocs.<BR><BR></LI>
- <LI>To build the API documentation, run the JDK 1.2.2 javadoc tool
from the xdocs directory (all one line):<BR><BR>
-<CODE><FONT face="courier, monospaced">
-javadoc -doclet xalanjdoc.Standard
- -docletpath ../bin/xalanjdoc.jar
- -private
- -overview ../src/javadocOverview.html -sourcepath ../src
- -group TrAX "javax.xml.transform*"
- -group Xalan_Core "org.apache.xalan.processor:
- org.apache.xalan.templates:
- org.apache.xalan.transformer"
- -group XPath "org.apache.xpath*"
- -group Utilities "org.apache.xml.utils*"
- -group Xalan_Other "org.apache.xalan.client:
- org.apache.xalan.dtm:
- org.apache.xalan.extensions:org.apache.xalan.res:
- org.apache.xalan.stree:org.apache.xalan.trace:
- org.apache.xalan.xslt"
- -group Xalan_Extensions "org.apache.xalan.lib*"
- -group Serializers "org.apache.xalan.serialize"
- org.apache.xalan.client org.apache.xalan.dtm
- org.apache.xalan.extensions org.apache.xalan.lib
- org.apache.xalan.lib.sql org.apache.xalan.processor
- org.apache.xalan.res org.apache.xalan.stree
- org.apache.xalan.templates org.apache.xalan.trace
- org.apache.xalan.transformer org.apache.xalan.xslt
- org.apache.xpath org.apache.xpath.axes
- org.apache.xpath.compiler org.apache.xpath.functions
- org.apache.xpath.objects org.apache.xpath.operations
- org.apache.xpath.patterns org.apache.xpath.res
- org.apache.xalan.serialize javax.xml.transform
- javax.xml.transform.dom javax.xml.transform.sax
- javax.xml.transform.stream javax.xml.parsers
- -d ../build/docs/apidocs -windowtitle "Xalan-Java 2"
- -doctitle "Xalan-Java 2" -bottom "Copyright ©
- 2000 Apache XML Project. All Rights Reserved."
-</FONT></CODE></LI>
-</UL>
- </FONT></TD></TR></TABLE><BR>
- </FONT></TD></TR></TABLE><BR><A name="contact"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Getting in Touch</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>Your feedback is more than welcome. Offers of help are even more so!
Perhaps you would like to take on an active role in the ongoing development,
testing, and documentation of Xalan-Java?</P>
-<P>Please email your comments, questions, suggestions, and offers to join
the Xalan team to <A href="mailto:[email protected]">Xalan Development
Mailing List</A>.</P>
- </FONT></TD></TR></TABLE><BR><A name="history"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Cumulative history of software
changes</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>The following sections list the changes in each release since
Xalan-Java version 2.0.D01.</P>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes for Xalan-Java version 2.0</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes for Xalan-Java version 2.0.0</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>Release 2.0 includes several bug fixes to the Xalan-Java and TrAX core
and to the Xalan-Java 1 compatibility API. We also updated bsf.jar to the <A
href="http://oss.software.ibm.com/developerworks/projects/bsf"
target="_top">Bean Scripting Framework (BSF)</A> release candidate 2.2, which
fixes a bug running JPython extensions.</P>
<P><B>Core bug fixes:</B></P>
<UL>
@@ -653,7 +1087,7 @@
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes for Xalan-Java version 2.0.D05</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>All of the bugs reported in Xalan-Java 2.0.D01 have been fixed. The
remainder of this section discusses two changes that we believe are of
particular importance:</P>
<P><B>TrAX</B></P>
-<P>The Transformation API for XML (TrAX) that Xalan-Java 2 implements has
undergone substantial revisions since the release of Xalan-Java 2.0.D01. TrAX
has joined the Java API for XML Parsing (JAXP) as part of the Sun® <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063"
target="_top">Java Specification Request 63</A>. Accordingly, the TrAX package
names have changed. The conceptual organization has also changed somewhat: The
primary transformation interfaces are defined in javax.xml.transform, with
concrete classes for managing stream input/output, SAX parsers and
ContentHandler, and DOM parsers and DOM trees in javax.xml.transform.stream,
javax.xml.transform.sax, and javax.xml.transform.dom. For more information, see
<A href="apidocs/javax/xml/transform/trax.html" target="_top">TRaX
(Transformation API for XML)</A>, and review <A href="usagepatterns.html">Usage
Patterns</A>.</P>
+<P>The Transformation API for XML (TrAX) that Xalan-Java 2 implements has
undergone substantial revisions since the release of Xalan-Java 2.0.D01. TrAX
has joined the Java API for XML Parsing (JAXP) as part of the Sun® <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063"
target="_top">Java Specification Request 63</A>. Accordingly, the TrAX package
names have changed. The conceptual organization has also changed somewhat: The
primary transformation interfaces are defined in javax.xml.transform, with
concrete classes for managing stream input/output, SAX parsers and
ContentHandler, and DOM parsers and DOM trees in javax.xml.transform.stream,
javax.xml.transform.sax, and javax.xml.transform.dom. For more information, see
<A href="trax.html" target="_top">TRaX (Transformation API for XML)</A>, and
review <A href="usagepatterns.html">Usage Patterns</A>.</P>
<A name="outputprops"><!--anchor--></A><P><B>Output properties</B></P>
<P>The handling of xsl:output properties has changed:
org.apache.xalan.serialize.OutputFormat and
apache.xalan.templates.OutputFormatExtended were removed and replaced with
org.apache.xalan.templates.OutputProperties. The SerializerFactory
getSerializer() method now takes Properties rather than a String indicating the
output method. You can replace <CODE><FONT face="courier,
monospaced">getSerializer("xml")</FONT></CODE>, for example, with
<CODE><FONT face="courier,
monospaced">getSerializer(OutputProperties.getDefaultMethodProperties("xml"))</FONT></CODE>.</P>
<P>HTML, XML, and text xsl:output properties are specified in property files
in org.apache.xalan.templates: output_html.properties, output_xml.properties,
and output_text.properties.</P>
1.9 +196 -36 xml-site/targets/xalan-j/samples.html
Index: samples.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/samples.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- samples.html 2001/03/16 23:02:10 1.8
+++ samples.html 2001/05/23 17:12:03 1.9
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,19 +16,22 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#simpletransform">SimpleTransform</A></LI>
@@ -43,7 +47,7 @@
<LI><A href="#servlet">servlet</A></LI>
<LI><A href="#extensions">Extensions</A></LI>
<LI><A href="#trace">Trace</A></LI>
-<LI><A href="#trax">trax</A></LI>
+<LI><A href="#trax">trax</A></LI><LI><A href="#translets">translets</A></LI>
</UL>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Samples to help you get started</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Each of the subdirectories in the Xalan-Java java/samples directory
contains the source files for one or more
@@ -154,20 +158,24 @@
</FONT></TD></TR></TABLE><BR><A name="servlet"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>servlet</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>For a general introduction, see <A
href="usagepatterns.html#servlet">Using Xalan-Java in a servlet</A>.</P>
- <P>The servlet subdirectory contains three sample servlets that use
Xalan-Java to perform transformations. These servlets are in a package
- named servlet and are compiled in
- xalanservlet.jar. To run these samples, you must place xalanservlet.jar,
and any XML and XSL files you want to use
- on a web server with a servlet engine, place xalanservlet.jar on the
servlet engine class path, and configure the servlet engine to
+ <P>The servlet subdirectory contains four sample servlets that use
Xalan-Java to perform transformations. These servlets
+ are in a package named servlet and are compiled in xalanservlet.jar. To
run these samples, you must place
+ xalanservlet.jar, and any XML and XSL files you want to use on a web
server with a servlet engine, place
+ xalanservlet.jar, xalan.jar, and xerces.jar on the servlet engine class
path, and configure the servlet engine to
locate the XML and XSL files, and the properties file used by
ApplyXSL.</P>
- <P>SimplestXSLTServlet applies a particular stylesheet to a particular
XML document. XSLTServletWithParams accepts parameters for
- stylesheet, XML document, and stylesheet parameters. ApplyXSLT (and
associated classes) is much closer
- to a production level servlet. It accepts parameters, provides a
listener for capturing and reporting debugger messages, and supports
- use of a property file to determine which stylesheet to apply based on
the identity of the client browser/device.</P>
- <UL>
- <LI><A href="#simplexsltservlet">servlet.SimpleXSLTServlet</A></LI>
- <LI><A
href="#xsltservletwithparams">servlet.XSLTServletWithParams</A></LI>
- <LI><A href="#applyxslt">servlet.ApplyXSLT</A></LI>
- </UL><A name="simplexsltservlet"><!--anchor--></A>
+ <P><A href="#simplexsltservlet">servlet.SimpleXSLTServlet</A> applies a
particular stylesheet to a particular
+ XML document.</P>
+ <P><A
href="#usestylesheetparamservlet">servlet.UseStylesheetParamServlet</A> sets a
stylesheet parameter
+ (the parameter name is hardwired into the servlet), and requires the
user to supply parameters for the
+ XML document and XSL stylesheet.</P>
+ <P><A href="#jspsample">jspSample.jsp</A> is a Java ServerPage that sets
a stylesheet parameter and applies the
+ stylesheet to the XML document.</P>
+ <P><A href="#xsltservletwithparams">servlet.XSLTServletWithParams</A>
accepts parameters for the XML document,
+ the XSL stylesheet, and any number of stylesheet parameters.</P>
+ <P><A href="#applyxslt">servlet.ApplyXSLT</A> (and associated classes)
is closer to a production level servlet. It accepts parameters, provides a
+ listener for capturing and reporting debugger messages, and supports
use of a property file to determine which
+ stylesheet to apply based on the identity of the client
browser/device.</P>
+ <A name="simplexsltservlet"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>servlet.SimpleXSLTServlet</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>What it does: servlet.SimpleXSLTServlet applies the todo.xsl
stylesheet to todo.xml and returns the transformation result to the
HTTP client.</P>
@@ -175,6 +183,35 @@
looks for HTTP documents, place xalanservlet.jar on the servlet engine
classpath, and set up an HTML page to call the servlet as
follows:</P>
<DL><DT>http://localhost/servlethome/servlet.SimpleXSLTServlet</DT></DL>
+ </FONT></TD></TR></TABLE><BR><A
name="usestylesheetparamservlet"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>servlet.UseStylesheetParamServlet</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Paul Campbell
<[EMAIL PROTECTED]> wrote this servlet and the following explanatory text.
+ Thank you, Paul!</I></FONT></TD></TR></TABLE>
+ <P>What it does: The client (perhaps an HTML form ) specifies an XML
document, a stylesheet, and a value to be passed
+ to the stylesheet for a stylesheet parameter named "param1".
The servlet performs the transformation and returns
+ the output to the client. The client must specify which stylesheet
(containing a "param1" stylesheet parameter")
+ and XML file are to be used.</P>
+ <P>How to run it: Configure your application server (Tomcat, Websphere
or JServ, for example)
+ so it can find servlet.UseStylesheetParamServlet (in xalanservlet.jar)
as well as the XML document
+ and XSL stylesheet. For example, you can copy fooparam.xml and
fooparam.xsl from samples/servlet to the application
+ server root directory for documents.</P>
+ <P>Then you can set up an HTML client to call the servlet with
arguments along the lines of</P>
+ <DL><DT>http://localhost/servlethome/servlet.UseStylesheetParamServlet?
+ XML=fooparam.xml&XSL=fooparam.xsl&PVAL=GoodBye</DT></DL>
+ <P>In the doGet() method, the servlet obtains the PVAL value
"GoodBye") from the servlet request and passes it to the
+ stylesheet as the paramValue argument in a Transformer setParameter()
call:</P>
+ <P><CODE><FONT face="courier, monospaced">String paramValue =
httpServletRequest.getParameter("PVAL");</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">...</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced">transformer.setParameter("param1",
paramValue);</FONT></CODE></P>
+ <P>The result is returned to the client:</P>
+<P><CODE><FONT face="courier,
monospaced"><html><body><p>GoodBye</p></body></html></FONT></CODE></P>
+ </FONT></TD></TR></TABLE><BR><A name="jspsample"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>jspSample.jsp</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Paul Campbell
<[EMAIL PROTECTED]> wrote this Java Server
Page.</I></FONT></TD></TR></TABLE>
+ <P>This Java Server Page performs essentially the same operation as
+ <A
href="#usestylesheetparamservlet">servlet.UseStylesheetParamServlet</A>. It
applies a stylesheet parameter
+ to a stylesheet (fooparam.xsl), applies the stylesheet to an XML
source document (fooparam.xml), and returns the
+ result.</P>
</FONT></TD></TR></TABLE><BR><A
name="xsltservletwithparams"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>servlet.XSLTServletWithParams</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>What it does: servlet.XSLTServletWithParams takes parameters in the
request -- a URL parameter for
@@ -234,7 +271,7 @@
<LI><A href="#ext3">3-java-namespace</A></LI>
<LI><A href="#ext4">4-numlistJava</A></LI>
<LI><A href="#ext5">5-numlistJScript</A></LI>
- <LI><A href="#ext6">6-sqllib-instantdb</A></LI>
+ <LI><A href="#sql">SQL library extensions</A></LI>
</UL>
<P>The extensions subdirectory contains six samples with Xalan-Java
extensions. Two of the samples use
extensions implemented in JavaScript, and four of the samples use
extensions implemented in Java.</P>
@@ -289,22 +326,105 @@
<P>Run this sample from the extensions subdirectory with</P>
<P><CODE><FONT face="courier, monospaced"> java
org.apache.xalan.xslt.Process -in numlist.xml</FONT></CODE>
<BR> <CODE><FONT face="courier, monospaced">-xsl
5-numlistJscript.xsl</FONT></CODE></P>
- </FONT></TD></TR></TABLE><BR><A name="ext6"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>6-sqllib-instantdb</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>What it does: Uses <A href="extensionslib.html#sql">SQL library
XConnection
- extension</A> to connect to an InstantDB sample database, perform a
query, and display the
- query result in an HTML table.</P>
- <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>You must include
idb.jar on the classpath. We have placed a copy of idb.jar from
+ </FONT></TD></TR></TABLE><BR>
+ </FONT></TD></TR></TABLE><BR><A name="sql"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>SQL Library extensions</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <P>The SQL Library extension samples use <A
href="extensionslib.html#sql">SQL library XConnection
+ extension</A>to connect to an InstantDB datasource, perform queries,
and return query result sets.</P>
+ <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>To run these
samples, you must include idb.jar on the classpath. We have placed a copy of
idb.jar from
InstantDB version 3.25 in samples/extensions/instantdb. For
information about InstantDB, see
<A
href="http://instantdb.enhydra.org/software/documentation/index.html">InstantDB</A>
and the <A
href="http://instantdb.enhydra.org/software/license/index.html">Enydra Public
- License</A>.</I></FONT></TD></TR></TABLE>
- <P>Run this sample from the extensions subdirectory with (adjust the
Windows classpath setting
- below for your operating environment):</P>
- <P><CODE><FONT face="courier, monospaced">java -cp
instantdb/idb.jar;%classpath%</FONT></CODE>
- <BR> org.apache.xalan.xslt.Process<CODE><FONT
face="courier, monospaced"></FONT></CODE>
+ License</A>.</I></FONT></TD></TR></TABLE>
+ <UL>
+ <LI><A href="#ext6">6-sqllib-instantdb</A></LI>
+ <LI><A href="#basic-conn">Basic Connections</A></LI>
+ <LI><A href="#ext-conn">ExternalConnection</A></LI>
+ <LI><A href="#pquery">Parameterized query</A></LI>
+ <LI><A href="#streamable">Streamable</A></LI>
+ <LI><A href="#showerror">Show-error</A></LI>
+ </UL>
+ <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Except for
6-sqllib-instantdb, all these samples have been created by John Gentilin
+ ([EMAIL PROTECTED]) to take illustrate the rich feature set he has
contributed to the SQL Library.
+ To run each of these samples, be sure you are in the appropriate
extensions/sql subdirectory.</I></FONT></TD></TR></TABLE>
+ <A name="ext6"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>6-sqllib-instantdb</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>What it does: Uses the SQL library XConnection extension to connect
to the InstantDB sample database,
+ performs a query, and returns the query result in an HTML table.</P>
+ <P>Add idb.jar to the classpath, and run this sample from the
extensions subdirectory:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.Process</FONT></CODE>
<BR> <CODE><FONT face="courier, monospaced">-xsl
6-sqllib-instantdb.xsl -out import1.html</FONT></CODE></P>
- </FONT></TD></TR></TABLE><BR>
+ </FONT></TD></TR></TABLE><BR><A name="basic-conn"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Basic-Connection</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P><B>Contributed by John Gentilin ([EMAIL PROTECTED]).</B></P>
+ <P>What it does: illustrates two strategies for connecting to a
database, executing a static query, and returning
+ the query result.</P>
+ <P>The first strategy is to get connection information along with the
static query from the stylesheet (dbtest.xsl)\
+ in the form of stylesheet parameters.</P>
+ <P>The second strategy is to get connection information from a nodeset
in an XML source document (dbInfo.xml).</P>
+
+ <P>Add extensions/instantdb/idb.jar to the classpath, and run this
sample from the extensions/sql/basic-connection
+ directory.</P>
+ <P>1. To get connection information from the stylesheet:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.Process</FONT></CODE>
+ <BR> <CODE><FONT face="courier, monospaced">-xsl dbtest.xsl
-out import1.html</FONT></CODE></P>
+ <P>2. To get connection information in the form of a nodeset from the
XML source document:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.Process</FONT></CODE>
+ <BR> <CODE><FONT face="courier, monospaced">-in dbinfo.xml
-xsl dbtest-cinfo.xsl</FONT></CODE>
+ <BR> <CODE><FONT face="courier, monospaced">-out
import1.html</FONT></CODE></P>
+ <P>3. To get connection information from the stylesheet and dump the
raw result set to an XML file:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.Process</FONT></CODE>
+ <BR> <CODE><FONT face="courier, monospaced">-xsl
DumpSQL.xsl -out import1.xml</FONT></CODE></P>
+ </FONT></TD></TR></TABLE><BR> <A name="ext-conn"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>ExternalConnection</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P><B>Contributed by John Gentilin ([EMAIL PROTECTED]).</B></P>
+ <P>What it does: The ExternalConnection classes uses the default
implementation of the ConnectionPool interface
+ to create a pool of connections. A stylesheet in turn uses a connection
from this pool to instantiate an
+ XConnection object and connect to a datasouce.</P>
+ <P>The stylesheet uses this named connection pool to instantiate an
XConnection object and connect to the datasource.</P>
+ <P>The ExternalConnection class is in xalansamples.jar. Be sure
xalansamples.jar and idb.jar are on the classpath, and
+ run this sample from the extensions/sql/ext-connection directory:</P>
+ <P><CODE><FONT face="courier, monospaced">java
ExternalConnection</FONT></CODE></P>
+ <P>ExternalConnection creates the ConnectionPool, and performs a
transformation wiht dbtest.xsl, which draws
+ from the pool to instantiate an XConnection object, connect to the
datasource, execute a static query, and return the
+ query result.</P>
+ </FONT></TD></TR></TABLE><BR><A name="pquery"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Parameterized query</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P><B>Contributed by John Gentilin ([EMAIL PROTECTED]).</B></P>
+ <P>What it does: connect to a datasource, execute a parameterized query,
and return the result. The XML source document
+ provides the parameter value as well as the connection information. The
parameter value is in a node in the XML source.</P>
+ <P>The stylesheet gets the required connection and parameter information
from the XML source, sets up and executes the
+ parameterized query, and retuns the query result set.</P>
+ <P>Be sure idb.jar is on the classpath, and run this sample from the
sql/pquery subdirectory:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.Process -in dbInfo.xml</FONT></CODE>
+ <BR><CODE><FONT face="courier, monospaced">-xsl dbTest.xsl -out
dbTest.html</FONT></CODE></P>
+ </FONT></TD></TR></TABLE><BR><A name="streamable"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Streamable</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P><B>Contributed by John Gentilin ([EMAIL PROTECTED]).</B></P>
+ <P>What it does: Illustrates enabling and disabling of caching the
streamable result set returned by a query.</P>
+ <P>The stylesheets use the XConnection enableCacheNodes() and
disableCacheNodes() methods.</P>
+ <P>Be sure idb.jar is on the classpath, and run these samples from the
sql/streamable subdirectory.</P>
+ <P>1. To turn caching on:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.Process</FONT></CODE>
+ <BR><CODE><FONT face="courier, monospaced">-xsl
cachedNodes.xsl</FONT></CODE></P>
+ <P>1. To turn caching off:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.Process</FONT></CODE>
+ <BR><CODE><FONT face="courier, monospaced">-xsl
streamNodes.xsl</FONT></CODE></P>
+ <P>3. <I>To be added</I></P>
+ </FONT></TD></TR></TABLE><BR><A name="showerror"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Show-error</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P><B>Contributed by John Gentilin ([EMAIL PROTECTED]).</B></P>
+ <P>What it does: use the SQL library ExtensionError class to return an
error message in the output stream. The stylesheet
+ (dbtest.xsl) calls a template with a select statement that only returns
a nodeset if an error has occured:</P>
+ <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE><xsl:variable name="table"
select='sql:query($db, $query)'/>
+ <xsl:apply-templates select="$table/row-set" />
+ <xsl:apply-templates
select="$table/ext-error"/></PRE></FONT></TD><TD bgcolor="#0086b2"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></DIV>
+ <P>Since the query contains an incorrect table name, this example does
return an error message. Correct the table name (change
+ 'import1X' to 'import1') and the example returns a standard result set.</P>
+ <P>With idb.jar on the classpath, run this sample from the
extensions/sql/show-error subdirectory:</P>
+ <P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xslt.Process</FONT></CODE>
+ <BR><CODE><FONT face="courier, monospaced"> -in dbtest.xsl -out
dbtestout.html</FONT></CODE></P>
+ </FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR><A name="trace"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Trace</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>What it does: Trace uses the TraceListener and TraceManager classes
to log transformation events.</P>
@@ -314,13 +434,53 @@
Interface</A></P>
</FONT></TD></TR></TABLE><BR><A name="trax"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>trax</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>To run the trax
sample, you must be using an XML parser (such as Xerces 1.3.0 or Crimson 1.1)
+ <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>To run the trax
sample, you must be using an XML parser (such as Xerces 1.4 or Crimson 1.1)
that fully implements the JAXP 1.1
javax.xml.parsers interface.</I></FONT></TD></TR></TABLE>
- <P>What it does: run a number of samples illustrating uses of the <A
href="apidocs/javax/xml/transform/trax.html" target="_top">TRaX (Transformation
API for XML)</A> interfaces.</P>
+ <P>What it does: run a number of samples illustrating uses of the <A
href="trax.html" target="_top">TRaX (Transformation API for XML)</A>
interfaces.</P>
<P>Run this sample from the trax subdirectory with</P>
<P><CODE><FONT face="courier, monospaced">java
Examples</FONT></CODE></P>
<P>and examine the source in Examples.java and
ExampleContentHandler.java.</P>
- </FONT></TD></TR></TABLE><BR>
+ </FONT></TD></TR></TABLE><BR><A
name="translets"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2"
width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Translets</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <UL>
+ <LI><A href="#xsltc1">JAXPTransletOneTransformation</A></LI>
+ <LI><A
href="#xsltc2">JAXPTransletMultipleTransformations</A></LI>
+ </UL>
+ <P>See also: <A href="readme.html#xsltcdemos">XSLTC
demos</A>.</P><A name="xsltc1"><!--anchor--></A>
+ <P>You can use the TrAX/JAXP 1.1 interfaces to compile and
run translets. For this release, you must still
+ use StreamSource objects for the XSL stylesheet and XML
input document, and a StreamResult object for the
+ transformation output. For an overview of the usage
patterns these samples illustrate, see
+ <A href="xsltc_usage.html#api">Calling XSLTC with the
TrAX/JAXP API</A>.</P>
+ <A name="xsltcprepare"><!--anchor--></A>
+ <P><B>Important:</B> To run these samples, you must compile
the sample class files and adjust the
+ system classpath.</P>
+ <OL>
+ <LI>To compile the samples, you can run the Ant build
from the root directory as follows:<BR><BR>
+ <CODE><FONT face="courier, monospaced"> build
xsltc.samples</FONT></CODE><BR><BR></LI>
+ <LI>Add xsltc.jar, runtime.jar, BCEL.jar, java_cup.jar,
and the samples/translets subdirectory to
+ the classpath</LI>
+ </OL>
+ <TABLE border="0" cellpadding="0" cellspacing="3"
width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0"
height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><I>The JAR files listed above are in the bin directory.
+ The samples/translets directory contains the sample class
files as well as the translet class file that is
+ generated at tun time (todo.class from the todo.xsl
stylesheet).</I></FONT></TD></TR></TABLE>
+ <A name="xsltc1"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>JAXPTransletOneTransformation</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>What it does: Uses the XSLTC TransformerFactory to
compile a translet and use
+ the translet to transform the XSLTC to-do list from XML
into HTML.</P>
+ <P>Complete the <A href="#xsltcprepare">steps detailed
above</A>, and run this sample
+ from the translets subdirectory with</P>
+ <P><CODE><FONT face="courier, monospaced">java
JAXPTransletOneTransformation</FONT></CODE></P>
+ <P>View the result in todo-xsltc.html.</P>
+ </FONT></TD></TR></TABLE><BR><A
name="xsltc2"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>JAXPTransletMultipleTransformations</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>What it does: Uses the XSLTC TransformerFactory to
compile a translet and use
+ the Templates object associated with the translet to
transform the XSLTC and Xalan to-do lists from XML
+ into HTML.</P>
+ <P>Complete the <A href="#xsltcprepare">steps detailed
above</A>, and run this sample
+ from the translets subdirectory with</P>
+ <P><CODE><FONT face="courier, monospaced">java
JAXPTransletOneTransformation</FONT></CODE></P>
+ <P>View the results in todo-xsltc.html and
todo-xalan.html.</P>
+ </FONT></TD></TR></TABLE><BR>
+ </FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1"
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT
color="#0086b2" size="-1"><I>
Copyright © 2000 The Apache Software Foundation.
All Rights Reserved.
1.3 +14 -4 xml-site/targets/xalan-j/todo.html
Index: todo.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/todo.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- todo.html 2001/02/02 21:46:51 1.2
+++ todo.html 2001/05/23 17:12:05 1.3
@@ -1,10 +1,10 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<TITLE>Xalan-Java Version 2</TITLE>
+<TITLE>Xalan-Java 2</TITLE>
</HEAD>
<BODY>
-<H2>Xalan for Java Version 2: Things To Do</H2>
+<H2>Xalan-Java 2: Things To Do</H2>
<p>
<font size="-1">See a
<a href="#developer-list">list of developers/initials.</a></font>
@@ -376,7 +376,7 @@
<H3>
<a name="developer-list">Developers:</a>
</H3>
-<p>A list of some of people working on Xalan currently:</p>
+<p>A list of some of people currently working on working on Xalan-Java:</p>
<ul>
<li>
<a href="mailto:[EMAIL PROTECTED]">Scott Boag</a><a name="personref-SB">
(SB)</a>
@@ -401,7 +401,7 @@
<li>
<a href="mailto:[email protected]">Donald Leslie</a><a
name="personref-DL"> (DL)</a>
<BR>
- Xalan-J and -C documentation, servlets and samples.
+ Xalan-J and -C documentation, servlets, applets, and samples.
</li>
<li>
<a href="mailto:[EMAIL PROTECTED]">Costin Manolache</a><a
name="personref-CM"> (CM)</a>
@@ -423,6 +423,16 @@
<BR>
Xalan-J 1.x and 2.x developer, especially extension mechanisim.
</li>
+<li>
+<a href="mailto:[EMAIL PROTECTED]">John Gentilin</a><a name="personref-JG">
(JG)</a>
+<BR>
+ Major work on the SQL extensions library.
+ </li>
+<li>
+<a href="mailto:[EMAIL PROTECTED]">Costin Manolache</a><a
name="personref-CM"> (CM)</a>
+<BR>
+ JAXP expert.
+ </li>
</ul>
</BODY>
</HTML>
1.10 +28 -13 xml-site/targets/xalan-j/usagepatterns.html
Index: usagepatterns.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/usagepatterns.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- usagepatterns.html 2001/03/16 23:02:11 1.9
+++ usagepatterns.html 2001/05/23 17:12:07 1.10
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,19 +16,22 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<IMG alt="Usage Patterns" border="0" height="12" hspace="0"
src="graphics/usagepatterns-label-1.jpg" vspace="0" width="120"><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#basic">Basic steps</A></LI>
@@ -105,6 +109,8 @@
<LI>Set the system property in jaxp.properties in the JAVA_HOME/lib
directory, where JAVA_HOME is the root of the JDK.<BR><BR></LI>
<LI>Revise the entry in src/META-INF/services and rebuild
xalan.jar.<BR><BR></LI>
</OL>
+<P>For example, to use the Crimson XML parser in place of the Xerces XML
parser, place Crimson on the class path and set the
+<CODE><FONT face="courier,
monospaced">javax.xml.parsers.SAXParserFactory</FONT></CODE> system property to
<CODE><FONT face="courier,
monospaced">org.apache.crimson.jaxp.SAXParserFactoryImpl</FONT></CODE>.</P>
<P>For more information about the mechanism used to determine system
property values and how you can plug other implementations into your
applications, see "Section 3: Plugability Layer" in the <I>Java API
for XML Processing</I> at
<A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/index.html">JSR-000063
1.1</A>.</P>
</FONT></TD></TR></TABLE><BR><A name="outputprops"><!--anchor--></A>
@@ -113,9 +119,19 @@
<P>You can change these settings as follows:</P>
<OL>
<LI>Declare the xalan namespace in your stylesheet element
(xmlns:xalan="http://xml.apache.org/xslt").<BR><BR></LI>
- <LI>Use the namespace prefix you assign (we use "xalan" here in
the text) to redefine properties of interest in the stylesheet xsl:output
+ <LI>Use the namespace prefix you assign (for example, "xalan")
to redefine properties of interest in the stylesheet xsl:output
element (for example, xalan:indent-amount="5").</LI>
</OL>
+<P>The following stylesheet fragment declares the xalan namespace and sets
indent-amount to 2:</P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE><?xml version="1.0"
encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xalan="http://xml.apache.org/xslt">
+
+ <xsl:output method="xml"
+ encoding="UTF-8"
+ indent="yes"
+ xalan:indent-amount="2"/></PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
<P>If you want to change the property settings globally, edit the values
in the property files in src/org/apache/xalan/templates,
and use Ant to <A href="readme.html#jar">rebuild xalan.jar</A>.</P>
<P>The properties files define the following properties:</P>
@@ -223,7 +239,7 @@
</OL>
</FONT></TD></TR></TABLE><BR><A name="serialize"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Serializing output</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>In some cases, you may want to "transform" a DOM tree into a
stream, which the XML community calls serialization. <A
href="apidocs/javax/xml/transform/trax.html" target="_top">TRaX (Transformation
API for XML)</A> and the Xalan-Java Transformer implementation provide direct
support for this operation. Simply use the TransformerFactory newTransformer()
method (no arguments) to create a Transformer that you can use to
"copy" a DOMSource to a StreamResult. For examples, see
Examples.exampleDOM2DOM(), Examples.exampleSerializeNode(), and
Examples.exampleAsSerializer() in the <A href="samples.html#trax">trax
sample</A>.</P>
+<P>In some cases, you may want to "transform" a DOM tree into a
stream, which the XML community calls serialization. <A href="trax.html"
target="_top">TRaX (Transformation API for XML)</A> and the Xalan-Java
Transformer implementation provide direct support for this operation. Simply
use the TransformerFactory newTransformer() method (no arguments) to create a
Transformer that you can use to "copy" a DOMSource to a StreamResult.
For examples, see Examples.exampleDOM2DOM(), Examples.exampleSerializeNode(),
and Examples.exampleAsSerializer() in the <A href="samples.html#trax">trax
sample</A>.</P>
</FONT></TD></TR></TABLE><BR><A name="params"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Setting stylesheet parameters</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>An XSLT stylesheet may include parameters that are set at run time each
time a transformation is performed. To set a stylesheet parameter, use the
Transformer
@@ -363,11 +379,10 @@
javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException, java.io.IOException
{
- // Output goes in the response stream.
- java.io.PrintWriter out =
- new java.io.PrintWriter(response.getOutputStream());
// Set content type for HTML.
- response.setContentType("text/html");
+ response.setContentType("text/html; charset=UTF-8");
+ // Output goes to the response PrintWriter.
+ java.io.PrintWriter out = response.getWriter());
try
{
javax.xml.transform.TransformerFactory tFactory =
@@ -398,7 +413,7 @@
}
}</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
<P>For a working sample, see <A
href="samples.html#simplexsltservlet">SimpleXSLTServlet</A>.</P>
-<P>In the preceding example, the URLs for the XML document and XSL
stylesheet are hardcoded in the servlet. You can also create a servlet that
parses the request URL for input parameters specifying the XML document, XSL
stylesheet, and any relevant stylesheet parameters. For a sample, see <A
href="samples.html#xsltservletwithparams">XSLTServletWithParams</A>. For a more
robust and complex sample that also employs a properties file to determine
which stylesheet to use depending on the client browser/device, see <A
href="samples.html#applyxslt">ApplyXSLT</A>.</P>
+<P>In the preceding example, the URLs for the XML document and XSL
stylesheet are hardcoded in the servlet. You can also create a servlet that
parses the request URL for input parameters specifying the XML document, XSL
stylesheet, and any relevant stylesheet parameters. For samples, see <A
href="samples.html#usestylesheetparamservlet">UseStylesheetParamServlet</A> and
<A href="samples.html#xsltservletwithparams">XSLTServletWithParams</A>. For a
more robust and complex sample that also employs a properties file to determine
which stylesheet to use depending on the client browser/device, see <A
href="samples.html#applyxslt">ApplyXSLT</A>.</P>
</FONT></TD></TR></TABLE><BR><A name="extensions"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Creating and using extensions</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>For those cases where you want to be able to call procedural code from
within a stylesheet, the Xalan-Java Extensions facility supports the creation
of extension elements and extension functions. See <A
href="extensions.html">Extensions</A> and <A
href="samples.html#extensions">Extensions samples</A>.</P>
1.9 +22 -9 xml-site/targets/xalan-j/whatsnew.html
Index: whatsnew.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-j/whatsnew.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- whatsnew.html 2001/03/16 23:02:12 1.8
+++ whatsnew.html 2001/05/23 17:12:08 1.9
@@ -2,8 +2,9 @@
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.0.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="What's New" border="0" height="12" hspace="0"
src="graphics/whatsnew-label-1.jpg" vspace="0" width="120"><BR>
+ <A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
@@ -15,29 +16,41 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-34');"
onMouseOver="rolloverOn('side-ext-34');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-34"
onLoad="rolloverLoad('side-ext-34','graphics/ext-34-label-2.jpg','graphics/ext-34-label-3.jpg');"
src="graphics/ext-34-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
- <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
-
+ <UL>
+ <LI><A href="#design">New design</A></LI>
+ <LI><A href="#xsltc">XSLTC</A></LI>
+ </UL><A name="design"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>New Design</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Xalan-Java 2 represents a fundamental redesign of Xalan. The primary
objective of this redesign is an easier-to-use, more understandable, and more
modular API that encourages wider participation in its ongoing development by
the open-source XML developer community, and that lends itself to
"streaming," the production of transformation output while the input
is still being parsed.</P>
<P>Xalan-Java 2 builds on <A
href="http://www.megginson.com/SAX/Java/index.html" target="_top">SAX 2</A>, <A
href="http://www.w3.org/TR/DOM-Level-2/" target="_top">DOM level 2</A>, and the
<A href="http://java.sun.com/xml/docs/api/index.html" target="_top">Java API
for XML Parsing 1.0</A>. For example, Xalan-Java 2 incorporates the SAX parsing
event model in its support for the incremental production of transformation
output. Xalan-Java 2 also implements the standard TrAX API (see below) that
enables you to code your XML applications without reference to the internal
details of a particular Transformer or XML parser.</P>
<P>Given the scope of the redesign, the changes with respect to <A
href="http://xml.apache.org/xalan/index.html">Xalan-Java 1.x</A> are global in
nature. For an introduction to the Xalan-Java 2 usage patterns, see <A
href="usagepatterns.html">Basic Usage Patterns</A>.</P>
-<P>Xalan-Java 2 implements the <A
href="apidocs/javax/xml/transform/trax.html" target="_top">TRaX (Transformation
API for XML)</A> interfaces. The product of extensive open-source collaboration
by members of the XML developer community, TrAX provides a conceptual framework
and a standard API for performing XML transformations. During its evolution,
the TrAX API has undergone several revisions. We believe this API has now
reached or is very close to final form. In November 2000, TrAX was incorporated
into <A href="http://java.sun.com/aboutJava/communityprocess/review/jsr063"
target="_top">Java Specification Request 63</A>, the Java API for XML
Processing 1.1 , which has been published for public review (see <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/jaxp-pd2.pdf"
target="_top">Java API for XML Processing 1.1 Public Review 2</A>). We
strongly encourage you to utilize the TrAX framework when you use Xalan-Java 2
to perform XML transformations.</P>
+<P>Xalan-Java 2 implements the <A href="trax.html" target="_top">TRaX
(Transformation API for XML)</A> interfaces. The product of extensive
open-source collaboration by members of the XML developer community, TrAX
provides a conceptual framework and a standard API for performing XML
transformations. During its evolution, the TrAX API has undergone several
revisions. We believe this API has now reached or is very close to final form.
In November 2000, TrAX was incorporated into <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063"
target="_top">Java Specification Request 63</A>, the Java API for XML
Processing 1.1 , which has been published for public review (see <A
href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/jaxp-pd2.pdf"
target="_top">Java API for XML Processing 1.1 Public Review 2</A>). We
strongly encourage you to utilize the TrAX framework when you use Xalan-Java 2
to perform XML transformations.</P>
<P>The basic organization of TrAX is quite simple: use a TransformerFactory
to process transformation instructions and generate a Transformer, with which
you can apply the processed transformation instructions to your XML Source,
producing a transformation Result. For more detail, see <A
href="usagepatterns.html#basic">Basic steps</A>.</P>
<P>As part of the Java API for XML Processing, TraX provides a stable
framework for plugging Transformers (like Xalan-Java) and XML parsers (like
Xerces-Java) into your applications without tying yourself to the internal
details of those implementations. See <A
href="usagepatterns.html#plug">Plugging in a Transformer and XML parser</A>.</P>
-</FONT></TD></TR></TABLE><BR>
+</FONT></TD></TR></TABLE><BR><A name="xsltc"><!--anchor--></A><TABLE
border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>XSLTC</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <P>In April 2001, Sun donated XSLTC to the Xalan project.
XSLTC compiles stylesheets into translets and
+ provides a runtime environment for using translets to
transform XML documents. Initially, XSLTC is
+ available in a separate JAR. Over time, we plan to integrate
the two codebases. For more information,
+ see <A href="xsltc_usage.html">Using XSLTC</A>, <A
href="readme.html#xsltcreleasenotes">XSLTC
+ Release Notes</A>, and <A href="xsltc/index.html">XSLTC
Design</A>.</P>
+ </FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1"
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT
color="#0086b2" size="-1"><I>
Copyright © 2000 The Apache Software Foundation.
All Rights Reserved.
1.1 xml-site/targets/xalan-j/trax.html
Index: trax.html
===================================================================
<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js"
type="text/javascript"></SCRIPT><TITLE>Transformation API For
XML</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4"
link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4"
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0"
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top"
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif"
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5"
valign="top" width="456"><IMG border="0" height="5" hspace="0"
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left"
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60"
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top"
width="456"><IMG alt="" border="0" height="35" hspace="0"
src="graphics/trax-header.jpg" vspace="0" width="456"></TD></TR><TR><TD
align="left" height="20" valign="top" width="168"><IMG border="0" height="20"
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');"
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"
border="0" height="20" hspace="0" name="xml"
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://www.apache.org/" onMouseOut="rolloverOff('asf');"
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"
border="0" height="20" hspace="0" name="asf"
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');"
target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0"
name="w3c"
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
src="resources/button-w3c-lo.gif" vspace="0"
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0"
width="120"><BR>
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="xsltc_usage.html" onMouseOut="rolloverOff('side-xsltc_usage');"
onMouseOver="rolloverOn('side-xsltc_usage');"><IMG alt="XSLTC Translets"
border="0" height="12" hspace="0" name="side-xsltc_usage"
onLoad="rolloverLoad('side-xsltc_usage','graphics/xsltc_usage-label-2.jpg','graphics/xsltc_usage-label-3.jpg');"
src="graphics/xsltc_usage-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="faq.html" onMouseOut="rolloverOff('side-faq');"
onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQs" border="0" height="12"
hspace="0" name="side-faq"
onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');"
src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="samples.html" onMouseOut="rolloverOff('side-samples');"
onMouseOver="rolloverOn('side-samples');"><IMG alt="Sample Apps" border="0"
height="12" hspace="0" name="side-samples"
onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');"
src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="commandline.html" onMouseOut="rolloverOff('side-commandline');"
onMouseOver="rolloverOn('side-commandline');"><IMG alt="Command Line"
border="0" height="12" hspace="0" name="side-commandline"
onLoad="rolloverLoad('side-commandline','graphics/commandline-label-2.jpg','graphics/commandline-label-3.jpg');"
src="graphics/commandline-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<IMG alt="TrAX" border="0" height="12" hspace="0"
src="graphics/trax-label-1.jpg" vspace="0" width="120"><BR>
<A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="todo.html#developer-list" onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#intro">Introduction</A></LI>
<LI><A href="#terminology">General Terminology</A></LI>
<LI><A href="#requirements">Requirements</A></LI>
<LI><A href="#model">Model</A></LI>
<LI><A href="#patterns">Patterns</A></LI>
</UL><A name="intro"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Introduction</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>This document describes the transformation API for XML (TrAX), the set of
APIs contained in
<A
href="apidocs/javax/xml/transform/package-summary.html">javax.xml.transform</A>,
<A
href="apidocs/javax/xml/transform/stream/package-summary.html">javax.xml.transform.stream</A>,
<A
href="apidocs/javax/xml/transform/dom/package-summary.html">javax.xml.transform.dom</A>,
and <A
href="apidocs/javax/xml/transform/sax/package-summary.html">javax.xml.transform.sax</A>.</P>
<P>There is a broad need for Java applications to be able to transform XML
and related tree-shaped data structures. In fact, XML is not normally
very
useful to an application without going through some sort of
transformation,
unless the semantic structure is used directly as data. Almost all
XML-related
applications need to perform transformations. Transformations may be
described
by Java code, Perl code, <A href="http://www.w3.org/TR/xslt">XSLT</A>
Stylesheets, other types of script, or by proprietary formats. The
inputs, one
or multiple, to a transformation, may be a URL, XML stream, a DOM
tree, SAX
Events, or a proprietary format or data structure. The output types
are the
pretty much the same types as the inputs, but different inputs may
need to be
combined with different outputs.</P>
<P>The great challenge of a transformation API is how to deal with all the
possible combinations of inputs and outputs, without becoming
specialized for
any of the given types.</P>
<P>The Java community will greatly benefit from a common API that will
allow them to understand and apply a single model, write to consistent
interfaces, and apply the transformations polymorphically. TrAX
attempts to
define a model that is clean and generic, yet fills general application
requirements across a wide variety of uses. </P>
</FONT></TD></TR></TABLE><BR><A name="terminology"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>General Terminology</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>This section will explain some general terminology used in this
document. Technical terminology will be explained in the Model
section. In many
cases, the general terminology overlaps with the technical
terminology.</P>
<DL>
<DT>Tree</DT>
<DD>This term, as used within this document, describes an
abstract structure that consists of nodes or events
that may be produced by
XML. A Tree physically may be a DOM tree, a series of
well balanced parse
events (such as those coming from a SAX2
ContentHander), a series of requests
(the result of which can describe a tree), or a stream
of marked-up
characters.</DD>
<DT>Source Tree(s)</DT>
<DD>One or more trees that are the inputs to the
transformation.</DD>
<DT>Result Tree(s)</DT>
<DD>One or more trees that are the output of the
transformation.</DD>
<DT>Transformation</DT>
<DD>The process of consuming a stream or tree to produce
another stream or tree.</DD>
<DT>Identity (or Copy) Transformation</DT>
<DD>The process of transformation from a source to a result,
making as few structural changes as possible and no
informational changes. The
term is somewhat loosely used, as the process is
really a copy. from one
"format" (such as a DOM tree, stream, or set
of SAX events) to
another.</DD>
<DT>Serialization</DT>
<DD>The process of taking a tree and turning it into a stream. In
some sense, a serialization is a specialized
transformation.</DD>
<DT>Parsing</DT>
<DD>The process of taking a stream and turning it into a tree. In
some sense, parsing is a specialized
transformation.</DD>
<DT>Transformer</DT>
<DD>A Transformer is the object that executes the transformation.
</DD>
<DT>Transformation instructions</DT>
<DD>Describes the transformation. A form of code, script, or
simply a declaration or series of declarations.</DD>
<DT>Stylesheet</DT>
<DD>The same as "transformation instructions," except it is
likely to be used in conjunction with <A
href="http://www.w3.org/TR/xslt">XSLT</A>.</DD>
<DT>Templates</DT>
<DD>Another form of "transformation instructions." In the TrAX
interface, this term is used to describe processed or
compiled transformation
instructions. The Source flows through a Templates
object to be formed into the
Result.</DD>
<DT>Processor</DT>
<DD>A general term for the thing that may both process the
transformation instructions, and perform the
transformation.</DD>
<DT>DOM</DT>
<DD>Document Object Model, specifically referring to the
<A href="http://www.w3.org/TR/DOM-Level-2%20">Document
Object Model
(DOM) Level 2 Specification</A>.</DD>
<DT>SAX</DT>
<DD>Simple API for XML, specifically referring to the
<A href="http://www.megginson.com/SAX/SAX2">SAX 2.0
release</A>.</DD>
</DL>
</FONT></TD></TR></TABLE><BR> <A name="requirements"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Requirements</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>The following requirements have been determined from broad experience
with XML projects from the various members participating on the
JCP.</P>
<UL>
<LI>TrAX must provide a clean, simple
interface for simple uses.</LI>
<LI>TrAX must be powerful enough to be
applied to a wide range of uses, such as, e-commerce, content
management,
server content delivery, and client applications.</LI>
<LI>A processor that implements a TrAX
interface must be optimizeable. Performance is a critical issue
for most
transformation use cases.</LI>
<LI>As a specialization of the above
requirement, a TrAX processor must be able to support a
compiled model, so that
a single set of transformation instructions can be compiled,
optimized, and
applied to a large set of input sources.</LI>
<LI>TrAX must not be dependent an any
given type of transformation instructions. For instance, it
must remain
independent of <A
href="http://www.w3.org/TR/xslt">XSLT</A>.</LI>
<LI>TrAX must be able to allow processors
to transform DOM trees.</LI>
<LI>TrAX must be able to allow processors to
produce DOM trees.</LI>
<LI>TrAX must allow processors to transform
SAX events.</LI>
<LI>TrAX must allow processors to produce SAX
events.</LI>
<LI>TrAX must allow processors to
transform streams of XML.</LI>
<LI>TrAX must allow processors to produce
XML, HTML, and other types of streams.</LI>
<LI>TrAX must allow processors to
implement the various combinations of inputs and outputs within
a single
processor.</LI>
<LI>TrAX must allow processors
to implement only a limited set of inputs. For instance, it
should be possible
to write a processor that implements the TrAX interfaces and
that only
processes DOM trees, not streams or SAX events.</LI>
<LI>TrAX should allow a
processor to implement transformations of proprietary data
structures. For
instance, it should be possible to implement a processor that
provides TrAX
interfaces that performs transformation of JDOM trees.</LI>
<LI>TrAX must allow the setting
of serialization properties, without constraint as to what the
details of those
properties are.</LI>
<LI>TrAX must allow the setting
of parameters to the transformation instructions.</LI>
<LI>TrAX must support the
setting of parameters and properties as XML Namespaced items
(i.e., qualified
names).</LI>
<LI>TrAX must support URL
resolution from within the transformation, and have it return
the needed data
structure.</LI>
<LI>TrAX must have a mechanism for
reporting errors and warnings to the calling application.</LI>
</UL>
</FONT></TD></TR></TABLE><BR> <A name="model"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Model</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>The section defines the abstract model for TrAX, apart from the details
of the interfaces.</P>
<P>A TRaX <A href="#pattern-TransformerFactory">TransformerFactory</A> is an
object
that processes transformation instructions, and produces
<A href="#pattern-Templates">Templates</A> (in the technical
terminology). A <A href="#pattern-Templates">Templates</A>
object provides a <A href="#pattern-Transformer">Transformer</A>,
which transforms one or
more <A href="#pattern-Source">Source</A>s into one or more
<A href="#pattern-Result">Result</A>s.</P>
<P>To use the TRaX interface, you create a
<A href="#pattern-TransformerFactory">TransformerFactory</A>,
which may directly provide a <A
href="#pattern-Transformers">Transformers</A>, or which can provide
<A href="#pattern-Templates">Templates</A> from a variety of
<A href="#pattern-Source">Source</A>s. The
<A href="#pattern-Templates">Templates</A> object is a processed
or compiled representation of the transformation instructions, and
provides a
<A href="#pattern-Transformer">Transformer</A>. The
<A href="#pattern-Transformer">Transformer</A> processes a
<A href="#pattern-Transformer">Source</A> according to the
instructions found in the <A href="#pattern-Templates">Templates</A>,
and produces a
<A href="#pattern-Result">Result</A>.</P>
<P>The process of transformation from a tree, either in the form of an
object model, or in the form of parse events, into a stream, is known
as
<I>serialization</I>. We believe this is the most suitable term for
this process, despite the overlap with Java object serialization.</P>
</FONT></TD></TR></TABLE><BR><A name="patterns"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>TRaX Patterns</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>The intent, responsibilities, and thread safety of TrAX objects:</P>
<UL>
<LI><A href="#pattern-Processor">Processor</A></LI>
<LI><A href="#pattern-TransformerFactory">TransformerFactory</A></LI>
<LI><A href="#pattern-Templates">Templates</A></LI>
<LI><A href="#pattern-Transformer">Transformer</A></LI>
<LI><A href="#pattern-Source">Source</A></LI>
<LI><A href="#pattern-Result">Result</A></LI>
</UL>
<A name="pattern-Processor"><!--anchor--></A><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699"
colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Processor</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<DL>
<DT>Intent</DT>
<DD>Generic concept for the
set of objects that implement the TrAX interfaces.</DD>
<DT>Responsibilities</DT>
<DD>Create compiled transformation instructions, transform
sources, and manage transformation parameters and
properties.</DD>
<DT>Thread safety</DT>
<DD>Only the Templates object can be
used concurrently in multiple threads. The rest of the processor does not do
synchronized blocking, and so may not be used to perform multiple concurrent
operations.</DD>
</DL>
</FONT></TD></TR></TABLE><BR> <A
name="pattern-TransformerFactory"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>TransformerFactory</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<DL>
<DT>Intent</DT>
<DD>Serve as a vendor-neutral Processor interface for
<A href="http://www.w3.org/TR/xslt">XSLT</A> and similar
processors.</DD>
<DT>Responsibilities</DT>
<DD>Serve as a factory for a concrete
implementation of an TransformerFactory, serve as a direct factory for
Transformer objects, serve as a factory for Templates objects, and manage
processor specific features.</DD>
<DT>Thread safety</DT>
<DD>A TransformerFactory may not perform mulitple concurrent
operations.</DD>
</DL>
</FONT></TD></TR></TABLE><BR><A name="pattern-Templates"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Templates</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<DL>
<DT>Intent</DT>
<DD>The runtime representation of the transformation instructions.</DD>
<DT>Responsibilities</DT>
<DD>A data bag for transformation instructions; act as a factory
for Transformers.</DD>
<DT>Thread safety</DT>
<DD>Threadsafe for concurrent
usage over multiple threads once construction is complete.</DD>
</DL>
</FONT></TD></TR></TABLE><BR><A name="pattern-Transformer"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Transformer</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<DL>
<DT>Intent</DT>
<DD>Act as a per-thread
execution context for transformations, act as an interface for performing
the
transformation.</DD>
<DT>Responsibilities</DT>
<DD>Perform the
transformation.</DD>
<DT>Thread safety</DT>
<DD>Only one instance per thread
is safe.</DD>
</DL>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>The Transformer is
bound to the Templates
object that created it.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR><A name="pattern-Source"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Source</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<DL>
<DT>Intent</DT>
<DD>Serve as a
single vendor-neutral object for multiple types of input.</DD>
<DT>Responsibilities</DT>
<DD>Act as simple data holder for System IDs, DOM nodes, streams,
etc.</DD>
<DT>Thread safety</DT>
<DD>Threadsafe concurrently over multiple
threads for read-only operations; must be synchronized for edit
operations.</DD>
</DL>
</FONT></TD></TR></TABLE><BR><A name="pattern-Result"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Result</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>Alternative name: ResultTarget.</P>
<DL>
<DT>Intent</DT>
<DD>Serve
as a single object for multiple types of output, so there can be simple
process
method signatures.</DD>
<DT>Responsibilities</DT>
<DD>Act as simple data holder for
output stream, DOM node, ContentHandler, etc.</DD>
<DT>Thread safety</DT>
<DD>Threadsafe concurrently over multiple threads for read-only,
must be synchronized for edit.</DD>
</DL>
</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1"
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT
color="#0086b2" size="-1"><I>
Copyright © 2000 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>
1.1 xml-site/targets/xalan-j/xsltc_usage.html
Index: xsltc_usage.html
===================================================================
<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js"
type="text/javascript"></SCRIPT><TITLE>Using XSLTC</TITLE></HEAD><BODY
alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff"
marginheight="4" marginwidth="4" text="#000000" topmargin="4"
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0"
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top"
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif"
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5"
valign="top" width="456"><IMG border="0" height="5" hspace="0"
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left"
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60"
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top"
width="456"><IMG alt="" border="0" height="35" hspace="0"
src="graphics/xsltc_usage-header.jpg" vspace="0" width="456"></TD></TR><TR><TD
align="left" height="20" valign="top" width="168"><IMG border="0" height="20"
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');"
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"
border="0" height="20" hspace="0" name="xml"
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://www.apache.org/" onMouseOut="rolloverOff('asf');"
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"
border="0" height="20" hspace="0" name="asf"
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');"
target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0"
name="w3c"
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
src="resources/button-w3c-lo.gif" vspace="0"
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0"
width="120"><BR>
<A href="../index.html" onMouseOut="rolloverOff('side-ext-4');"
onMouseOver="rolloverOn('side-ext-4');"><IMG alt="Home" border="0" height="12"
hspace="0" name="side-ext-4"
onLoad="rolloverLoad('side-ext-4','graphics/ext-4-label-2.jpg','graphics/ext-4-label-3.jpg');"
src="graphics/ext-4-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-J 2.1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="whatsnew.html" onMouseOut="rolloverOff('side-whatsnew');"
onMouseOver="rolloverOn('side-whatsnew');"><IMG alt="What's New" border="0"
height="12" hspace="0" name="side-whatsnew"
onLoad="rolloverLoad('side-whatsnew','graphics/whatsnew-label-2.jpg','graphics/whatsnew-label-3.jpg');"
src="graphics/whatsnew-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="XSLTC Translets" border="0" height="12" hspace="0"
src="graphics/xsltc_usage-label-1.jpg" vspace="0" width="120"><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');"
onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0"
height="12" hspace="0" name="side-overview"
onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');"
src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');"
onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started"
border="0" height="12" hspace="0" name="side-getstarted"
onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');"
src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="faq.html" onMouseOut="rolloverOff('side-faq');"
onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQs" border="0" height="12"
hspace="0" name="side-faq"
onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');"
src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="samples.html" onMouseOut="rolloverOff('side-samples');"
onMouseOver="rolloverOn('side-samples');"><IMG alt="Sample Apps" border="0"
height="12" hspace="0" name="side-samples"
onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');"
src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="commandline.html" onMouseOut="rolloverOff('side-commandline');"
onMouseOver="rolloverOn('side-commandline');"><IMG alt="Command Line"
border="0" height="12" hspace="0" name="side-commandline"
onLoad="rolloverLoad('side-commandline','graphics/commandline-label-2.jpg','graphics/commandline-label-3.jpg');"
src="graphics/commandline-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="usagepatterns.html"
onMouseOut="rolloverOff('side-usagepatterns');"
onMouseOver="rolloverOn('side-usagepatterns');"><IMG alt="Usage Patterns"
border="0" height="12" hspace="0" name="side-usagepatterns"
onLoad="rolloverLoad('side-usagepatterns','graphics/usagepatterns-label-2.jpg','graphics/usagepatterns-label-3.jpg');"
src="graphics/usagepatterns-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="trax.html" onMouseOut="rolloverOff('side-trax');"
onMouseOver="rolloverOn('side-trax');"><IMG alt="TrAX" border="0" height="12"
hspace="0" name="side-trax"
onLoad="rolloverLoad('side-trax','graphics/trax-label-2.jpg','graphics/trax-label-3.jpg');"
src="graphics/trax-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-38');"
onMouseOver="rolloverOn('side-ext-38');"><IMG alt="API (Javadoc)" border="0"
height="12" hspace="0" name="side-ext-38"
onLoad="rolloverLoad('side-ext-38','graphics/ext-38-label-2.jpg','graphics/ext-38-label-3.jpg');"
src="graphics/ext-38-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="extensions.html" onMouseOut="rolloverOff('side-extensions');"
onMouseOver="rolloverOn('side-extensions');"><IMG alt="Extensions" border="0"
height="12" hspace="0" name="side-extensions"
onLoad="rolloverLoad('side-extensions','graphics/extensions-label-2.jpg','graphics/extensions-label-3.jpg');"
src="graphics/extensions-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="extensionslib.html"
onMouseOut="rolloverOff('side-extensionslib');"
onMouseOver="rolloverOn('side-extensionslib');"><IMG alt="Extensions Library"
border="0" height="12" hspace="0" name="side-extensionslib"
onLoad="rolloverLoad('side-extensionslib','graphics/extensionslib-label-2.jpg','graphics/extensionslib-label-3.jpg');"
src="graphics/extensionslib-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html" onMouseOut="rolloverOff('side-readme');"
onMouseOver="rolloverOn('side-readme');"><IMG alt="Release Notes" border="0"
height="12" hspace="0" name="side-readme"
onLoad="rolloverLoad('side-readme','graphics/readme-label-2.jpg','graphics/readme-label-3.jpg');"
src="graphics/readme-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="design/design2_0_0.html" onMouseOut="rolloverOff('side-ext-52');"
onMouseOver="rolloverOn('side-ext-52');"><IMG alt="Xalan 2 Design" border="0"
height="12" hspace="0" name="side-ext-52"
onLoad="rolloverLoad('side-ext-52','graphics/ext-52-label-2.jpg','graphics/ext-52-label-3.jpg');"
src="graphics/ext-52-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="xsltc/index.html" onMouseOut="rolloverOff('side-ext-54');"
onMouseOver="rolloverOn('side-ext-54');"><IMG alt="XSLTC Design" border="0"
height="12" hspace="0" name="side-ext-54"
onLoad="rolloverLoad('side-ext-54','graphics/ext-54-label-2.jpg','graphics/ext-54-label-3.jpg');"
src="graphics/ext-54-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="readme.html#bugs" onMouseOut="rolloverOff('side-ext-58');"
onMouseOver="rolloverOn('side-ext-58');"><IMG alt="Bugs" border="0" height="12"
hspace="0" name="side-ext-58"
onLoad="rolloverLoad('side-ext-58','graphics/ext-58-label-2.jpg','graphics/ext-58-label-3.jpg');"
src="graphics/ext-58-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="http://xml.apache.org/xalan-j/test/overview.html"
onMouseOut="rolloverOff('side-ext-60');"
onMouseOver="rolloverOn('side-ext-60');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-60"
onLoad="rolloverLoad('side-ext-60','graphics/ext-60-label-2.jpg','graphics/ext-60-label-3.jpg');"
src="graphics/ext-60-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
<A href="todo.html#developer-list" onMouseOut="rolloverOff('side-ext-64');"
onMouseOver="rolloverOn('side-ext-64');"><IMG alt="Credits" border="0"
height="12" hspace="0" name="side-ext-64"
onLoad="rolloverLoad('side-ext-64','graphics/ext-64-label-2.jpg','graphics/ext-64-label-3.jpg');"
src="graphics/ext-64-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="xsltc/todo.html#developer-list"
onMouseOut="rolloverOff('side-ext-66');"
onMouseOver="rolloverOn('side-ext-66');"><IMG alt="XSLTC Credits" border="0"
height="12" hspace="0" name="side-ext-66"
onLoad="rolloverLoad('side-ext-66','graphics/ext-66-label-2.jpg','graphics/ext-66-label-3.jpg');"
src="graphics/ext-66-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#intro">Introduction</A></LI>
<LI><A href="#classpath">Setting the system classpath for XSLTC</A></LI>
<LI><A href="#compile">Compiling translets from the command line</A></LI>
<LI><A href="#run">Running translets from the command line</A></LI>
<LI><A href="#api">Calling XSLTC with the TrAX/JAXP API</A></LI>
<LI><A href="#constraints">XSLTC usage constraints</A></LI>
</UL>
<P>See also: <A href="xsltc/index.html">XSLTC Design</A></P>
<A name="intro"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Introduction</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>XSLT provides a compiler and a runtime processor. Use the compiler to
compile an XSL stylesheet into a translet, a set of Java classes. Use the
runtime processor to apply the translet to an XML document and perform a
transformation.</P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>To compile
translets, you must be running the JDK or JRE 1.2 or higher. You can run
translets with the JDK or JRE 1.1.8 or higher.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR><A name="classpath"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Setting the system classpath for
XSLTC</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>To compile translets, run translets, and use the XSLTC API, put the
following on the system classpath:</P>
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%">
<TR>
<TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>Classes or JAR</B>
</FONT></TD>
<TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>To compile a translet</B>
</FONT></TD>
<TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>To run a translet</B>
</FONT></TD>
<TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>To use the XSLTC API</B>
</FONT></TD>
</TR>
<TR>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">the translet
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
</TR>
<TR>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">xsltc.jar
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
</TR>
<TR>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">runtime.jar
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
</TR>
<TR>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">BCEL.jar
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
</TR>
<TR>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Jlex.jar
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
</TR>
<TR>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">java_cup.jar
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">required
</FONT></TD>
</TR>
</TABLE>
<P>The JAR files listed above are in the Xalan-Java bin directory. The
translet is the set of class files or the JAR file that you generate with the
compiler; see <A href="#compile">Compiling translets</A>.</P>
<P>If you are using JDK or JRE 1.1.8, also include classes.zip on the
classpath. If you are using JDK or JRE 1.2, include tools.jar on the
classpath.</P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>For the time
being, the Xalan processor and XSLT do not yet use the same DOM, SAX, and
parser infastructures. Accordingly, you may find it necessary to reset the
system classpath each time you switch between the Xalan processor and XSLTC.
For information on setting the classpath for the Xalan processor, see <A
href="getstarted.html#classpath">Setting the system classpath for
Xalan</A>.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR>
<A name="compile"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Compiling translets from the command
line</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<UL>
<LI><A href="#comp-synopsis">Synopis</A></LI>
<LI><A href="#comp-args">Flags and arguments</A></LI>
<LI><A href="#comp-examples">Examples</A></LI>
</UL>
<P>The XSLT Compiler is a Java-based tool for compiling XSLT
stylesheets into lightweight and portable Java byte codes
called translets.</P>
<P>The XSLT Compiler can be run on any platform including UNIX,
Windows, NT, or Mac that supports Java 1.2.x or later. The generated
translets can be run on any platform that supports a Java
Runtime Environment, including a Palm Pilot with J2ME CLDC
(Java 2 Micro Edition, Connected Limited Device Configuration).</P>
<P>To run the compiler from the command line or a script, <A
href="#classpath">set the classpath</A> and
run the XSLTC class with the appropriate flags and arguments (described
below).</P>
<A name="comp-synopsis"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Synopsis</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>
<CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.compiler.XSLTC</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced"> [-o
<output>] [-d <directory>] [-j <jarfile>]</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced"> [-p
<package name>] [-u] <stylesheet>...</FONT></CODE></P>
</FONT></TD></TR></TABLE><BR><A name="comp-args"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Flags and arguments</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>The following flags and arguments are supported:</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>-o <output>
Specifies the name of the generated translet class.
If you omit this argument, the translet class is
named <stylesheet>. Translets are written as
.class files.
-d <directory>
Specifies the destination directory. If you omit
this argument, the translet class files are placed
in the current working directory.
-j <jarfile>
Outputs the generated translet class files into a
jar file named <jarfile>.jar. When this option is
used, only the jar file is output.
-p <package name>
Specifies a package name for the generated translet
classes.
-u <stylesheet>
Specifies the stylesheet with a URI such as
'http://myserver/stylesheet1.xsl'.
<stylesheet>
(No flag) The pathname of the stylesheet file.</PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
</FONT></TD></TR></TABLE><BR><A name="comp-examples"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Examples</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>The following examples assume that you have already set the
classpath to include the translet and the required JAR
files (see <A href="#classpath">setting the system classpath</A>).</P>
<P><B>Example 1:</B> Creating a translet from the hamlet.xsl
stylesheet.</P>
<P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.compiler.XSLTC</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced">
hamlet.xsl</FONT></CODE></P>
<P>Example 1 produces a set of class files such as hamlet.class,
hamlet$0.class, hamlet$1.class.</P>
<P><B>Example 2:</B> Outputting to a JAR file.</P>
<P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.compiler.XSLTC</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced"> -j
hamlet.jar hamlet.xsl</FONT></CODE></P>
<P>Example 2 produces hamlet.jar, which contains the translet class
files.</P>
<P><B>Example 3:</B> Specifying the translet class name. </P>
<P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.compiler.XSLTC</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced"> -o
newhamlet hamlet.xsl</FONT></CODE></P>
<P>Example 3 producs a set of class files such as newhamlet.class,
newhamlet$0.class, etc., rather than hamlet.class,
hamles$0.class, etc.</P>
<P><B>Example 4:</B> Compiling multiple stylesheets.</P>
<P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.compiler.XSLTC</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced">
hamlet1.xsl hamlet2.xsl hamlet3.xsl</FONT></CODE></P>
<P>Example 4 produces three translets and set of class files derived from
the three stylesheets.</P>
<P><B>Example 5:</B> Package Specification.</P>
<P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.compiler.XSLTC</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced"> -p
com.mycompany.translets hamlet.xsl</FONT></CODE></P>
<P>Example 5 produces a set of class files such as
com/mycompany/translets/hamlet.class,
com/mycompany/translets/hamlet$0.class', etc.</P>
</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR><A name="run"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Running translets from the command
line</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<UL>
<LI><A href="#run-synopsis">Synopis</A></LI>
<LI><A href="#run-args">Flags and arguments</A></LI>
<LI><A href="#run-examples">Examples</A></LI>
</UL>
<P>The Sun XSLT runtime processor is a Java-based tool for
transforming XML document files using a translet (compiled
stylesheet). </P>
<P>The XSLT processor can be run on any platform including UNIX,
Windows, NT, Mac that supports Java, including a Palm Pilot
with J2ME CLDC (Java 2 Micro Edition, Connected Limited Device
Configuration).</P>
<P>To run translet from the command line or a script, <A
href="#classpath">set the classpath</A> (be sure to include
the translet) and run the translset with the appropriate flags and
arguments (described below).</P>
<A name="run-synopsis"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Synopsis</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P><CODE><FONT face="courier, monospaced">java
<translet></FONT></CODE><BR>
<CODE><FONT face="courier, monospaced"> {-u
<document_url> | <document>} <class></FONT></CODE><BR>
<CODE><FONT face="courier, monospaced">
[<name1>=<value1> ...]</FONT></CODE></P>
</FONT></TD></TR></TABLE><BR><A name="run-args"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Flags and arguments</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>The following flags and arguments are supported:</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>-u
Specifies the XML input <document> with a URI,
such as 'http://myserver/hamlet.xml'.
Arguments wirhout flags:
<document>
Filename of the XML input document.
<document_url>
URI of the XML input document (see the -u flag above).
<class>
The translet that performs the transformation. The translet
may take a set of stylesheet parameters specified as
name-value pairs. The format for a name-value pair is
<name>=<value>.</PRE></FONT></TD><TD bgcolor="#0086b2"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></DIV>
</FONT></TD></TR></TABLE><BR><A name="run-examples"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Examples</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>The following examples assume that you have already set the
classpath to include the translet and the required JAR
files (see <A href="#classpath">setting the system classpath</A>).</P>
<P>A possible variation: You have set the classpath to include the
required JAR files, but when you run the translet,
you use the java -cp flag to add the current working directory
(containing the translet class files you have just generated)
to the classpath.</P>
<P><I>Windows:</I><CODE><FONT face="courier, monospaced"> java -cp
.;%CLASSPATH% ...</FONT></CODE><BR>
<I>UNIX: </I><CODE><FONT face="courier,
monospaced"> java -cp .:$CLASSPATH ...</FONT></CODE></P>
<P><B>Example 1:</B> Processing an XML document.</P>
<P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.runtime.DefaultRun</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced">
hamlet.xml hamlet</FONT></CODE></P>
<P>Example 1 uses the specified translet (hamlet) to transform the
specified XML input document (hamlet.xml).
The XML input document is in the current working directory. The translet
was created by using
org.apache.xalan.xslt.compiler.XSLTC to compile an XSL stylesheet
(hamlet.xsl). </P>
<P><B>Example 2:</B> Passing stylesheet parameters to the translet.</P>
<P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.runtime.DefaultRun</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced">
hamlet.xml hamlet</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced">
speaker=HAMLET 'scene=SCENE IV'</FONT></CODE></P>
<P>Example 2 passes "HAMLET" to the stylesheet for the
stylesheet parameter named speaker, and "SCENE IV" for the
stylesheet parameter named scene. The second name-value pair was placed
in single quotes to
specify a value containing a space.</P>
<P><B>Example 3:</B> Processing an XML input document specified with a
URI.</P>
<P><CODE><FONT face="courier, monospaced">java
org.apache.xalan.xsltc.runtime.DefaultRun</FONT></CODE><BR>
<CODE><FONT face="courier, monospaced"> -u
http://zarya.east/test.xml hamlet</FONT></CODE></P>
<P>Example 3 applies the translet (hamlet) to the XML input document
(http://zarya.east/test.xml hamlet). Inclusion of
the flag (-u) is optional.</P>
</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR><A name="api"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Calling XSLTC with the TrAX/JAXP API</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>G. Todd Miller has begun integrating the translet with the TrAX/JAXP 1.1
API. See <A href="xsltc/xsltc_trax.html">The Translet API & TrAX</A>.
Accordingly, it is now possible to set a system property and use a
TransformerFactory to generate a Transformer that performs a transformation by
compiling and running a translet.</P>
<P>When you use the JAXP 1.1 API to run Xalan-Java, the <CODE><FONT
face="courier,
monospaced">javax.xml.transformer.TransformerFactory</FONT></CODE> system
property is set to <CODE><FONT face="courier,
monospaced">org.apache.xalan.processor.TransformerFactoryImpl</FONT></CODE>. As
it currently stands, this Xalan implementation of TransformerFactory always
uses the Xalan Transformer to perform transformations. To use translets to
perform transformations, set this system property to <CODE><FONT face="courier,
monospaced">org.apache.xalan.xsltc.runtime.TransformerFactoryImpl</FONT></CODE>.
For information on setting this and related system properties designating XML
parsere and XSL transformer, see <A href="usagepatterns.html#plug">Plugging in
a Transformer and XML parser</A>.</P>
<P>To Use the JAXP 1.1 API to perform transformations with translets do the
following:</P>
<OL>
<LI>Set the <CODE><FONT face="courier,
monospaced">javax.xml.transformer.TransformerFactory</FONT></CODE> system
property as indicated above.<BR><BR></LI>
<LI>Instantiate a TransformerFactory.<BR><BR></LI>
<LI>Assuming you want to perform a series of transformations with the same
translet, use the TransformerFactory and a
StreamSource XSL stylesheet to generate a Templates object (the translet).
If you are performing a single
transformation, use the TransformerFactory and the StreamSource object to
instantiate a Transformer.<BR><BR></LI>
<LI>Perform the transformation, using a StreamSource object for the XML
input and a StreamResult object to hold the
transformation output.</LI>
</OL>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Examples</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P><B>Example 1:</B> Using a translet/Templates object for multiple
transformations</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>import java.util.Properties;
import javax.xml.transform.Transformer;
import java.io.FileOutputStream;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Templates;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
...
// Set the TransformerFactory system property.
// Note: For more flexibility, load properties from a properties file.
String key = "javax.xml.transform.TransformerFactory";
String value =
"org.apache.xalan.xsltc.runtime.TransformerFactoryImpl";
Properties props = System.getProperties();
props.put(key, value);
System.setProperties(props);
...
String xslInURI;
// Instantiate the TransformerFactory, and use it along with a SteamSource
// XSL stylesheet to create a translet as a Templates object.
TransformerFactory tFactory = TransformerFactory.newInstance();
Templates translet = tFactory.newTemplates(new StreamSource(xslInURI));
...
String xmlInURI;
String htmlOutURI;
...
// For each transformation, instantiate a new Transformer, and perform
// the transformation from a StreamSource to a StreamResult;
Transformer transformer = translet.newTransformer();
transformer.transform(new StreamSource(xmlInURI),
new StreamResult(new FileOutputStream(htmlOutURI)));
...</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
<P>For a working sample that illustrates this usage pattern, see <A
href="samples.html#xsltc1">JAXPTransletOneTransformation</A>.</P>
<P><B>Example 2:</B> Compiling a translet/Templates object for a single
transformation</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>import java.util.Properties;
import javax.xml.transform.TransformerFactory;
import java.io.FileOutputStream;
import javax.xml.transform.Transformer;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
...
// Set the TransformerFactory system property.
// Note: For more flexibility, load properties from a properties file.
String key = "javax.xml.transform.TransformerFactory";
String value =
"org.apache.xalan.xsltc.runtime.TransformerFactoryImpl";
Properties props = System.getProperties();
props.put(key, value);
System.setProperties(props);
...
String xslInURI;
String xmlInURI;
String htmlOutURI;
// Instantiate the TransformerFactory, and use it along with a SteamSource
// XSL stylesheet to create a Transformer.
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new StreamSource(xslInURI));
// Perform the transformation from a StreamSource to a StreamResult;
transformer.transform(new StreamSource(xmlInURI),
new StreamResult(new
FileOutputStream(htmlOutURI)));</PRE></FONT></TD><TD bgcolor="#0086b2"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></DIV>
<P>For a working sample that illustrates this usage pattern, see <A
href="samples.html#xsltc2">JAXPTransletMultipleTransformations</A>.</P>
</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR><A name="constraints"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>XSLTC usage constraints</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>See <A href="readme.html#xsltcconf">Conformance issues</A> and <A
href="readme.html#xsltcknownproblems">Known problems</A>.</P>
</FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1"
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT
color="#0086b2" size="-1"><I>
Copyright © 2000 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]