Browse Source

SAX readers: never transition from scText to scWhitespace state, and don't reset token while transitioning from scWhitespace to scText. This ensures that only pure-whitespace chunks are ever reported via IgnorableWhitespace event, and that text nodes are not broken into words.
This provides a partial fix for Mantis #14073.

git-svn-id: trunk@13355 -

sergei 16 years ago
parent
commit
5f45dd409b
2 changed files with 2 additions and 6 deletions
  1. 1 3
      packages/fcl-xml/src/sax_html.pp
  2. 1 3
      packages/fcl-xml/src/sax_xml.pp

+ 1 - 3
packages/fcl-xml/src/sax_html.pp

@@ -193,12 +193,10 @@ begin
                 EnterNewScannerContext(scTag);
               end;
             else
-              EnterNewScannerContext(scText);
+              FScannerContext := scText;
           end;
         scText:
           case Buffer[BufferPos] of
-            #9, #10, #13, ' ':
-              EnterNewScannerContext(scWhitespace);
             '&':
               begin
                 Inc(BufferPos);

+ 1 - 3
packages/fcl-xml/src/sax_xml.pp

@@ -184,12 +184,10 @@ begin
                 EnterNewScannerContext(scTag);
               end;
             else
-              EnterNewScannerContext(scText);
+              FScannerContext := scText
           end;
         scText:
           case Buffer[BufferPos] of
-            #9, #10, #13, ' ':
-              EnterNewScannerContext(scWhitespace);
             '&':
               begin
                 Inc(BufferPos);