Narzędzia użytkownika

Narzędzia witryny


xerces_dom

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
xerces_dom [2008/04/15 00:37]
kmioduszewski
xerces_dom [2008/04/15 01:06]
kmioduszewski
Linia 139: Linia 139:
  
 </​code> ​ </​code> ​
 +
 +
 +
 +
  
  
Linia 158: Linia 162:
 <​!DOCTYPE notes SYSTEM "​note.dtd">​ <​!DOCTYPE notes SYSTEM "​note.dtd">​
 <notes owner="​John Doe">​ <notes owner="​John Doe">​
- 
    <​note date="​21/​02/​2008">​    <​note date="​21/​02/​2008">​
       <​from>​Jani</​from>​       <​from>​Jani</​from>​
Linia 183: Linia 186:
 Klasy pomocnicze: Klasy pomocnicze:
 <code cpp> <code cpp>
-#include <​xercesc/​util/​XMLString.hpp>​+#​include<​string>​ 
 +#​include<​xercesc/​util/​XMLString.hpp>​
  
-//klasa pomocnicza ​przechowujaca nazwy tagów oraz atrybutów w formacie ​XMLCh* +//klasa pomocnicza ​ułatwiająca współpracę z XMLCh* 
-class TagNames ​+class UniString ​
- public: +public : 
- XMLCh* ​TAG_NOTES; + UniString(const ​XMLCh* ​const str)  
- XMLCh* TAG_NOTE; + : 
- XMLCh* TAG_FROM; + cString(xercesc::​XMLString::​transcode(str)),​ 
- XMLCh* TAG_HEADING;​ + xmlString(xercesc::​XMLString::​replicate(str)) 
- XMLCh* TAG_BODY; + {} 
- +  
- XMLChATTR_OWNER; + UniString(const charconst str) 
- XMLCh* ATTR_DATE;+
 + cString(xercesc::​XMLString::​replicate(str)),​ 
 + xmlString(xercesc::​XMLString::​transcode(str)) 
 + {}
  
- TagNames(+ UniString(const std::string& str
- : +
- TAG_NOTES(xercesc::​XMLString::​transcode("​notes"​)), + cString(xercesc::​XMLString::​replicate(str.c_str())), 
- TAG_NOTE(xercesc::​XMLString::​transcode("​note"​)),​ + xmlString(xercesc::​XMLString::​transcode(str.c_str()))
- TAG_FROM(xercesc::​XMLString::​transcode("​from"​)), +
- TAG_HEADING(xercesc::​XMLString::​transcode("​heading"​)), +
- TAG_BODY(xercesc::​XMLString::​transcode("​body"​)),​ +
-  +
- ATTR_OWNER(xercesc::​XMLString::​transcode("​owner"​)), +
- ATTR_DATE(xercesc::​XMLString::​transcode("​date"​))+
  {}  {}
 +
 + ~UniString() ​
 + {
 + xercesc::​XMLString::​release(&​cString);​
 + xercesc::​XMLString::​release(&​xmlString);​
 + }
  
- ~TagNames() throw(){ + const char* toCString() { return cString} 
- + const XMLCh* toXMLString()  { return xmlString}
- try{ +
- xercesc::​XMLString::​release(&​TAG_NOTES)+
- xercesc::​XMLString::​release(&​TAG_NOTE);​ +
- xercesc::​XMLString::​release(&​TAG_FROM);​ +
- xercesc::​XMLString::​release(&​TAG_HEADING);​ +
- xercesc::​XMLString::​release(&​TAG_BODY);+
   
- xercesc::XMLString::release(&ATTR_OWNER); + std::ostream&​ print(std::ostreamsconst  
- xercesc::​XMLString::​release(&​ATTR_DATE); +
- }catch( ... ){ + s << cString
- std::cerr << "​TagNames destructor error" ​<< std::endl + return(s); 
- }  +
- }  + 
-}+private : 
 + char* ​  ​cString;​ 
 + XMLCh* ​ xmlString;​ 
 + 
 +}; 
 + 
 +std::ostream&​ operator<<std::ostream&​ s, const UniString&​ str ) { return s << str.print()
 + 
 +//klasa pomocnicza przechowująca nazwy tagów oraz atrybutów  
 +class docNames { 
 +public: 
 + const UniString TAG_NOTES;​ 
 + const UniString TAG_NOTE; 
 + const UniString TAG_FROM; 
 + const UniString TAG_HEADING;​ 
 + const UniString TAG_BODY; 
 +  
 + const UniString ATTR_OWNER;​ 
 + const UniString ATTR_DATE;​ 
 +  
 + docNames() 
 + : 
 + TAG_NOTES("​notes"​),​ 
 + TAG_NOTE("​note"​),​ 
 + TAG_FROM("​from"​),​ 
 + TAG_HEADING("​heading"​),​ 
 + TAG_BODY("​body"​),​ 
 +  
 + ATTR_OWNER("​owner"​),​ 
 + ATTR_DATE("​date"​) 
 + {
 +};
 </​code>​ </​code>​
  
xerces_dom.txt · ostatnio zmienione: 2008/04/16 15:33 przez kmioduszewski