sg 1f71f198e6 * Added procedures to process XML fragments only (e.g. for merging them 23 years ago
..
Makefile 0e2046b1fd * Some more OpenBSD fixes. 23 years ago
Makefile.fpc 293d6a1671 * Makefile fixes 25 years ago
README feeda567a7 * Updated to reflect the recent changes in the xmlread and xmlwrite units 25 years ago
dom.pp db24d91c85 * old logs removed and tabs fixed 23 years ago
htmldoc.pp db24d91c85 * old logs removed and tabs fixed 23 years ago
htmwrite.pp db24d91c85 * old logs removed and tabs fixed 23 years ago
xhtml.pp db24d91c85 * old logs removed and tabs fixed 23 years ago
xmlcfg.pp db24d91c85 * old logs removed and tabs fixed 23 years ago
xmlread.pp 1f71f198e6 * Added procedures to process XML fragments only (e.g. for merging them 23 years ago
xmlstreaming.pp db24d91c85 * old logs removed and tabs fixed 23 years ago
xmlwrite.pp 4906fc9e1a * Argument escaping improvements 23 years ago

README

Free Pascal XML units
---------------------

DOM:
Implements most of the DOM level 1 specification and supports some of the
DOM level 2 extensions.

XMLRead:
Provides a simple XML reader, which can read XML data from a file or stream.
This simple parser will be replaced by a much improved one soon, which will be
able to handle different character encodings, namespaces and entity references.
(This parser reads the file directly, i.e. it doesn't support Unicode or
different charsets yet.)
Regarding entity references: The pre-defined entities "lt", "gt", "amp", "apos"
and "quot" are replaced by their normal value during reading. Other entity
references are stored as TDOMEntityReference nodes in the DOM tree.
Regarding whitespace handling: Whitespace directly after the beginning of a
tag is discarded, and sections of the XML file which contain only whitespace and
no other text content are discarded as well.

XMLWrite:
Writes a DOM structure as XML data into a file or stream. It can deal both with
XML files and XML fragments.
At the moment it supports only the node types which can be read by XMLRead.
Please note that the writer replaces some characters by entity references
automatically:
For attribute values, '"' gets replaced by '"', and '&' gets replaced by
'&'. For normal text nodes, the following replacements will be done:
'<' => '<'
'>' => '>'
'&' => '&'
The XML reader (in xmlread.pp) will convert these entity references back to
their original characters.