Subject: [xsl] Xalan XSLT transformation using XML Catalog From: Ivan.Price@xxxxxxxxx Date: Tue, 18 Jan 2005 16:39:51 +0930 |
Hi there, I've been trying to get a Xalan XSLT transformation working with an XML catalog for a while now. After reading around about the (newer version) classes needing to be in the jre/lib/endorsed directory (e.g. http://www.laurenwood.org/anyway/index.php?p=16) I have successfully gotten the following to work using Xalan 2.6.2 and the jdk 1.4: java org.apache.xalan.xslt.Process -ENTITYRESOLVER org.apache.xml.resolver.tools.CatalogResolver -URIRESOLVER org.apache.xml.resolver.tools.CatalogResolver -out out.xml -in dd/in.xml -xsl the.xsl The catalog is invoked and everything works fine. However, for scalability and reusability I am trying to build this into a class (i.e. no have to start this process 100 times for 100 xmls) and have written a little java class containing: import org.apache.xml.resolver.tools.CatalogResolver; import java.util.Properties; import java.io.*; import javax.xml.transform.*; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; TransformerFactory tFactory = TransformerFactory.newInstance(); CatalogResolver resolver = new CatalogResolver(); tFactory.setURIResolver(resolver); Transformer transformer = tFactory.newTransformer(new StreamSource(xslFile)); transformer.setURIResolver(resolver); transformer.transform(new StreamSource(xmlFile), new StreamResult(new FileOutputStream(outFile))); The catalog resolver sucessfully initialises.. i get the : Parse catalog: file:/xxx/catalog.xml Loading catalog: file:/xxx/catalog.xml Default BASE: file:/xxx/catalog.xml override: yes OVERRIDE: yes but it is never invoked during the parse of the input file, instead the transformer returns all sorts of http server errors and parse errors as it tries to get the (often missing/broken) dtds and entities. Note these are the same input files as are being successfully resolved using the command line method. Should there be an entity method on the transformer? What is the point of the tFactory.setURIResolver(resolver); method ? is this a bug or am I misusing it ? I would rather the transformer not validate the XML before transforming it, allowing me to validate the result and reject the file at that stage if i choose to. Thanks in advance.. -ivan Ivan Price Department of Infrastructure, Planning and Environment Northern Territory Government Tel: (08) 8924 4024 Fax: (08) 8924 4045 Email: ivan.price@xxxxxxxxx
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] selecting HTML Options, Chris_Graham | Thread | RE: [xsl] Xalan XSLT transformation, Michael Kay |
Re: [xsl] selecting non tags, Daniel Bibbens | Date | RE: [xsl] selecting HTML Options, Michael Kay |
Month |