mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-30 16:33:43 +02:00
![]() xmlread.pp: * Remove TXMLReader.FCurChar, by replacing it by FSource.FBuf^. * Aiming to support any input encoding, the parser has been refactored to consume UTF-16 produced by 'xml-unaware' decoder (i.e. with line endings unadjusted and possibly containing chars that are invalid for XML). The majority of parsing is now done in SkipUntil methods of TXMLCharSource and TXMLDecodingSource. This design also considerably increases performance because it processed chars in batches instead of one-by-one (the decoders still process chars one-by-one, but they are subject for soon replacement). * Signature of BufAppendChunk changed to take starting and ending addresses of the buffer instead of starting address and length. * More sophisticated parsing of end-tags, avoids calls to StoreLocation if possible (despite its trvial look, StoreLocation is quite expensive in CPU cycles). dom.pp: * Some progress with DOM level 2. Implemented namespaceURI, prefix, localName properties for Elements and Attributes. The namespace information occupies only 32 bits per node. * Implemented storing names of elements and attributes in a hash table. This considerably reduces amount of used memory because each unique string is stored only once. Reducing memory allocation count also improves parsing speed. * Using the hash table also allows to link DTD declarations directly to the element nodes, avoiding any lookup at all. dom_htmp.pp: * Merely fixes compilation after changes to the DOM. git-svn-id: trunk@12318 - |
||
---|---|---|
.. | ||
src | ||
tests | ||
fpmake.pp | ||
Makefile | ||
Makefile.fpc |