Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > b3bdfe6d859a3d6920ff2c44b38e9a6f > files > 2255

saxon-manual-9.4.0.9-2.mga7.noarch.rpm

<!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:21 GMT 2011 -->
<TITLE>
NamePool
</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="NamePool";
    }
}
</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>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../net/sf/saxon/om/NameOfNode.html" title="class in net.sf.saxon.om"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/sf/saxon/om/NamePool.NamePoolLimitException.html" title="class in net.sf.saxon.om"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?net/sf/saxon/om/NamePool.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="NamePool.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<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>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
net.sf.saxon.om</FONT>
<BR>
Class NamePool</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>net.sf.saxon.om.NamePool</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../net/sf/saxon/tree/util/DiagnosticNamePool.html" title="class in net.sf.saxon.tree.util">DiagnosticNamePool</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>NamePool</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL>
</PRE>

<P>
A NamePool holds a collection of expanded names, each containing a namespace URI,
 a namespace prefix, and a local name.

 <p>Each expanded name is allocated a unique integer namecode. The namecode enables
 all three parts of the expanded name to be determined, that is, the prefix, the
 URI, and the local name.</p>

 <p>The equivalence betweem names depends only on the URI and the local name.
 The namecode is designed so that if two namecodes represent names with the same
 URI and local name, the two namecodes are the same in the bottom 20 bits. It is
 therefore possible to compare two names for equivalence by performing an integer
 comparison of these 20 bits. The bottom 20 bits of a namecode are referred to as
 a fingerprint.</p>

 <p>The NamePool eliminates duplicate names if they have the same prefix, uri,
 and local part. It retains duplicates if they have different prefixes</p>

 <p>Internally the NamePool is organized as a fixed number of hash chains. The selection
 of a hash chain is based on hashing the local name, because it is unusual to have many
 names that share the same local name but use different URIs. There are 1024 hash chains
 and the identifier of the hash chain forms the bottom ten bits of the namecode. The
 next ten bits represent the sequential position of an entry within the hash chain. The
 upper bits represent the selection of prefix, from among the list of prefixes that have
 been used with a given URI. A prefix part of zero means no prefix; if the two prefixes
 used with a particular namespace are "xs" and "xsd", say, then these will be prefix
 codes 1 and 2.</p>

 <p>Fingerprints in the range 0 to 1023 are reserved for system use, and are allocated as constants
 mainly to names in the XSLT and XML Schema namespaces: constants representing these names
 are found in <A HREF="../../../../net/sf/saxon/om/StandardNames.html" title="class in net.sf.saxon.om"><CODE>StandardNames</CODE></A>.

 <p>Operations that update the NamePool, or that have the potential to update it, are
 synchronized. Read-only operations are done without synchronization. Although technically
 unsafe, this has not led to any problems in practice. Performance problems due to excessive
 contention on the NamePool have occasionally been observed: if this happens, the best strategy
 is to consider splitting the workload to use multiple Configurations each with a separate
 NamePool.</p>

 <h3>Internal organization of the NamePool</h3>

 <p>The NamePool holds two kinds of entry: name entries, representing
 expanded names (local name + prefix + URI), identified by a name code,
 and URI entries (prefix + URI) identified by a URI code.</p>

 <p>The data structure of the name table is as follows.</p>

 <p>There is a fixed size hash table; names are allocated to slots in this
 table by hashing on the local name. Each entry in the table is the head of
 a chain of NameEntry objects representing names that have the same hash code.</p>

 <p>Each NameEntry represents a distinct name (same URI and local name). It contains
 the local name as a string, plus a short integer representing the URI (as an
 offset into the array uris[] - this is known as the URIcode).</p>

 <p>The fingerprint of a name consists of the hash slot number (in the bottom 10 bits)
 concatenated with the depth of the entry down the chain of hash synonyms (in the
 next 10 bits). Fingerprints with depth 0 (i.e., in the range 0-1023) are reserved
 for predefined names (names of XSLT elements and attributes, and of built-in types).
 These names are not stored in the name pool, but are accessible as if they were.</p>

 <p>A nameCode contains the fingerprint in the bottom 20 bits. It also contains
 a 10-bit prefix index. This distinguishes the prefix used, among all the
 prefixes that have been used with this namespace URI. If the prefix index is
 zero, the prefix is null. Otherwise, it indexes an array of
 prefix Strings associated with the namespace URI. Note that the data structures
 and algorithms are optimized for the case where URIs usually use the same prefix.</p>

 <p>The nameCode -1 is reserved to mean "not known" or inapplicable. The fingerprint -1
 has the same meaning. Note that masking the nameCode -1 to extract its bottom 20 bits is
 incorrect, and will lead to errors.</p>

 <p>Modified in 9.4 to remove namespace codes.</p>
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Michael H. Kay</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#net.sf.saxon.om.NamePool">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.NamePoolLimitException.html" title="class in net.sf.saxon.om">NamePool.NamePoolLimitException</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uncaught Exception raised when some limit in the design of the name pool is exceeded</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#FP_MASK">FP_MASK</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FP_MASK is a mask used to obtain a fingerprint from a nameCode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#MAX_PREFIXES_PER_URI">MAX_PREFIXES_PER_URI</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#USER_DEFINED_MASK">USER_DEFINED_MASK</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#NamePool()">NamePool</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a NamePool</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#allocate(java.lang.String, java.lang.String, java.lang.String)">allocate</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix,
         <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uri,
         <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allocate a name from the pool, or a new Name if there is not a matching one there</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#allocateClarkName(java.lang.String)">allocateClarkName</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;expandedName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allocate a fingerprint given a Clark Name</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#allocateCodeForURI(java.lang.String)">allocateCodeForURI</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allocate the uri code for a given URI; create one if not found</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#allocateLexicalQName(java.lang.CharSequence, boolean, net.sf.saxon.om.NamespaceResolver, net.sf.saxon.om.NameChecker)">allocateLexicalQName</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A>&nbsp;qname,
                     boolean&nbsp;useDefault,
                     <A HREF="../../../../net/sf/saxon/om/NamespaceResolver.html" title="interface in net.sf.saxon.om">NamespaceResolver</A>&nbsp;resolver,
                     <A HREF="../../../../net/sf/saxon/om/NameChecker.html" title="class in net.sf.saxon.om">NameChecker</A>&nbsp;checker)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the nameCode for a lexical QName, given a namespace resolver.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#diagnosticDump()">diagnosticDump</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Diagnostic print of the namepool contents.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getClarkName(int)">getClarkName</A></B>(int&nbsp;nameCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the Clark form of a name, given its name code or fingerprint</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getClientData(java.lang.Class)">getClientData</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve client data on behalf of a user of the namepool</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getCodeForURI(java.lang.String)">getCodeForURI</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the uri code for a given URI</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getDisplayName(int)">getDisplayName</A></B>(int&nbsp;nameCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the display form of a name (the QName), given its name code or fingerprint</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getEQName(int)">getEQName</A></B>(int&nbsp;nameCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the EQName form of a name, given its name code or fingerprint</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getFingerprint(java.lang.String, java.lang.String)">getFingerprint</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uri,
               <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a fingerprint for the name with a given uri and local name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getLocalName(int)">getLocalName</A></B>(int&nbsp;nameCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the local part of a name, given its name code or fingerprint</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/om/NamespaceBinding.html" title="class in net.sf.saxon.om">NamespaceBinding</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getNamespaceBinding(int)">getNamespaceBinding</A></B>(int&nbsp;namecode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a namespace binding for a given namecode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getPrefix(int)">getPrefix</A></B>(int&nbsp;nameCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the prefix part of a name, given its name code</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getStructuredQName(int)">getStructuredQName</A></B>(int&nbsp;namecode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a namespace binding for a given namecode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getURI(int)">getURI</A></B>(int&nbsp;nameCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the namespace-URI of a name, given its name code or fingerprint</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getURICode(int)">getURICode</A></B>(int&nbsp;nameCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the URI code of a name, given its name code or fingerprint</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#getURIFromURICode(short)">getURIFromURICode</A></B>(short&nbsp;code)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the namespace URI from a URI code.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#isPrefixed(int)">isPrefixed</A></B>(int&nbsp;nameCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine whether a given namecode has a non-empty prefix (and therefore, in the case of attributes,
 whether the name is in a non-null namespace</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#parseClarkName(java.lang.String)">parseClarkName</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;expandedName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parse a Clark-format expanded name, returning the URI and local name</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#setClientData(java.lang.Class, java.lang.Object)">setClientData</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;key,
              <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save client data on behalf of a user of the namepool</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#statistics()">statistics</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Statistics summarizing the namepool contents.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/om/NamePool.html#suggestPrefixForURI(java.lang.String)">suggestPrefixForURI</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;URI)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Suggest a prefix for a given URI.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="FP_MASK"><!-- --></A><H3>
FP_MASK</H3>
<PRE>
public static final int <B>FP_MASK</B></PRE>
<DL>
<DD>FP_MASK is a mask used to obtain a fingerprint from a nameCode. Given a
 nameCode nc, the fingerprint is <code>nc & NamePool.FP_MASK</code>.
 (In practice, Saxon code often uses the literal constant 0xfffff,
 to extract the bottom 20 bits).

 <p>The difference between a fingerprint and a nameCode is that
 a nameCode contains information
 about the prefix of a name, the fingerprint depends only on the namespace
 URI and local name. Note that the "null" nameCode (-1) does not produce
 the "null" fingerprint (also -1) when this mask is applied.</p>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.sf.saxon.om.NamePool.FP_MASK">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="USER_DEFINED_MASK"><!-- --></A><H3>
USER_DEFINED_MASK</H3>
<PRE>
public static final int <B>USER_DEFINED_MASK</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.sf.saxon.om.NamePool.USER_DEFINED_MASK">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="MAX_PREFIXES_PER_URI"><!-- --></A><H3>
MAX_PREFIXES_PER_URI</H3>
<PRE>
public static final int <B>MAX_PREFIXES_PER_URI</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.sf.saxon.om.NamePool.MAX_PREFIXES_PER_URI">Constant Field Values</A></DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="NamePool()"><!-- --></A><H3>
NamePool</H3>
<PRE>
public <B>NamePool</B>()</PRE>
<DL>
<DD>Create a NamePool
<P>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getNamespaceBinding(int)"><!-- --></A><H3>
getNamespaceBinding</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/om/NamespaceBinding.html" title="class in net.sf.saxon.om">NamespaceBinding</A> <B>getNamespaceBinding</B>(int&nbsp;namecode)</PRE>
<DL>
<DD>Get a namespace binding for a given namecode.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namecode</CODE> - a code identifying an expanded QName, e.g. of an element or attribute
<DT><B>Returns:</B><DD>an object identifying the namespace binding used in the given name. The namespace binding
         identifies both the prefix and the URI.</DL>
</DD>
</DL>
<HR>

<A NAME="getStructuredQName(int)"><!-- --></A><H3>
getStructuredQName</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> <B>getStructuredQName</B>(int&nbsp;namecode)</PRE>
<DL>
<DD>Get a namespace binding for a given namecode.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namecode</CODE> - a code identifying an expanded QName, e.g. of an element or attribute
<DT><B>Returns:</B><DD>an object identifying the namespace binding used in the given name. The namespace binding
         identifies both the prefix and the URI.</DL>
</DD>
</DL>
<HR>

<A NAME="isPrefixed(int)"><!-- --></A><H3>
isPrefixed</H3>
<PRE>
public static boolean <B>isPrefixed</B>(int&nbsp;nameCode)</PRE>
<DL>
<DD>Determine whether a given namecode has a non-empty prefix (and therefore, in the case of attributes,
 whether the name is in a non-null namespace
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nameCode</CODE> - the name code to be tested
<DT><B>Returns:</B><DD>true if the name has a non-empty prefix</DL>
</DD>
</DL>
<HR>

<A NAME="allocateCodeForURI(java.lang.String)"><!-- --></A><H3>
allocateCodeForURI</H3>
<PRE>
public short <B>allocateCodeForURI</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uri)</PRE>
<DL>
<DD>Allocate the uri code for a given URI; create one if not found
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>uri</CODE> - The namespace URI. Supply "" or null for the "null namespace"
<DT><B>Returns:</B><DD>an integer code that uniquely identifies this URI within the namepool.</DL>
</DD>
</DL>
<HR>

<A NAME="getCodeForURI(java.lang.String)"><!-- --></A><H3>
getCodeForURI</H3>
<PRE>
public short <B>getCodeForURI</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uri)</PRE>
<DL>
<DD>Get the uri code for a given URI
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>uri</CODE> - the URI whose code is required
<DT><B>Returns:</B><DD>the associated integer URI code, or -1 if not present in the name pool</DL>
</DD>
</DL>
<HR>

<A NAME="suggestPrefixForURI(java.lang.String)"><!-- --></A><H3>
suggestPrefixForURI</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>suggestPrefixForURI</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;URI)</PRE>
<DL>
<DD>Suggest a prefix for a given URI. If there are several, it's undefined which one is returned.
 If there are no prefixes registered for this URI, return null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>URI</CODE> - the namespace URI
