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:00]
kmioduszewski
Linia 139: Linia 139:
  
 </​code> ​ </​code> ​
 +
 +
  
  
Linia 158: Linia 160:
 <​!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 184:
 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)  
- XMLChTAG_NOTE+
- XMLCh* ​TAG_FROM+ cString(xercesc::​XMLString::​transcode(str)),​ 
- XMLChTAG_HEADING+ xmlString(xercesc::​XMLString::​replicate(str)) 
- XMLCh* ​TAG_BODY;+ {} 
 +  
 + UniString(const char* const str) 
 +
 + cString(xercesc::​XMLString::​replicate(str)),​ 
 + xmlString(xercesc::​XMLString::​transcode(str)) 
 + {}  
 + 
 + UniString(const std::​string&​ str) 
 +
 + cString(xercesc::​XMLString::​replicate(str.c_str())),​ 
 + xmlString(xercesc::​XMLString::​transcode(str.c_str())) 
 + {} 
 +  
 + ~UniString()  
 +
 + xercesc::​XMLString::​release(&​cString)
 + xercesc::​XMLString::​release(&​xmlString);​ 
 +
 + 
 + const chartoCString() { return cString} 
 + const XMLCh* ​toXMLString() { return xmlString} 
 +  
 + std::​ostream&​ print(std::​ostream&​ s) const  
 +
 + s << cString; 
 + return(s);​ 
 +
 + 
 +private : 
 + char  cString
 + XMLCh* ​ ​xmlString;​ 
 + 
 +};
  
- XMLCh* ATTR_OWNER;​ +std::​ostream&​ operator<<​( std::​ostream&​ s, const UniString&​ str ) { return s << str.print()}
- XMLCh* ATTR_DATE;+
  
 +//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;
 + 
  TagNames()  TagNames()
  :  :
- TAG_NOTES(xercesc::​XMLString::​transcode("​notes"​)), + TAG_NOTES("​notes"​),​ 
- TAG_NOTE(xercesc::​XMLString::​transcode("​note"​)), + TAG_NOTE("​note"​),​ 
- TAG_FROM(xercesc::​XMLString::​transcode("​from"​)), + TAG_FROM("​from"​),​ 
- TAG_HEADING(xercesc::​XMLString::​transcode("​heading"​)), + TAG_HEADING("​heading"​),​ 
- TAG_BODY(xercesc::​XMLString::​transcode("​body"​)), + TAG_BODY("​body"​),​ 
-  +  
- ATTR_OWNER(xercesc::​XMLString::​transcode("​owner"​)), + ATTR_OWNER("​owner"​),​ 
- ATTR_DATE(xercesc::​XMLString::​transcode("​date"​))+ ATTR_DATE("​date"​)
  {}  {}
- +};
- ~TagNames() throw(){ +
- +
- 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);​ +
- xercesc::​XMLString::​release(&​ATTR_DATE);​ +
- }catch( ... ){ +
- std::​cerr << "​TagNames destructor error" << std::​endl ​; +
- }  +
- }  +
-}+
 </​code>​ </​code>​
  
xerces_dom.txt · ostatnio zmienione: 2008/04/16 15:33 przez kmioduszewski