Public Member Functions | Public Attributes

XMLStorage::DocType Struct Reference

XML document type description. More...

#include <xmlstorage.h>

Collaboration diagram for XMLStorage::DocType:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void parse (const char *str)
bool empty () const

Public Attributes

std::string _name
std::string _public
std::string _system

Detailed Description

XML document type description.

Definition at line 987 of file xmlstorage.h.


Member Function Documentation

bool XMLStorage::DocType::empty (  ) const [inline]

Definition at line 998 of file xmlstorage.h.

References _name.

{return _name.empty();}
void XMLStorage::DocType::parse ( const char *  str )

Definition at line 764 of file xmlstorage.cpp.

Referenced by XMLStorage::ParseContext::process_next().

{
    while(isspace((unsigned char)*p)) ++p;

    const char* start = p;
    p = get_xmlsym_end_utf8(p);
    _name.assign(start, p-start);

    while(isspace((unsigned char)*p)) ++p;

    start = p;
    p = get_xmlsym_end_utf8(p);
//  std::string keyword(p, p-start);    // "PUBLIC" or "SYSTEM"

    while(isspace((unsigned char)*p)) ++p;

    if (*p=='"' || *p=='\'') {
        char delim = *p;

        start = ++p;
        while(*p && *p!=delim) ++p;

        if (*p == delim)
            _public.assign(start, p++-start);
    } else
        _public.erase();

    while(isspace((unsigned char)*p)) ++p;

    if (*p=='"' || *p=='\'') {
        char delim = *p;

        start = ++p;
        while(*p && *p!=delim) ++p;

        if (*p == delim)
            _system.assign(start, p++-start);
    } else
        _system.erase();
}

Here is the caller graph for this function:


Member Data Documentation

Definition at line 989 of file xmlstorage.h.

Referenced by empty(), get_html_page(), and HTMLFormat::HTMLFormat().

Definition at line 992 of file xmlstorage.h.

Definition at line 993 of file xmlstorage.h.


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