<DT><B>Returns:</B><DD>a prefix that has previously been associated with this URI, if available; otherwise null</DL>
</DD>
</DL>
<HR>

<A NAME="allocate(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
allocate</H3>
<PRE>
public int <B>allocate</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix,
                    <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uri,
                    <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;localName)</PRE>
<DL>
<DD>Allocate a name from the pool, or a new Name if there is not a matching one there
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - the namespace prefix. Use "" for the null prefix, representing the absent namespace<DD><CODE>uri</CODE> - the namespace URI. Use "" or null for the non-namespace.<DD><CODE>localName</CODE> - the local part of the name
<DT><B>Returns:</B><DD>an integer (the "namecode") identifying the name within the namepool.
         The Name itself may be retrieved using the getName(int) method</DL>
</DD>
</DL>
<HR>

<A NAME="getURI(int)"><!-- --></A><H3>
getURI</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getURI</B>(int&nbsp;nameCode)</PRE>
<DL>
<DD>Get the namespace-URI of a name, given its name code or fingerprint
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nameCode</CODE> - the name code or fingerprint of a name
<DT><B>Returns:</B><DD>the namespace URI corresponding to this name code. Returns "" for the
 no-namespace.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the nameCode is not known to the NamePool.</DL>
</DD>
</DL>
<HR>

