logo       

Re: Like to contribute / Bug in WbxmlParser: msg#00009

java.enhydra.kxml

Subject: Re: Like to contribute / Bug in WbxmlParser

Hi Michael,

thanks a lot for the fix. I have committed the corresponding changes to the CVS repository.

Concerning your help offer: That's great! I think the most important issue is to provide support for other character encodings.... The management of the String table will probably work only for ISO-8859-1... This should be replaced by a better mechanism. I tend to assume that it should be sufficient to replace the String holding the String table by a byte array, and then to use the String(byte[], int, int, String) constructor while parsing... but is this available in MIDP? What would be the performance tradeoff? Are there other (better) options?

JUnit test cases would also be a great thing to add....

Best regards,
Stefan


Michael Raab wrote:

i'm using the WbxmlParser in my Wap Project. I think i found a Bug in
WbxmlParser. I am using the latest CVS Version.

The method createParser() of the class Wml sets the
tagTable, attrStartTable and the attrValueTable in the
WbxmlParser. The setTagTable() method works properly, but both
setAttrStartTable() and setAttrValueTable() methods use the tagTable
variable instead of attrStartTable/attrValueTable:

(...)

> You wrote that you seek someone for WBXML testing and I am gladly willing
> to contribute some work in this area and i like to know how to contribute
> and how are the general rule in the development process of your project.
>
> I am using Eclipse as developing platform. I hope the my input is of some
> help and i am looking forward to helping you in the future.
>




/**
* Sets the tag table for a given page.
* The first string in the array defines tag 5, the second tag 6 etc.
*/

public void setTagTable(int page, String[] tagTable) {

//!!! This is ok
setTable(page, TAG_TABLE, tagTable);

// this.tagTable = tagTable;
// if (page != 0)
// throw new RuntimeException("code pages curr. not supp.");
}

/** Sets the attribute start Table for a given page.
* The first string in the array defines attribute
* 5, the second attribute 6 etc.
* Currently, only page 0 is supported. Please use the
* character '=' (without quote!) as delimiter
* between the attribute name and the (start of the) value
*/

public void setAttrStartTable(
int page,
String[] attrStartTable) {
//!!! Here should be:
//!!! setTable(page, ATTR_START_TABLE, attrStartTable);
setTable(page, ATTR_START_TABLE, tagTable);

// this.attrStartTable = attrStartTable;
// if (page != 0)
// throw new RuntimeException("code pages curr. not supp.");
}

/** Sets the attribute value Table for a given page.
* The first string in the array defines attribute value 0x85,
* the second attribute value 0x86 etc.
* Currently, only page 0 is supported.
*/

public void setAttrValueTable(
int page,
//!!! Here should be:
//!!! String[] attrValueTable) {
String[] attrStartTable) {

//!!! Here should be:
//!!! setTable(page, ATTR_VALUE_TABLE, attrValueTable);
setTable(page, ATTR_VALUE_TABLE, tagTable);

// this.attrValueTable = attrStartTable;
// if (page != 0)
// throw new RuntimeException("code pages curr. not supp.");
}


Regards,
Michael


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise