/*
- * Copyright 2005 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * Copyright 2005-2010 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.wamblee.xml;
import org.w3c.dom.Document;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
-
/**
* XSL transformer for simplified usage of XSL transformations.
- *
+ *
* @author Erik Brakkee
*/
public class XslTransformer {
- /**
- * DOCUMENT ME!
- */
private TransformerFactory factory;
-/**
+ /**
* Constructs the URL resolver.
- *
+ *
* @param aResolver
* URI resolver to use.
*/
factory.setURIResolver(aResolver);
}
-/**
+ /**
* Constructs the XSLT processor.
- *
+ *
*/
public XslTransformer() {
factory = TransformerFactory.newInstance();
/**
* Resolves an XSLT based on URI.
- *
- * @param aXslt XSLT to resolve,
- *
+ *
+ * @param aXslt
+ * XSLT to resolve,
+ *
* @return Source for the XSLT
- *
- * @throws TransformerException In case the XSLT cannot be found.
+ *
+ * @throws TransformerException
+ * In case the XSLT cannot be found.
*/
public Source resolve(String aXslt) throws TransformerException {
URIResolver resolver = factory.getURIResolver();
} catch (IOException e) {
throw new TransformerException(e.getMessage(), e);
}
- } else {
- throw new TransformerException("Cannot read '" + aXslt + "'");
- }
+ }
+ throw new TransformerException("Cannot read '" + aXslt + "'");
}
return resolver.resolve(aXslt, "");
}
/**
- * Transforms a DOM document into another DOM document using a
- * given XSLT transformation.
- *
- * @param aDocument Document to transform.
- * @param aXslt XSLT to use.
- *
+ * Transforms a DOM document into another DOM document using a given XSLT
+ * transformation.
+ *
+ * @param aDocument
+ * Document to transform.
+ * @param aXslt
+ * XSLT to use.
+ *
* @return Transformed document.
- *
- * @throws IOException In case of problems reading resources.
- * @throws TransformerException In case transformation fails.
+ *
+ * @throws IOException
+ * In case of problems reading resources.
+ * @throws TransformerException
+ * In case transformation fails.
*/
public Document transform(Document aDocument, Source aXslt)
throws IOException, TransformerException {
- Source source = new DOMSource(aDocument);
+ Source source = new DOMSource(aDocument);
DOMResult result = new DOMResult();
transform(source, result, aXslt);
/**
* Transforms a document using XSLT.
- *
- * @param aDocument Document to transform.
- * @param aXslt XSLT to use.
- *
+ *
+ * @param aDocument
+ * Document to transform.
+ * @param aXslt
+ * XSLT to use.
+ *
* @return Transformed document.
- *
- * @throws IOException In case of problems reading resources.
- * @throws TransformerException In case transformation fails.
+ *
+ * @throws IOException
+ * In case of problems reading resources.
+ * @throws TransformerException
+ * In case transformation fails.
*/
public Document transform(byte[] aDocument, Source aXslt)
throws IOException, TransformerException {
- Source source = new StreamSource(new ByteArrayInputStream(aDocument));
+ Source source = new StreamSource(new ByteArrayInputStream(aDocument));
DOMResult result = new DOMResult();
transform(source, result, aXslt);
/**
* Transforms a document to a text output. This supports XSLT
* transformations that result in text documents.
- *
- * @param aDocument Document to transform.
- * @param aXslt XSL transformation.
- *
+ *
+ * @param aDocument
+ * Document to transform.
+ * @param aXslt
+ * XSL transformation.
+ *
* @return Transformed document.
- *
- * @throws IOException DOCUMENT ME!
- * @throws TransformerException DOCUMENT ME!
+ *
*/
public String textTransform(byte[] aDocument, Source aXslt)
throws IOException, TransformerException {
- Source source = new StreamSource(new ByteArrayInputStream(
- aDocument));
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- StreamResult result = new StreamResult(os);
+ Source source = new StreamSource(new ByteArrayInputStream(aDocument));
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ StreamResult result = new StreamResult(os);
transform(source, result, aXslt);
return new String(os.toByteArray());
/**
* Transforms a document using XSLT.
- *
- * @param aSource Document to transform.
- * @param aResult Result of the transformation.
- * @param aXslt XSLT to use.
- *
- * @throws IOException In case of problems reading resources.
- * @throws TransformerException In case transformation fails.
+ *
+ * @param aSource
+ * Document to transform.
+ * @param aResult
+ * Result of the transformation.
+ * @param aXslt
+ * XSLT to use.
+ *
+ * @throws IOException
+ * In case of problems reading resources.
+ * @throws TransformerException
+ * In case transformation fails.
*/
public void transform(Source aSource, Result aResult, Source aXslt)
throws IOException, TransformerException {
Transformer transformer = factory.newTransformer(aXslt);
transformer.transform(aSource, aResult);
} catch (TransformerConfigurationException e) {
- throw new TransformerException("Configuration problem of XSLT transformation",
- e);
+ throw new TransformerException(
+ "Configuration problem of XSLT transformation", e);
}
}
}