<A NAME="getURICode(int)"><!-- --></A><H3>
getURICode</H3>
<PRE>
public short <B>getURICode</B>(int&nbsp;nameCode)</PRE>
<DL>
<DD>Get the URI code of a name, given its name code or fingerprint
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nameCode</CODE> - the name code or fingerprint of a name in the name pool
<DT><B>Returns:</B><DD>the integer code identifying the namespace URI part of the name</DL>
</DD>
</DL>
<HR>

<A NAME="getLocalName(int)"><!-- --></A><H3>
getLocalName</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLocalName</B>(int&nbsp;nameCode)</PRE>
<DL>
<DD>Get the local part of a name, given its name code or fingerprint
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nameCode</CODE> - the integer name code or fingerprint of the name
<DT><B>Returns:</B><DD>the local part of the name represented by this name code or fingerprint</DL>
</DD>
</DL>
<HR>

<A NAME="getPrefix(int)"><!-- --></A><H3>
getPrefix</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getPrefix</B>(int&nbsp;nameCode)</PRE>
<DL>
<DD>Get the prefix part of a name, given its name code
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nameCode</CODE> - the integer name code of a name in the name pool
<DT><B>Returns:</B><DD>the prefix of this name. Note that if a fingerprint rather than a full name code is supplied
 the returned prefix will be ""</DL>
