Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
NodeHTML Class Reference

#include <TreeHTML.h>

Inheritance diagram for NodeHTML:
Inheritance graph
[legend]
Collaboration diagram for NodeHTML:
Collaboration graph
[legend]

Public Member Functions

 NodeHTML (const elem_t &t=elem_t(0))
 Default constructor.
 
 NodeHTML (const NodeHTML &node)
 Copy constructor.
 
virtual void setType (const elem_t &t)
 
template<class T >
NodeHTMLoperator= (const T &s)
 
- Public Member Functions inherited from NodeXML< BaseHTML::tag_t >
std::map< int, std::string > tags
 
 NodeXML (const elem_t &t=elem_t(0))
 
 NodeXML (const NodeXML &node)
 
bool empty () const
 
virtual void setType (const elem_t &t)
 
const elem_tgetType () const
 
bool typeIs (const elem_t &t) const
 
bool isComment () const
 
bool isCText () const
 
bool isUndefined () const
 
bool isSelfClosing () const
 
bool isSelfClosing () const
 
bool isSelfClosing () const
 
const std::string & getTag () const
 
const map_tgetAttributes () const
 
map_tgetAttributes ()
 
void set (const NodeXML &node)
 
void set (const elem_t &type)
 
void set (const std::string &s)
 
void set (const char *s)
 
void set (const drain::Castable &s)
 
void set (const std::initializer_list< Variable::init_pair_t > &l)
 
void set (const std::map< std::string, X > &args)
 
void set (const std::string &key, const V &value)
 
void remove (const std::string &s)
 
const drain::FlexibleVariableget (const std::string &key) const
 
drain::FlexibleVariableget (const std::string &key)
 
get (const std::string &key, const V &defaultValue) const
 
std::string get (const std::string &key, const char *defaultValue) const
 
void addClass (const TT &... args)
 Style class.
 
bool hasClass (const std::string &cls) const
 
void removeClass (const std::string &s)
 
void clearClasses ()
 
NodeXMLoperator= (const BaseHTML::tag_t &x)
 
NodeXMLoperator= (const Castable &c)
 
NodeXMLoperator= (const std::string &s)
 
NodeXMLoperator= (const char *s)
 
NodeXMLoperator= (const std::initializer_list< std::pair< const char *, const drain::Variable > > &l)
 
NodeXMLsetComment (const std::string &text="")
 Make this node a comment. Contained tree will not be delete. In current version, attributes will be rendered. More...
 
NodeXMLsetText (const S &value)
 Assign the text content of this node. If the node type is undefined, set it to CTEXT. More...
 
NodeXMLsetText (const char *value)
 
void setStyle (const S &value)
 
void setStyle (const std::string &value)
 
void setStyle (const char *value)
 
void setStyle (const std::string &key, const std::string &value)
 
void setStyle (const std::string &key, const V &value)
 
void setStyle (const std::initializer_list< std::pair< const char *, const drain::Variable > > &l)
 
bool findById (const BaseHTML::tag_t &t, const std::string &id, typename T::path_t &result, const typename T::path_t &path)
 
bool findById (const BaseHTML::tag_t &t, const std::string &id, NodeXML<>::path_list_t &result, const path_t &path)
 
bool findByTag (const BaseHTML::tag_t &t, const N &tag, NodeXML<>::path_list_t &result, const path_t &path)
 
bool findByTags (const BaseHTML::tag_t &t, const std::set< N > &tags, NodeXML<>::path_list_t &result, const path_t &path)
 
bool findByClass (const BaseHTML::tag_t &t, const std::string &cls, NodeXML<>::path_list_t &result, const path_t &path)
 
std::ostream & toStream (std::ostream &ostr, const BaseHTML::tag_t &tree, const std::string &defaultTag, int indent)
 XML output function shared for all XML documents, ie versions defined in subclasses. More...
 
void setId ()
 Makes ID a visible attribute.
 
void setId (const std::string &s)
 Makes ID a visible attribute, with a given value.
 
const std::string & getId () const
 Returns ID of this element. Hopefully a unique ID...
 

Static Public Member Functions

static std::ostream & docToStream (std::ostream &ostr, const xml_tree_t &tree)
 
