Ittay Dror <[EMAIL PROTECTED]> wrote on 04/16/2006 10:24:49 AM: > > Michael Glavassevich wrote: > > Hello Ittay, > > > > A Document's DOMConfiguration [1] is used when > > Document.normalizeDocument() is invoked. I wouldn't assume that Xalan > > calls that method so you likely need to call it yourself. Probably worth > > noting that in-memory DTD validation using normalizeDocument() was > > completely broken prior to Xerces 2.8.0. I spent a couple weeks last year > > fixing many of the major bugs but didn't get around to all of them before > > the release (though I hope to stamp the rest out before Xerces 2.9). I've > > never checked whether getElementById() works after calling > > normalizeDocument() with DTD validation enabled but glancing over the > > current code I suspect it doesn't. > > ouch. > > is there a way to make it work?
Aside from waiting for the bugs to be fixed, if you know which attributes should be treated as IDs you could traverse the DOM and mark them as IDs by calling setIDAttributeNode(): http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-ElSetIdAttrNode > > > > [1] > > http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core. > html#Document3-domConfig > > > > Michael Glavassevich > > XML Parser Development > > IBM Toronto Lab > > E-mail: [EMAIL PROTECTED] > > E-mail: [EMAIL PROTECTED] > > > > Ittay Dror <[EMAIL PROTECTED]> wrote on 04/09/2006 09:27:15 AM: > > > >> i've turned on the schema and validation features, and set a schema > >> to my html, but getElementById still doesn't work (i'm using the > >> latest of xerces, xalan and tagsoup, xhtml1-transitional.dtd and > >> entities are saved locally. > >> > >> this is my html: > >> <html> > >> <body> > >> <div id="foo">hello</div> > >> </body> > >> </html> > >> > >> this is my code: > >> import org.apache.xalan.xsltc.trax.SAX2DOM; > >> import org.apache.xerces.jaxp.DocumentBuilderFactoryImpl; > >> import org.ccil.cowan.tagsoup.Parser; > >> import org.w3c.dom.DOMConfiguration; > >> import org.w3c.dom.Document; > >> import org.xml.sax.InputSource; > >> import org.xml.sax.SAXException; > >> > >> public class Test { > >> public static class HTMLDocumentBuilderFactory extends > >> DocumentBuilderFactoryImpl { > >> public HTMLDocumentBuilderFactory() throws SAXException, > >> ParserConfigurationException { > >> setValidating(true); > >> setFeature("http://apache.org/xml/features/validation/schema > >> ", true); > >> setFeature("http://xml.org/sax/features/validation", true); > >> } > >> } > >> > >> public final static void main(String[] args) throws Exception { > >> > >> Parser p = new Parser(); > >> System.setProperty("javax.xml.parsers.DocumentBuilderFactory", > >> HTMLDocumentBuilderFactory.class.getName()); > >> SAX2DOM sax2dom = new SAX2DOM(); > >> Document doc = (Document)sax2dom.getDOM(); > >> DOMConfiguration config = doc.getDomConfig(); > >> config.setParameter("schema-type","http://www.w3.org/TR/REC-xml"); > >> config.setParameter("schema-location", > > "/tmp/xhtml1-transitional.dtd"); > >> p.setContentHandler(sax2dom); > >> > >> InputSource docsrc = new InputSource("/tmp/test.html"); > >> p.parse(docsrc); > >> > >> System.out.println(doc.getElementById("foo")); > >> } > >> } > >> > >> thanx, > >> ittay > >> > >> -- > >> =================================== > >> Ittay Dror > >> openQRM Team Leader, > >> R&D, Qlusters Inc. > >> [EMAIL PROTECTED] > >> +972-3-6081994 Fax: +972-3-6081841 > >> > >> http://www.openQRM.org > >> - Keeps your Data-Center Up and Running > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > =================================== > Ittay Dror > openQRM Team Leader, > R&D, Qlusters Inc. > [EMAIL PROTECTED] > +972-3-6081994 Fax: +972-3-6081841 > > http://www.openQRM.org > - Keeps your Data-Center Up and Running > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: [EMAIL PROTECTED] E-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
