From: SourceForge.net <no...@so...> - 2008-08-15 18:35:31
|
Bugs item #2051797, was opened at 2008-08-14 12:08 Message generated for change (Comment added) made by jacobk You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=952178&aid=2051797&group_id=195122 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Luis Lara (ioh3d) Assigned to: Nobody/Anonymous (nobody) Summary: HTMLTagBalancer bug Initial Comment: My name is Luis Carlos and I work in the Open Source Project TestMaker. I'm using Appcelerator, which has some special HTML tags differentiated by using a namespace, like these: <app:message name="r:tasks.request"></app:message> <app:script on="r:tasks.response then execute"> Working with this tags I found and error on HTMLTagBalancer (package org.cyberneko.html. HTMLTagBalancer): When you use an unknown html element in nekohtml, it will start the tag, and close it, even if there are other tags in the middle. Then the next html <html xmlns:app="http://www.appcelerator.org"> <head> </head> <body> <app:data> appdata <div> Div data </div> </app:data> </body> </html> Generates <?xml version="1.0" encoding="ISO-8859-1"?> <html xmlns:app="http://www.appcelerator.org"> <head> </head> <body> <app:data> appdata </app:data> <div> Div data </div> </body> </html> (Formatted output using htmlunit page1 = (HtmlPage)webClient.getPage("file:///C:/example.html"); System.out.println(page1.asXml()); Firefox correctly generates the page <html xmlns:app="http://www.appcelerator.org"> <head> </head> <body> <app:data> appdata <div> div </div> </app:data> </body> </html> I think the problem is in line 562 // close previous elements // all elements close a <script> and an unknown element if (fElementStack.top > 1 && (fElementStack.peek().element.code == HTMLElements.SCRIPT || fElementStack.peek().element == HTMLElements.NO_SUCH_ELEMENT)) //line 562 { final Info info = fElementStack.pop(); if (fDocumentHandler != null) { callEndElement(info.qname, synthesizedAugs()); } } I think this line should be there fElementStack.peek().element == HTMLElements.NO_SUCH_ELEMENT I removed it and it worked. Could this be that another evaluation is missing? Please advice, Thanks, LC ---------------------------------------------------------------------- Comment By: Jacob Kjome (jacobk) Date: 2008-08-15 13:35 Message: Logged In: YES user_id=517746 Originator: NO duplicate of bug #2051091? https://sourceforge.net/tracker/?func=detail&atid=952178&aid=2051091&group_id=195122 Jake ---------------------------------------------------------------------- Comment By: Luis Lara (ioh3d) Date: 2008-08-14 12:12 Message: Logged In: YES user_id=2158625 Originator: YES I made a mistake in the description i wrote "I think this line should be there" I should say "I think this line shouldn't be there": I think this line shouldn't be there fElementStack.peek().element == HTMLElements.NO_SUCH_ELEMENT ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=952178&aid=2051797&group_id=195122 |