|
@@ -1110,13 +1110,14 @@ var
|
|
else if Node.NodeName <> NodeTestString then
|
|
else if Node.NodeName <> NodeTestString then
|
|
exit;
|
|
exit;
|
|
ntTextNode:
|
|
ntTextNode:
|
|
- if not Node.InheritsFrom(TDOMCharacterData) then
|
|
|
|
|
|
+ if not Node.InheritsFrom(TDOMText) then
|
|
exit;
|
|
exit;
|
|
ntCommentNode:
|
|
ntCommentNode:
|
|
if Node.NodeType <> COMMENT_NODE then
|
|
if Node.NodeType <> COMMENT_NODE then
|
|
exit;
|
|
exit;
|
|
ntPINode:
|
|
ntPINode:
|
|
- if Node.NodeType <> PROCESSING_INSTRUCTION_NODE then
|
|
|
|
|
|
+ if (Node.NodeType <> PROCESSING_INSTRUCTION_NODE) or
|
|
|
|
+ ((NodeTestString <> '') and (Node.nodeName <> NodeTestString)) then
|
|
exit;
|
|
exit;
|
|
end;
|
|
end;
|
|
if ResultNodes.IndexOf(Node) < 0 then
|
|
if ResultNodes.IndexOf(Node) < 0 then
|
|
@@ -1947,7 +1948,6 @@ begin
|
|
NextToken; { skip '('; we know it's there }
|
|
NextToken; { skip '('; we know it's there }
|
|
if NextToken = tkString then
|
|
if NextToken = tkString then
|
|
begin
|
|
begin
|
|
- // TODO: Handle processing-instruction('name') constructs
|
|
|
|
Dest.NodeTestString := CurTokenString;
|
|
Dest.NodeTestString := CurTokenString;
|
|
NextToken;
|
|
NextToken;
|
|
end;
|
|
end;
|