- Static Public Member Functions inherited from NodeXML< BaseHTML::tag_t >
static const std::string & getTag (unsigned int index)
 
static bool findById (const V &tree, const std::string &tag, typename V::path_t &result, const typename V::path_t &path=path_t())
 Find the first occurrence of given id using recursive breath-first search. More...
 
static bool findById (const V &tree, const std::string &tag, path_list_t &result, const path_t &path=path_t())
 Find all the occurrence of given ID using recursive breath-first search. More...
 
static bool findByTag (const V &tree, const BaseHTML::tag_t &tag, path_list_t &result, const path_t &path=path_t())
 "Forward definition"
 
static bool findByTags (const V &tree, const std::set< BaseHTML::tag_t > &tags, path_list_t &result, const path_t &path=path_t())
 "Forward definition"
 
static bool findByClass (const V &t, const std::string &tag, path_list_t &result, const path_t &path=path_t())
 "Forward definition"
 
static std::ostream & docToStream (std::ostream &ostr, const V &tree)
 
static std::ostream & toStream (std::ostream &ostr, const V &t, const std::string &defaultTag="", int indent=0)
 "Forward definition" of Tree::toOstream
 
static std::ostream & docTypeToStream (std::ostream &ostr)
 Write the XML definition beginning any XML document. More...
 
static const std::pair< key_t, NodeXML< BaseHTML::tag_t > > & entry ()
 
static int getCount ()
 

Static Public Attributes

static const FileInfo fileInfo
 
- Static Public Attributes inherited from NodeXML< BaseHTML::tag_t >
static const int UNDEFINED
 
static const int COMMENT
 
static const int CTEXT
 
static const int STYLE
 
static const int SCRIPT
 
static tag_map_t tags
 

Additional Inherited Members

- Public Types inherited from BaseHTML
enum  tag_t {
  UNDEFINED =NodeXML<>::UNDEFINED , COMMENT =NodeXML<>::COMMENT , CTEXT =NodeXML<>::CTEXT , STYLE =NodeXML<>::STYLE ,
  SCRIPT =NodeXML<>::SCRIPT , HTML , HEAD , BASE ,
  LINK , META , TITLE , BODY ,
  A , BR , CAPTION , DIV ,
  H1 , H2 , H3 , HR ,
  IMG , LI , OL , P ,
  SPAN , TABLE , TR , TH ,
  TD , UL
}
 
- Public Types inherited from NodeXML< BaseHTML::tag_t >
typedef BaseHTML::tag_t elem_t
 Tag type, CTEXT or COMMENT.
 
typedef NodeXML< BaseHTML::tag_t > xml_node_t
 
typedef drain::Path< std::string,'/'> path_t
 Tree path type.
 
typedef UnorderedMultiTree< NodeXML< BaseHTML::tag_t >, false, path_txml_tree_t
 
typedef ReferenceMap2< FlexibleVariablemap_t
 
typedef std::map< BaseHTML::tag_t, std::string > tag_map_t
 
typedef std::list< path_tpath_list_t
 
- Public Attributes inherited from NodeXML< BaseHTML::tag_t >
elem_t type
 
std::string ctext
 Some general-purpose.
 
std::string url
 
StyleXML style
 
ClassListXML classList
 
- Protected Types inherited from NodeXML< BaseHTML::tag_t >
typedef std::map< std::string, std::string > xmldoc_attrib_map_t
 
- Protected Types inherited from ReferenceMap2< FlexibleVariable >
enum  extLinkPolicy
 
typedef FlexibleVariable ref_t
 
typedef SmartMap< FlexibleVariablemap_t
 
- Protected Types inherited from SmartMap< FlexibleVariable >
typedef SmartMap< FlexibleVariablesmap_t
 
typedef std::map< std::string, FlexibleVariablemap_t
 
typedef map_t::key_type key_t
 
typedef map_t::mapped_type value_t
 
typedef map_t::value_type entry_t
 
typedef std::list< std::string > keylist_t
 
typedef map_t::iterator iterator
 Needed?
 
typedef map_t::const_iterator const_iterator
 
