-package jp.co.areaweb.tools.command;
-import org.w3c.dom.*;
-import javax.xml.transform.TransformerFactory; // xml-apis.jar
-import javax.xml.transform.Transformer; // xml-apis.jar
-import javax.xml.transform.stream.StreamSource; // xml-apis.jar
-import javax.xml.transform.stream.StreamResult; // xml-apis.jar
-import java.io.*;
-
-/**
- * Jobファイルに記述されたXSLT処理を順次実行する。
- * このコマンドを利用することによって、MS-DOSとUNIXで別々のシェルファイルを記述する必要がなくなります。
- *
- * @author Hayashi,Yuu
- * @since 2002/09/19, 11:21
- */
-public class Xalan extends XmlJob
-{
- /**
- * Jobファイルに記述されたXSLT処理を順次実行する。
- */
- protected static void execJobElement(NodeList jobgroupNodes) throws Exception {
- execJobElement(jobgroupNodes, null);
- }
- protected static void execJobElement(NodeList jobgroupNodes, File workDir) throws Exception {
- if (debug) {
- System.out.println("Xalan.execJobElement()");
- }
-
- for (int i=0; i < jobgroupNodes.getLength(); i++) {
- Node node = jobgroupNodes.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- String tagName = node.getNodeName();
- if (tagName.equals("xslt")) {
- String xmlStr = "";
- String xslStr = "";
- String outputStr = "";
- NodeList xsltNodes = node.getChildNodes();
- for (int j=0; j < xsltNodes.getLength(); j++) {
- Node xsltNode = xsltNodes.item(j);
- if (xsltNode.getNodeType() == Node.ELEMENT_NODE) {
- String tagName2 = xsltNode.getNodeName();
- if (tagName2.equals("xml")) {
- xmlStr = xsltNode.getFirstChild().getNodeValue();
- }
- else if (tagName2.equals("xsl")) {
- xslStr = xsltNode.getFirstChild().getNodeValue();
- }
- else if (tagName2.equals("output")) {
- outputStr = xsltNode.getFirstChild().getNodeValue();
- }
- }
- }
- // コマンドの実行
- if (workDir == null) {
- execXslt(xmlStr, xslStr, outputStr);
- }
- else {
- execXslt(xmlStr, xslStr, outputStr, workDir);
- }
- }
- }
- }
- }
-
- /**
- * xmlファイルをxslファイルで処理した結果をoutputファイルに出力する。
- */
- protected static void execXslt(String xmlStr, String xslStr, String outputStr) throws Exception {
- System.out.println("XALAN("+ xmlStr +" * "+ xslStr +") -> "+ outputStr);
-
- TransformerFactory tFactory = TransformerFactory.newInstance();
- Transformer transformer = tFactory.newTransformer(new StreamSource(xslStr));
- transformer.transform(new StreamSource(xmlStr), new StreamResult(new FileOutputStream(outputStr)));
- }
- protected static void execXslt(String xmlStr, String xslStr, String outputStr, File workDir) throws Exception {
- System.out.println("XALAN("+ xmlStr +" * "+ xslStr +") -> "+ outputStr);
-
- TransformerFactory tFactory = TransformerFactory.newInstance();
- Transformer transformer = tFactory.newTransformer(new StreamSource(new File(workDir, xslStr)));
- transformer.transform(new StreamSource(new File(workDir, xmlStr)), new StreamResult(new FileOutputStream(new File(workDir, outputStr))));
- }
-
- public static void main(String[] args) throws Exception {
- if (args.length < 1) {
- System.out.println("exp: java jp.co.areaweb.tools.command.Xalan [jobFileName]");
- return;
- }
-
- XmlJob.execJob(new File(args[0]));
- }
-}
+package jp.co.areaweb.tools.command;\r
+import org.w3c.dom.*;\r
+import javax.xml.transform.TransformerFactory; // xml-apis.jar\r
+import javax.xml.transform.Transformer; // xml-apis.jar\r
+import javax.xml.transform.stream.StreamSource; // xml-apis.jar\r
+import javax.xml.transform.stream.StreamResult; // xml-apis.jar\r
+import java.io.*;\r
+\r
+/**\r
+ * Jobファイルに記述されたXSLT処理を順次実行する。\r
+ * このコマンドを利用することによって、MS-DOSとUNIXで別々のシェルファイルを記述する必要がなくなります。\r
+ *\r
+ * @author Hayashi,Yuu\r
+ * @since 2002/09/19, 11:21\r
+ */\r
+public class Xalan extends XmlJob\r
+{\r
+ /** \r
+ * Jobファイルに記述されたXSLT処理を順次実行する。\r
+ */\r
+ protected static void execJobElement(NodeList jobgroupNodes) throws Exception {\r
+ execJobElement(jobgroupNodes, null);\r
+ }\r
+ protected static void execJobElement(NodeList jobgroupNodes, File workDir) throws Exception {\r
+ if (debug) {\r
+ System.out.println("Xalan.execJobElement()");\r
+ }\r
+ \r
+ for (int i=0; i < jobgroupNodes.getLength(); i++) {\r
+ Node node = jobgroupNodes.item(i);\r
+ if (node.getNodeType() == Node.ELEMENT_NODE) {\r
+ String tagName = node.getNodeName();\r
+ if (tagName.equals("xslt")) {\r
+ String xmlStr = "";\r
+ String xslStr = "";\r
+ String outputStr = "";\r
+ NodeList xsltNodes = node.getChildNodes();\r
+ for (int j=0; j < xsltNodes.getLength(); j++) {\r
+ Node xsltNode = xsltNodes.item(j);\r
+ if (xsltNode.getNodeType() == Node.ELEMENT_NODE) {\r
+ String tagName2 = xsltNode.getNodeName();\r
+ if (tagName2.equals("xml")) {\r
+ xmlStr = xsltNode.getFirstChild().getNodeValue();\r
+ }\r
+ else if (tagName2.equals("xsl")) {\r
+ xslStr = xsltNode.getFirstChild().getNodeValue();\r
+ }\r
+ else if (tagName2.equals("output")) {\r
+ outputStr = xsltNode.getFirstChild().getNodeValue();\r
+ }\r
+ }\r
+ }\r
+ // コマンドの実行\r
+ if (workDir == null) {\r
+ execXslt(xmlStr, xslStr, outputStr);\r
+ }\r
+ else {\r
+ execXslt(xmlStr, xslStr, outputStr, workDir);\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ /**\r
+ * xmlファイルをxslファイルで処理した結果をoutputファイルに出力する。\r
+ */\r
+ protected static void execXslt(String xmlStr, String xslStr, String outputStr) throws Exception {\r
+ System.out.println("XALAN("+ xmlStr +" * "+ xslStr +") -> "+ outputStr);\r
+ \r
+ TransformerFactory tFactory = TransformerFactory.newInstance();\r
+ Transformer transformer = tFactory.newTransformer(new StreamSource(xslStr));\r
+ transformer.transform(new StreamSource(xmlStr), new StreamResult(new FileOutputStream(outputStr)));\r
+ }\r
+ protected static void execXslt(String xmlStr, String xslStr, String outputStr, File workDir) throws Exception {\r
+ System.out.println("XALAN("+ xmlStr +" * "+ xslStr +") -> "+ outputStr);\r
+ \r
+ TransformerFactory tFactory = TransformerFactory.newInstance();\r
+ Transformer transformer = tFactory.newTransformer(new StreamSource(new File(workDir, xslStr)));\r
+ transformer.transform(new StreamSource(new File(workDir, xmlStr)), new StreamResult(new FileOutputStream(new File(workDir, outputStr))));\r
+ }\r
+ \r
+ public static void main(String[] args) throws Exception {\r
+ if (args.length < 1) {\r
+ System.out.println("exp: java jp.co.areaweb.tools.command.Xalan [jobFileName]");\r
+ return;\r
+ }\r
+\r
+ XmlJob.execJob(new File(args[0]));\r
+ }\r
+}\r