[oXygen-user] Using Custom Parser With XSLT Processors

W. Eliot Kimber
Wed Feb 28 15:01:21 CST 2007


In order to do XSLT processing with schema PSVI information (in 
particular, attribute defaults), I have created a little SAX parser 
factory for Xerces that turns on all the schema stuff. I can then use 
this with, for example, Saxon, to do schema-aware XSLT (for example, 
DITA-aware processing that depends on the class= attribute).

I'm trying to figure out how to integrate this parser with Oxygen so 
that I can run my transforms from within Oxygen.

I tried adding the necessary JVM arg to the oxygen INI file adding the 
library with the parser factory class to the classpath, but it didn't 
seem to do anything--I suspect that the XSLT process needs it's own JVM 
args spec, but the only thing I saw as a place to specify a transformer 
factory (I can do if I have to but then I'm looked into a specific 
version of Saxon, for example).

Have I missed something or am I going about this the wrong way?

Thanks,

Eliot

-- 
W. Eliot Kimber
Professional Services
Innodata Isogen
8500 N. Mopac, Suite 402
Austin, TX 78759
(214) 954-5198

ekimber at innodata-isogen.com
www.innodata-isogen.com
-------------- next part --------------
package com.innodata.xerces;

import javax.xml.parsers.ParserConfigurationException;

import org.apache.xerces.jaxp.SAXParserFactoryImpl;
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;

public class ValidatingSAXParserFactory extends SAXParserFactoryImpl {

	public ValidatingSAXParserFactory() throws SAXNotRecognizedException, SAXNotSupportedException, ParserConfigurationException {
		this.setFeature("http://xml.org/sax/features/validation", true);
		this.setFeature("http://apache.org/xml/features/validation/dynamic", true);
		this.setFeature("http://apache.org/xml/features/validation/schema", true);
		this.setFeature("http://apache.org/xml/features/validation/schema/normalized-value", true);
		this.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
		
	}

}


More information about the oXygen-user mailing list