com.ximpleware
Class VTDNav

java.lang.Object
  extended by com.ximpleware.VTDNav

public class VTDNav
extends java.lang.Object

The VTD Navigator allows one to navigate XML document represented in VTD records and Location caches *


Field Summary
static int FC
           
static int FIRST_CHILD
           
static int FORMAT_ASCII
           
static int FORMAT_ISO_8859_1
           
static int FORMAT_ISO_8859_10
           
static int FORMAT_ISO_8859_11
           
static int FORMAT_ISO_8859_12
           
static int FORMAT_ISO_8859_13
           
static int FORMAT_ISO_8859_14
           
static int FORMAT_ISO_8859_15
           
static int FORMAT_ISO_8859_16
           
static int FORMAT_ISO_8859_2
           
static int FORMAT_ISO_8859_3
           
static int FORMAT_ISO_8859_4
           
static int FORMAT_ISO_8859_5
           
static int FORMAT_ISO_8859_6
           
static int FORMAT_ISO_8859_7
           
static int FORMAT_ISO_8859_8
           
static int FORMAT_ISO_8859_9
           
static int FORMAT_UTF_16BE
           
static int FORMAT_UTF_16LE
           
static int FORMAT_UTF8
           
static int FORMAT_WIN_1250
           
static int FORMAT_WIN_1251
           
static int FORMAT_WIN_1252
           
static int FORMAT_WIN_1253
           
static int FORMAT_WIN_1254
           
static int FORMAT_WIN_1255
           
static int FORMAT_WIN_1256
           
static int FORMAT_WIN_1257
           
static int FORMAT_WIN_1258
           
static int LAST_CHILD
           
static int LC
           
static int NEXT_SIBLING
           
static int NS
           
static int P
           
static int PARENT
           
static int PREV_SIBLING
           
static int PS
           
static int R
           
static int ROOT
           
static int TOKEN_ATTR_NAME
           
static int TOKEN_ATTR_NS
           
static int TOKEN_ATTR_VAL
           
static int TOKEN_CDATA_VAL
           
static int TOKEN_CHARACTER_DATA
           
static int TOKEN_COMMENT
           
static int TOKEN_DEC_ATTR_NAME
           
static int TOKEN_DEC_ATTR_VAL
           
static int TOKEN_DOCUMENT
           
static int TOKEN_DTD_VAL
           
static int TOKEN_ENDING_TAG
           
static int TOKEN_PI_NAME
           
static int TOKEN_PI_VAL
           
