- Removed remaining assignments of TXMLFileInputSource.SystemID, as it is assigned in constructor.
- As attributes now remove themselves from owner upon destruction, removed the redundant check.
* ReadXMLFile, ReadDTDFile: Moved all assignments of Document to the 'finally' sections to avoid
leaks if parsing error happens. This was already done in most frequently used overloaded
ReadXMLFile, but wasn't noticed in other places.
* TXMLReader.CheckName was unable to detect a malformed local part of a QName if its prefix is
well-formed and crosses the buffer boundary. Fixed.
git-svn-id: trunk@13259 -
* Qualified names, 'NCName:*' and variable references are handled as single tokens (no
whitespace is allowed between parts).
* Function and variable names may have a prefix now.
git-svn-id: trunk@13256 -
another, it's not enough that the temp sizes are the same, because
the assignment may only apply to part of them. In such cases,
perform a regular copy (mantis #13948)
git-svn-id: trunk@13255 -
+ Utility function TXPathScanner.SkipToken, saves some amount of typing.
* Allow TXPathLocationPathNode to have FFirstStep = nil, and don't create a redundant
initial step while parsing.
git-svn-id: trunk@13253 -
TStep.SelectNodes, TStep.ApplyPredicates and the remaining part.
* Since predicates contained in a location path are evaluated within separate contexts of their own,
evaluation of the location path itself does not require a full context (only need context nodes).
This simplifies things quite a bit.
+ Added support for evaluating filter expressions follwed by location path. Things like
"id('foo')/bar" work now.
git-svn-id: trunk@13244 -
vmt entries of virtual methods that can never be called with references
to FPC_ABSTRACTERROR. Some virtual methods are always considered to be
reachable: published methods, and methods used as getter/setter for a
published property.
git-svn-id: trunk@13238 -
* Store predicates of TStep and TXPathFilterNode in dynarrays instead of TList, this way we allocate
only as much memory as needed, and allocate anything only when predicates are actually present
(that's minority of all cases).
* Eliminated intermediate TList in filtering step results.
* Remaining TList's replaced by TFPList's.
* Fixed ordering of nodes on preceding-sibling axis.
git-svn-id: trunk@13230 -
* Default attributes which have a colon in name now get a namespace assigned upon restoring. This
fixes remaining level 2 testsuite failures.
git-svn-id: trunk@13229 -
+ Modified TDOMImplentation.HasFeature to return True for level 2 features.
Now the DOM Level 2 support is fairly complete (1 error and 1 failure still remain).
git-svn-id: trunk@13228 -
calling NodeFilter for each node. The NodeFilter return value determines whether the node will
be added to the list, and whether node's children should be recursively iterated.
This considerably simplifies creating TDOMNodeList descendants, as they no longer need to mess
with the class internals (FRevision, FList, etc).
git-svn-id: trunk@13227 -
* Cloning/importing attributes and elements preserves their namespaces
* Importing an element does not import non-specified attributes.
+ Separate, much faster, implementation for element cloning.
git-svn-id: trunk@13226 -