peter 223f898a6a Merged revisions 3456,3459-3460,3462,3484,3568,3571,3682,3689,3774,3783-3785,3798-3799,3809,3811,3820,3824-3825,3833,3842 via svnmerge from %!s(int64=19) %!d(string=hai) anos
..
Makefile a54a8634aa Merged revisions 375,2257,2261-2262,2271,2296,2376,2443 via svnmerge from %!s(int64=19) %!d(string=hai) anos
Makefile.fpc 86f78c7300 * units are now created in separate directory units/cpu-os/ %!s(int64=21) %!d(string=hai) anos
README 3077512019 * Documented some recent changes %!s(int64=21) %!d(string=hai) anos
dom.pp a6f2ad347d Merged revisions 3356 via svnmerge from %!s(int64=19) %!d(string=hai) anos
dom_html.pp b409904e44 Merged revisions 42 via svnmerge from %!s(int64=20) %!d(string=hai) anos
htmldefs.pp b409904e44 Merged revisions 42 via svnmerge from %!s(int64=20) %!d(string=hai) anos
htmwrite.pp b409904e44 Merged revisions 42 via svnmerge from %!s(int64=20) %!d(string=hai) anos
sax.pp b409904e44 Merged revisions 42 via svnmerge from %!s(int64=20) %!d(string=hai) anos
sax_html.pp b409904e44 Merged revisions 42 via svnmerge from %!s(int64=20) %!d(string=hai) anos
xhtml.pp b409904e44 Merged revisions 42 via svnmerge from %!s(int64=20) %!d(string=hai) anos
xmlcfg.pp a7fa0220a7 Merged revisions 896,913-914,916-917,930-931,944,985 via svnmerge from %!s(int64=20) %!d(string=hai) anos
xmlread.pp 223f898a6a Merged revisions 3456,3459-3460,3462,3484,3568,3571,3682,3689,3774,3783-3785,3798-3799,3809,3811,3820,3824-3825,3833,3842 via svnmerge from %!s(int64=19) %!d(string=hai) anos
xmlstreaming.pp b409904e44 Merged revisions 42 via svnmerge from %!s(int64=20) %!d(string=hai) anos
xmlwrite.pp 223f898a6a Merged revisions 3456,3459-3460,3462,3484,3568,3571,3682,3689,3774,3783-3785,3798-3799,3809,3811,3820,3824-3825,3833,3842 via svnmerge from %!s(int64=19) %!d(string=hai) anos
xpath.pp 223f898a6a Merged revisions 3456,3459-3460,3462,3484,3568,3571,3682,3689,3774,3783-3785,3798-3799,3809,3811,3820,3824-3825,3833,3842 via svnmerge from %!s(int64=19) %!d(string=hai) anos

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 normal text nodes, the following replacements will be done:
'<' => '<'
'>' => '>'
'&' => '&'
For attribute values, additionally '"' gets replaced by '"'. Single
apostrophes (') don't need to get converted, as values are already written using
"" quotes.
The XML reader (in xmlread.pp) will convert these entity references back to
their original characters.


XPath:
Just a XPath implementation. Should be fairly completed, but there hasn't been
further development recently.