Hi Martin,

Thanks for that!

As always, an issue is found as soon as a commit is made:-).

There is a problem parsing <!DOCTYPE>. I've got that fixed already (and of course an updated unit test so it can't happen again), but would like to test a little more. I will post a patch very soon.

Regards,

Simon

Martin Marinschek (JIRA) wrote:
[ http://issues.apache.org/jira/browse/MYFACES-768?page=comments#action_12356450 ]
Martin Marinschek commented on MYFACES-768:
-------------------------------------------

Very well done.

Thanks for your efforts.

regards,

Martin

ReducedHTMLParser issues
------------------------

         Key: MYFACES-768
         URL: http://issues.apache.org/jira/browse/MYFACES-768
     Project: MyFaces
        Type: Bug
    Reporter: Simon Kitching
     Fix For: Nightly
 Attachments: ReducedHTMLParser.java, ReducedHTMLParser.java, 
ReducedHTMLParserTest.java, ReducedHTMLParserTest.java

ReducedHTMLParser (used by AddResource class) currently fails to handle the string 
"//-->".
I found that my script references were getting inserted right into the
middle of the body of my html page. After inserting some debug code, I
have found that
   closedStartTag
is being called every time that "//-->" is encountered in the page. And
that's a lot, as that sequence is generated whenever an inline script is
inserted into the page.
This problem breaks every page containing a component that inserts
javascript into the page header (jscookmenu, HtmlTree, etc).
I've had a look at the code, and while the current implementation is very small I think it's quite hard to read/debug/maintain and may not handle a number of cases (such as the one described here). Attached is a proposed alternative implementation of this class. The code is larger but is hopefully easier to read. And also attached is a unit test case class which the current implementation lacks. This class isn't *quite* finished; the unit tests indicate there are a few off-by-one errors but that's just a matter of tweaking. I hope that this may form the basis of a replacement for the current ReducedHTMLParser. The implementation is a hybrid state-machine/adhoc parser. Regards,
Simon


Reply via email to