</DD>
</DL>
<HR>

<A NAME="getDisplayName(int)"><!-- --></A><H3>
getDisplayName</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getDisplayName</B>(int&nbsp;nameCode)</PRE>
<DL>
<DD>Get the display form of a name (the QName), given its name code or fingerprint
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nameCode</CODE> - the integer name code or fingerprint of a name in the name pool
<DT><B>Returns:</B><DD>the corresponding lexical QName (if a fingerprint was supplied, this will
 simply be the local name)</DL>
</DD>
</DL>
<HR>

<A NAME="getClarkName(int)"><!-- --></A><H3>
getClarkName</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getClarkName</B>(int&nbsp;nameCode)</PRE>
<DL>
<DD>Get the Clark form of a name, given its name code or fingerprint
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nameCode</CODE> - the integer name code or fingerprint of a name in the name pool
<DT><B>Returns:</B><DD>the local name if the name is in the null namespace, or "{uri}local"
         otherwise. The name is always interned.</DL>
</DD>
</DL>
<HR>

<A NAME="getEQName(int)"><!-- --></A><H3>
getEQName</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getEQName</B>(int&nbsp;nameCode)</PRE>
<DL>
<DD>Get the EQName form of a name, given its name code or fingerprint
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nameCode</CODE> - the integer name code or fingerprint of a name in the name pool
<DT><B>Returns:</B><DD>the name in the form '':local for a name in no namespace, or 'uri':local for
 a name in a namespace</DL>
</DD>
</DL>
<HR>

<A NAME="allocateClarkName(java.lang.String)"><!-- --></A><H3>
allocateClarkName</H3>
<PRE>
public int <B>allocateClarkName</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;expandedName)</PRE>
<DL>
<DD>Allocate a fingerprint given a Clark Name
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>expandedName</CODE> - the name in Clark notation, that is "localname" or "{uri}localName"
<DT><B>Returns:</B><DD>the fingerprint of the name, which need not previously exist in the name pool</DL>
</DD>
</DL>
<HR>

