[
Lists Home |
Date Index |
Thread Index
]
- From: Stefan Haustein <haustein@ls8.cs.uni-dortmund.de>
- Date: Wed, 05 Jan 2000 10:56:28 +0100
David Megginson wrote:
>
> > class QName {
> > public:
> > wstring ns () const; // http://www.w3c.org/1999/xhtml
> > wstring name () const; // p
> > wstring nsPrefix () const; // html
> > wstring prefixedName () const; // html:p
> >
> > bool operator== (const QName &rhs) const;
> > // ns & name both equal
> > private:
> > // Probably just a simple pointer to your internal data structures
> > };
>
> My biggest problem with this (and its Java equivalent) is figuring out
> how to handle equality: are two QNames with the same URI part and same
> local part equal? What if the prefix is different?
What about adding a second method "identical
(QName compare)" that takes also the prefix
into account? I think it's consistent if the
default method (equals () / ==) ignores the "noise".
A QName object could also help for the attributes:
If the Sax2 AttributeListImpl is implemented like the
Sax1 list, it would have up to four Vectors:
class AttributeListImpl {
Vector prefixedNames;
Vector localNames;
Vector prefixes;
Vector namespaces;
...
}
Adding an attribute and creating or clearing an
AttributeList (= manipulating four Vectors) would
be extremely expensive.
class AttributeList {
Vector QNames; // better: ArrayList !
Qname getAttribute (int index);
...
}
seems much cheaper, especially if the QName objects are interned.....
Best regards
Stefan
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|