From: Nicolas R. <nic...@gm...> - 2012-10-23 16:45:59
|
Et sinon, si tu peux donner un test unitaire ou exemple (histoire qu'on ne passe pas 15h à essayer de reproduire :-) ) dans un ticket Mantis, je peux essayer de regarder ma solution avec surcharge de validator.nu. Il y a le patch à faire mais plus généralement à voir comment ESIGate se comporte sur du code malformé et si on ne devrait pas utiliser une lib de clean-up HTML avant de parser. Nicolas Le 23 oct. 2012 à 12:23, François-Xavier Bonnet <fra...@ce...> a écrit : > Bonjour, > > Si tu peux soumettre un patch par rapport à la 3.4, on peut imaginer faire une release 3.4.1 > Je me chargerai de reporter le patch dans le trunk pour la version 4. > Dans ce cas attache ton patch à un ticket Mantis. > > > Le 22/10/2012 15:36, fre...@sm... a écrit : >> Bonjour, >> >> On utilise la version 3.4 car la 4.0 n'est pas encore validé. >> Est ce que ce sera corrigé dans la 3.4 ? >> >> Aussel Frédérique >> Smile >> >> De: "Nicolas Richeton" <nic...@gm...> >> À: "Frederique Aussel" <fre...@sm...> >> Cc: web...@li... >> Envoyé: Samedi 20 Octobre 2012 23:06:59 >> Objet: Re: [EsiGate-users] Bug sur utilisation esi xpath >> >> Bonjour Frédérique, >> >> De mon coté, je tenterai de surcharger HtmldocumentBuilder / DomTreeBuilder pour injecter le namespace 'xml' qui devrait être présent selon les specs xhtml. Plus intrusif dans validator.nu, mais devrait éviter tout effet de bord. >> On peut aussi combiner avec alter_infoset pour éviter de planter en cas de document invalide. >> >> Il faut ouvrir un ticket dans mantis :-) >> >> Nicolas >> >> >> Le 19 oct. 2012 à 14:15, Frederique Aussel a écrit : >> >> > Bonjour, >> > >> > Lorsqu'on utilise esi:include : >> > <esi:include src="$PROVIDER({aggregated2})/block.jsp"xpath="//html:div[@id='xpathfragment']" /> >> > >> > Si la page cible contient dans son tag HTML : xml:lang="fr", ESIGate n'arrive pas à parser le document : >> > >> > org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces. >> > at nu.validator.htmlparser.impl.TreeBuilder.fatal(TreeBuilder.java:430) >> > at nu.validator.htmlparser.dom.DOMTreeBuilder.createHtmlElementSetAsRoot(DOMTreeBuilder.java:185) >> > at nu.validator.htmlparser.dom.DOMTreeBuilder.createHtmlElementSetAsRoot(DOMTreeBuilder.java:44) >> > at nu.validator.htmlparser.impl.TreeBuilder.appendHtmlElementToDocumentAndPush(TreeBuilder.java:4480) >> > at nu.validator.htmlparser.impl.TreeBuilder.startTag(TreeBuilder.java:2534) >> > at nu.validator.htmlparser.impl.Tokenizer.emitCurrentTagToken(Tokenizer.java:1311) >> > at nu.validator.htmlparser.impl.Tokenizer.stateLoop(Tokenizer.java:2152) >> > at nu.validator.htmlparser.impl.Tokenizer.tokenizeBuffer(Tokenizer.java:1522) >> > at nu.validator.htmlparser.io.Driver.runStates(Driver.java:301) >> > at nu.validator.htmlparser.io.Driver.tokenize(Driver.java:217) >> > at nu.validator.htmlparser.dom.HtmlDocumentBuilder.tokenize(HtmlDocumentBuilder.java:405) >> > at nu.validator.htmlparser.dom.HtmlDocumentBuilder.parse(HtmlDocumentBuilder.java:204) >> > at org.esigate.xml.XpathRenderer.render(XpathRenderer.java:69) >> > at org.esigate.Driver.render(Driver.java:300) >> > at org.esigate.Driver.render(Driver.java:254) >> > at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:222) >> > at org.esigate.esi.IncludeElement.parseTag(IncludeElement.java:100) >> > at org.esigate.esi.BaseElement.onTagStart(BaseElement.java:28) >> > at org.esigate.parser.ParserContextImpl.startElement(ParserContextImpl.java:58) >> > at org.esigate.parser.Parser.parse(Parser.java:66) >> > at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:39) >> > at org.esigate.Driver.proxy(Driver.java:358) >> > at org.esigate.servlet.AggregatorServlet.service(AggregatorServlet.java:37) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >> > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >> > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >> > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >> > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >> > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >> > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) >> > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) >> > at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) >> > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) >> > at java.lang.Thread.run(Thread.java:662) >> > Caused by: org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces. >> > at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.checkDOMNSErr(CoreDocumentImpl.java:2535) >> > at com.sun.org.apache.xerces.internal.dom.AttrNSImpl.setName(AttrNSImpl.java:113) >> > at com.sun.org.apache.xerces.internal.dom.AttrNSImpl.<init>(AttrNSImpl.java:74) >> > at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createAttributeNS(CoreDocumentImpl.java:2138) >> > at com.sun.org.apache.xerces.internal.dom.ElementImpl.setAttributeNS(ElementImpl.java:656) >> > at nu.validator.htmlparser.dom.DOMTreeBuilder.createHtmlElementSetAsRoot(DOMTreeBuilder.java:179) >> > ... 34 more >> > >> > Est ce que la modification suivante est envisageable dans la classe XpathRenderer : >> > >> > HtmlDocumentBuilder htmlDocumentBuilder = new HtmlDocumentBuilder(XmlViolationPolicy.ALLOW); >> > htmlDocumentBuilder.setNamePolicy(XmlViolationPolicy.ALTER_INFOSET); >> > >> > Les corrections proposées ont pour effet de transformer les attributs non reconnus dans le DOM, avec par exemple pour xml:lang : >> > >> > <html lang="fr" xmlU0003A0lang="fr" xmlns="http://www.w3.org/1999/xhtml"> >> > >> > Cette correction pourrait induire un effet de bord pour les syntaxes HTML5. >> > >> > Est ce que vous avez une meilleur solution ? >> > >> > Cdt, >> > >> > Aussel Frédérique >> > Smile >> > >> > >> > ------------------------------------------------------------------------------ >> > Everyone hates slow websites. So do we. >> > Make your web apps faster with AppDynamics >> > Download AppDynamics Lite for free today: >> > http://p.sf.net/sfu/appdyn_sfd2d_oct_______________________________________________ >> > Webassembletool-users mailing list >> > Web...@li... >> > https://lists.sourceforge.net/lists/listinfo/webassembletool-users >> >> >> >> >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_sfd2d_oct >> >> >> _______________________________________________ >> Webassembletool-users mailing list >> Web...@li... >> https://lists.sourceforge.net/lists/listinfo/webassembletool-users > |