<html> <head> <title>Interface XFastParser</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../../idl.css"> </head> <body> <div id="adc-idlref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="3"> <tr> <td class="navimain"><a href="../../module-ix.html" class="navimain">Overview</a></td> <td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td> <td class="navimain"><a href="XFastParser-xref.html" class="navimain">Use</a></td> <td class="navimainnone">Devguide</td> <td class="navimain"><a href="../../../../../index-files/index-1.html" class="navimain">Index</a></td> </tr> </table> <table class="navisub" border="0" cellpadding="0"> <tr> <td class="navisub"><a href="#MethodsSummary" class="navisub">Methods' Summary</a></td> <td class="navisub">Attributes' Summary</td> <td class="navisub"><a href="#MethodsDetails" class="navisub">Methods' Details</a></td> <td class="navisub">Attributes' Details</td> </tr> </table> <hr> <table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;"> <tr> <td><p class="namechain"><a href="../../../../../module-ix.html" class="namechain">::</a> <a href="../../../../module-ix.html" class="namechain">com</a> :: <a href="../../../module-ix.html" class="namechain">sun</a> :: <a href="../../module-ix.html" class="namechain">star</a> :: <a href="../module-ix.html" class="namechain">xml</a> :: <a href="module-ix.html" class="namechain">sax</a> :: </p> </td> </tr> <tr> <td class="title"><table class="title-table" width="99%"> <tr> <td width="25%" class="title2">unpublished </td> <td width="50%" class="title">interface XFastParser</td> <td width="*"/></tr> </table> </td> </tr> <tr> <td/></tr> <tr> <td><dl> <dt><b>Usage Restrictions</b></dt> <dd><i>not published</i></dd> <dt><b>Description</b></dt> <dd>specifies a SAX parser that uses integer values for known xml names (elements, attributes and attribute values). The parser also handles namespaces and allows to have individual contexts for each xml element. </dd> <dd><p>Before parsing is possible you have to set your <a href="XFastDocumentHandler.html">XFastDocumentHandler</a> using <a href="XFastParser.html#setFastDocumentHandler">setFastDocumentHandler</a>. <p>Parsing starts with calling <a href="XFastParser.html#parseStream">parseStream</a>. If the parser finds a valid xml file with the given <a href="InputSource.html">InputSource</a>, it calls <a href="XFastDocumentHandler.html">XFastDocumentHandler</a>::<a href="XFastDocumentHandler.html#startDocument">startDocument</a> first. <p>This parser generates either 'fast' events that use integer token values for namespaces, elements and attributes or 'unknown' events for elements that are unknown. <p>A namespace is unknown if the namespace URL was not registered with <a href="XFastParser.html#registerNamespace">registerNamespace</a>. <p>An element is unknown if no <a href="XFastTokenHandler.html">XFastTokenHandler</a> is set or if the <a href="XFastTokenHandler.html">XFastTokenHandler</a> does not return a valid identifier for the elements local name. An element is also unknown if the elements local name is known but it uses a namespace that is unknown. <p>Setting a <a href="XFastTokenHandler.html">XFastTokenHandler</a> with <a href="XFastParser.html#setTokenHandler">setTokenHandler</a> is optional, but without a <a href="XFastTokenHandler.html">XFastTokenHandler</a> you will only get unknown sax events. This can be usefull if you are only interested in the namespace handling and/or the context feature. <p>For each element the parser sends a create child element event to the elements parent context by calling <a href="XFastContextHandler.html">XFastContextHandler</a>::<a href="XFastContextHandler.html#createFastChildContext">createFastChildContext</a> for known elements or <a href="XFastContextHandler.html">XFastContextHandler</a>::<a href="XFastContextHandler.html#createUnknownChildContext">createUnknownChildContext</a> for unknown elements. <br>The parent context for the root element is the <a href="XFastDocumentHandler.html">XFastDocumentHandler</a> itself. <p>If the parent context returns an empty reference, no further events for the element and all of its childs are created. <p>If a valid context is returned this context gets a start event by a call to <a href="XFastContextHandler.html">XFastContextHandler</a>::<a href="XFastContextHandler.html#startFastElement">startFastElement</a> for known elements or <a href="XFastContextHandler.html">XFastContextHandler</a>::<a href="XFastContextHandler.html#startUnknownElement">startUnknownElement</a> for unknown elements. <p>After processing all its child elements the context gets an end event by a call to <a href="XFastContextHandler.html">XFastContextHandler</a>::<a href="XFastContextHandler.html#endFastElement">endFastElement</a> for known elements or <a href="XFastContextHandler.html">XFastContextHandler</a>::<a href="XFastContextHandler.html#endUnknownElement">endUnknownElement</a> for unknown elements. <p>It is valid to return one instance of <a href="XFastContextHandler.html">XFastContextHandler</a> more than once. It is even possible to only use the <a href="XFastDocumentHandler.html">XFastDocumentHandler</a> by always returning a reference to itself for each create child context event. <p>After the last element is processed the parser generates an end document event at the <a href="XFastDocumentHandler.html">XFastDocumentHandler</a> by calling <a href="XFastDocumentHandler.html">XFastDocumentHandler</a>::<a href="XFastDocumentHandler.html#endDocument">endDocument</a>. </dd> <dt><b>See also</b></dt> <dd><a href="http://wiki.services.openoffice.org/wiki/FastParser">http://wiki.services.openoffice.org/wiki/FastParser</a></dd> </dl> </td> </tr> </table> <hr> <a name="MethodsSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Methods' Summary</td> </tr> <tr> <td class="imsum_left"><a href="#parseStream">parseStream</a></td> <td class="imsum_right">parses an XML document from a stream. </td> </tr> <tr> <td class="imsum_left"><a href="#setFastDocumentHandler">setFastDocumentHandler</a></td> <td class="imsum_right">Application must register a document event handler to get sax events for the parsed stream. </td> </tr> <tr> <td class="imsum_left"><a href="#setTokenHandler">setTokenHandler</a></td> <td class="imsum_right">must be registered to translate known xml names to integer tokens. </td> </tr> <tr> <td class="imsum_left"><a href="#registerNamespace">registerNamespace</a></td> <td class="imsum_right">registers a known namespace url with the given integer token.<br> </td> </tr> <tr> <td class="imsum_left"><a href="#setErrorHandler">setErrorHandler</a></td> <td class="imsum_right">allows an application to register an error event handler. </td> </tr> <tr> <td class="imsum_left"><a href="#setEntityResolver">setEntityResolver</a></td> <td class="imsum_right">allows an application to register a DTD-Handler. </td> </tr> <tr> <td class="imsum_left"><a href="#setLocale">setLocale</a></td> <td class="imsum_right">sets a locale specified for localization of warnings and error messages. </td> </tr> </table> <a name="MethodsDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle">Methods' Details</td> </tr> <tr> <td class="imdetail"><a name="parseStream" class="membertitle">parseStream</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>parseStream</b>(</td> <td valign="top">[in] <a href="InputSource.html">InputSource</a></td> <td valign="bottom"> aInputSource )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="SAXException.html">SAXException</a>,<br> ::com::sun::star::<a href="../../io/module-ix.html">io</a>::<a href="../../io/IOException.html">IOException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>parses an XML document from a stream. </dd> <dd><p>Set the desired handlers before calling this method.</p> </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="setFastDocumentHandler" class="membertitle">setFastDocumentHandler</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>setFastDocumentHandler</b>(</td> <td valign="top">[in] <a href="XFastDocumentHandler.html">XFastDocumentHandler</a></td> <td valign="bottom"> Handler );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>Application must register a document event handler to get sax events for the parsed stream. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="setTokenHandler" class="membertitle">setTokenHandler</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>setTokenHandler</b>(</td> <td valign="top">[in] <a href="XFastTokenHandler.html">XFastTokenHandler</a></td> <td valign="bottom"> Handler );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>must be registered to translate known xml names to integer tokens. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="registerNamespace" class="membertitle">registerNamespace</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>registerNamespace</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> NamespaceURL,</td> </tr> <tr> <td/><td valign="top">[in] long</td> <td valign="bottom"> NamespaceToken )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2">::com::sun::star::<a href="../../lang/module-ix.html">lang</a>::<a href="../../lang/IllegalArgumentException.html">IllegalArgumentException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>registers a known namespace url with the given integer token.<br> </dd> <dt><b>Parameter NamespaceToken</b></dt> <dd>an integer token that must be greater than FastToken::NAMESPACE. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="setErrorHandler" class="membertitle">setErrorHandler</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>setErrorHandler</b>(</td> <td valign="top">[in] <a href="XErrorHandler.html">XErrorHandler</a></td> <td valign="bottom"> Handler );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows an application to register an error event handler. </dd> <dd><p>Note that the error handler can throw an exception when an error or warning occurs. Note that an exception is thrown by the parser when an unrecoverable (fatal) error occurs.</p> </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="setEntityResolver" class="membertitle">setEntityResolver</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>setEntityResolver</b>(</td> <td valign="top">[in] <a href="XEntityResolver.html">XEntityResolver</a></td> <td valign="bottom"> Resolver );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows an application to register a DTD-Handler. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="setLocale" class="membertitle">setLocale</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>setLocale</b>(</td> <td valign="top">[in] ::com::sun::star::<a href="../../lang/module-ix.html">lang</a>::<a href="../../lang/Locale.html">Locale</a></td> <td valign="bottom"> locale );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>sets a locale specified for localization of warnings and error messages. </dd> <dd><p>Set the language of the error messages. Useful when the parsing errors will be presented to the user.</p> </dd> </dl> </td> </tr> </table> </td> </tr> </table> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p> </div> <!-- id="adc-idlref" --> </body> </html>