<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <!-- Generated by javadoc (build 1.6.0_18) on Fri Dec 09 20:48:48 GMT 2011 --> <TITLE> com.saxonica.pull </TITLE> <META NAME="date" CONTENT="2011-12-09"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="com.saxonica.pull"; } } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <HR> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../com/saxonica/ptree/package-summary.html"><B>PREV PACKAGE</B></A> <A HREF="../../../com/saxonica/schema/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?com/saxonica/pull/package-summary.html" target="_top"><B>FRAMES</B></A> <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <H2> Package com.saxonica.pull </H2> This package extends the pull API for Saxon that is provided in package <A HREF="../../../net/sf/saxon/pull/package-summary.html"><CODE>net.sf.saxon.pull</CODE></A> in Saxon-HE. <P> <B>See:</B> <BR> <A HREF="#package_description"><B>Description</B></A> <P> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Class Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/DocumentEventIgnorer.html" title="class in com.saxonica.pull">DocumentEventIgnorer</A></B></TD> <TD>This is a filter that can be added to a pull pipeline to remove START_DOCUMENT and END_DOCUMENT events.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/ElementNameTracker.html" title="class in com.saxonica.pull">ElementNameTracker</A></B></TD> <TD>This is a filter that can be added to a pull pipeline to remember element names so that they are available immediately after the END_ELEMENT event is notified</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/PullFromIterator.html" title="class in com.saxonica.pull">PullFromIterator</A></B></TD> <TD>This class delivers any XPath sequence through the pull interface.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/PullNamespaceReducer.html" title="class in com.saxonica.pull">PullNamespaceReducer</A></B></TD> <TD>PullNamespaceReducer is a PullFilter responsible for removing duplicate namespace declarations.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/PullToStax.html" title="class in com.saxonica.pull">PullToStax</A></B></TD> <TD>This class bridges PullProvider events to XMLStreamReader (Stax) events.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/PullToStax.SourceStreamLocation.html" title="class in com.saxonica.pull">PullToStax.SourceStreamLocation</A></B></TD> <TD>Bridge a SAX SourceLocator to a javax.xml.stream.Location</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/PullTracer.html" title="class in com.saxonica.pull">PullTracer</A></B></TD> <TD>PullTracer is a PullFilter that can be inserted into a pull pipeline for diagnostic purposes.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/TinyTreeWalker.html" title="class in com.saxonica.pull">TinyTreeWalker</A></B></TD> <TD>This implementation of the Saxon pull interface starts from a document, element, text, comment, or processing-instruction node in a TinyTree, and returns the events corresponding to that node and its descendants (including their attributes and namespaces).</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/TreeWalker.html" title="class in com.saxonica.pull">TreeWalker</A></B></TD> <TD>This implementation of the Saxon pull interface starts from any NodeInfo, and returns the events corresponding to that node and its descendants (including their attributes and namespaces).</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/UnconstructedDocument.html" title="class in com.saxonica.pull">UnconstructedDocument</A></B></TD> <TD>A document node whose construction is deferred.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/UnconstructedElement.html" title="class in com.saxonica.pull">UnconstructedElement</A></B></TD> <TD>An element node whose construction is deferred.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/UnconstructedParent.html" title="class in com.saxonica.pull">UnconstructedParent</A></B></TD> <TD>This class represents a virtual element node, the result of an element constructor that (in general) hasn't been fully evaluated.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../com/saxonica/pull/VirtualTreeWalker.html" title="class in com.saxonica.pull">VirtualTreeWalker</A></B></TD> <TD>A virtual tree walker provides a sequence of pull events describing the structure and content of a tree that is conceptually being constructed by expressions in a query or stylesheet; in fact the tree is not necessarily constructed in memory, and exists only as this stream of pull events.</TD> </TR> </TABLE> <P> <A NAME="package_description"><!-- --></A><H2> Package com.saxonica.pull Description </H2> <P> <p>This package extends the pull API for Saxon that is provided in package <A HREF="../../../net/sf/saxon/pull/package-summary.html"><CODE>net.sf.saxon.pull</CODE></A> in Saxon-HE. It provides features allowing walking of an existing Saxon tree and delivering events in the same way as a pull parser; it also allows queries and stylesheets to create lazily-constructed document and element nodes which can then be read using the pull interface.</p> <p>The three main kinds of <code>PullProvider</code> supported in this package are:</p> <ul> <li><p>StaxBridge, which is an interface to a pull-mode XML parser, and is also present in Saxon-HE</p></li> <li><p>TreeWalker, which delivers events based on an in-memory tree. There is one general-purpose TreeWalker that can handle any Saxon tree (any tree that implements the NodeInfo interface) and aother that is optimized to the TinyTree implementation.</p></li> <li><p>VirtualTreeWalker, which delivers events representing the nodes constructed by a stylesheet or query, without actually constructing the nodes in memory. (Note that this doesn't currently work if the constructed nodes need to be schema-validated).</p></li> </ul> <p>The facility to evaluate the results of a query in pull mode using the <code>PullProvider</code> interface are largely superseded by the <code>net.sf.saxon.evpull.EventIterator</code> interface, which is directly or indirectly supported by all expressions.</p> <p>Some examples of application code using the pull interface with Saxon are provided in the <code>PullExamples.java</code> file in the samples directory.</p> <p align="center"><i>Michael H. Kay<br/> Saxonica Limited<br/> 10 June 2009</i></p> <P> <P> <DL> </DL> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../com/saxonica/ptree/package-summary.html"><B>PREV PACKAGE</B></A> <A HREF="../../../com/saxonica/schema/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?com/saxonica/pull/package-summary.html" target="_top"><B>FRAMES</B></A> <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> Copyright (c) 2004-2011 Saxonica Limited. All rights reserved. </BODY> </HTML>