XMLminus Documentation


See INSTALL in the source tarball.

Using std::wstring

The MinGW Windows port libstdc++ does not support std::wstring because of it's dependecies to POSIX-style locales. Because of this XMLminus does not have std::wstring support included unless explicitly enabled with HAVE_WSTRING macro at compile time and whenever including xmlminus.h

If you want to use XMLminus with std::wstring, you must enable the HAVE_WSTRING macro either with compiler arguments, a header file such as config.h or manually before including xmlminus.h.

If you are building XMLminus using the standard installation procedure, the configure script enables/disables the HAVE_WSTRING macro if std::wstring is present in your system.

Element types


The NORMAL element type represents a regular tag and it's contents. A NORMAL element may contain attributes, children and text. A NORMAL element's value is the name of the tag.


Any tag beginning with a question mark ('?') is regarded as a DECLARATION by XMLminus. A declaration's value is it's tag name and a declaration can have attributes. All declaration tags must end with a question mark. A declaration can not have any children or text.


Any tag starting with an exclamation mark ('!') are regarded as a COMMENT. Any text inside a comment tag is stored into the element's value. A comment can not have any children, text or attributes.


The TERMINATOR element type is used internally to mark end tags. The TERMINATOR elements are removed in the parsing process. However, if parsing of an invidual element fails, (and all exceptions are caught) there may be extra TERMINATOR elements left in the element hierarchy. If you encounter any TERMINATOR elements, you should assume that the parsing process has failed.

Differences to the XML standard

Text between tags

An XMLminus Element stores all text inside the element (between the tags) in one single string. All text that is inside that element is concatenated together. The following XML code:

	Some text
	<childelement attribute="value">
		Text inside the child element
	Some more text

is interpreted by XMLminus as:

	<childelement attribute="value">
		Text inside the child element
	Some text Some more text


XMLminus treats all tags beginning with an exclamation mark ('!') as comments. All text inside the comment tag are stored in the element's value.

<!-- An XML comment -->
<! XMLminus treats this as a comment, although it's not a real XML comment >
<!-- a comment can contain any <tags>inside</tags> it -->
<!-- a comment can have other <! comments > inside -->

Riku Salminen

Generated on Fri Dec 15 19:24:38 2006 for XMLminus by  doxygen 1.5.0