static int TOKEN_STARTING_TAG
           
 
Method Summary
 int compareRawTokenString(int index, java.lang.String s)
          New in 2.0 Compare the string against the token at the given index value.
 int compareTokens(int i1, VTDNav vn2, int i2)
          New in 2.0 This method compares two VTD tokens of VTDNav objects The behavior of this method is like compare the strings corresponds to i1 and i2, meaning for text or attribute val, entities will be converted into the corresponding char
 int compareTokenString(int index, java.lang.String s)
          New in 2.0 Compare the string against the token at the given index value.
 int getAttrCount()
          Return the attribute count of the element at the cursor position.
 int getAttrVal(java.lang.String an)
          Get the token index of the attribute value given an attribute name.
 int getAttrValNS(java.lang.String URL, java.lang.String ln)
          Get the token index of the attribute value of given URL and local name.
 int getCurrentDepth()
          Get the depth (>=0) of the current element.
 int getCurrentIndex()
          Get the index value of the current element.
 long getElementFragment()
          Get the starting offset and length of an element encoded in a long, upper 32 bits is length; lower 32 bits is offset Unit is in byte.
 ElementFragmentNs getElementFragmentNs()
          getElementFragmentNS returns a ns aware version of the element fragment encapsulated in an ElementFragment object
 int getEncoding()
          Get the encoding of the XML document.
 long getIndexSize()
          Precompute the size of VTD+XML index
 int getNestingLevel()
          Get the maximum nesting depth of the XML document (>0).
 int getRootIndex()
          Get root index value , which is the index val of root element
 int getText()
          This method returns of the token index of the type character data or CDATA.
 int getTokenCount()
          Get total number of VTD tokens for the current XML document.
 int getTokenDepth(int index)
          Get the depth value of a token (>=0).
 int getTokenLength(int index)
          Get the token length at the given index value please refer to VTD spec for more details Length is in terms of the UTF char unit For prefixed tokens, it is the qualified name length.
 int getTokenOffset(int index)
          Get the starting offset (unit in native char) of the token at the given index.
 int getTokenType(int index)
          Get the token type of the token at the given index value.
 com.ximpleware.IByteBuffer getXML()
          Get the XML document
 boolean hasAttr(java.lang.String an)
          Test whether current element has an attribute with the matching name.
 boolean hasAttrNS(java.lang.String URL, java.lang.String ln)
          Test whether the current element has an attribute with matching namespace URL and localname.
 boolean matchElement(java.lang.String en)
          Test if the current element matches the given name.
 boolean matchElementNS(java.lang.String URL, java.lang.String ln)
          Test whether the current element matches the given namespace URL and localname.
 boolean matchRawTokenString(int index, java.lang.String s)
          Match the string against the token at the given index value.
 boolean matchTokens(int i1, VTDNav vn2, int i2)
          This method matches two VTD tokens of VTDNav objects
 boolean matchTokenString(int index, java.lang.String s)
          Match the string against the token at the given index value.
 boolean overWrite(int index, byte[] ba)
          overWrite is introduced in version 2.0 that allows you to directly overwrite the XML content if the token is long enough If the operation is successful, the new content along with whitespaces will fill the available token space, and there will be no need to regenerate the VTD and LCs !!! The current version (2.0) only allows overwrites on attribute value, character data, and CDATA Consider the XML below: good After overwriting the token "good" with "bad," the new XML looks like: bad as you can see, "goo" is replaced with "bad" character-by-character, and the remaining "d" is replace with a white space
 boolean overWrite(int index, byte[] ba, int offset, int len)
          overWrite is introduced in version 2.0 that allows you to directly overwrite the XML content if the token is long enough If the operation is successful, white spaces will be used to fill the available token space, and there will be no need to regenerate the VTD and LCs The current version (2.0) only allows overwrites on attribute value, character data, and CDATA Consider the XML below: good After overwriting the token "good" with "bad," the new XML looks like: bad as you can see, "goo" is replaced with "bad", and the remaining "d" is replace with a white space
 double parseDouble(int index)
          Convert a vtd token into a double.
 float parseFloat(int index)
          Convert a vtd token into a float.
 int parseInt(int index)
          Convert a vtd token into an int.
 long parseLong(int index)
          Convert a vtd token into a long.
 boolean pop()
          Load the context info from ContextBuffer.
 void push()
          Store the context info into the ContextBuffer.
 void sampleState(FastIntBuffer fib)
          This is for debugging purpose
 boolean toElement(int direction)
          A generic navigation method.
 boolean toElement(int direction, java.lang.String en)
          A generic navigation method.
 boolean toElementNS(int direction, java.lang.String URL, java.lang.String ln)
          A generic navigation method with namespace support.
 java.lang.String toNormalizedString(int index)
          This method normalizes a token into a string in a way that resembles DOM.
 java.lang.String toRawString(int index)
          Convert a token at the given index to a String, (built-in entity and char references not resolved) (entities and char references not expanded).
 java.lang.String toRawString(int os, int len)
           
 java.lang.String toString(int index)
          Convert a token at the given index to a String, (entities and char references resolved).
 java.lang.String toString(int os, int len)
          Convert the byte content segment (in terms of offset and length) to String
 void writeIndex(java.io.OutputStream os)
          Write VTDNav's internal structure into an OutputStream
 void writeIndex(java.lang.String fileName)
          Write VTDNav's internal structure into a VTD+XML format
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FC

public static final int FC
See Also:
Constant Field Values

FIRST_CHILD

public static final int FIRST_CHILD
See Also:
Constant Field Values

FORMAT_ASCII

public static final int FORMAT_ASCII
See Also:
Constant Field Values

FORMAT_ISO_8859_1

public static final int FORMAT_ISO_8859_1
See Also:
Constant Field Values

FORMAT_ISO_8859_10

public static final int FORMAT_ISO_8859_10
See Also:
Constant Field Values

FORMAT_ISO_8859_11

public static final int FORMAT_ISO_8859_11
See Also:
Constant Field Values

FORMAT_ISO_8859_12

public static final int FORMAT_ISO_8859_12
See Also:
Constant Field Values

FORMAT_ISO_8859_13

public static final int FORMAT_ISO_8859_13
See Also:
Constant Field Values

FORMAT_ISO_8859_14

public static final int FORMAT_ISO_8859_14
See Also:
Constant Field Values

FORMAT_ISO_8859_15

public static final int FORMAT_ISO_8859_15
See Also:
Constant Field Values

FORMAT_ISO_8859_16

public static final int FORMAT_ISO_8859_16
See Also:
Constant Field Values

FORMAT_ISO_8859_2

public static final int FORMAT_ISO_8859_2
See Also:
Constant Field Values

FORMAT_ISO_8859_3

public static final int FORMAT_ISO_8859_3
See Also:
Constant Field Values

FORMAT_ISO_8859_4

public static final int FORMAT_ISO_8859_4
See Also:
Constant Field Values

FORMAT_ISO_8859_5

public static final int FORMAT_ISO_8859_5
See Also:
Constant Field Values

FORMAT_ISO_8859_6

public static final int FORMAT_ISO_8859_6
See Also:
Constant Field Values

FORMAT_ISO_8859_7

public static final int FORMAT_ISO_8859_7
See Also:
Constant Field Values

FORMAT_ISO_8859_8

public static final int FORMAT_ISO_8859_8
See Also:
Constant Field Values

FORMAT_ISO_8859_9

public static final int FORMAT_ISO_8859_9
See Also:
Constant Field Values

FORMAT_UTF_16BE

public static final int FORMAT_UTF_16BE
See Also:
Constant Field Values

FORMAT_UTF_16LE

public static final int FORMAT_UTF_16LE
See Also:
Constant Field Values

FORMAT_UTF8

public static final int FORMAT_UTF8
See Also:
Constant Field Values

FORMAT_WIN_1250

public static final int FORMAT_WIN_1250
See Also:
Constant Field Values

FORMAT_WIN_1251

public static final int FORMAT_WIN_1251
See Also:
Constant Field Values

FORMAT_WIN_1252

public static final int FORMAT_WIN_1252
See Also:
Constant Field Values

FORMAT_WIN_1253

public static final int FORMAT_WIN_1253
See Also:
Constant Field Values

FORMAT_WIN_1254

public static final int FORMAT_WIN_1254
See Also:
Constant Field Values

FORMAT_WIN_1255

public static final int FORMAT_WIN_1255
See Also:
Constant Field Values

FORMAT_WIN_1256

public static final int FORMAT_WIN_1256
See Also:
Constant Field Values

FORMAT_WIN_1257

public static final int FORMAT_WIN_1257
See Also:
Constant Field Values

FORMAT_WIN_1258

public static final int FORMAT_WIN_1258
See Also:
Constant Field Values

LAST_CHILD

public static final int LAST_CHILD
See Also:
Constant Field Values

LC

public static final int LC
See Also:
Constant Field Values

NEXT_SIBLING

public static final int NEXT_SIBLING
See Also:
Constant Field Values

NS

public static final int NS
See Also:
Constant Field Values

P

public static final int P
See Also:
Constant Field Values

PARENT

public static final int PARENT
See Also:
Constant Field Values

PREV_SIBLING

public static final int PREV_SIBLING
See Also:
Constant Field Values

PS

public static final int PS
See Also:
Constant Field Values

R

public static final int R
See Also:
Constant Field Values

ROOT

public static final int ROOT
See Also:
Constant Field Values

TOKEN_ATTR_NAME

public static final int TOKEN_ATTR_NAME
See Also:
Constant Field Values

TOKEN_ATTR_NS

public static final int TOKEN_ATTR_NS
See Also:
Constant Field Values

TOKEN_ATTR_VAL

public static final int TOKEN_ATTR_VAL
See Also:
Constant Field Values

TOKEN_CDATA_VAL

