/* This file is part of KIllustrator. Copyright (C) 1998 Kai-Uwe Sattler (kus@iti.cs.uni-magdeburg.de) modified for kvoctrain by Ewald Arnold kvoctrain@ewald-arnold.dein April ´99 */ #ifndef XmlElement_h_ #define XmlElement_h_ #include "koxml_config.h" #include /** * An instance of XmlAttribute represents an attribute of * XML elements. It provides methods for accessing the attribute * value. * * @short A class for representing attributes of XML elements. * @author Kai-Uwe Sattler (kus@iti.cs.uni-magdeburg.de), modifications: Ewald Arnold (kvoctrain@ewald-arnold.de) * @version 2000/07/02 */ class XmlAttribute { public: /** * Construct an attribute from the given name and value. * * @param n The name of the attribute. * @param v The attribute value. */ XmlAttribute (const KOXML_STRING& n, const KOXML_STRING& v); /** * Copy constructor. */ XmlAttribute (const XmlAttribute& attr); /** * Destructor. */ ~XmlAttribute (); /** * The assignment operator. */ XmlAttribute& operator= (const XmlAttribute& attr); /** * Return the name of the attribute. * * @return The attribute name. */ inline const KOXML_STRING& name () const { return aname; } /** * Return a string representation of the attribute value. * * @return The attribute value as string. */ inline const KOXML_STRING& stringValue () const { return value; } /** * Return a float representation of the attribute value. * * @return The attribute value as float. */ float floatValue () const; /** * Return a integer representation of the attribute value. * * @return The attribute value as integer. */ int intValue () const; private: KOXML_STRING aname, value; }; /** * An instance of XmlElement represents an element (object) of a XML * document. The elements consists of the tag (element ID) and a list * of attributes. * * @short A class for representing XML elements. * @author Kai-Uwe Sattler (kus@iti.cs.uni-magdeburg.de), modifications: Ewald Arnold (kvoctrain@ewald-arnold.de) * @version 2000/07/02 */ class XmlElement { friend class XmlReader; public: /** * Construct a new XML element. */ XmlElement (); /** * Copy constructor. */ XmlElement (const XmlElement& elem); /** * Destructor. */ ~XmlElement (); void reset (); /** * The assignment operator. */ XmlElement& operator= (const XmlElement& elem); /** * Return the ID of the element. * * @return The element ID. */ inline const KOXML_STRING& tag () const { return tagId; } /** * Return the attributes of the element. * @see XmlAttribute * * @return The list of attributes. */ inline const std::list& attributes () const { return attribs; } /** * Return @p true if the element is closed. * * @return @p true for a closed element. */ inline bool isClosed () const { return closed; } /** * Return @p true if the element is an end tag. * * @return @p true for an end tag. */ inline bool isEndTag () const { return endTag; } private: KOXML_STRING tagId; bool closed; bool endTag; std::list attribs; }; #endif