marco 0feee25b1e # revisions: 46531,46744,46747,47288,47327,47366,47392,47393,47414 %!s(int64=4) %!d(string=hai) anos
..
README.txt 4bf254bc32 * added .txt extensions to all README, TODO and COPYING files %!s(int64=16) %!d(string=hai) anos
dom.pp 124592899f * fcl-xml: dropped using 'hack classes', which cause runtime errors if compiled with -CR. Resolves #27447. %!s(int64=10) %!d(string=hai) anos
dom_html.pp 0117568c25 * Patch from Martok to let CreateElement create correct class (bug ID 32322) %!s(int64=8) %!d(string=hai) anos
dtdmodel.pp d14c6b5e0a * fcl-xml: fixed off-by-one error, preventing 'xmlns:foo' in DTD ATTLIST from being recognized as namespace declaration. %!s(int64=9) %!d(string=hai) anos
htmldefs.pp d8a74620a5 + Added definitions for deprecated (in HTML 4.01) attributes. Deprecated elements are already there. %!s(int64=16) %!d(string=hai) anos
htmlelements.pp 72b521e365 * fix result:=func(result) instead of result:=func(s). Mantis #26746 %!s(int64=11) %!d(string=hai) anos
htmlwriter.pp c61c192c23 * Fixed class cast error (THTMLDocument is not a descendant of THTMLCustomElement). %!s(int64=13) %!d(string=hai) anos
htmwrite.pp a6ea383b0e * Don't escape text inside script/style elements, third part of Mantis #22434. %!s(int64=9) %!d(string=hai) anos
names.inc 6adf381867 * fcl-xml, upgrade to comply with XML 1.0 Fifth Edition. This makes naming rules for xml 1.0 identical to ones for xml 1.1. %!s(int64=13) %!d(string=hai) anos
sax.pp 86f0a4177d * SAX cleanup: removed {$ifdef UseDynArrays}, left variant without dynarrays, they don't provide any significant advantage. %!s(int64=13) %!d(string=hai) anos
sax_html.pp d997db7fa7 * Fix bug ID #32389 (patch from Martok) to fix script parsing %!s(int64=7) %!d(string=hai) anos
sax_xml.pp 0feee25b1e # revisions: 46531,46744,46747,47288,47327,47366,47392,47393,47414 %!s(int64=4) %!d(string=hai) anos
tagsimpl.inc 9024d66959 * units htmlelements and htmlwriter moved from fcl-web to fcl-xml %!s(int64=18) %!d(string=hai) anos
tagsintf.inc 9024d66959 * units htmlelements and htmlwriter moved from fcl-web to fcl-xml %!s(int64=18) %!d(string=hai) anos
wtagsimpl.inc 9024d66959 * units htmlelements and htmlwriter moved from fcl-web to fcl-xml %!s(int64=18) %!d(string=hai) anos
wtagsintf.inc 9024d66959 * units htmlelements and htmlwriter moved from fcl-web to fcl-xml %!s(int64=18) %!d(string=hai) anos
xhtml.pp 4e5488529d * fixed class conversion and inheritance tree errors %!s(int64=18) %!d(string=hai) anos
xmlcfg.pp dec9a74507 * Marked TXMLConfig component as deprecated as well %!s(int64=14) %!d(string=hai) anos
xmlconf.pp 499df41c28 --- Merging r40529 into '.': %!s(int64=6) %!d(string=hai) anos
xmliconv.pas aecbef27b2 * Patch from Sergei Gorelkin: %!s(int64=16) %!d(string=hai) anos
xmliconv_windows.pas ee3ac64afb * Hopefully fixed argument size problem on 64-bit windows %!s(int64=16) %!d(string=hai) anos
xmlread.pp 124592899f * fcl-xml: dropped using 'hack classes', which cause runtime errors if compiled with -CR. Resolves #27447. %!s(int64=10) %!d(string=hai) anos
xmlreader.pp 18079355f5 * fcl-xml, going public with TXMLTextReader: moved most of the code from xmlread.pp to new unit xmltextreader.pp, auxiliary classes moved to xmlreader.pp. %!s(int64=13) %!d(string=hai) anos
xmlstreaming.pp 915aa94e2d * Implemented dummys for missing methods %!s(int64=18) %!d(string=hai) anos
xmltextreader.pp 869d24f7d1 * spelling mistakes fpc repo part, mantis #30233 %!s(int64=9) %!d(string=hai) anos
xmlutils.pp 081900de7c * Merging revisions 40927,40930,40935,40936,40939,40940,40942,40944 from trunk: %!s(int64=6) %!d(string=hai) anos
xmlwrite.pp def5c7feab * Merging revisions 41662 from trunk: %!s(int64=6) %!d(string=hai) anos
xpath.pp 8afc5b8ebf + Basic implementation of TXPathNSResolver class, Mantis #25183. %!s(int64=12) %!d(string=hai) anos
xpathkw.inc 0f5795baaf XPath, use a perfect hash to recognize all possible keywords. %!s(int64=15) %!d(string=hai) anos

README.txt

Free Pascal XML units
=====================

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


XMLRead
-------
Provides an XML reader, which can read XML data from a file or stream.
The parser can read files encoded in UTF-8, UTF-16 (both endianness),
and ISO-8859-1. It supports DTD validation.
Regarding entity references: The pre-defined entities "lt", "gt", "amp", "apos"
and "quot", and internal entities declared in DTD, are replaced by their
defined values during reading. Ability to resolve external entities is
currently limited to the file system.
Regarding whitespace handling: By default, 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. However, whitespace-preserving
mode can be enabled by setting TDOMParser.Options.PreserveWhitespace property to
True.


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 UTF-8 output endcoding.
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 '"', and characters
#9, #10 and #13 are escaped using numerical references. 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.


HTMLDefs
--------
Contains basic HTML declarations.


HTMLElements
------------
Implements a DOM for HTML content. Contains a TDOMElement descendent for
all valid HTML 4.1 tags.

THtmlCustomElement:
Basis for all HTML tag elements.
THTMLDocument:
TDOMDocument descendent
THTMLIDElement:
element representing tag

All tags are in tagsintf.inc.


HTMLWriter
----------
Implements a verified HTML producer.

THTMLwriter:
This is a class which allows to write certified correct HTML.
It works using the DOM for HTML.
It also has forms support.

Writing HTML is done as follows:

StartBold;
Write('This text is bold');
EndBold;
or
Bold('This text is bold');

But the following is also possible
Bold(Center('Bold centered text'));

Open tags will be closed automatically.

wtagsintf.inc contains all possible tags.