public static final int TOKEN_CDATA_VAL
See Also:
Constant Field Values

TOKEN_CHARACTER_DATA

public static final int TOKEN_CHARACTER_DATA
See Also:
Constant Field Values

TOKEN_COMMENT

public static final int TOKEN_COMMENT
See Also:
Constant Field Values

TOKEN_DEC_ATTR_NAME

public static final int TOKEN_DEC_ATTR_NAME
See Also:
Constant Field Values

TOKEN_DEC_ATTR_VAL

public static final int TOKEN_DEC_ATTR_VAL
See Also:
Constant Field Values

TOKEN_DOCUMENT

public static final int TOKEN_DOCUMENT
See Also:
Constant Field Values

TOKEN_DTD_VAL

public static final int TOKEN_DTD_VAL
See Also:
Constant Field Values

TOKEN_ENDING_TAG

public static final int TOKEN_ENDING_TAG
See Also:
Constant Field Values

TOKEN_PI_NAME

public static final int TOKEN_PI_NAME
See Also:
Constant Field Values

TOKEN_PI_VAL

public static final int TOKEN_PI_VAL
See Also:
Constant Field Values

TOKEN_STARTING_TAG

public static final int TOKEN_STARTING_TAG
See Also:
Constant Field Values
Method Detail

compareRawTokenString

public final int compareRawTokenString(int index,
                                       java.lang.String s)
                                throws NavException
New in 2.0 Compare the string against the token at the given index value. When a token is an attribute name or starting tag, qualified name is what gets compared against This method has to take care of the underlying encoding conversion but it doesn't resolve entity reference in the underlying document The behavior is the same as calling toRawString on index, then compare to s

Parameters:
index -
s -
Returns:
the result of lexical comparison
Throws:
NavException

compareTokens

public int compareTokens(int i1,
                         VTDNav vn2,
                         int i2)
                  throws NavException
New in 2.0 This method compares two VTD tokens of VTDNav objects The behavior of this method is like compare the strings corresponds to i1 and i2, meaning for text or attribute val, entities will be converted into the corresponding char

Parameters:
i1 -
vn2 -
i2 -
Returns:
-1,0, or 1
Throws:
NavException

compareTokenString

public int compareTokenString(int index,
                              java.lang.String s)
                       throws NavException
New in 2.0 Compare the string against the token at the given index value. When a token is an attribute name or starting tag, qualified name is what gets matched against This method has to take care of the underlying encoding conversion as well as entity reference comparison

Parameters:
index -
s -
Returns:
int
Throws:
NavException

getAttrCount

public int getAttrCount()
Return the attribute count of the element at the cursor position. when ns is false, attr_ns tokens are considered attributes; otherwise, ns tokens are not considered attributes

Returns:
int

getAttrVal

public int getAttrVal(java.lang.String an)
               throws NavException
Get the token index of the attribute value given an attribute name.

Parameters:
an - java.lang.String
Returns:
int (-1 if no such attribute name exists)
Throws:
NavException - The exception if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD etc can be generated by another machine from a load-balancer.
IllegalArguementException - if an is null

getAttrValNS

public int getAttrValNS(java.lang.String URL,
                        java.lang.String ln)
                 throws NavException
Get the token index of the attribute value of given URL and local name. If ns is not enabled, the lookup will return -1, indicating a no-found. Also namespace nodes are invisible using this method. One can't use * to indicate any name space because * is ambiguous!!

Parameters:
URL - java.lang.String (Name space URL)
ln - java.lang.String (local name)
Returns:
int (-1 if no matching attribute found)
Throws:
NavException - The exception if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD etc can be generated by another machine from a load-balancer.
IllegalArguementException - if s is null

getCurrentDepth

public final int getCurrentDepth()
Get the depth (>=0) of the current element. Creation date: (11/16/03 6:58:22 PM)

Returns:
int

getCurrentIndex

public final int getCurrentIndex()
Get the index value of the current element. Creation date: (11/16/03 6:40:25 PM)

Returns:
int

getElementFragment

public long getElementFragment()
                        throws NavException