- Protected Member Functions inherited from NodeXML< BaseHTML::tag_t >
NodeXML< int >::xmldoc_attrib_map_t xmldoc_attribs
 
- Protected Member Functions inherited from ReferenceMap2< FlexibleVariable >
ref_tlink (const std::string &key, F &x)
 Associates a map entry with a variable. More...
 
ref_tlink (const std::string &key, void *ptr, const std::type_info &type, size_t count=1)
 Create a reference to a basic type or std::string. (Also for basetype arrays.)
 
void copyStruct (const ReferenceMap2< FlexibleVariable > &m, const T2 &src, T2 &dst, extLinkPolicy policy=RESERVE)
 Experimental. Copies references and values of a structure to another. More...
 
- Protected Member Functions inherited from SmartMap< FlexibleVariable >
 SmartMap (char separator='\0', char arraySeparator=':')
 
 SmartMap (const SmartMap &smap)
 
virtual void clear ()
 
bool hasKey (const std::string &key) const
 
std::string get (const std::string &key, const std::string &defaultValue) const
 Retrieves a value, or default value if value is unset. More...
 
std::string get (const std::string &key, const char *defaultValue) const
 
T2 get (const std::string &key, const T2 &defaultValue) const
 Retrieves a value, if set, else returns the given default value. More...
 
virtual FlexibleVariableoperator[] (const std::string &key)
 Returns an element. Creates one, conditionally. More...
 
virtual const FlexibleVariableoperator[] (const std::string &key) const
 Unlike with std::map, operator[] const is defined, returning reference to a static empty instance.
 
virtual const keylist_t & getKeyList () const
 Derived versions may produce an ordered set of keys.
 
const map_t & getMap () const
 
void exportMap (std::map< std::string, T2 > &m) const
 Copies the contents to another map.
 
void importEntries (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Assigns a value to given key; if the entry does not exist, tries to create it with directly with operator[]. More...
 
void importEntries (const std::list< std::string > &entries, char assignmentSymbol='=')
 
void importMap (const std::map< std::string, S > &m)
 Assign values from a map, overriding existing entries. More...
 
void importCastableMap (const drain::SmartMap< T2 > &m)
 Assign values from a map, possibly extending the map. More...
 
void updateFromMap (const std::map< std::string, T2 > &m)
 Assign values from a map. Updates existing entries only. More...
 
void updateFromCastableMap (const drain::SmartMap< T2 > &m)
 Convenience.
 
void setValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Sets values. If strictness==STRICTLY_CLOSED, throws exception if tries to assign a non-existing entry.
 
void setValues (const char *entries, char assignmentSymbol='=', char separatorSymbol=0)
 
void setValuesSEQ (const S &sequence)
 
void updateValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Sets applicable values ie. modifies existing entries only. In ordered maps, skips extra entries silently.
 
void getKeys (std::ostream &ostr) const
 
std::string getKeys () const
 Convenience function for std::string output.
 
void getValues (std::ostream &ostr) const
 Dumps the values.
 
std::string getValues () const
 Convenience function for std::string output.
 
std::ostream & toStream (std::ostream &ostr, char equal='=', char startChar='{', char endChar='}', char separatorChar=',') const
 Note: parameters discarded.
 
std::string toStr (char equal='=', char start=0, char end=0, char separator=0) const
 
void dump (std::ostream &ostr=std::cout) const
 Write map as a JSON code. More...
 
- Static Protected Member Functions inherited from NodeXML< BaseHTML::tag_t >
static void attribToStream (std::ostream &ostr, const std::string &key, const V &value)
 
- Protected Attributes inherited from NodeXML< BaseHTML::tag_t >
std::string id
 
- Protected Attributes inherited from SmartMap< FlexibleVariable >
std::list< std::string > keyList
 Assigns values from std::string of type "value,value2,...valueN". More...
 
char separator
 Default character used for splitting input and output. See setValues.
 
char arraySeparator
 Default separator character for array elements (std::vector's)
 
- Static Protected Attributes inherited from NodeXML< BaseHTML::tag_t >
static xmldoc_attrib_map_t xmldoc_attribs
 
static int nextID
 

Detailed Description

Template Parameters
T- index type; may be enum.

The documentation for this class was generated from the following files: