20#ifndef KOFFICE_XMLREADER
21#define KOFFICE_XMLREADER
27#include <koffice_export.h>
31#define KoXmlNode TQDomNode
32#define KoXmlElement TQDomElement
33#define KoXmlText TQDomText
34#define KoXmlCDATASection TQDomCDATASection
35#define KoXmlDocument TQDomDocument
43class TQXmlInputSource;
64class KOFFICECORE_EXPORT KoXmlNode
74 ProcessingInstructionNode,
79 KoXmlNode( const KoXmlNode& node );
80 KoXmlNode& operator=( const KoXmlNode& node );
81 bool operator== ( const KoXmlNode& ) const;
82 bool operator!= ( const KoXmlNode& ) const;
85 virtual KoXmlNode::NodeType nodeType() const;
86 virtual bool isNull() const;
87 virtual bool isElement() const;
88 virtual bool isText() const;
89 virtual bool isCDATASection() const;
90 virtual bool isDocument() const;
98 virtual TQString nodeName() const;
99 virtual TQString namespaceURI() const;
100 virtual TQString prefix() const;
101 virtual TQString localName() const;
104 KoXmlNode parentNode() const;
106 bool hasChildNodes() const;
107 KoXmlNode firstChild() const;
108 KoXmlNode lastChild() const;
109 KoXmlNode nextSibling() const;
110 KoXmlNode previousSibling() const;
112 KoXmlNode namedItem( const TQString& name ) const;
113 KoXmlNode namedItemNS( const TQString& nsURI, const TQString& name ) const;
120 void load( int depth=1 );
129 KoXmlNode( KoXmlNodeData* );
140class KOFFICECORE_EXPORT KoXmlElement: public KoXmlNode
144 KoXmlElement( const KoXmlElement& element );
145 KoXmlElement& operator=( const KoXmlElement& element );
146 virtual ~KoXmlElement();
147 bool operator== ( const KoXmlElement& ) const;
148 bool operator!= ( const KoXmlElement& ) const;
150 TQString tagName() const;
151 TQString text() const;
152 virtual bool isElement() const;
154 TQString attribute( const TQString& name ) const;
155 TQString attribute( const TQString& name, const TQString& defaultValue ) const;
156 TQString attributeNS( const TQString& namespaceURI, const TQString& localName,
157 const TQString& defaultValue ) const;
158 bool hasAttribute( const TQString& name ) const;
159 bool hasAttributeNS( const TQString& namespaceURI, const TQString& localName ) const;
162 friend class KoXmlNode;
163 friend class KoXmlDocument;
164 KoXmlElement( KoXmlNodeData* );
171class KOFFICECORE_EXPORT KoXmlText: public KoXmlNode
175 KoXmlText( const KoXmlText& text );
176 KoXmlText& operator=( const KoXmlText& text );
177 virtual ~KoXmlText();
179 TQString data() const;
180 void setData( const TQString& data );
181 virtual bool isText() const;
184 friend class KoXmlNode;
185 friend class KoXmlDocument;
186 KoXmlText( KoXmlNodeData* );
193class KOFFICECORE_EXPORT KoXmlCDATASection: public KoXmlText
197 KoXmlCDATASection( const KoXmlCDATASection& cdata );
198 KoXmlCDATASection& operator=( const KoXmlCDATASection& cdata );
199 virtual ~KoXmlCDATASection();
201 virtual bool isCDATASection() const;
204 friend class KoXmlNode;
205 friend class KoXmlDocument;
206 KoXmlCDATASection( KoXmlNodeData* );
221class KOFFICECORE_EXPORT KoXmlDocument: public KoXmlNode
225 KoXmlDocument( const KoXmlDocument& node );
226 KoXmlDocument& operator=( const KoXmlDocument& node );
227 bool operator==( const KoXmlDocument& ) const;
228 bool operator!=( const KoXmlDocument& ) const;
229 virtual ~KoXmlDocument();
231 virtual bool isDocument() const;
235 void setFastLoading( bool f );
236 bool fastLoading() const;
238 bool setContent( TQIODevice* device, bool namespaceProcessing,
239 TQString* errorMsg = 0, int* errorLine = 0, int* errorColumn = 0 );
240 bool setContent( TQIODevice* device,
241 TQString* errorMsg = 0, int* errorLine = 0, int* errorColumn = 0 );
242 bool setContent( TQXmlInputSource *source, TQXmlReader *reader,
243 TQString* errorMsg = 0, int* errorLine = 0, int* errorColumn = 0 );
256 friend class KoXmlNode;
257 KoXmlDocument( KoXmlNodeData* );
299 const char* nsURI, const char* localName );
305 KOFFICECORE_EXPORT void load( KoXmlNode& node, int depth = 1 );
315#define forEachElement( elem, parent ) \
316 for ( KoXmlNode _node = parent.firstChild(); !_node.isNull(); _node = _node.nextSibling() ) \
317 if ( !( elem = _node.toElement() ).isNull() )
KoXmlCDATASection represents a CDATA section in a DOM tree.
KoXmlDocument represents an XML document, structured in a DOM tree.
KoXmlElement represents a tag element in a DOM tree.
KoXmlNode represents a node in a DOM tree.
void load(int depth=1) Loads all child nodes (if any) of this node.
void unload() Releases all child nodes of this node.
KoXmlText represents a text in a DOM tree.
This namespace contains a few convenience functions to simplify code using TQDom (when loading OASIS ...
KOFFICECORE_EXPORT void unload(KoXmlNode &node) Unload child nodes of specified node.
KOFFICECORE_EXPORT void load(KoXmlNode &node, int depth=1) Explicitly load child nodes of specified node, up to given depth.
KOFFICECORE_EXPORT KoXmlElement namedItemNS(const KoXmlNode &node, const char *nsURI, const char *localName) A namespace-aware version of TQDomNode::namedItem(), which also takes care of casting to a TQDomEleme...
|