<A NAME="parseClarkName(java.lang.String)"><!-- --></A><H3>
parseClarkName</H3>
<PRE>
public static <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>parseClarkName</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;expandedName)</PRE>
<DL>
<DD>Parse a Clark-format expanded name, returning the URI and local name
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>expandedName</CODE> - the name in Clark notation, that is "localname" or "{uri}localName"
<DT><B>Returns:</B><DD>an array of two strings, the URI and the local name respectively</DL>
</DD>
</DL>
<HR>

<A NAME="getFingerprint(java.lang.String, java.lang.String)"><!-- --></A><H3>
getFingerprint</H3>
<PRE>
public int <B>getFingerprint</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uri,
                          <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;localName)</PRE>
<DL>
<DD>Get a fingerprint for the name with a given uri and local name.
 These must be present in the NamePool.
 The fingerprint has the property that if two fingerprint are the same, the names
 are the same (ie. same local name and same URI).
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>uri</CODE> - the namespace URI of the required QName<DD><CODE>localName</CODE> - the local part of the required QName
<DT><B>Returns:</B><DD>the integer fingerprint, or -1 if this is not found in the name pool</DL>
</DD>
</DL>
<HR>

<A NAME="getURIFromURICode(short)"><!-- --></A><H3>
getURIFromURICode</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getURIFromURICode</B>(short&nbsp;code)</PRE>
<DL>
<DD>Get the namespace URI from a URI code.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>code</CODE> - a code that identifies the URI within the name pool
<DT><B>Returns:</B><DD>the URI represented by this code</DL>
</DD>
</DL>
<HR>

<A NAME="allocateLexicalQName(java.lang.CharSequence, boolean, net.sf.saxon.om.NamespaceResolver, net.sf.saxon.om.NameChecker)"><!-- --></A><H3>
allocateLexicalQName</H3>
<PRE>
public int <B>allocateLexicalQName</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A>&nbsp;qname,
                                boolean&nbsp;useDefault,
                                <A HREF="../../../../net/sf/saxon/om/NamespaceResolver.html" title="interface in net.sf.saxon.om">NamespaceResolver</A>&nbsp;resolver,
                                <A HREF="../../../../net/sf/saxon/om/NameChecker.html" title="class in net.sf.saxon.om">NameChecker</A>&nbsp;checker)
                         throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Get the nameCode for a lexical QName, given a namespace resolver.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>qname</CODE> - the lexical QName (with leading and trailing whitespace allowed).<DD><CODE>useDefault</CODE> - if true, an absent prefix is resolved by the NamespaceResolver
 to the namespace URI assigned to the prefix "". If false, an absent prefix is
 interpreted as meaning the name is in no namespace.<DD><CODE>resolver</CODE> - NamespaceResolver used to resolve the namespace prefix to a namespace URI<DD><CODE>checker</CODE> - NameChecker used to check names against the XML 1.0 or 1.1 specification
<DT><B>Returns:</B><DD>the corresponding nameCode
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if the string is not a valid lexical QName or
 if the namespace prefix has not been declared</DL>
</DD>
</DL>
<HR>

<A NAME="setClientData(java.lang.Class, java.lang.Object)"><!-- --></A><H3>
setClientData</H3>
<PRE>
public void <B>setClientData</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;key,
                          <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Save client data on behalf of a user of the namepool
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the class that is maintaining private data in the name pool<DD><CODE>value</CODE> - the private data maintained in the name pool on behalf of this class</DL>
</DD>
</DL>
<HR>

<A NAME="getClientData(java.lang.Class)"><!-- --></A><H3>
getClientData</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getClientData</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;key)</PRE>
<DL>
<DD>Retrieve client data on behalf of a user of the namepool
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the class that is maintaining private data in the name pool
<DT><B>Returns:</B><DD>the private data maintained in the name pool on behalf of this class</DL>
</DD>
</DL>
<HR>

<A NAME="diagnosticDump()"><!-- --></A><H3>
diagnosticDump</H3>
<PRE>
public void <B>diagnosticDump</B>()</PRE>
<DL>
<DD>Diagnostic print of the namepool contents.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="statistics()"><!-- --></A><H3>
statistics</H3>
<PRE>
public void <B>statistics</B>()</PRE>
<DL>
<DD>Statistics summarizing the namepool contents.
 This method outputs summary statistical information to System.err
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<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>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../net/sf/saxon/om/NameOfNode.html" title="class in net.sf.saxon.om"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/sf/saxon/om/NamePool.NamePoolLimitException.html" title="class in net.sf.saxon.om"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?net/sf/saxon/om/NamePool.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="NamePool.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<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>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></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>