Get the starting offset and length of an element encoded in a long, upper 32 bits is length; lower 32 bits is offset Unit is in byte. Creation date: (3/15/04 1:47:55 PM)

Throws:
NavException

getElementFragmentNs

public ElementFragmentNs getElementFragmentNs()
                                       throws NavException
getElementFragmentNS returns a ns aware version of the element fragment encapsulated in an ElementFragment object

Returns:
an ElementFragment object
Throws:
NavException

getEncoding

public final int getEncoding()
Get the encoding of the XML document.

Returns:
int

getIndexSize

public long getIndexSize()
Precompute the size of VTD+XML index

Returns:
size of the index

getNestingLevel

public final int getNestingLevel()
Get the maximum nesting depth of the XML document (>0). max depth is nestingLevel -1

Returns:
int

getRootIndex

public final int getRootIndex()
Get root index value , which is the index val of root element

Returns:
int

getText

public int getText()
This method returns of the token index of the type character data or CDATA. Notice that it is intended to support data orient XML (not mixed-content XML). return the index of the text token, or -1 if none exists.

Returns:
int

getTokenCount

public final int getTokenCount()
Get total number of VTD tokens for the current XML document.

Returns:
int

getTokenDepth

public final int getTokenDepth(int index)
Get the depth value of a token (>=0).

Parameters:
index - int
Returns:
int

getTokenLength

public int getTokenLength(int index)
Get the token length at the given index value please refer to VTD spec for more details Length is in terms of the UTF char unit For prefixed tokens, it is the qualified name length. When ns is not enabled, return the full name length for attribute name and element name When ns is enabled, return an int with upper 16 bit for prefix length, lower 16 bit for qname length

Parameters:
index - int
Returns:
int

getTokenOffset

public final int getTokenOffset(int index)
Get the starting offset (unit in native char) of the token at the given index.

Parameters:
index - int
Returns:
int

getTokenType

public final int getTokenType(int index)
Get the token type of the token at the given index value. Creation date: (11/16/03 6:41:51 PM)

Parameters:
index - int
Returns:
int

getXML

public final com.ximpleware.IByteBuffer getXML()
Get the XML document

Returns:
IByteBuffer

hasAttr

public final boolean hasAttr(java.lang.String an)
                      throws NavException
Test whether current element has an attribute with the matching name. "*" will match any attribute name, therefore is a test whether there is any attribute at all if namespace is disabled, this function will not distinguish between ns declaration and attribute otherwise, ns tokens are invisible Creation date: (11/16/03 5:50:26 PM)

Parameters:
an - java.lang.String
Returns:
boolean (true if such an attribute exists)
Throws:
NavException - The exception if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD etc can be generated by another machine from a load-balancer.
IllegalArguementException - if an is null

hasAttrNS

public final boolean hasAttrNS(java.lang.String URL,
                               java.lang.String ln)
                        throws NavException
Test whether the current element has an attribute with matching namespace URL and localname. If ns is false, return false immediately

Parameters:
URL - java.lang.String (namespace URL)
ln - java.lang.String (localname )
Returns:
boolean
Throws:
NavException - The exception if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD can be generated by another machine such as a load-balancer.
IllegalArguementException - if ln is null

matchElement

public final boolean matchElement(java.lang.String en)
                           throws NavException
Test if the current element matches the given name. Creation date: (11/26/03 2:09:43 PM)

Parameters:
en - java.lang.String
Returns:
boolean
Throws:
NavException - If the underlying raw char representation has errors.

matchElementNS

public boolean matchElementNS(java.lang.String URL,
                              java.lang.String ln)
                       throws NavException
Test whether the current element matches the given namespace URL and localname. URL, when set to "*", matches any namespace (including null), when set to null, defines a "always-no-match" ln is the localname that, when set to *, matches any localname

Parameters:
URL - java.lang.String
ln - java.lang.String
Returns:
boolean
Throws:
NavException - When there is any encoding conversion error or unknown entity.
java.lang.IllegalArgumentException - if ln == null

matchRawTokenString

public final boolean matchRawTokenString(int index,
                                         java.lang.String s)
                                  throws NavException
Match the string against the token at the given index value. When a token is an attribute name or starting tag, qualified name is what gets matched against This method has to take care of the underlying encoding conversion but it doesn't resolve entity reference in the underlying document

Parameters:
index - int (index into the VTD token buffer)
s - java.lang.String
Returns:
boolean
Throws:
NavException - When if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD can be generated by another machine such as a load-balancer.

matchTokens

public final boolean matchTokens(int i1,
                                 VTDNav vn2,
                                 int i2)
                          throws NavException
This method matches two VTD tokens of VTDNav objects

Parameters:
i1 - index of the first token
vn2 - the second VTDNav instance
i2 - index of the second token
Returns:
boolean true if two tokens are lexically identical
Throws:
NavException

matchTokenString

public final boolean matchTokenString(int index,
                                      java.lang.String s)
                               throws NavException
Match the string against the token at the given index value. When a token is an attribute name or starting tag, qualified name is what gets matched against This method has to take care of the underlying encoding conversion as well as entity reference comparison

Parameters:
index - int
s - java.lang.String
Returns:
boolean
Throws:
NavException - When if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD can be generated by another machine such as a load-balancer.

overWrite

public final boolean overWrite(int index,
                               byte[] ba)
overWrite is introduced in version 2.0 that allows you to directly overwrite the XML content if the token is long enough If the operation is successful, the new content along with whitespaces will fill the available token space, and there will be no need to regenerate the VTD and LCs !!! The current version (2.0) only allows overwrites on attribute value, character data, and CDATA Consider the XML below: good After overwriting the token "good" with "bad," the new XML looks like: bad as you can see, "goo" is replaced with "bad" character-by-character, and the remaining "d" is replace with a white space

Parameters:
index -
ba - the byte array contains the new content to be overwritten
Returns:
boolean as the status of the overwrite operation

overWrite

public boolean overWrite(int index,
                         byte[] ba,
                         int offset,
                         int len)
overWrite is introduced in version 2.0 that allows you to directly overwrite the XML content if the token is long enough If the operation is successful, white spaces will be used to fill the available token space, and there will be no need to regenerate the VTD and LCs The current version (2.0) only allows overwrites on attribute value, character data, and CDATA Consider the XML below: good After overwriting the token "good" with "bad," the new XML looks like: bad as you can see, "goo" is replaced with "bad", and the remaining "d" is replace with a white space

Parameters:
index - the VTD record to which the change will be applied
ba - the byte array contains the new content to be overwritten
offset -
len -
Returns:
boolean as the status of the overwrite operation

parseDouble

public double parseDouble(int index)
                   throws NavException
Convert a vtd token into a double. Creation date: (12/8/03 2:28:31 PM)

Returns:
double
Throws:
NavException - The exception if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD can be generated by another machine such as a load-balancer.

parseFloat

public float parseFloat(int index)
                 throws NavException
Convert a vtd token into a float. we assume token type to be attr val or character data Creation date: (12/8/03 2:28:18 PM)

Returns:
float
Throws:
NavException - The exception if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD can be generated by another machine such as a load-balancer.

parseInt

public int parseInt(int index)
             throws NavException
Convert a vtd token into an int. This method will automatically strip off the leading and trailing we assume token type to be attr val or character data zero, unlike Integer.parseInt(int index) Creation date: (12/8/03 2:32:22 PM)

Parameters:
index - int
Returns:
int
Throws:
NavException - The exception if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD can be generated by another machine such as a load-balancer.

parseLong

public long parseLong(int index)
               throws NavException
Convert a vtd token into a long. we assume token type to be attr val or character data Creation date: (12/8/03 2:32:59 PM)

Parameters:
index - int
Returns:
long
Throws:
NavException - The exception if the underlying byte content contains various errors. Notice that we are being conservative in making little assumption on the correctness of underlying byte content. This is because the VTD can be generated by another machine such as a load-balancer.

pop

public final boolean pop()
Load the context info from ContextBuffer. Info saved including LC and current state of the context

Returns:
boolean

push

public final void push()
Store the context info into the ContextBuffer. Info saved including LC and current state of the context Creation date: (11/16/03 7:00:27 PM)


sampleState

public void sampleState(FastIntBuffer fib)
This is for debugging purpose

