[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Request for Discussion: SAX 1.0 in C++
>>>>> John Aldridge <john.aldridge@i...>: > It seems to me that code like: > void DocumentHandler::startElement ( > const std::wstring &name, const AttributeList &atts) > { > if (name == L"Paragraph") ... > } > is going to be a whole lot neater than > void DocumentHandler::startElement ( > const std::basic_string<SAXChar> &name, const AttributeList &atts) > { > static const SAXChar paraString[] = > {'P','a','r','a','g','r','a','p','h',\0'}; > if (name == paraString) ... > } Sure, but how about this, then...? typedef unsigned short SAXChar; class SAXString : public basic_string<SAXChar> { public: SAXString(const SAXString& s, size_type pos = 0, size_type n = npos) : basic_string<SAXChar>(s,pos,npos) {} SAXString(const SAXChar* p, size_type n) : basic_string<SAXChar>(p,n) {} SAXString(const SAXChar* p) : basic_string<SAXChar>(p) {} SAXString(size_type n, SAXChar c) : basic_string<SAXChar>(n,c) {} SAXString(const char* p) : basic_string<SAXChar>(p) { // do UTF-8 to UTF-16 decoding here } }; and then: void DocumentHandler::startElement ( const SAXString& name, const AttributeList& atts) { if (name == SAXString("Paragraph")) ... } or maybe just void DocumentHandler::startElement ( const SAXString& name, const AttributeList& atts) { if (name == "Paragraph") ... } since the appropriate copy constructor is available. Does it matter if SAXString doesn't have a virtual destructor if it doesn't add any extra state to basic_string<SAXChar> and has no virtual functions? xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To unsubscribe, mailto:majordomo@i... the following message; unsubscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|