You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xerces.apache.org by ch...@us.ibm.com on 2000/02/01 20:18:27 UTC
Proposed Xerces-C API Changes
To better match with the DOM IDL APIs, the Xerces-C parser team is
proposing
the following DOM_* API changes in its parser implementation. Please
review
the changes and post your comments or concerns here within 24 hours. We
would
like to integrate the changes to the next release scheduled this Friday.
Each API change has three parts, separated by dashed lines. The top one is
what defined in the IDL. The middle one is current C++ mapping of the IDL
in our implementations. And the bottom one is the new proposed changes.
Most changes are related to converting "int" to "unsigned long".
Others changes include redefining and reorganizing the constants used in
the Traversal APIs. Note that the attribute "whatToShow" is declared as
a "long" in the IDL which is a bug. The new C++ API uses the correct
"unsigned long" instead.
NodeList
Node item(in unsigned long index);
readonly attribute unsigned long length;
----------------------------------------------------------------
DOM_NodeList.hpp
DOM_Node item(unsigned long index) const;
int getLength() const;
----------------------------------------------------------------
DOM_NodeList.hpp
DOM_Node item(unsigned long index) const; // no changes
unsigned long getLength() const;
NamedNodeMap
Node item(in unsigned long index);
readonly attribute unsigned long length;
----------------------------------------------------------------
DOM_NamedNodeMap.hpp
DOM_Node item(unsigned long index);
int getLength();
----------------------------------------------------------------
DOM_NamedNodeMap.hpp
DOM_Node item(unsigned long index); // no changes
unsigned long getLength();
CharacterData
readonly attribute unsigned long length;
DOMString substringData(in unsigned long offset, in unsigned
long count)
void insertData(in unsigned long offset, in DOMString
arg)
void deleteData(in unsigned long offset, in unsigned long
count)
void replaceData(in unsigned long offset, in unsigned
long count, in DOMString arg)
----------------------------------------------------------------
DOM_CharacterData.hpp
int getLength() const;
DOMString substringData(int offset, int count) const;
void insertData(int offset, const DOMString &arg);
void deleteData(int offset, int count);
void replaceData(int offset, int count, const DOMString
&arg);
----------------------------------------------------------------
DOM_CharacterData.hpp
unsigned long getLength() const;
DOMString substringData(unsigned long offset, unsigned long
count) const;
void insertData(unsigned long offset, const DOMString
&arg);
void deleteData(unsigned long offset, unsigned long
count);
void replaceData(unsigned long offset, unsigned long
count, const DOMString &arg);
Text
Text splitText(in unsigned long offset)
----------------------------------------------------------------
DOM_Text.hpp
DOM_Text splitText(int offset);
----------------------------------------------------------------
DOM_Text.hpp
DOM_Text splitText(unsigned long offset);
NodeFilter
// Constants returned by acceptNode
const short FILTER_ACCEPT = 1;
const short FILTER_REJECT = 2;
const short FILTER_SKIP = 3;
// Constants for whatToShow
const unsigned long SHOW_ALL = 0x0000FFFF;
const unsigned long SHOW_ELEMENT = 0x00000001;
const unsigned long SHOW_ATTRIBUTE = 0x00000002;
const unsigned long SHOW_TEXT = 0x00000004;
const unsigned long SHOW_CDATA_SECTION = 0x00000008;
const unsigned long SHOW_ENTITY_REFERENCE = 0x00000010;
const unsigned long SHOW_ENTITY = 0x00000020;
const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x00000040;
const unsigned long SHOW_COMMENT = 0x00000080;
const unsigned long SHOW_DOCUMENT = 0x00000100;
const unsigned long SHOW_DOCUMENT_TYPE = 0x00000200;
const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x00000400;
const unsigned long SHOW_NOTATION = 0x00000800;
short acceptNode(in Node n);
----------------------------------------------------------------
DOM_NodeFilter.hpp
enum FilterAction {ACCEPT, REJECT, SKIP};
virtual FilterAction acceptNode (DOM_Node node);
----------------------------------------------------------------
DOM_NodeFilter.hpp
enum FilterAction {ACCEPT, REJECT, SKIP}; // no changes
enum ShowType {SHOW_ALL=0x0000FFFF, ...} // added
virtual short acceptNode (DOM_Node node);
NodeIterator
readonly attribute long whatToShow;
----------------------------------------------------------------
DOM_NodeIterator.hpp
static const int SHOW_ALL;
static const int SHOW_ELEMENT;
static const int SHOW_ATTRIBUTE;
static const int SHOW_TEXT;
static const int SHOW_CDATA_SECTION;
static const int SHOW_ENTITY_REFERENCE;
static const int SHOW_ENTITY;
static const int SHOW_PROCESSING_INSTRUCTION;
static const int SHOW_COMMENT;
static const int SHOW_DOCUMENT;
static const int SHOW_DOCUMENT_TYPE;
static const int SHOW_DOCUMENT_FRAGMENT;
static const int SHOW_NOTATION;
virtual int getWhatToShow();
----------------------------------------------------------------
DOM_NodeIterator.hpp
// all SHOW_* constants deleted
virtual unsigned long getWhatToShow();
TreeWalker
readonly attribute long whatToShow;
----------------------------------------------------------------
DOM_TreeWalker.hpp
static const int SHOW_ALL;
static const int SHOW_ELEMENT;
static const int SHOW_ATTRIBUTE;
static const int SHOW_TEXT;
static const int SHOW_CDATA_SECTION;
static const int SHOW_ENTITY_REFERENCE;
static const int SHOW_ENTITY;
static const int SHOW_PROCESSING_INSTRUCTION;
static const int SHOW_COMMENT;
static const int SHOW_DOCUMENT;
static const int SHOW_DOCUMENT_TYPE;
static const int SHOW_DOCUMENT_FRAGMENT;
static const int SHOW_NOTATION;
virtual int getWhatToShow();
----------------------------------------------------------------
DOM_TreeWalker.hpp
// all SHOW_* constants deleted
virtual unsigned long getWhatToShow();
Chih-Hsiang Chou
IBM Center for Java Technology - Silicon Valley
Internet: chchou@us.ibm.com