net.rim.device.api.xml.jaxp
Class WBXMLParser

java.lang.Object
  |
  +--net.rim.device.api.xml.jaxp.WBXMLParser
All Implemented Interfaces:
Locator, WBXMLConstants

public class WBXMLParser
extends Object
implements WBXMLConstants, Locator

Class for parsing of wbxml streams.

Since:
JDE 4.0.0

Field Summary
 
Fields inherited from interface net.rim.device.api.xml.WBXMLConstants
CHARSET_ISO_8859_1, CHARSET_UTF_8, END, ENTITY, EXT_0, EXT_1, EXT_2, EXT_I_0, EXT_I_1, EXT_I_2, EXT_T_0, EXT_T_1, EXT_T_2, ISO_8859_1, LITERAL, LITERAL_A, LITERAL_AC, LITERAL_C, OPAQUE, PI, PUBLIC_ID_UNKNOWN, PUBLIC_ID_WML10, PUBLIC_ID_WML11, PUBLIC_ID_WML12, PUBLIC_ID_WML13, STR_I, STR_T, SWITCH_PAGE, UTF_8, WBXML_1_1, WBXML_1_2, WBXML_1_3
 
Constructor Summary
WBXMLParser(InputStream is)
          Parser constructor.
 
Method Summary
 int getCharset()
          Returns the character set, one of CHARSET_ISO_8859_1 or CHARSET_UTF_8.
 int getColumnNumber()
          Return the column number where the current document event ends.
 int getLineNumber()
          Return the line number where the current document event ends.
 String getPublicId()
          The binary XML format contains a representation of the XML document public identifier.
 String getSystemId()
          Return the system identifier for the current document event.
 int getVersion()
          Returns the WBXML version number.
 void parse(DefaultHandler dh)
          Parses the input stream using the specified DefaultHandler.
 void setAttrStartTable(IntHashtable attrStartTables)
          Sets attribute name table.
 void setAttrStartTable(int page, IntHashtable attrStartTable)
          Sets attribute name table for page.
 void setAttrStartTable(int page, String[] attrStartTable)
          Sets attributes name table for page.
 void setAttrValueTable(IntHashtable attrValueTables)
          Sets attribute value table.
 void setAttrValueTable(int page, IntHashtable attrValueTable)
          Sets attribute value table for page.
 void setAttrValueTable(int page, String[] attrValueTable)
          Setx attribute value table for page.
 void setTagTable(IntHashtable tagTables)
          Sets tag table.
 void setTagTable(int page, IntHashtable tagTable)
          Sets tag table for page.
 void setTagTable(int page, String[] tagTable)
          Sets tag table for page.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WBXMLParser

public WBXMLParser(InputStream is)
            throws IOException,
                   SAXException
Parser constructor. For additional information, please consult the WBXML spec at this address.
Parameters:
is - the input stream to parse.
Throws:
IOException - Thrown if an IO errors occur.
SAXException - Thrown if the WBXML version is unknown.
Since:
JDE 4.0.0
Method Detail

getCharset

public int getCharset()

Returns the character set, one of CHARSET_ISO_8859_1 or CHARSET_UTF_8. This is the WBXML equivalent of the XML document format encoding attribute. A value of zero indicates an unknown document encoding.

Returns:
The character set.
Since:
JDE 4.0.0

getColumnNumber

public int getColumnNumber()
Description copied from interface: Locator
Return the column number where the current document event ends. This is one-based number of Java char values since the last line end.

Warning: The return value from the method is intended only as an approximation for the sake of diagnostics; it is not intended to provide sufficient information to edit the character content of the original XML document. For example, when lines contain combining character sequences, wide characters, surrogate pairs, or bi-directional text, the value may not correspond to the column in a text editor's display.

The return value is an approximation of the column number in the document entity or external parsed entity where the markup triggering the event appears.

If possible, the SAX driver should provide the line position of the first character after the text associated with the document event. The first column in each line is column 1.

Since:
JDE 4.0.0

Following copied from interface: Locator
Returns:
The column number, or -1 if none is available.
See Also:
Locator.getLineNumber()

getLineNumber

public int getLineNumber()
Description copied from interface: Locator
Return the line number where the current document event ends. Lines are delimited by line ends, which are defined in the XML specification.

Warning: The return value from the method is intended only as an approximation for the sake of diagnostics; it is not intended to provide sufficient information to edit the character content of the original XML document. In some cases, these "line" numbers match what would be displayed as columns, and in others they may not match the source text due to internal entity expansion.

The return value is an approximation of the line number in the document entity or external parsed entity where the markup triggering the event appears.

If possible, the SAX driver should provide the line position of the first character after the text associated with the document event. The first line is line 1.

Since:
JDE 4.0.0

Following copied from interface: Locator
Returns:
The line number, or -1 if none is available.
See Also:
Locator.getColumnNumber()

getPublicId

public String getPublicId()
The binary XML format contains a representation of the XML document public identifier. This publicid is used to identify the well-known document type contained within the WBXML entity. public id can be either an unsigned integer encoded in multi-byte format(mb_u_int32) or 0(zero index)
Returns:
the public identifier
Since:
JDE 4.0.0

getSystemId

public String getSystemId()
Description copied from interface: Locator
Return the system identifier for the current document event.

The return value is the system identifier of the document entity or of the external parsed entity in which the markup triggering the event appears.

If the system identifier is a URL, the parser must resolve it fully before passing it to the application. For example, a file name must always be provided as a file:... URL, and other kinds of relative URI are also resolved against their bases.

Since:
JDE 4.0.0

Following copied from interface: Locator
Returns:
A string containing the system identifier, or null if none is available.
See Also:
Locator.getPublicId()

getVersion

public int getVersion()

Returns the WBXML version number.

Returns:
The WBXML version number.
Since:
JDE 4.0.0

parse

public void parse(DefaultHandler dh)
           throws SAXException,
                  IOException

Parses the input stream using the specified DefaultHandler.

Parameters:
dh - A default handler.
Throws:
IOException - Thrown if an IO errors occur.
SAXException - Thrown if the underlying parser throws a SAXException while parsing.
Since:
JDE 4.0.0

setAttrStartTable

public void setAttrStartTable(IntHashtable attrStartTables)
Sets attribute name table. Will store all attribute name tables for the documents.
Parameters:
attrStartTables - Lookup tables of XML attribute names used to decode WBXML.
Since:
JDE 4.0.0

setAttrStartTable

public void setAttrStartTable(int page,
                              IntHashtable attrStartTable)
Sets attribute name table for page.
Parameters:
page - The page of the table being set.
attrStartTable - A lookup table of XML attribute names used to decode WBXML
Throws:
NullPointerException - Thrown when attrStartTable is null.
Since:
JDE 4.0.0

setAttrStartTable

public void setAttrStartTable(int page,
                              String[] attrStartTable)
Sets attributes name table for page.
Parameters:
page - The page of the table being set.
attrStartTable - A lookup table of XML attribute names used to decode WBXML.
Since:
JDE 4.0.0

setAttrValueTable

public void setAttrValueTable(IntHashtable attrValueTables)
Sets attribute value table. Will store all attribute value tables for the documents.
Parameters:
attrValueTables - Lookup tables of XML attribute values used to decode WBXML.
Since:
JDE 4.0.0

setAttrValueTable

public void setAttrValueTable(int page,
                              IntHashtable attrValueTable)
Sets attribute value table for page.
Parameters:
page - The page of the table being set.
attrValueTable - A lookup table of XML attribute values used to decode WBXML.
Throws:
NullPointerException - Thrown when attrValueTable is null.
Since:
JDE 4.0.0

setAttrValueTable

public void setAttrValueTable(int page,
                              String[] attrValueTable)
Setx attribute value table for page.
Parameters:
page - The page of the table being set.
attrValueTable - A lookup table of XML attribute values used to decode WBXML.
Since:
JDE 4.0.0

setTagTable

public void setTagTable(IntHashtable tagTables)
Sets tag table. Will store all tag tables for the documents.
Parameters:
tagTables - Lookup tables of XML tags used to decode WBXML.
Since:
JDE 4.0.0

setTagTable

public void setTagTable(int page,
                        IntHashtable tagTable)
Sets tag table for page.
Parameters:
page - The page of the table being set.
tagTable - A lookup table of XML tags used to decode WBXML.
Throws:
NullPointerException - Thrown when tagTable is null.
Since:
JDE 4.0.0

setTagTable

public void setTagTable(int page,
                        String[] tagTable)
Sets tag table for page.
Parameters:
page - The page of the table being set.
tagTable - A lookup table of XML tags used to decode WBXML.
Since:
JDE 4.0.0



Copyright 1999-2009 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.