sergei 968338c428 * Reverted removal of 'ISO8859-1' encoding because it is still used in fcl-registry. 16 years ago
..
README.txt 4bf254bc32 * added .txt extensions to all README, TODO and COPYING files 16 years ago
dom.pp 6a8064fc3f + Added TDOMNode_WithChildren.InternalAppend, and used it to build node tree when cloning nodes. This speeds up the scenario when cloneNode() and node lists are used together, because the document is no longer marked as modified at each call to cloneNode. 16 years ago
dom_html.pp 4545f311a7 * A huge initial patch for HTML DOM module, makes most of the properties/methods functional, although a lot more work is still required. 16 years ago
htmldefs.pp d8a74620a5 + Added definitions for deprecated (in HTML 4.01) attributes. Deprecated elements are already there. 16 years ago
htmlelements.pp a2f5f7400b * Replaces several direct references to FNSI.QName by the NodeName property, so 16 years ago
htmlwriter.pp eb34e7b96d * Added Meta, Link and Script methods to THTMLWriter 17 years ago
htmwrite.pp ccb730c051 *HTML writer: change charset in 'meta' tag (if any) to utf-8, because it is the encoding we actually write. 16 years ago
names.inc 213f8a41c7 * Large patch from Sergei Gorelkin: 17 years ago
sax.pp cc253cca5b SAX cleanup, part 1: 16 years ago
sax_html.pp 173a0647a3 Reworked entity reference handling in SAX parsers: 16 years ago
sax_xml.pp 26366263f1 sax_xml.pp: 16 years ago
tagsimpl.inc 9024d66959 * units htmlelements and htmlwriter moved from fcl-web to fcl-xml 18 years ago
tagsintf.inc 9024d66959 * units htmlelements and htmlwriter moved from fcl-web to fcl-xml 18 years ago
wtagsimpl.inc 9024d66959 * units htmlelements and htmlwriter moved from fcl-web to fcl-xml 18 years ago
wtagsintf.inc 9024d66959 * units htmlelements and htmlwriter moved from fcl-web to fcl-xml 18 years ago
xhtml.pp 4e5488529d * fixed class conversion and inheritance tree errors 18 years ago
xmlcfg.pp 425170167d * Base units of the package now can be compiled also with Delphi, patch from Dariusz Mazur (with some modifications). 16 years ago
xmlconf.pp 77b38b6be5 * Patch from Sergei Gorelkin: 17 years ago
xmliconv.pas aecbef27b2 * Patch from Sergei Gorelkin: 16 years ago
xmliconv_windows.pas ee3ac64afb * Hopefully fixed argument size problem on 64-bit windows 16 years ago
xmlread.pp 968338c428 * Reverted removal of 'ISO8859-1' encoding because it is still used in fcl-registry. 16 years ago
xmlstreaming.pp 915aa94e2d * Implemented dummys for missing methods 17 years ago
xmlutils.pp df5dec2106 * TNSSupport.CheckAttribute added check for null nsURI, it should not emit prefixes for namespaceless attributes. 16 years ago
xmlwrite.pp 0589b2a846 XML writer: 16 years ago
xpath.pp d44c6876cd xpath.pp: 16 years ago

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.