Parameters:
fib -

toElement

public boolean toElement(int direction)
                  throws NavException
A generic navigation method. Move the cursor to the element according to the direction constants If no such element, no position change and return false. Creation date: (12/2/03 1:43:50 PM) Legal direction constants are
                           ROOT               0 
               PARENT                 1 
               FIRST_CHILD            2 
               LAST_CHILD             3 
                       NEXT_SIBLING       4 
               PREV_SIBLING       5 

Parameters:
direction - int
Returns:
boolean
Throws:
NavException - When direction value is illegal.

toElement

public boolean toElement(int direction,
                         java.lang.String en)
                  throws NavException
A generic navigation method. Move the cursor to the element according to the direction constants and the element name If no such element, no position change and return false. "*" matches any element Creation date: (12/2/03 1:43:50 PM) Legal direction constants are
          ROOT            0  
          PARENT          1  
          FIRST_CHILD     2  
          LAST_CHILD      3  
          NEXT_SIBLING    4  
          PREV_SIBLING    5  

for ROOT and PARENT, element name will be ignored.

Parameters:
direction - int
en - String
Returns:
boolean
Throws:
NavException - When direction value is illegal. Or there are errors in underlying byte representation of the document
IllegalArguementException - if en is null

toElementNS

public boolean toElementNS(int direction,
                           java.lang.String URL,
                           java.lang.String ln)
                    throws NavException
A generic navigation method with namespace support. Move the cursor to the element according to the direction constants and the prefix and local names If no such element, no position change and return false. URL * matches any namespace, including undefined namespaces a null URL means hte namespace prefix is undefined for the element ln * matches any localname Creation date: (12/2/03 1:43:50 PM) Legal direction constants are
          ROOT            0  
          PARENT          1  
          FIRST_CHILD     2  
          LAST_CHILD      3  
          NEXT_SIBLING    4  
          PREV_SIBLING    5  

for ROOT and PARENT, element name will be ignored. If not ns enabled, return false immediately with no position change.

Parameters:
direction - int
URL - String
ln - String
Returns:
boolean
Throws:
NavException - When direction value is illegal. Or there are errors in underlying byte representation of the document

toNormalizedString

public java.lang.String toNormalizedString(int index)
                                    throws NavException
This method normalizes a token into a string in a way that resembles DOM. The leading and trailing white space characters will be stripped. The entity and character references will be resolved Multiple whitespaces char will be collapsed into one. Whitespaces via entities will nonetheless be preserved. Creation date: (12/8/03 1:57:10 PM)

Parameters:
index - int
Returns:
java.lang.String
Throws:
NavException - When the encoding has errors

toRawString

public final java.lang.String toRawString(int index)
                                   throws NavException
Convert a token at the given index to a String, (built-in entity and char references not resolved) (entities and char references not expanded). Creation date: (11/16/03 7:28:49 PM)

Parameters:
index - int
Returns:
java.lang.String
Throws:
NavException - When the encoding has errors

toRawString

public final java.lang.String toRawString(int os,
                                          int len)
                                   throws NavException
Throws:
NavException

toString

public java.lang.String toString(int index)
                          throws NavException
Convert a token at the given index to a String, (entities and char references resolved). An attribute name or an element name will get the UCS2 string of qualified name Creation date: (11/16/03 7:27:19 PM)

Parameters:
index -
Returns:
java.lang.String
Throws:
NavException

toString

public final java.lang.String toString(int os,
                                       int len)
                                throws NavException
Convert the byte content segment (in terms of offset and length) to String

Parameters:
os - the offset of the segment
len - the length of the segment
Returns:
the corresponding string value
Throws:
NavException

writeIndex

public void writeIndex(java.io.OutputStream os)
                throws IndexWriteException,
                       java.io.IOException
Write VTDNav's internal structure into an OutputStream

Parameters:
os -
Throws:
IndexWriteException
java.io.IOException

writeIndex

public void writeIndex(java.lang.String fileName)
                throws java.io.IOException,
                       IndexWriteException
Write VTDNav's internal structure into a VTD+XML format

Parameters:
fileName -
Throws:
java.io.IOException
IndexWriteException