dleslie 01/06/15 09:50:53 Modified: java/xdocs/sources/xalan dtm.xml readme.xml whatsnew.xml Log: cleanup for 2.2.D2 Revision Changes Path 1.2 +70 -42 xml-xalan/java/xdocs/sources/xalan/dtm.xml Index: dtm.xml =================================================================== RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/dtm.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dtm.xml 2001/06/14 23:02:56 1.1 +++ dtm.xml 2001/06/15 16:50:50 1.2 @@ -3,49 +3,77 @@ <!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"> <s1 title="&xslt4j; DTM"> +<ul> + <li><link anchor="intro">Introduction</link></li> + <li><link anchor="settings">Performance settings</link></li> +</ul><anchor name="intro"/> <s2 title="Introduction"> -<p>The Document Table Model (DTM) is an interface that mimics the W3C Document Object Model (<resource-ref idref="dom"/>) interface. In place of the DOM object tree of nodes, DTM uses integer arrays and string pools to represent the structure and content of the XML document to be transformed. The motivation behind this model is to optimize performance and minimize storage.</p> -<p>Specifically, DTM avoids the overhead of instantiating the objects the standard DOM requires to represent a tree of nodes. DTM uses unique integer "handles" to identify nodes, integer ID values to represent URLs, local names, and expanded names, and integer index and length references to a string buffer to represent the text value of each node.</p> -<p>The Xalan DTM implementation also allows the Xalan processor to begin reading the DTM and performing the transformation while the DTM is still being assembled (the parser is still parsing the XML source).</p> -</s2> -<s2 title="DTM performance settings"> -<p>&xslt4j; implements two DTM performance features that you can control with the TransformerFactory -<jump href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute()</jump> -method.</p> -<table> -<tr> - <th>Attribute ID (URL)</th> - <th>Default setting</th> - <th>Description</th> -</tr> -<tr> - <td>"http://xml.apache.org/xalan/features/incremental"</td> - <td>false</td> - <td>incremental transforms</td> -</tr> -<tr> - <td>"http://xml.apache.org/xalan/features/optimize"</td> - <td>true</td> - <td>optimized transforms</td> -</tr> -</table> -<s3 title="http://xml.apache.org/xalan/features/incremental"> - <p>Set this feature to true to enable incremental transformations. If set to false - (the default), the transform and the parse are performed on the same thread.</p> - <note> When set to true: If the parser is Xerces, we perform an incremental transform on a single thread using the Xerces - "parse on demand" feature. If the parser is not Xerces, we run the transform in one thread and the parse in another. Exception: if the - parser is not Xerces and the XML source is a DOMSource, setting this feature to true has no effect.</note> - <p>Example: setting incremental transforms to true:</p> - <source>javax.xml.transform.TransformerFactory tFactory = - javax.xml.transform.TransformerFactory.newInstance(); -tFactory.setAttribute - ("http://xml.apache.org/xalan/features/incremental", true); -...</source> + <p>The Document Table Model (DTM) is an interface to a Document Model designed specifically for the needs of our XPath and XSLT + implementations. The motivation behind this model is to optimize performance and minimize storage.</p> + <p>Specifically, DTM avoids the overhead of instantiating the objects the standard DOM requires to represent a tree of nodes. + DTM uses unique integer "handles" to identify nodes, integer ID values to represent URLs, local names, and expanded names, and + integer index and length references to a string buffer to represent the text value of each node.</p> + <p>In general, the "read" APIs to DTM resemble those of the W3C Document Object Model (<resource-ref idref="dom"/>) interface. + However, in place of the DOM object tree of nodes, DTM uses integer arrays and string pools to represent the structure and content + of the XML document to be transformed. DTM also structures the document's contents slightly differently, to better match the XPath + data model; some details and constraints present in a standard DOM are suppressed, and a few XPath-specific features are added.</p> + <p>DTM is intended to be a read-only model, and so does not attempt to replicate the DOM's write or create-node operations.</p> + <p>The details of constructing a DTM vary depending on which implementation of this API you are using. Two reference implementations are + currently available:</p> +<ul> + <li>SAX2DTM (built via a SAX stream)</li> + <li>DOM2DTM (which provides DTM access to an existing DOM)</li> +</ul> + <p>Both DTMs can be built incrementally (see <link anchor="incremental">incremental transforms</link>). When operating incrementally, the + DTM allows the Xalan processor to begin reading the DTM and performing the transformation while the DTM is still being assembled + (for example, while the parser is still parsing the XML source), and attempts to do only as much work as is needed to support the + read requests actually made by the XPath or XSLT processor.</p> + <p>For the convenience of user-written extensions, a proxy mechanism presents the contents of the DTM as a read-only subset of the DOM.</p> + </s2><anchor name="settings"/> + <s2 title="DTM performance settings"> + <p>&xslt4j; implements two DTM performance features that you can control with the TransformerFactory + <jump href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute(String name, Object value)</jump> + method.</p> + <table> + <tr> + <th>Attribute name (URL)</th> + <th>Default setting</th> + <th>Description</th> + </tr> + <tr> + <td>"http://xml.apache.org/xalan/features/incremental"</td> + <td>false</td> + <td><link anchor="incremental">incremental transforms</link></td> + </tr> + <tr> + <td>"http://xml.apache.org/xalan/features/optimize"</td> + <td>true</td> + <td><link anchor="optimized">optimized transforms</link></td> + </tr> + </table> + <p>Both of these DTM settings are described below.</p> + <anchor name="incremental"/> + <s3 title="http://xml.apache.org/xalan/features/incremental"> + <p>Set this feature to true to enable incremental transformations. If set to false (the default), the transform and the parse + are performed on the same thread.</p> + <note> When set to true: If the parser is Xerces, we perform an +incremental transform on a single thread using the Xerces + "parse on demand" feature. If the parser is not Xerces, we run the +transform in one thread and the parse in another. Exception: if the + parser is not Xerces and the XML source is a DOMSource, setting this +feature to true has no effect.</note> + <p>Example: setting incremental transforms to true:</p> + <source>javax.xml.transform.TransformerFactory tFactory = + javax.xml.transform.TransformerFactory.newInstance(); + // setAttribute() takes a String and an Object. + tFactory.setAttribute + ("http://xml.apache.org/xalan/features/incremental", + java.lang.Boolean.TRUE); + ...</source> + </s3><anchor name="optimized"/> + <s3 title="http://xml.apache.org/xalan/features/optimize"> + <p>When set to true (the default), this feature enables optimizations that may involve structural rewrites of the stylesheet. + Any tool that requires direct access to the stylesheet structure should set this feature to false.</p> </s3> -<s3 title="http://xml.apache.org/xalan/features/optimize"> - <p>When set to true (the default), this feature enables optimizations that may involve - structural rewrites of the stylesheet. Any tool that requires direct access to the stylesheet structure should set this feature to - false.</p> -</s3> </s2> </s1> 1.39 +12 -39 xml-xalan/java/xdocs/sources/xalan/readme.xml Index: readme.xml =================================================================== RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/readme.xml,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- readme.xml 2001/06/14 23:02:30 1.38 +++ readme.xml 2001/06/15 16:50:51 1.39 @@ -77,17 +77,23 @@ <li><link anchor="status">Version of Xerces to use</link></li> <li><link anchor="to-do">To-do tasks for future &xslt4j; releases</link></li> </ul> - <anchor name="done"/> + <anchor name="done"/><anchor name="dtm"/> <s3 title="Changes since &xslt4j; 2.1.0"> - <p>We have incorporated all our work over the past several months on the Document Table Model - <link idref="whatsnew" anchor="dtm">DTM</link> into this build.</p> + <p>This release includes the following changes:</p> + <ul> + <li>Deprecation of the <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatiblity API</link></li> + <li>The DTM</li> + <li>Other optimization work</li> + </ul> + <anchor name="dtm"/> + <p>The primary focus of the 2.2 Developer releases is incorporation of all our work over the past several months on the Document Table + Model (<link idref="dtm">DTM</link>).</p> <p>As a result of the changes in *internal* api, you may encounter problems with extensions. We have done some bug fixing in support for extensions since 2.2.D1. John Gentilin is working on fixing the SQL library extension,which currently is broken. Please report any problems you find (see <link anchor="bugs">bugs</link>).</p> -<anchor name="dtm"/> -<p>The DTM work provides faster performance and less accumulation of garbage... though it is an +<p>The DTM and related work provides faster performance and less accumulation of garbage... though it is an ongoing battle. Brief summary:</p> <ul> <li>The DTM identifies nodes with 32-bit integer handles. @@ -118,40 +124,7 @@ </ul> <p>&xslt4j; implements two DTM performance features that you can control with the TransformerFactory <jump href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute()</jump> -method.</p> -<table> -<tr> - <th>Attribute ID (URL)</th> - <th>Default setting</th> - <th>Description</th> -</tr> -<tr> - <td>"http://xml.apache.org/xalan/features/incremental"</td> - <td>false</td> - <td>incremental transforms</td> -</tr> -<tr> - <td>"http://xml.apache.org/xalan/features/optimize"</td> - <td>true</td> - <td>optimized transforms</td> -</tr> -</table> -<p><em>"http://xml.apache.org/xalan/features/incremental"</em></p> - <p>Set this feature to true to enable incremental transformations. If set to false - (the default), the transform and the parse are performed on the same thread.</p> - <note> When set to true: If the parser is Xerces, we perform an incremental transform on a single thread using the Xerces - "parse on demand" feature. If the parser is not Xerces, we run the transform in one thread and the parse in another. Exception: if the - parser is not Xerces and the XML source is a DOMSource, setting this feature to true has no effect.</note> - <p>Example: setting incremental transforms to true:</p> - <source>javax.xml.transform.TransformerFactory tFactory = - javax.xml.transform.TransformerFactory.newInstance(); -tFactory.setAttribute - ("http://xml.apache.org/xalan/features/incremental", true); -...</source> -<p><em>"http://xml.apache.org/xalan/features/optimize"</em></p> - <p>When set to true (the default), this feature enables optimizations that may involve - structural rewrites of the stylesheet. Any tool that requires direct access to the stylesheet structure should set this feature to - false.</p> +method. See <link idref="dtm" anchor="settings">DTM performance settings</link></p> </s3> <anchor name="other"/> <s3 title="Other points of interest"> 1.23 +1 -7 xml-xalan/java/xdocs/sources/xalan/whatsnew.xml Index: whatsnew.xml =================================================================== RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/whatsnew.xml,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- whatsnew.xml 2001/06/14 23:02:31 1.22 +++ whatsnew.xml 2001/06/15 16:50:51 1.23 @@ -70,12 +70,6 @@ <p>As part of the Java API for XML Processing, TraX provides a stable framework for plugging Transformers (like &xslt4j;) and XML parsers (like &xml4j;) into your applications without tying yourself to the internal details of those implementations. See <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML parser</link>.</p> </s2><anchor name="dtm"/> <s2 title="&xslt4j; DTM"> - -<p>The Document Table Model (DTM) is an interface that mimics the W3C Document Object Model (<resource-ref idref="dom"/>) interface. In place of the DOM object tree of nodes, DTM uses integer arrays and string pools to represent the structure and content of the XML document to be transformed. The motivation behind this model is to optimize performance and minimize storage.</p> -<p>Specifically, DTM avoids the overhead of instantiating the objects the standard DOM requires to represent a tree of nodes. DTM uses unique integer "handles" to identify nodes, integer ID values to represent URLs, local names, and expanded names, and integer index and length references to a string buffer to represent the text value of each node.</p> -<p>The Xalan DTM implementation also allows the Xalan processor to begin reading the DTM and performing the transformation while the DTM is still being assembled (the parser is still parsing the XML source).</p> -<p>For more information, see <link idref="readme" anchor="dtm">DTM Release Notes</link>.</p> +<p>In place of the DOM object tree of nodes, the Document Table Model (DTM) uses integer arrays and string pools to represent the structure and content of the XML document to be transformed. The motivation behind this model is to optimize performance and minimize storage. For more information, see <link idref="dtm">DTM</link> and <link idref="readme" anchor="dtm">DTM Release Notes</link>.</p> </s2> - - </s1>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
