From c442924bf64291ec8fcab57a121a7de16ffc02d4 Mon Sep 17 00:00:00 2001 From: Ondrej Pokorny Date: Sat, 9 Mar 2024 08:50:09 +0100 Subject: [PATCH] XML interface extensions: Node, NamedNodeMap, CharacterData --- packages/rtl/src/web.pas | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/rtl/src/web.pas b/packages/rtl/src/web.pas index 0f86717..797d0bd 100644 --- a/packages/rtl/src/web.pas +++ b/packages/rtl/src/web.pas @@ -213,7 +213,9 @@ Type Public Const ELEMENT_NODE =1; + ATTRIBUTE_NODE = 2; TEXT_NODE =3; + CDATA_SECTION_NODE = 4; PROCESSING_INSTRUCTION_NODE = 7; COMMENT_NODE =8; DOCUMENT_NODE =9; @@ -288,9 +290,19 @@ Type TJSNamedNodeMap = class external name 'NamedNodeMap' (TJSObject) + private + FLength : NativeInt; external name 'length'; Public function getNamedItem(aName : string) : TJSAttr; + function setNamedItem(aAttr : TJSAttr) : TJSAttr; + function removeNamedItem(aName : string) : TJSAttr; + function item(aIndex : NativeInt) : TJSAttr; + function getNamedItemNS(aNamespaceURI, aLocalName : string) : TJSAttr; + function setNamedItemNS(aAttr : TJSAttr) : TJSAttr; + function removeNamedItem(aNamespaceURI, aLocalName : string) : TJSAttr; Property Attrs[aIndex : String] : TJSattr Read getNamedItem; default; + // Property Attrs[aIndex : NativeInt] : TJSattr Read item; default; // ToDo: JS supports default property overloads + Property length : NativeInt Read FLength; end; TJSHTMLCollection = class external name 'HTMLCollection' (TJSObject) @@ -590,9 +602,12 @@ Type TJSCharacterData = class external name 'CharacterData' (TJSNode) private + FLength: NativeInt; external name 'length'; FnextElementSibling: TJSElement; external name 'nextElementSibling'; FpreviousElementSibling: TJSElement; external name 'previousElementSibling'; public + data: JSValue; + property length : NativeInt read FLength; property nextElementSibling : TJSElement read FnextElementSibling; property previousElementSibling : TJSElement read FpreviousElementSibling; end;