summaryrefslogtreecommitdiff
path: root/Build/source/texk/tex4htk/java
diff options
context:
space:
mode:
authorDenis Bitouzé <dbitouze@wanadoo.fr>2021-02-25 18:23:07 +0000
committerDenis Bitouzé <dbitouze@wanadoo.fr>2021-02-25 18:23:07 +0000
commitc6101f91d071883b48b1b4b51e5eba0f36d9a78d (patch)
tree1bf7f5a881d7a4f5c5bf59d0b2821943dd822372 /Build/source/texk/tex4htk/java
parent07ee7222e389b0777456b427a55c22d0e6ffd267 (diff)
French translation for tlmgr updated
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/tex4htk/java')
-rw-r--r--Build/source/texk/tex4htk/java/DbUtilities.java152
-rw-r--r--Build/source/texk/tex4htk/java/GroupMn.java77
-rw-r--r--Build/source/texk/tex4htk/java/HtJsml.java351
-rw-r--r--Build/source/texk/tex4htk/java/HtSpk.java211
-rw-r--r--Build/source/texk/tex4htk/java/JsmlFilter.java49
-rw-r--r--Build/source/texk/tex4htk/java/JsmlMathBreak.java51
-rw-r--r--Build/source/texk/tex4htk/java/OoFilter.java269
-rw-r--r--Build/source/texk/tex4htk/java/OoUtilities.java276
-rw-r--r--Build/source/texk/tex4htk/java/OomFilter.java62
-rw-r--r--Build/source/texk/tex4htk/java/README1
-rw-r--r--Build/source/texk/tex4htk/java/xtpipes.java7
-rw-r--r--Build/source/texk/tex4htk/java/xtpipes/FileInfo.java170
-rw-r--r--Build/source/texk/tex4htk/java/xtpipes/InputObject.java323
-rw-r--r--Build/source/texk/tex4htk/java/xtpipes/Xtpipes.java1508
-rw-r--r--Build/source/texk/tex4htk/java/xtpipes/XtpipesPrintWriter.java28
-rw-r--r--Build/source/texk/tex4htk/java/xtpipes/XtpipesUni.java41
-rw-r--r--Build/source/texk/tex4htk/java/xtpipes/util/ScriptsManager.java197
-rw-r--r--Build/source/texk/tex4htk/java/xtpipes/util/ScriptsManagerLH.java26
18 files changed, 0 insertions, 3799 deletions
diff --git a/Build/source/texk/tex4htk/java/DbUtilities.java b/Build/source/texk/tex4htk/java/DbUtilities.java
deleted file mode 100644
index 887d22b16be..00000000000
--- a/Build/source/texk/tex4htk/java/DbUtilities.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package tex4ht;
-/**********************************************************/
-/* DbUtilities.java 2008-11-14-02:41 */
-/* Copyright (C) 2008 Eitan M. Gurari */
-/* */
-/* This work may be distributed and/or modified under the */
-/* conditions of the LaTeX Project Public License, either */
-/* version 1.3 of this license or (at your option) any */
-/* later version. The latest version of this license is */
-/* in */
-/* http://www.latex-project.org/lppl.txt */
-/* and version 1.3 or later is part of all distributions */
-/* of LaTeX version 2003/12/01 or later. */
-/* */
-/* This work has the LPPL maintenance status "maintained".*/
-/* */
-/* This Current Maintainer of this work */
-/* is Eitan M. Gurari. */
-/* */
-/* gurari@cse.ohio-state.edu */
-/* http://www.cse.ohio-state.edu/~gurari */
-/**********************************************************/
-
-
-import org.w3c.dom.*;
-public class DbUtilities {
- public static void cline(Node dom) {
- Node row, entry, para, nextrow;
- Node node = dom.getFirstChild();
- if( node != null ){
- row = node.getLastChild();
-while( (row != null)
- && ( (entry = row.getLastChild()) != null)
- && ( (para = entry.getFirstChild()) != null)
- && ( para.getNextSibling() == null)
- && ( para.getFirstChild() == null)
-){
- node.removeChild(row);
- row = node.getLastChild();
-}
-
- row = node.getFirstChild();
-while( row != null ){
- if( (row.getNodeType() == Node.ELEMENT_NODE)
- && ((Element) row).getAttribute("rowsep").equals("")
- && !((Element) row).getAttribute("role" ).equals("cline")
- && ((nextrow = row.getNextSibling()) != null)
- && (nextrow.getNodeType() == Node.ELEMENT_NODE)
- && ((Element) nextrow).getAttribute("role" ).equals("cline")
- ){
- boolean compatible = true;
-Node entry1 = row.getFirstChild();
-Node entry2 = nextrow.getFirstChild();
-while( true ){
- if( (entry1 == null) || (entry2 == null) ){ break; }
- int range;
- try{
- range =
- Integer.parseInt( ((Element) entry1).getAttribute("nameend") )
- -
- Integer.parseInt( ((Element) entry1).getAttribute("namest") )
- +
- 1;
- } catch( Exception e){ range = 1;}
- if( range > 1 ){
- String rowsep = ((Element) entry2).getAttribute("rowsep");
- while( --range > 0 ){
- entry2 = entry2.getNextSibling();
- if( entry2 == null ){
- compatible = false;
- break;
- }
- String value = ((Element) entry2).getAttribute("rowsep");
- if( !value.equals( rowsep ) ){
- compatible = false;
- break;
- }
- }
- }
- if( !compatible ){ break; }
- entry1 = entry1.getNextSibling();
- entry2 = entry2.getNextSibling();
-}
-
- if( compatible ){
- entry1 = row.getFirstChild();
-entry2 = nextrow.getFirstChild();
-while( true ){
- if( (entry1 == null) || (entry2 == null) ){ break; }
- int range;
- try{
- range =
- Integer.parseInt( ((Element) entry1).getAttribute("nameend") )
- -
- Integer.parseInt( ((Element) entry1).getAttribute("namest") )
- +
- 1;
- } catch( Exception e){ range = 1;}
- ((Element) entry1).setAttribute(
- "rowsep",
- ((Element) entry2).getAttribute("rowsep") );
- while( --range > 0 ){
- entry2 = entry2.getNextSibling();
- }
- entry1 = entry1.getNextSibling();
- entry2 = entry2.getNextSibling();
-}
-
- node.removeChild(nextrow);
- }
- }
- row = row.getNextSibling();
-}
-
- }
-}
-
- public static void para(Node dom) {
- Node pNode = dom.getFirstChild();
- if( pNode.hasChildNodes() ){
- Node child = pNode.getFirstChild();
- if( child != null ){
- if( (child.getNodeType() == Node.TEXT_NODE)
- &&
- ((Text) child).getWholeText().trim().equals("")
- ){
- pNode.removeChild( child );
- } } }
- if( pNode.hasChildNodes() ){
- Node child = pNode.getLastChild();
- if( child != null ){
- if( (child.getNodeType() == Node.TEXT_NODE)
- &&
- ((Text) child).getWholeText().trim().equals("")
- ){
- pNode.removeChild( child );
- } } }
- if( pNode.hasChildNodes() ){
- Node child = pNode.getFirstChild();
- if( (child != null)
- && (child.getNextSibling() == null)
- && (child.getNodeType() == Node.TEXT_NODE)
- ){
- String txt = ((Text) child).getWholeText();
- String trm = txt.trim();
- if( !trm.equals(txt) ){
- ((Text)child).replaceWholeText(trm);
- } } }
-}
-
-}
-
diff --git a/Build/source/texk/tex4htk/java/GroupMn.java b/Build/source/texk/tex4htk/java/GroupMn.java
deleted file mode 100644
index c54d051c0eb..00000000000
--- a/Build/source/texk/tex4htk/java/GroupMn.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package tex4ht;
-import org.xml.sax.helpers.*;
-import org.xml.sax.*;
-import java.io.PrintWriter;
-
-public class GroupMn extends XMLFilterImpl {
- PrintWriter out = null;
- boolean inMn = false;
- String ns;
- int level = -1;
- public GroupMn( PrintWriter out, PrintWriter log, boolean trace){
- this.out = out;
- }
- public void startElement(String ns, String sName,
- String qName, Attributes attr) {
- level++;
- try{
- if( inMn ){
- if( level == 0 ){ if( !qName.equals( "mn" ) ){
- if( qName.equals( "mo" ) ){
- String cls = attr.getValue( "class" );
- if( (cls == null) || !cls.equals("MathClass-punc") ){
- inMn = false;
- super.endElement(ns, "mn-group", "mn-group");
- }
- } else {
- inMn = false;
- super.endElement(ns, "mn-group", "mn-group");
-} }
- }
- } else { if( qName.equals( "mn" ) ){
- inMn = true; level = 0;
- Attributes att = new AttributesImpl();
- super.startElement(ns, "mn-group", "mn-group", att);
- this.ns = ns;
-} else if( qName.equals( "mo" ) ){
- String cls = attr.getValue( "class" );
- if( (cls != null) && cls.equals("MathClass-punc") ){
- inMn = true; level = 0;
- Attributes att = new AttributesImpl();
- super.startElement(ns, "mn-group", "mn-group", att);
- this.ns = ns;
-} }
- }
- super.startElement(ns, sName, qName, attr);
- } catch( Exception e ){
- System.out.println( "--- GroupMn Error 1 --- " + e);
- }
- }
- public void endElement(String ns, String sName, String qName){
- try{
- if( level < 0) {
- if( inMn ){
- inMn = false;
- super.endElement(ns, "mn-group", "mn-group");
-}
-
- }
- super.endElement(ns, sName, qName);
- } catch( Exception e ){
- System.out.println( "--- GroupMn Error 2 --- " + e);
- }
- level--;
- }
- public void characters(char[] ch, int start, int length){
- try{
- if ( inMn && (level < 0) ) {
- String s = new String(ch, start, length);
- if (!s.trim().equals("")) {
- inMn = false;
- super.endElement(ns, "mn-group", "mn-group");
- } }
- super.characters(ch, start, length);
- } catch( Exception e ){
- System.out.println( "--- GroupMn Error 3 --- " + e);
-} } }
-
diff --git a/Build/source/texk/tex4htk/java/HtJsml.java b/Build/source/texk/tex4htk/java/HtJsml.java
deleted file mode 100644
index 188cdee85f5..00000000000
--- a/Build/source/texk/tex4htk/java/HtJsml.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package tex4ht;
-import org.w3c.dom.*;
-public class HtJsml {
- private static void insertLevelPrefix(Node node, int level){
- if( level == 0 ){ return; }
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- if( node.getNodeName().equals( "level" ) ){
- Node attr = node.getAttributes().getNamedItem("prefix");
-if( attr != null ){
- String prefix = attr.getNodeValue();
- String s = "";
- for(int j=0; j<level; j++){
- s += prefix + " ";
- }
- ((org.w3c.dom.Element) node).setAttribute( "depth", ""+level);
- Node child = node.getFirstChild();
- if( child != null ){
- node.insertBefore( dom.createTextNode(s), child );
-} }
-
- } else {
- NodeList children = node.getChildNodes();
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- insertLevelPrefix(child, level);
-} } } }
-private static void setContinuedNote(Node node){
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- if( node.getNodeName().equals( "level" ) ){
- Node attr = node.getAttributes().getNamedItem("continued");
-if (attr != null) {
- node = node.getFirstChild();
- if( node != null ){
- ((org.w3c.dom.Text) node).setData( attr.getNodeValue() );
-} }
-
- } else {
- NodeList children = node.getChildNodes();
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- setContinuedNote(child);
-} } } }
-
- private static Document dom;
-public static void mnGroup(Node d) {
- dom = (Document) d;
- setMnGroup(dom.getFirstChild());
-}
-private static void setMnGroup(Node node) {
- if( node.getNodeName().equals( "mn-group" ) ){
- boolean bool = false;
- NodeList children = node.getChildNodes();
-int n = children.getLength();
-char [] digit = new char[n];
-for (int i = 0; i < n; i++) {
- Node child = children.item(i).getFirstChild();
- if( child == null ){
- digit[i] = 'x';
- } else if( child.getNodeType() != Node.TEXT_NODE ){
- digit[i] = 'x';
- } else {
- String s = child.getNodeValue();
- if( s.length() != 1 ){
- digit[i] = 'x';
- } else {
- char ch = s.charAt(0);
- if( (ch >= '0') && (ch <= '9') ){
- digit[i] = '0'; bool = true;
- } else if( (ch == '.') || (ch == ',') ){ digit[i] = ch; }
- else { digit[i] = 'x';}
-} } }
-
- if( bool ){
- bool = false;
-for (int i = 0; i < n; i++) {
- if( digit[i] == '.' ){
- for (; i < n; i++) {
- if( digit[i] == ',' ){
- bool = true; break;
- } }
- break;
-} }
-
- if( !bool ){
- for (int i = 0; i < n; i++) {
- if( digit[i] == ',' ){
- if( ( ((i+3) >= n)
- || (digit[i+1] != '0')
- || (digit[i+2] != '0')
- || (digit[i+3] != '0')
- )
- ||
- (
- ((i+4) < n) && (digit[i+4] == '0')
- )
- ||
- (
- (i>3) && (digit[i-4] == '0')
- )
- ){ bool = true; break;
- } else { i += 3; }
-} } }
-
- if( bool ){
- for (int i = 0; i < n; i++) {
- if( digit[i] == ',' ){ digit[i] = 'x'; }
-} }
-
- bool = false;
-for (int i = 0; i < n; i++) {
- if( (digit[i] == 'x')
- || (digit[i] == ',') ){ bool = false; }
- else if( digit[i] == '.' ){
- if( bool ){
- for (int j = 0; j < n; j++) {
- if( (digit[j] == '.') || (digit[j] == ',') ){
- digit[j] = 'x';
- } }
- break;
- }
- bool = true;
-} }
-
- if( digit[n-1] == '.' ){ digit[n-1] = 'x'; }
-
- }
- Node parent = node.getParentNode();
-Element g = dom.createElement( "mn-group-s" );
-Element cur = dom.createElement( "mn-group" );
-for(int i=0; i<n; i++ ){
- Node child = node.getFirstChild();
- node.removeChild( child );
- if( digit[i] == 'x' ){
- if( cur.hasChildNodes() ){ g.appendChild( cur ); }
- g.appendChild( child );
- cur = dom.createElement( "mn-group" );
- } else {
- cur.appendChild( child );
-} }
-if( cur.hasChildNodes() ){ g.appendChild( cur ); }
-parent.replaceChild( g, node );
-
- } else if (node.hasChildNodes()) {
- NodeList children = node.getChildNodes();
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- setMnGroup(child);
-} } } }
-
- public static void fracLevel(Node d) {
- dom = (Document) d;
- setFracLevel(dom.getFirstChild(), 0);
-}
-private static int setFracLevel(Node node, int cont) {
- int level = 0;
- if (node.hasChildNodes()) {
- String ndName = node.getNodeName();
- int prevCont = cont;
- String clValue = null;
- if (ndName.equals("mfrac")) {
- if (node.hasAttributes()) {
- Node cl = node.getAttributes().getNamedItem("class");
- if (cl != null) { clValue = cl.getNodeValue(); }
-}
-
- if( (clValue != null)
- && clValue.equals("continued-mfrac") ) {
- cont = 2;
-} else { cont--; }
-
- }
- NodeList children = node.getChildNodes();
-int max = 0;
-for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- int d = setFracLevel(child,
- cont
-);
- if (d > max) { max = d; }
-} }
-level += max;
-
- if( ndName.equals("msub")
- || ndName.equals("msup")
- || ndName.equals("msubsup")
-) {
- return 0;
-}
-
- if (ndName.equals("mfrac")) {
- if( (clValue != null) && clValue.equals("word-frac")
-) {
- return 0;
-}
-
- if( cont > 0 ){
- if ( prevCont == 0 ){
- Node child = node.getFirstChild();
-if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes() .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if ( clsName.equals("begin-end")) {
- setContinuedNote(child);
-} } }
-
- }
- Node child = node.getLastChild();
-if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes() .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if ( clsName.equals("begin-end")) {
- node.removeChild( child );
-} } }
-
- level = 0;
- } else if ( prevCont > 0 ){
- Node child = node.getLastChild();
-if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes() .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if ( clsName.equals("begin-end")) {
- setContinuedNote(child);
-} } }
-
- level = 0;
- } else
- if( level > 0 ){
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes()
- .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if (clsName.equals("begin-end")) {
- insertLevelPrefix(child, level);
-} } } }
-
- }
- level++;
- } }
- return level;
-}
-
- public static void scriptLevel(Node dom) {
- setScriptLevel(dom.getFirstChild(), "");
-}
-private static void setScriptLevel(Node node, String prefix) {
- String clName = null;
- if (node.hasChildNodes()) {
- if (node.hasAttributes()) {
- Node cl = node.getAttributes().getNamedItem("class");
- if (cl != null) {
- clName = cl.getNodeValue();
- if( clName.equals("mrow-sub")
- ||
- clName.equals("mrow-super")
- ){
- if( !prefix.equals("") ){
- Node child = node.getFirstChild();
-if( (child.getNodeType() == Node.ELEMENT_NODE)
- &&
- child.hasAttributes()
-){
- Node cls = child.getAttributes().getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if ( clsName.equals("begin-script")
- ||
- clsName.equals("mid-script")
- ) {
- child = child.getFirstChild();
- String s = child.getNodeValue();
- ((org.w3c.dom.Text) child).setData( prefix + s );
-} } }
-
-}
-if( clName.equals( "mrow-sub" ) ){
- prefix += " sub ";
-} else if( clName.equals( "mrow-super" ) ){
- prefix += " super ";
-}
-
- } } }
- String ndName = node.getNodeName();
- if(
- ndName.equals("msqrt")
- ||
- ndName.equals("mroot")
- ){ prefix = ""; }
- NodeList children = node.getChildNodes();
-for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- setScriptLevel(child, prefix);
-} }
-
-} }
-
- public static void rootLevel(Node d) {
- dom = (Document) d;
- setRootLevel(d.getFirstChild());
-}
-private static int setRootLevel( Node node ){
- int level = 0;
-// String clName = null;
- if (node.hasChildNodes()) {
- NodeList children = node.getChildNodes();
-int max = 0;
-for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- int d = setRootLevel(child);
- if( d > max ){ max = d; }
-} }
-level += max;
-
- String ndName = node.getNodeName();
- if( ndName.equals("msub") || ndName.equals("msup") ||
- ndName.equals("msubsup")
-) {
- return 0;
-}
-
- if( ndName.equals("msqrt") || ndName.equals("mroot") ){
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes()
- .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if( clsName.equals("begin-root")
- || clsName.equals("mid-root")
- || clsName.equals("end-root")
- ){
- insertLevelPrefix(child, level);
-} } } }
-
- level++;
- } }
- return level;
-}
-
-}
-
diff --git a/Build/source/texk/tex4htk/java/HtSpk.java b/Build/source/texk/tex4htk/java/HtSpk.java
deleted file mode 100644
index 1f0e9c0a0bd..00000000000
--- a/Build/source/texk/tex4htk/java/HtSpk.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package tex4ht;
-import org.w3c.dom.*;
-public class HtSpk {
- public static void fracLevel(Node dom) {
- setFracLevel(dom.getFirstChild(), 0);
-}
-private static int setFracLevel(Node node, int cont) {
- int level = 0;
- String clName = null;
- if (node.hasChildNodes()) {
- if (node.hasAttributes()) {
- Node cl = node.getAttributes().getNamedItem("class");
- if (cl != null) { clName = cl.getNodeValue(); }
- }
- NodeList children = node.getChildNodes();
-int max = 0;
-for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- int d = setFracLevel(child,
- (clName != null) &&
- clName.equals("continuous-mfrac")?
- 2 :
- ((clName != null) &&
- clName.equals("continuous-mfrac")?
- (cont-1) : cont)
- );
- if (d > max) { max = d; }
-} }
-level += max;
-
- if( clName != null ){
- if( clName.equals("msub") || clName.equals("msup") ||
- clName.equals("msubsup")
-) {
- return 0;
-}
-
- if( clName.equals("continuous-mfrac") ) {
- if( cont > 0 ){
- Node child = node.getLastChild();
-if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes() .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if ( clsName.equals("begin-end")) {
- node.removeChild( child );
-} } }
-
- } else { for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes()
- .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if ( clsName.equals("begin-end")) {
- child = child.getFirstChild();
- String s = child.getNodeValue();
- s = s.replaceFirst("begin", "begin continued");
- s = s.replaceFirst("end", "end continued");
- ((org.w3c.dom.Text) child).setData(s);
-} } } }
- }
- return 0;
-}
-
- if (clName.equals("mfrac")) {
- if( cont > 0 ){
- Node child = node.getLastChild();
-if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes() .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if ( clsName.equals("begin-end")) {
- node.removeChild( child );
-} } }
-
- } else if( level > 0 ){
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes()
- .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if (clsName.equals("begin-end")) {
- child = child.getFirstChild();
- String s = child.getNodeValue();
- String bg = "", ov = "", en = "";
- for(int j=0; j<level; j++){
- bg += " begin "; ov += " over "; en += " end ";
- }
- s = s.replaceFirst("begin", bg + "begin");
- s = s.replaceFirst("over", ov + "over");
- s = s.replaceFirst("end", en + "end");
- ((org.w3c.dom.Text) child).setData(s);
-} } } }
-
- }
- level++;
- } } }
- return level;
-}
-
- public static void scriptLevel(Node dom) {
- setScriptLevel(dom.getFirstChild(), "");
-}
-private static void setScriptLevel(Node node, String prefix) {
- String clName = null;
- if (node.hasChildNodes()) {
- if (node.hasAttributes()) {
- Node cl = node.getAttributes().getNamedItem("class");
- if (cl != null) {
- clName = cl.getNodeValue();
- if( clName.equals("mrow-sub")
- ||
- clName.equals("mrow-super")
- ){
- if( !prefix.equals("") ){
- Node child = node.getFirstChild();
-if( (child.getNodeType() == Node.ELEMENT_NODE)
- &&
- child.hasAttributes()
-){
- Node cls = child.getAttributes().getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if ( clsName.equals("begin-script")
- ||
- clsName.equals("mid-script")
- ) {
- child = child.getFirstChild();
- String s = child.getNodeValue();
- ((org.w3c.dom.Text) child).setData( prefix + s );
-} } }
-
-}
-if( clName.equals( "mrow-sub" ) ){ prefix += " sub "; }
-else
-if( clName.equals( "mrow-super" ) ){ prefix += " super "; }
-
- } else if(
- clName.equals("msqrt")
- ){ prefix = ""; }
- } }
- NodeList children = node.getChildNodes();
-for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- setScriptLevel(child, prefix);
-} }
-
-} }
-
- public static void rootLevel(Node dom) {
- setRootLevel(dom.getFirstChild());
-}
-private static int setRootLevel( Node node ){
- int level = 0;
- String clName = null;
- if (node.hasChildNodes()) {
- if (node.hasAttributes()) {
- Node cl = node.getAttributes().getNamedItem("class");
- if (cl != null) { clName = cl.getNodeValue(); }
- }
- NodeList children = node.getChildNodes();
-int max = 0;
-for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- int d = setRootLevel(child);
- if( d > max ){ max = d; }
-} }
-level += max;
-
- if( clName != null ){
- if( clName.equals("msub") || clName.equals("msup") ||
- clName.equals("msubsup")
-) {
- return 0;
-}
-
- if( clName.equals("msqrt") || clName.equals("root") ){
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- Node cls = child.getAttributes()
- .getNamedItem("class");
- if (cls != null) {
- String clsName = cls.getNodeValue();
- if( clsName.equals("begin-root")
- || clsName.equals("mid-root")
- || clsName.equals("end-root")
- ){
- child = child.getFirstChild();
- String s = child.getNodeValue();
- String nested = "";
- for(int j=0; j<level; j++){
- nested += " nested ";
- }
- ((org.w3c.dom.Text) child).setData( nested + s);
-} } } }
-
- level++;
- } } }
- return level;
-}
-
-}
-
diff --git a/Build/source/texk/tex4htk/java/JsmlFilter.java b/Build/source/texk/tex4htk/java/JsmlFilter.java
deleted file mode 100644
index 16cbf4fbad4..00000000000
--- a/Build/source/texk/tex4htk/java/JsmlFilter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package tex4ht;
-import org.xml.sax.helpers.*;
-import org.xml.sax.*;
-import java.io.PrintWriter;
-
-public class JsmlFilter extends XMLFilterImpl {
- PrintWriter out = null;
- public JsmlFilter( PrintWriter out, PrintWriter log, boolean trace ){
- this.out = out;
- }
- public void startElement(String ns, String sName,
- String qName, Attributes attr) {
- try{
- if( qName.equals( "p" )
-|| qName.equals( "h2" )
-|| qName.equals( "h3" )
-|| qName.equals( "h4" )
-|| qName.equals( "ul" )
-|| qName.equals( "ol" )
-|| qName.equals( "li" )
-|| qName.equals( "dd" )
-|| qName.equals( "dl" )
- ){
- Attributes att = new AttributesImpl();
- super.startElement(ns, "PARA", "PARA", att);
- }
- super.startElement(ns, sName, qName, attr);
- } catch( Exception e ){
- System.out.println( "--- JsmlFilter Error 1 --- " + e);
- } }
- public void endElement(String ns, String sName, String qName){
- try{
- super.endElement(ns, sName, qName);
- if( qName.equals( "p" )
-|| qName.equals( "h2" )
-|| qName.equals( "h3" )
-|| qName.equals( "h4" )
-|| qName.equals( "ul" )
-|| qName.equals( "ol" )
-|| qName.equals( "li" )
-|| qName.equals( "dd" )
-|| qName.equals( "dl" )
- ){
- super.endElement(ns, "PARA", "PARA");
- }
- } catch( Exception e ){
- System.out.println( "--- JsmlFilter Error 2 --- " + e);
-} } }
-
diff --git a/Build/source/texk/tex4htk/java/JsmlMathBreak.java b/Build/source/texk/tex4htk/java/JsmlMathBreak.java
deleted file mode 100644
index d0a241b97f3..00000000000
--- a/Build/source/texk/tex4htk/java/JsmlMathBreak.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package tex4ht;
-/*
-JsmlMathBreak.java (2007-09-01-14:10)
-
-*/
-import xtpipes.XtpipesUni;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-import java.io.*;
-import java.lang.reflect.*;
-import java.util.HashMap;
-
-public class JsmlMathBreak extends DefaultHandler {
- PrintWriter out = null;
- boolean delete = false;
- public JsmlMathBreak(PrintWriter out,
- HashMap<String,Object> scripts,
- Method method, PrintWriter log, boolean trace) {
- this.out = out;
- }
- public void characters(char[] ch, int start, int length) {
- String s = XtpipesUni.toUni(ch, start, length, "<>&");
- out.print( s );
- if( !s.trim().equals("") ){
- delete = false;
- } }
- public void startElement(String ns, String sName,
- String qName,
- Attributes atts) {
- if( !( delete && qName.equals("BREAK") ) ){
- String s = "<" + qName + "\n";
- for (int i = 0; i < atts.getLength(); i++) {
- String name = atts.getQName(i);
- if (name != "xmlns") {
- s += (" " + name + "=\""
- + XtpipesUni.toUni(atts.getValue(i), "<>&\"")
- + "\"");
- } }
- if( qName.equals( "BREAK" ) ){
- s += "/";
- delete = true;
- }
- s += ">";
- out.print(s);
- } }
- public void endElement(String ns, String sName, String qName) {
- if( !qName.equals( "BREAK" ) ){
- String s = "</" + qName + ">";
- out.print(s);
-} } }
-
diff --git a/Build/source/texk/tex4htk/java/OoFilter.java b/Build/source/texk/tex4htk/java/OoFilter.java
deleted file mode 100644
index a4d4a0f01c6..00000000000
--- a/Build/source/texk/tex4htk/java/OoFilter.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package tex4ht;
-/**********************************************************/
-/* OoFilterImpl.java 2009-03-11-03:09 */
-/* Copyright (C) 2006--2009 Eitan M. Gurari */
-/* */
-/* This work may be distributed and/or modified under the */
-/* conditions of the LaTeX Project Public License, either */
-/* version 1.3 of this license or (at your option) any */
-/* later version. The latest version of this license is */
-/* in */
-/* http://www.latex-project.org/lppl.txt */
-/* and version 1.3 or later is part of all distributions */
-/* of LaTeX version 2003/12/01 or later. */
-/* */
-/* This work has the LPPL maintenance status "maintained".*/
-/* */
-/* This Current Maintainer of this work */
-/* is Eitan M. Gurari. */
-/* */
-/* gurari@cse.ohio-state.edu */
-/* http://www.cse.ohio-state.edu/~gurari */
-/**********************************************************/
-
-import java.util.*;
-import org.xml.sax.helpers.*;
-import org.xml.sax.*;
-import java.io.PrintWriter;
-import java.io.BufferedReader;
-import java.io.FileReader;
-
-public class OoFilter extends XMLFilterImpl {
- PrintWriter out = null;
- public OoFilter( PrintWriter out,
- PrintWriter log, boolean trace ){
- this.out = out;
- }
- public void startElement(String ns, String sName,
- String qName, Attributes attr) {
- if( qName.equals( "draw:frame" ) ){
- String name = attr.getValue("draw:name");
-if( (name != null)
- && (attr.getValue("svg:width") == null)
- && (attr.getValue("svg:hieght") == null)
-){
- java.awt.Image image = new javax.swing.ImageIcon(name).getImage();
- int width = image.getWidth(null);
- int height = image.getHeight(null);
- if( (width>0) && (height>0) ){
- org.xml.sax.helpers.AttributesImpl attrs =
- new org.xml.sax.helpers.AttributesImpl( attr );
- attrs.addAttribute(null, "svg:width", "svg:width",
- "String", (width * 72 / 110) + "pt");
- attrs.addAttribute(null, "svg:width", "svg:height",
- "String", (height * 72 / 110) + "pt");
- attr = attrs;
-} }
-
- }
- try{
- super.startElement(ns, sName, qName, attr);
- } catch( Exception e ){
- System.err.println( "--- OoFilter Error 1 --- " + e);
- } }
- public void processingInstruction(String target, String fileName) {
- if( target.equals("tex4ht-lg") ){
- fileName = fileName.trim();
- if( fileName.replaceAll(" ","").startsWith("file=") ){
- HashMap <String,HashMap <String,String>> map
- = new HashMap<String,HashMap <String,String>>();
-String [] font_css_base = {"" , "-", ""};
-String [] font_css_mag = {"x-x-", ""};
-int base_font_size = 10;
-int second;
-
- int length = fileName.length();
-int loc = fileName.indexOf(fileName.charAt(length-1));
-fileName = fileName.substring(loc+1,length-1);
-try{
- String s = "";
- FileReader fr = new FileReader( fileName );
- BufferedReader in = new BufferedReader( fr );
- try{
- String key = "", body = "";
- while( (s=in.readLine()) != null ){
- if( s.startsWith("htfcss: ") ){
- s = s.substring(8);
- int idx = s.indexOf(' ');
- if( idx == 0 ){
- body += s;
- } else {
- body = body.trim();
-if( body.startsWith( "@media " ) ){
- body = body.substring(7).trim();
- if( body.startsWith("print ") ){
- body = body.substring(6).trim();
- } else { key = ""; }
-}
-if( !key.equals("") ){
- String [] property = body.split(";");
- for( int i=0; i<property.length; i++ ){
- if( !property[i].trim().equals("") ){
- int indx = property[i].indexOf(":");
- if( indx != -1 ){
- String name = property[i].substring(0,indx).trim();
- String value = (property[i]+' ').substring(indx+1).trim();
- if( !name.equals("") && !value.equals("") ){
- if( map.containsKey(key) ){
- HashMap <String,String> entry = map.get(key);
- entry.put(name,value);
-}
-else
-{
- HashMap <String,String> entry = new HashMap <String,String>();
- entry.put(name,value);
- map.put(key,entry);
-}
-
-} } } } }
-
- if( idx == -1 ){
- key = s; body = "";
- } else {
- key = s.substring(0,idx);
- body = s.substring(idx);
- } } } }
- body = body.trim();
-if( body.startsWith( "@media " ) ){
- body = body.substring(7).trim();
- if( body.startsWith("print ") ){
- body = body.substring(6).trim();
- } else { key = ""; }
-}
-if( !key.equals("") ){
- String [] property = body.split(";");
- for( int i=0; i<property.length; i++ ){
- if( !property[i].trim().equals("") ){
- int indx = property[i].indexOf(":");
- if( indx != -1 ){
- String name = property[i].substring(0,indx).trim();
- String value = (property[i]+' ').substring(indx+1).trim();
- if( !name.equals("") && !value.equals("") ){
- if( map.containsKey(key) ){
- HashMap <String,String> entry = map.get(key);
- entry.put(name,value);
-}
-else
-{
- HashMap <String,String> entry = new HashMap <String,String>();
- entry.put(name,value);
- map.put(key,entry);
-}
-
-} } } } }
-
-} catch(java.lang.NumberFormatException e){
- System.err.println( "--- OoFilter Error 3 --- Improper record: " + s);
-}
-
- in.close();
-fr = new FileReader( fileName );
-in = new BufferedReader( fr );
-
- in.close();
-fr = new FileReader( fileName );
-in = new BufferedReader( fr );
- try{
- while( (s=in.readLine()) != null ){
- if( s.startsWith("Font_css_base: ") ){
- int idx = s.indexOf("Font_css_mag: ");
- if( idx != -1 ){
- String [] pattern = s.substring(15,idx).trim().split("%s");
- if( pattern.length == 3 ){ font_css_base = pattern; }
- pattern = (s+' ').substring(idx).trim().split("%s");
- if( pattern.length == 2 ){ font_css_mag = pattern; }
- } } }
-} catch(Exception e){
- System.err.println( "--- OoFilter Error 4 --- Improper record: " + s);
-}
-
- in.close();
-fr = new FileReader( fileName );
-in = new BufferedReader( fr );
- try{
- while( (s=in.readLine()) != null ){
- if( s.startsWith("Font_Size:") ){
- base_font_size = Integer.parseInt( s.substring(10).trim() );
- } }
-} catch(java.lang.NumberFormatException e){
- System.err.println( "--- OoFilter Error 5 --- Improper record: " + s);
-}
-
- in.close();
-fr = new FileReader( fileName );
-in = new BufferedReader( fr );
- try{
- while( (s=in.readLine()) != null ){
- if( s.startsWith("Font(") ){
- String [] match = s.split("\"");
- match[1] = match[1].trim();
- match[2] = match[3].trim();
- match[3] = match[5].trim();
- match[4] = match[7].trim();
- {
- if( match[3].replaceAll("[0-9]","").equals("") ){
- second = (int)
- ( Integer.parseInt( match[3] )
- * Long.parseLong( match[4] )
- / base_font_size
- );
- while( second > 700 ){ second /= 10; }
- } else { second = 100; }
- if( (int) ( Double.parseDouble(match[2])
- / Long.parseLong(match[4])
- + 0.5
- )
- == base_font_size
-){
- second = 100;
-};
-
-}
-
- HashMap <String,String> entry = map.get(match[1]);
-if( (entry != null) || (second < 98) || (second > 102) ){
- String styleName = font_css_base[0] + match[1] +
- font_css_base[1] + match[2] +
- font_css_base[2];
- if( !match[4].equals("100") ){
- styleName += font_css_mag[0] + match[4] + font_css_mag[1];
- }
- org.xml.sax.helpers.AttributesImpl attr =
- new org.xml.sax.helpers.AttributesImpl();
-attr.addAttribute("", "style:name", "style:name", "String", styleName);
-attr.addAttribute("", "style:family", "style:family", "String", "text");
-
- super.startElement(null, "style:style", "style:style", attr);
- attr = new org.xml.sax.helpers.AttributesImpl();
-if( entry != null ){
- Object [] name = entry.keySet().toArray();
- for(int i=0; i < name.length; i++){
- String value = entry.get(name[i]);
- attr.addAttribute("", "fo:" + (String) name[i],
- "fo:" + (String) name[i],
- "String", value);
-} }
-if( (second < 98) || (second > 102) ){
- attr.addAttribute("", "fo:font-size", "fo:font-size",
- "String", (second / 10.0) + "pt");
-}
-
- super.startElement(null, "style:text-properties",
- "style:text-properties", attr);
- super.endElement(null, "style:text-properties",
- "style:text-properties");
- super.endElement(null, "style:style", "style:style");
-}
-
- } }
-} catch(Exception e){
- System.err.println( "--- OoFilter Error 6 --- Improper record: " + s);
-}
-
-} catch(Exception e){
- System.err.println( "--- OoFilter Error 2 --- " + e);
-}
-
- } } }
-}
-
diff --git a/Build/source/texk/tex4htk/java/OoUtilities.java b/Build/source/texk/tex4htk/java/OoUtilities.java
deleted file mode 100644
index db8dbd0012b..00000000000
--- a/Build/source/texk/tex4htk/java/OoUtilities.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package tex4ht;
-/**********************************************************/
-/* OoUtilities.java 2009-03-11-03:09 */
-/* Copyright (C) 2006--2009 Eitan M. Gurari */
-/* */
-/* This work may be distributed and/or modified under the */
-/* conditions of the LaTeX Project Public License, either */
-/* version 1.3 of this license or (at your option) any */
-/* later version. The latest version of this license is */
-/* in */
-/* http://www.latex-project.org/lppl.txt */
-/* and version 1.3 or later is part of all distributions */
-/* of LaTeX version 2003/12/01 or later. */
-/* */
-/* This work has the LPPL maintenance status "maintained".*/
-/* */
-/* This Current Maintainer of this work */
-/* is Eitan M. Gurari. */
-/* */
-/* gurari@cse.ohio-state.edu */
-/* http://www.cse.ohio-state.edu/~gurari */
-/**********************************************************/
-
-
-import org.w3c.dom.*;
-public class OoUtilities {
- public static void mtable(Node dom) {
- Node mtr, mtd, d;
- int cols = 0;
- Node node = dom.getFirstChild();
- if (node.hasChildNodes()) {
- mtr = node.getLastChild();
- while( mtr != null){
- if( mtr.getNodeType() == Node.ELEMENT_NODE ){
- if (mtr.hasChildNodes()) {
- mtd = mtr.getLastChild();
- int count = 0;
- while( mtd != null){
- if( mtd.getNodeType() == Node.ELEMENT_NODE ){
- count++;
- d = mtd.getFirstChild();
- if( d != null ){
- boolean remove = true;
-for(Node i=d; i!=null; i=i.getNextSibling() ){
- if( (i.getNodeType() == Node.ELEMENT_NODE)
- && !i.getNodeName().equals("math:mspace") ) {
- remove = false; break;
-} }
-if( remove ){
- while( d != null ){
- mtd.removeChild(d);
- d = mtd.getFirstChild();
-} }
-
- }
- if( d != null ){
- if(
- (d.getNodeType() == Node.TEXT_NODE)
- && d.getNodeValue().trim().equals("")
-){
- d.getParentNode().removeChild(d);
- d = null;
-}
-
- } }
- d = mtd;
- mtd = mtd.getPreviousSibling();
- if(
- (d.getNodeType() == Node.TEXT_NODE)
- && d.getNodeValue().trim().equals("")
-){
- d.getParentNode().removeChild(d);
- d = null;
-}
-
- if( (d != null)
- && (d.getNodeType() == Node.ELEMENT_NODE) ){
- if( (d.getNextSibling()==null)
- && (d.getFirstChild()==null) ){
- d.getParentNode().removeChild(d);
- d = null;
-}
-
- if( d == null ){ count--; }
- } }
- if( count > cols ){ cols = count; }
- } }
- d = mtr;
- mtr = mtr.getPreviousSibling();
- if(
- (d.getNodeType() == Node.TEXT_NODE)
- && d.getNodeValue().trim().equals("")
-){
- d.getParentNode().removeChild(d);
- d = null;
-}
-
- if( d != null ){
- if( (d.getNextSibling()==null)
- && (d.getFirstChild()==null) ){
- d.getParentNode().removeChild(d);
- d = null;
-}
-
-} } }
-
- if (node.hasChildNodes()) {
- mtr = node.getFirstChild();
- while( mtr != null){
- if( mtr.getNodeType() == Node.ELEMENT_NODE ){
- int count = 0;
- if (mtr.hasChildNodes()) {
- mtd = mtr.getFirstChild();
- while( mtd != null){
- if( mtd.getNodeType() == Node.ELEMENT_NODE ){
- mtr.insertBefore( ((Document) dom).createTextNode("\n"), mtd );
-
- count++;
- }
- mtd = mtd.getNextSibling();
- }
- }
- if( count < cols ){
- for(int i = count; i < cols; i++){
- mtr.appendChild( ((Document) dom).createElement("math:mtd") );
-}
-
- } }
- mtr = mtr.getNextSibling();
-} }
-
-}
-
- public static void table(Node dom) {
- Node tblRow, tblCell, d;
-// int cols = 0;
- Node node = dom.getFirstChild();
-
- tblRow = node.getLastChild();
-while( (tblRow != null)
-// && (tblRow.getNodeType() == Node.TEXT_NODE)
-// && tblRow.getNodeValue().trim().equals("")
- && tblRow.getTextContent().trim().equals("")
-){
- node.removeChild(tblRow);
- tblRow = node.getLastChild();
-}
-
- if( (tblRow != null) && (tblRow.getPreviousSibling() != null) ){
- boolean bool = false;
-if( tblRow.getNodeName().equals("table:table-row")
- && tblRow.hasAttributes()
-){
- NamedNodeMap attributes = tblRow.getAttributes();
- Node styleAttr = attributes.getNamedItem( "table:style-name" );
- String style = (styleAttr==null)? null
- : styleAttr.getNodeValue();
- if( (style != null)
- && ( style.equals("hline-row")
- || style.equals("cline-row")
- )
- ){
- bool = true;
-} }
-
- if( !bool ){
- tblCell = tblRow.getFirstChild();
-while( tblCell != null){
- d = tblCell.getNextSibling();
- if( justSpace(tblCell) ){ tblRow.removeChild(tblCell); }
- tblCell = d;
-}
-
-
- tblCell = tblRow.getFirstChild();
- if( (tblCell != null)
- && (tblCell.getNextSibling() == null)
- && justSpace(tblCell)
- ){
- node.removeChild(tblRow);
- } } }
- int n = 0;
-tblRow = node.getFirstChild();
-while( tblRow != null ){
- if(
- (tblRow.getNodeType() == Node.ELEMENT_NODE)
- &&
- tblRow.getNodeName().equals("table:table-row")
- ){
- int m = 0;
-tblCell = tblRow.getFirstChild();
-while( tblCell != null ){
- if(
- (tblCell.getNodeType() == Node.ELEMENT_NODE)
- &&
- tblCell.getNodeName().equals("table:table-cell")
- ){
- m++;
- Node child = tblCell.getLastChild();
-while( child != null ){
- Node prevChild = child.getPreviousSibling();
- if(
- (child.getNodeType() == Node.ELEMENT_NODE)
- &&
- child.getNodeName().equals("text:p")
- ){
- Node sibling = child.getPreviousSibling();
- while( (sibling != null)
- &&
- (sibling.getNodeType() != Node.ELEMENT_NODE)
- ){
- sibling = sibling.getPreviousSibling();
- }
- if( sibling == null ){
- sibling = child.getNextSibling();
- while( (sibling != null)
- &&
- (sibling.getNodeType() != Node.ELEMENT_NODE)
- ){
- sibling = sibling.getNextSibling();
- } }
- if( (sibling != null)
- && child.getTextContent().trim().equals("")
- ){
- tblCell.removeChild(child);
- } }
- child = prevChild;
-}
-
- }
- tblCell = tblCell.getNextSibling();
-}
-
- if( m > n ){ n = m; }
- }
- tblRow = tblRow.getNextSibling();
-}
-
- tblRow = node.getFirstChild();
-while( tblRow != null ){
- d = tblRow.getNextSibling();
- if(
- (tblRow.getNodeType() == Node.ELEMENT_NODE)
- &&
- tblRow.getNodeName().equals("table:table-column")
- ){
- n--;
- if( n < 0 ){
- tblRow.getParentNode().removeChild(tblRow);
- } }
- tblRow = d;
-}
-
-}
-
- static boolean justSpace(Node node){
- if( node == null ){ return true; }
- if( node.getNodeType() == Node.TEXT_NODE ){
- if( !node.getNodeValue().trim().equals("") ){ return false; }
- } else {
- if( node.getNodeType() == Node.ELEMENT_NODE ){
- String nm = node.getNodeName();
- if(
- !nm.equals("table:table-cell")
- && !nm.equals("text:p")
- ){
- return false;
- } }
- }
- if(!justSpace( node.getNextSibling() )){ return false; }
- if(!justSpace( node.getFirstChild() )){ return false; }
- return true;
-}
-
-}
-
diff --git a/Build/source/texk/tex4htk/java/OomFilter.java b/Build/source/texk/tex4htk/java/OomFilter.java
deleted file mode 100644
index d6ab78100bc..00000000000
--- a/Build/source/texk/tex4htk/java/OomFilter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package tex4ht;
-/**********************************************************/
-/* OomFilterImpl.java 2009-03-11-03:09 */
-/* Copyright (C) 2006--2009 Eitan M. Gurari */
-/* */
-/* This work may be distributed and/or modified under the */
-/* conditions of the LaTeX Project Public License, either */
-/* version 1.3 of this license or (at your option) any */
-/* later version. The latest version of this license is */
-/* in */
-/* http://www.latex-project.org/lppl.txt */
-/* and version 1.3 or later is part of all distributions */
-/* of LaTeX version 2003/12/01 or later. */
-/* */
-/* This work has the LPPL maintenance status "maintained".*/
-/* */
-/* This Current Maintainer of this work */
-/* is Eitan M. Gurari. */
-/* */
-/* gurari@cse.ohio-state.edu */
-/* http://www.cse.ohio-state.edu/~gurari */
-/**********************************************************/
-
-
-import org.xml.sax.helpers.*;
-import org.xml.sax.*;
-import java.io.PrintWriter;
-
-public class OomFilter extends XMLFilterImpl {
- PrintWriter out = null;
- boolean mtext = false;
- public OomFilter( PrintWriter out,
- PrintWriter log, boolean trace ){
- this.out = out;
- }
- public void startElement(String ns, String sName,
- String qName, Attributes attr) {
- if( qName.equals( "math:mtext" ) ){ mtext = true; }
- try{
- super.startElement(ns, sName, qName, attr);
- } catch( Exception e ){
- System.err.println( "--- OomFilter Error 1 --- " + e);
- }
- }
- public void endElement(String ns, String sName, String qName){
- if( qName.equals( "math:mtext" ) ){ mtext = false; }
- try{
- super.endElement(ns, sName, qName);
- } catch( Exception e ){
- System.err.println( "--- OomFilter Error 2 --- " + e);
- } }
- public void characters(char[] ch, int start, int length){
- try{
- if ( mtext ) {
- for(int i = start; i<start+length; i++){
- if( ch[i] == 160 ){ ch[i] = ' '; }
- } }
- super.characters(ch, start, length);
- } catch( Exception e ){
- System.out.println( "--- OomFilter Error 3 --- " + e);
-} } }
-
diff --git a/Build/source/texk/tex4htk/java/README b/Build/source/texk/tex4htk/java/README
deleted file mode 100644
index 4f442c72e38..00000000000
--- a/Build/source/texk/tex4htk/java/README
+++ /dev/null
@@ -1 +0,0 @@
-compile from within src/java with: javac *.java */*.java */*/*.java -d ../../texmf/tex4ht/bin
diff --git a/Build/source/texk/tex4htk/java/xtpipes.java b/Build/source/texk/tex4htk/java/xtpipes.java
deleted file mode 100644
index 28ef7887436..00000000000
--- a/Build/source/texk/tex4htk/java/xtpipes.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// 2009-01-27-22:19
-import xtpipes.*;
-public class xtpipes {
- public static void main(String [] args) throws Exception {
- Xtpipes.main(args);
-} }
-
diff --git a/Build/source/texk/tex4htk/java/xtpipes/FileInfo.java b/Build/source/texk/tex4htk/java/xtpipes/FileInfo.java
deleted file mode 100644
index 001b273dce1..00000000000
--- a/Build/source/texk/tex4htk/java/xtpipes/FileInfo.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package xtpipes;
-/*
-FileInfo.java (2009-01-27-22:19)
-*/
-import java.io.File;
-import java.io.PrintWriter;
-
-public class FileInfo{
- static String [] classPaths = null;
-static String [] scriptPaths = null;
-static java.util.HashMap <String,String> registry =
- new java.util.HashMap <String,String>();
-static String slash = System.getProperty("file.separator");
-static String ii_scriptDir;
-static PrintWriter log;
-static boolean trace;
-
- public FileInfo(PrintWriter log, String iii_scriptDir, boolean trace){
- FileInfo.log = log;
- FileInfo.ii_scriptDir = iii_scriptDir;
- FileInfo.trace = trace;
- classPaths = FileInfo.getPaths( System.getProperty("java.class.path") );
-if( iii_scriptDir != null ){
- scriptPaths = FileInfo.getPaths( iii_scriptDir );
-}
-
-
- }
- public static String searchFile( String file ){
- String key = ((ii_scriptDir == null)? "" : ii_scriptDir )
- + "!" + file;
- String result = (String) registry.get( key );
- if( result == null ){
- for(int i=0; i<2; i++){
- if( trace ){
- log.println( "Searching: " + file );
- }
- if( (new File(file)).exists() ){
- result = ( file.indexOf(slash) == -1 )?
- (System.getProperty("user.dir") + slash + file)
- :
- file;
- }
- else {
- if( ii_scriptDir != null ){
- int k = scriptPaths.length;
-while( k>0 ){
- k--;
- if( trace ){
- log.println( "Searching: " + file
- + ", recursively in directory: " + scriptPaths[k] );
- }
- result = searchDirectory( new File(scriptPaths[k]), file);
- if( result != null ){ break; }
-}
-String s = ii_scriptDir + file;
-if( (new File( s )).exists() ){ result = s; }
-
- }
- if( result == null ){
- int k = classPaths.length;
-String toFile = "xtpipes" + slash + "lib" + slash + file;
-while( k>0 ){
- k--;
- String s = classPaths[k] + toFile;
- if( trace ){ log.println( "Searching: " + s ); }
- if( new File(s).exists() ){ result = s; break; }
-}
-
- } }
- if( result != null ){ break; }
- file = new File(file).getName();
- }
- if( result != null ){
- result = FileInfo.cleanPath(result);
- registry.put(key, result);
- }
- }
- if( trace ){
- if( result == null ){
- log.println(
- "Directory paths from xtpipes command line option -i: "
- + ii_scriptDir );
- } else { log.println( "Found: " + result + "\n" ); }
- log.flush();
- }
- return result;
-}
-
- static String [] getPaths( String dirs ){
- String [] paths = null;
- paths = dirs.split( System.getProperty("path.separator") );
- int k = paths.length;
- while( k>0 ){
- k--;
- paths[k] = cleanPath( paths[k] );
-
- int len = paths[k].length();
- if( (len>1) && (paths[k].lastIndexOf(slash + ".") == (len-1)) ){
- paths[k] = paths[k].substring(0,len-1);
- } else if( (len>0) && ((len-1) != paths[k].lastIndexOf( slash )) ){
- paths[k] += slash;
- } }
- return paths;
-}
-
- public static String cleanPath( String path ){
- String slash = System.getProperty("file.separator");
- String userDir = System.getProperty( "user.dir" );
- if( (path.length() > 0) && (path.charAt(0) == '~') ){
- if( (path.length() == 1) || (path.charAt(1) != '~') ){
- path = System.getProperty( "user.home" )
- + path.substring(1);
- } }
-
- if( path.startsWith("..") ){
- path = userDir.substring(0,
- Math.max(0,Math.max(
- userDir.lastIndexOf("/")
- ,
- userDir.lastIndexOf("\\")
- )))
- + path.substring(2);
- }
- if( path.startsWith(".") ){
- path = userDir + slash + path.substring(1);
- }
-
- int i;
- while(
- ((i=path.indexOf("/..")) != -1)
- ||
- ((i=path.indexOf("\\..")) != -1)
- ){
- String s = path.substring(0,i);
- int j = Math.max(s.lastIndexOf("/"), s.lastIndexOf("\\"));
- path = path.substring(0,j) + path.substring(i+3);
- }
- while(
- ((i=path.indexOf("/.")) != -1)
- ||
- ((i=path.indexOf("\\.")) != -1)
- ){
- String s = path.substring(0,i);
- int j = Math.max(s.indexOf("/"), s.indexOf("\\"));
- path = path.substring(0,j) + path.substring(i+2);
- }
-
- return path;
-}
-
- static String searchDirectory(File dir, String file) {
- String result = null;
- if( dir.isDirectory() ){
- String [] children = dir.list();
- for (int i=0; i<children.length; i++) {
- result = searchDirectory( new File(dir,children[i]), file);
- if( result != null ) { break; }
- }
- } else {
- String s = dir.toString();
- if( s.equals(file) || s.endsWith(slash + file) ){
- result = s;
- }
- }
- return result;
-}
-
-}
-
diff --git a/Build/source/texk/tex4htk/java/xtpipes/InputObject.java b/Build/source/texk/tex4htk/java/xtpipes/InputObject.java
deleted file mode 100644
index 43dde6d4d0e..00000000000
--- a/Build/source/texk/tex4htk/java/xtpipes/InputObject.java
+++ /dev/null
@@ -1,323 +0,0 @@
-package xtpipes;
-/*
-InputObject.java (2009-01-27-22:19)
-*/
-import java.io.PrintWriter;
-import java.net.URL;
-import java.net.URLConnection;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.InputStream;
-
-
-public class InputObject{
- InputStream inputStream = null;
-URLConnection connection = null;
-String filename = null;
-static PrintWriter log;
-String dtdRoot = null,
- publicId = null,
- systemId = null,
- xtpipes = null,
- url = null,
- metaType = null,
- contentType = null,
- root = null;
-
- public InputObject( String filename, PrintWriter log ){
- InputObject.log = log;
- filename = filename.trim();
- try{
- inputStream = getInputStream(filename);
- } catch (Exception exp0){
- if( !filename.startsWith( "http://" ) ){
- try{
- String name = "http://" + filename;
- inputStream = getInputStream( name );
- filename = name;
- } catch (Exception exp1){
- try{
- String name = FileInfo.cleanPath(filename);
- inputStream = getInputStream( name );
- filename = name;
- } catch (Exception exp2){ inputStream = null; }
- } } }
- this.filename = filename;
-}
-public InputObject( byte [] bytes, PrintWriter log ){
- InputObject.log = log;
- inputStream = new ByteArrayInputStream( bytes );
-}
-
- private java.io.InputStream getInputStream(
- String filename )
- throws java.io.IOException{
- if( filename == null ){ return null; }
- URL url;
- java.io.InputStream inputStream = null;
-// String loadingError = "Failed to get requested file.";
- try {
- url = new File(filename).toURI().toURL();
- inputStream = getInputStream( url );
- } catch (Exception ie) {
- try {
- url = new URL(filename);
- inputStream = getInputStream( url );
- } catch (java.io.FileNotFoundException ife) {
- throw new java.io.IOException(
- "File not found: " + filename);
- } catch (Exception ife) {
- throw new java.io.IOException(ife + "\n" + ie);
- } }
- return inputStream;
-}
-
- private java.io.InputStream getInputStream( URL url )
- throws java.io.FileNotFoundException,
- java.io.IOException {
- java.io.InputStream inputStream = null;
- String errMssg = "";
- try{
- connection = null;
- connection = url.openConnection();
- connection.setRequestProperty("User-Agent",
- "["
- + System.getProperty("os.name")
- + " / "
- + System.getProperty("os.arch")
- + "]"
- + "["
- + System.getProperty("java.version")
- + " - "
- + System.getProperty("java.vendor")
- + "]"
-
- );
- inputStream = connection.getInputStream();
- } catch(java.io.FileNotFoundException ve){
- errMssg = "File not found: " + url;
- throw new java.io.FileNotFoundException(
- "--- Ml2xml input error --- " + errMssg );
- } catch (javax.net.ssl.SSLHandshakeException ve){
- errMssg = "SSL Handshake Exception: " + ve.getMessage();
- throw new javax.net.ssl.SSLHandshakeException(
- "--- Ml2xml input error --- " + errMssg );
- } catch (java.net.UnknownHostException ve){
- errMssg = "Unknown Host Exception: " + ve.getMessage();
- throw new java.net.UnknownHostException(
- "--- Ml2xml input error --- " + errMssg );
- }
- return inputStream;
-}
-
- public void buildProfile( boolean trace ){
- if( trace ){
- log.println(
- "xtpipes (2009-01-27-22:19)"
- + "\n java.version: " + System.getProperty("java.version")
- + "\n java.class.path: " + System.getProperty("java.class.path")
- + "\n os.name: " + System.getProperty("os.name")
- + "\n user.home: " + System.getProperty("user.home")
- + "\n user.dir: " + System.getProperty("user.dir")
- );
- }
- if( connection != null ){
- contentType = connection . getContentType();
-url = connection . getURL() . toString();
-
- }
- int max = 8192;
-int buffSize = 4096;
-byte [] buff = new byte [ buffSize ];
-int m = 0;
-int length = 0;
-int ch;
-int type = 0
-;
-String token = null;
-while( m < max ){
- try{
- int k = Math.min( max - m, buffSize );
- length = inputStream.read( buff, 0, k );
- if( length == -1 ){ break; }
- if( length == 0 ){ continue; }
- } catch (java.io.IOException e){
- System.err.println( "--- xtpipes error --- : " + e );
- break;
- }
- for(int i = 0 ; i < length; i++ ){
- switch( ch = buff[i] ){
- case '<': token = "";
- type = 1
-;
- break;
- case '>': if( token != null ){
- token = token . replaceAll( "\\s+", " ");
- if( type == 9
- ){
- if( xtpipes == null ){
- int n = token.length();
- if( (n > 1) && (token.charAt( n - 1 ) == '?')
- && (token.startsWith("xtpipes") ) ){
- String s = token . substring(7,n-1) . replaceAll( "\\s+", "");
- n = s.length();
- if( (n>6) && (s.startsWith("file="))
- && (s.charAt(5) == s.charAt(n-1)) ){
- xtpipes = s.substring(6,n-1);
- } } }
-} else if( type == 11
- ){
- if( metaType == null ){
- token = token . replaceAll( "\\s+", "");
- int k = token.indexOf("http-equiv");
- int n = token.indexOf("content");
- if( (k != -1) && (n != -1) ){
- if( token.length() > (Math.max(k,n)+3) ){
- if( token.substring(k+12).startsWith("Content-Type") ){
- token = token.substring(n+9);
- n = token.indexOf(";");
- if( n !=-1 ){ metaType = token.substring(0,n); }
- } } } }
-} else if( (type == 2
-) && (root == null) ){
- root = token;
-}
-
- token = null;
- }
- break;
- case '\n':
- case ' ': if( token != null ){
- if( type == 2
- ){
- if( token.equals("meta") ){
- if( metaType == null ){
- type = 11
-;
- token = " ";
- } else {
- token = null;
- }
- } else {
- if( root == null ){
- root = token;
- }
- token = null;
- }
-} else if( type == 4
- ){
- if( token.equals("DOCTYPE") ){
- type = 5
-;
- token = " ";
- } else { token = null; }
-} else if( type == 5
- ){
- if( !token.trim().equals("") ){
- dtdRoot = token.trim();
- token = " ";
- type = 6
-;
- } else { token = null; }
-} else if( type == 6
- ){
- if( !token.trim().equals("") ){
- token = token.trim();
- if( token.equals("PUBLIC") ){
- type = 7
-;
- token = "";
- } else if( token.equals("SYSTEM") ){
- type = 8
-;
- token = "";
- } else { token = null; }
- }
-} else { token += ' '; }
-
- }
- break;
- case '"':
- case '\'': if( token == null ){ break; }
- if( !token.trim().equals("") ){
- if( token.trim().charAt(0) == ch ){
- if( type == 7
- ){
- publicId = token.trim().substring(1);
- type = 8
-;
- token = "";
- break;
- }
- else if( type == 8
- ){
- systemId = token.trim().substring(1);
- token = null;
- break;
- }
-} }
-
- default: if( token != null ){
- if( type == 3
- ){
- if( ch == 'D' ){
- type = 4
-;
- token += (char) ch;
- } else { token = null; type = 0
-; }
- }
- else
- if( token.equals("") && (type == 1
-) ){
- switch( ch ){
- case '!': type = 3
-;
- break;
- case '?': type = 9
- ;
- break;
- default: if( Character.isLetter(ch)
- && ((root == null) || (metaType == null)) ){
- type = 2
-;
- token += (char) ch;
- } else { token = null; }
-}
-
- } else { token += (char) ch; }
-} }
-
- m++;
-} }
-
- if( trace ){
- log.println(
- " url = " + url
- + "\n contentType = " + contentType
- + "\n publicId = " + publicId
- + "\n systemId = " + systemId
- + "\n xtpipes = " + xtpipes
- + "\n root = " + root
- + "\n dtdRoot = " + dtdRoot
- );
-} }
-
- public InputStream getInputStream(){ return inputStream; }
- public String getFilename(){
- return (url == null)?
- ( (connection == null)? filename
- :
- connection . getURL() . toString()
- )
- : url;
- }
- public String getContentType(){ return contentType; }
- public String getMetaType(){ return metaType; }
- public String getPublicId(){ return publicId; }
- public String getSystemId(){ return systemId; }
- public String getXtpipes(){ return xtpipes; }
- public String getRoot(){ return root; }
- public String getDtdRoot(){ return dtdRoot; }
-}
-
diff --git a/Build/source/texk/tex4htk/java/xtpipes/Xtpipes.java b/Build/source/texk/tex4htk/java/xtpipes/Xtpipes.java
deleted file mode 100644
index e1a037b5405..00000000000
--- a/Build/source/texk/tex4htk/java/xtpipes/Xtpipes.java
+++ /dev/null
@@ -1,1508 +0,0 @@
-package xtpipes;
-/*
-Xtpipes.java (2009-01-27-22:19)
-*/
-// import xtpipes.util.InputObject;
-// import xtpipes.util.FileInfo;
-import java.net.URLConnection;
-import java.io.*;
-import java.lang.reflect.*;
-import java.util.HashMap;
-import java.util.Stack;
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.*;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-import java.net.URL;
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-
-
-public class Xtpipes {
- private static HashMap <String,Object> map;
-private static boolean needScript;
-private static boolean returnDom;
-private static String result;
-static PrintWriter logWriter = new PrintWriter( System.err );
-private static String inFile,
- inData;
-private static boolean exceptionErrs, messages;
-public static InputObject inputObject;
-private static String outFileName;
-private static PrintWriter outPrintWriter;
-private static boolean returnToFile = false;
-public static String scriptFile;
-private static String scriptMap;
-static String i_scriptDir;
-private static TransformerFactory fc;
-private static Transformer identityTransformer;
-private static SAXParserFactory saxFactory;
-private static DocumentBuilder domBuilder;
-private static Stack <XMLReader> saxReaderStack;
-private static Method method;
-private static String rootName;
-static boolean trace;
-private static String [] ml2xml = null;
-static Class<?> ml2xmlClassObj = null;
-public static String errMssg;
-
- public static void main(String args[]) throws Exception {
- map = new HashMap <String,Object> ();
-needScript = true;
-returnDom = false;
-result = null;
-inFile = null;
-inData = null;
-exceptionErrs = false;
-messages = false;
-outFileName = null;
-outPrintWriter = null;
-scriptFile = null;
-i_scriptDir = null;
-scriptMap = null;
-saxReaderStack = new Stack <XMLReader> ();
-rootName = null;
-trace = false;
-
- mainMethod(args);
-}
-
- public static void xtpipes(String [] args,
- OutputStream out,
- PrintWriter log)
- throws Exception {
- map = new HashMap <String,Object> ();
-needScript = true;
-returnDom = false;
-result = null;
-inFile = null;
-inData = null;
-exceptionErrs = false;
-messages = false;
-outFileName = null;
-outPrintWriter = null;
-scriptFile = null;
-i_scriptDir = null;
-scriptMap = null;
-saxReaderStack = new Stack <XMLReader> ();
-rootName = null;
-trace = false;
-
- outPrintWriter = new XtpipesPrintWriter( out, true );
- logWriter = (log==null)? (new PrintWriter( System.err )) : log;
- mainMethod(args);
- outPrintWriter.flush();
-}
-
- public static void xtpipes(String [] args,
- OutputStreamWriter out,
- PrintWriter log)
- throws Exception {
- map = new HashMap <String,Object> ();
-needScript = true;
-returnDom = false;
-result = null;
-inFile = null;
-inData = null;
-exceptionErrs = false;
-messages = false;
-outFileName = null;
-outPrintWriter = null;
-scriptFile = null;
-i_scriptDir = null;
-scriptMap = null;
-saxReaderStack = new Stack <XMLReader> ();
-rootName = null;
-trace = false;
-
- outPrintWriter = new XtpipesPrintWriter( out );
- logWriter = (log==null)? (new PrintWriter( System.err )) : log;
- mainMethod(args);
- outPrintWriter.flush();
-}
-
- public static void xtpipes(String [] args,
- XtpipesPrintWriter out,
- PrintWriter log)
- throws Exception {
- map = new HashMap <String,Object> ();
-needScript = true;
-returnDom = false;
-result = null;
-inFile = null;
-inData = null;
-exceptionErrs = false;
-messages = false;
-outFileName = null;
-outPrintWriter = null;
-scriptFile = null;
-i_scriptDir = null;
-scriptMap = null;
-saxReaderStack = new Stack <XMLReader> ();
-rootName = null;
-trace = false;
-
- outPrintWriter = out;
- logWriter = (log==null)? (new PrintWriter( System.err )) : log;
- mainMethod(args);
- outPrintWriter.flush();
-}
-
- public static Document getDOM(String args[])
- throws Exception {
- map = new HashMap <String,Object> ();
-needScript = true;
-returnDom = false;
-result = null;
-inFile = null;
-inData = null;
-exceptionErrs = false;
-messages = false;
-outFileName = null;
-outPrintWriter = null;
-scriptFile = null;
-i_scriptDir = null;
-scriptMap = null;
-saxReaderStack = new Stack <XMLReader> ();
-rootName = null;
-trace = false;
-
- returnDom = true;
- mainMethod(args);
- Document dom = null;
- if( result == null ){
- System.err.println(
- "--- xtpipes warning --- getDOM without <return name=\"...\"> from 4xt file: "
- + scriptFile );
- } else {
- try{
- byte [] bytes = result.getBytes("UTF-8");
- InputStream is = new ByteArrayInputStream( bytes );
- dom = domBuilder.parse (is);
- } catch ( org.xml.sax.SAXParseException e ){
- if( Xtpipes.trace ){
- Xtpipes.logWriter.println(
- "\n---------------------------------------------------\n"
- + result +
- "\n---------------------------------------------------\n" );
- }
- String s = "";
- for( int n=0; n<args.length; n++ ){
- if( args[n].charAt(0)!='-' ){
- s += " input file: " + args[n] + "."; break;
- }
- else if( args[n].equals("-s")
- || args[n].equals("-S")
- || args[n].equals("-i")
- || args[n].equals("-o")
- || args[n].equals("-d") ){ n++; }
-}
-
- if( scriptFile != null ){ s += " script file: " + scriptFile; }
- instructionErr( null,
- "parsing error: " + e.getMessage() +s, 21 );
- } catch ( Exception e ){
- instructionErr( null, e.toString(), 5 );
- }
- if( ml2xmlClassObj != null ){
- Class<?> [] argTypes = { };
- Method m = ml2xmlClassObj.getMethod( "closeFiles", argTypes );
- Object parmValues[] = new Object[0];
- m.invoke( null, parmValues );
-}
-
- }
- return dom;
-}
-public static Document getDOM(String s, String args[])
- throws Exception {
- map = new HashMap <String,Object> ();
-needScript = true;
-returnDom = false;
-result = null;
-inFile = null;
-inData = null;
-exceptionErrs = false;
-messages = false;
-outFileName = null;
-outPrintWriter = null;
-scriptFile = null;
-i_scriptDir = null;
-scriptMap = null;
-saxReaderStack = new Stack <XMLReader> ();
-rootName = null;
-trace = false;
-
- returnDom = true;
- inData = s;
- mainMethod(args);
- Document dom = null;
- if( result == null ){
- System.err.println(
- "--- xtpipes warning --- getDOM without"
- + " <return name=\"...\"> from 4xt file: "
- + scriptFile );
- } else {
- try{
- byte [] bytes = result.getBytes("UTF-8");
- InputStream is = new ByteArrayInputStream( bytes );
- dom = domBuilder.parse (is);
- } catch ( org.xml.sax.SAXParseException e ){
- instructionErr( null, "improper xml: " + e.getMessage()
- + "\n code starts with: "
- + result.substring(0, Math.min(100,result.length()))
- , 17 );
- } catch ( Exception e ){
- instructionErr( null, e.toString(), 6 );
- }
- if( ml2xmlClassObj != null ){
- Class<?> [] argTypes = { };
- Method m = ml2xmlClassObj.getMethod( "closeFiles", argTypes );
- Object parmValues[] = new Object[0];
- m.invoke( null, parmValues );
-}
-
- }
- return dom;
-}
-public static Document getDOM(String args[], PrintWriter log)
- throws Exception {
- logWriter = (log==null)? new PrintWriter( System.err ) : log;
- return getDOM(args);
-}
-public static Document getDOM(String s, String args[], PrintWriter log)
- throws Exception {
- logWriter = (log==null)? (new PrintWriter( System.err )) : log;
- return getDOM(s, args);
-}
-
- private static void mainMethod(String args[]) throws Exception {
- try{
- String xtpipes_call =
- " xtpipes (2009-01-27-22:19)"
- + "\n Command line options: "
- + "\n java xtpipes [-trace] [-help] [-m] [-E] [-s script_file]"
- + " [-S script_map]"
- + "\n [-i script_dir] [-o out_file] "
- + "\n [-x...ml2xml_arg...] "
- + "(-d in_data | in_file)"
- + "\n -m messages printing mode"
- + "\n -E error messages into exception calls"
- + "\n in_data XML data directly into the command line\n"
-;
-
- boolean help=false;
-for( int n=0; n<args.length; n++ ){
- if( args[n] == null ){}
-else if( args[n].equals("") ){}
-else if( args[n].charAt(0)!='-' ){ inFile = args[n]; }
-else if( args[n].equals("-m") ){
- messages = true;
- logWriter.println(
- "xtpipes (2009-01-27-22:19)"
- + "\n java.version: " + System.getProperty("java.version")
- + "\n java.class.path: " + System.getProperty("java.class.path")
- + "\n os.name: " + System.getProperty("os.name")
- + "\n user.home: " + System.getProperty("user.home")
- + "\n user.dir: " + System.getProperty("user.dir")
-);
-for( int k=0; k<args.length; k++ ){
- logWriter.println( " " + args[k] );
-}
-
-}
-else if( args[n].equals("-s") ){
- n++;
-if( n < args.length ){ scriptFile=args[n]; }
-else {
- System.err.println(
- "--- Error --- Missing field for -s argument" );
- inFile = null; inData = null; break;
-}
-
-}
-else if( args[n].equals("-S") ){
- n++;
-if( n < args.length ){ scriptMap=args[n]; }
-else {
- System.err.println(
- "--- Error --- Missing field for -S argument" );
- inFile = null; inData = null; break;
-}
-
-}
-else if( args[n].equals("-i") ){
- n++;
-if( n < args.length ){
- i_scriptDir=args[n];
-} else {
- System.err.println(
- "--- Error --- Missing field for -i argument" );
- inFile = null; inData = null; break;
-}
-
-}
-else if( args[n].equals("-o") ){
- n++;
-if( n < args.length ){
- outFileName = args[n];
-} else {
- System.err.println(
- "--- Error --- Missing field for -o argument" );
- inFile = null; inData = null; break;
-}
-
-}
-else if( args[n].startsWith("-x") ){
- if( args[n].substring(2).equals("") ){
- if( ml2xml == null ){ ml2xml = new String[0]; }
-} else {
- if( ml2xml == null ){
- ml2xml = new String[1];
- } else {
- String [] m2x = new String [ml2xml.length + 1];
- for(int cnt=0; cnt < ml2xml.length; cnt++){
- m2x[cnt] = ml2xml[cnt];
- }
- ml2xml = m2x;
- }
- ml2xml[ ml2xml.length - 1 ] = args[n].substring(2);
-}
-
-}
-else if( args[n].equals("-E") ){
- exceptionErrs = true;
-}
-else if( args[n].equals("-d") ){
- n++;
-if( n < args.length ){
- inData = args[n];
-} else {
- System.err.println(
- "--- Error --- Missing field for -d argument" );
- inFile = null; inData = null; break;
-}
-
-}
-else if( args[n].equals("-trace") ){ trace=true; }
-else if( args[n].equals("-help") ){ help=true; }
-else { if( !exceptionErrs ){
- for(int i=n+1; i<args.length; i++ ){
- if( args[i].equals("-E") ){ exceptionErrs = true; }
-} }
-instructionErr( null,
- "Improper argument: " + args[n] + "\n" + xtpipes_call, 26 );
- }
-
-}
-if( outPrintWriter == null ){
- outPrintWriter = new XtpipesPrintWriter(System.out,true);
-}
-
-if( !returnDom ){
- if( help || ((inFile == null) && (inData == null)) ){
- System.err.println( xtpipes_call );
-
- if( (inFile == null) && (inData == null) ){
- System.exit(0);
-} } }
-
-new FileInfo(logWriter, i_scriptDir, trace);
-if( inFile != null ){
- inputObject = new InputObject( inFile, logWriter );
- if( inputObject.getInputStream() == null ){
- instructionErr( null, "Could not find or open file: " + inFile, 28 );
- }
- inFile = inputObject.getFilename();
-} else {
- inputObject = new InputObject( inData.getBytes("UTF-8"), logWriter );
-}
-inputObject.buildProfile( trace );
-
- } catch (Exception e){
- instructionErr( null, e.getMessage(), e.getStackTrace(), 31 );
- }
- try {
- DocumentBuilderFactory domFactory =
- DocumentBuilderFactory.newInstance();
- domFactory.setValidating(true);
- DocumentBuilder validatingDomBuilder =
- domFactory.newDocumentBuilder();
- validatingDomBuilder.setEntityResolver(new XtpipesEntityResolver()
-);
- validatingDomBuilder.setErrorHandler(new ErrorHandler() {
- public void warning(SAXParseException e) throws SAXParseException {
- showSpecifics("warning",e);
- }
- public void error(SAXParseException e) throws SAXParseException {
- showSpecifics("error",e);
- }
- public void fatalError(SAXParseException e) throws SAXParseException {
- showSpecifics("fatal error",e);
- }
- public void showSpecifics(String s, SAXParseException e)
- throws SAXParseException {
- String err = "--- xtpipes " + s + " 24 --- " + e.getSystemId()
- + " line " + e.getLineNumber()
- + " col " + e.getColumnNumber()
- + " : " + e.getMessage() ;
- if( exceptionErrs ) { throw new SAXParseException(
- err, (org.xml.sax.Locator) null ); }
- else {
- System.err.println( err );
- System.exit(1);
-} } }
-);
- fc = TransformerFactory.newInstance();
-identityTransformer = fc.newTransformer();
-identityTransformer.setErrorListener(
- new ErrorListener() {
- public void warning(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- public void error(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- public void fatalError(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- void showSpecifics(TransformerException e)
- throws TransformerException{
- String err = e.getMessage() ;
- String loc = e.getLocationAsString();
- if( loc != null ){ err = loc + ": " + err; }
- throw new TransformerException(err);
-} }
- );
-saxFactory = SAXParserFactory.newInstance();
-saxFactory.setValidating(true);
-domFactory.setValidating(false);
-domBuilder = domFactory.newDocumentBuilder();
-saxFactory = SAXParserFactory.newInstance();
-saxFactory.setValidating(false);
-Class <?> cls = Xtpipes.class;
-Class<?> [] argTypes = { Node.class, String.class };
-method = cls.getMethod( "execute", argTypes );
-
- if( scriptMap != null ){
- try{
- String f = FileInfo.searchFile( scriptMap );
- if( f == null ){
- throw new java.io.FileNotFoundException( scriptMap );
- } else {
- scriptMap = f;
- }
- XMLReader saxReader;
-if( saxReaderStack.empty() ){
- SAXParser saxParser = saxFactory.newSAXParser();
- saxReader = saxParser.getXMLReader();
- saxReader.setEntityResolver(new org.xml.sax.EntityResolver() {
- public InputSource resolveEntity(
- String publicId, String systemId) {
- if( (new File(systemId)).exists() ){
- return new org.xml.sax.InputSource( systemId );
- }
- StringReader strReader = new StringReader("");
- return new org.xml.sax.InputSource(strReader);
- }
-});
-
-} else {
- saxReader = (XMLReader) saxReaderStack.pop();
-}
-
- saxReader.setContentHandler( new DefaultHandler(){
- private Stack <Boolean> condition = new Stack <Boolean> ();
-public void startDocument () {
- condition.push( new Boolean(true) );
-}
-public void startElement(String ns, String sName,
- String qName, Attributes atts) {
- if( condition == null ){ return; }
- if( Xtpipes.trace ){
- String s = "<" + qName + "\n";
- for(int i=0; i<atts.getLength(); i++ ){
- String name = atts.getQName(i);
- s += " " + name + "=\"" + atts.getValue(i) + "\"";
- }
- s += ">" ;
- Xtpipes.logWriter.println( s );
-}
-
- boolean cond = ((Boolean) condition.peek()).booleanValue();
- if( qName.equals("when") ){
- if( cond ){ String name = atts.getValue("name");
-String value = atts.getValue("value");
-if( name.equals("system-id") ){
- cond = value.equals(inputObject.getSystemId());
-}
-else
-if( name.equals("public-id") ){
- cond = value.equals(inputObject.getPublicId());
-}
-else
-if( name.equals("dtd-root") ){
- cond = value.equals(inputObject.getDtdRoot());
-}
-else
-if( name.equals("root") ){
- cond = value.equals(inputObject.getRoot());
-}
-else
-if( name.equals("ext") ){
- cond = inputObject.getFilename().endsWith("." + value);
-}
-else
-if( name.equals("prefix") ){
- name = inputObject.getFilename();
- if( name != null ){
- int i = name.lastIndexOf('/');
- if( (i != -1) && ((i+1) < name.length()) ){
- name = name.substring(i+1);
- }
- i = name.lastIndexOf('\\');
- if( (i != -1) && ((i+1) < name.length()) ){
- name = name.substring(i+1);
- }
- cond = name.startsWith(value);
-} }
-else
-if( name.equals("meta-type") ){
- cond = value.equals(inputObject.getMetaType());
-}
-else
-if( name.equals("content-type") ){
- cond = value.equals(inputObject.getContentType());
-}
- }
- }
- else
- if( qName.equals("command-line") ){
- if( scriptFile != null ){
- if( trace ){
- Xtpipes.logWriter.println( " Found script file in map: "
- + Xtpipes.scriptFile );
-}
-
- condition = null;
- return;
- } }
- else
- if( qName.equals("processing-instruction") ){
- if( cond ){
- String s = inputObject.getXtpipes();
- if( s != null ){
- Xtpipes.scriptFile = s;
- if( trace ){
- Xtpipes.logWriter.println( " Found script file in map: "
- + Xtpipes.scriptFile );
-}
-
- condition = null;
- return;
- } } }
- else
- if( qName.equals("select") ){
- if( cond ){
- Xtpipes.scriptFile = atts.getValue("name");
- if( trace ){
- Xtpipes.logWriter.println( " Found script file in map: "
- + Xtpipes.scriptFile );
-}
-
- condition = null;
- return;
- } }
- condition.push( new Boolean(cond) );
-}
-public void endElement(String ns, String sName, String qName) {
- if( condition == null ){ return; }
- if( Xtpipes.trace ){
- String s = "</" + qName + ">";
- Xtpipes.logWriter.println( s );
-}
-
- condition.pop();
-}
-
- } );
- InputStream inputStream =
- (InputStream) (new File(scriptMap).toURI().toURL().openStream());
- saxReader.parse( new InputSource(inputStream) );
- saxReaderStack.push( saxReader );
- } catch( java.io.FileNotFoundException e ){
- instructionErr( null,
- "File not found: " + e.getMessage()
- + "; command line option -i",
- 33 );
- } catch( Exception e ){
- instructionErr( null, e.toString(), e.getStackTrace(), 27 );
- }
-}
-if( scriptFile == null ){
- scriptFile = "xtpipes-default.4xt";
-}
-
- while( needScript ){
- if( scriptFile == null ){
- instructionErr( null, "Missing 4xt script file name", 32 );
- }
- String f = FileInfo.searchFile( scriptFile );
-if( f == null ){
- throw new java.io.FileNotFoundException( scriptFile );
-} else {
- scriptFile = f;
-}
-
- Document script = validatingDomBuilder.parse(scriptFile);
- if( trace ){
- logWriter.println( "(" + scriptFile + ")" );
-}
-
- execute( script.getFirstChild() );
- }
- if( outFileName != null ){
- outPrintWriter.close();
-}
-
- Xtpipes.logWriter.flush();
- } catch( org.xml.sax.SAXParseException e ){
- String s = "Improper file " + scriptFile + ": " + e.getMessage();
- instructionErr( null, s, 2 );
- } catch( java.io.FileNotFoundException e ){
- String s;
- if( scriptFile.equals( e.getMessage() ) ){
- s = "Could not find file: " + scriptFile;
- } else {
- s = "Problem at script " + scriptFile + ": Could not find file "
- + e.getMessage();
- }
- instructionErr( null, s, 3 );
- } catch( Exception e ){
- String s = "Problems at file: " + scriptFile + "\n " + e;
- instructionErr( null, s, 4 );
-} }
-
- private static void execute( Node node ) throws Exception {
- while( node != null ){
- if( node.getNodeType()==Node.ELEMENT_NODE ){
- String instruction = node.getNodeName();
- if( trace ){
- logWriter.print( "[##] = xtpipes => " + instruction );
- if( node.hasAttributes() ){
- NamedNodeMap attributes = node.getAttributes();
- for(int i=0; i < attributes.getLength(); i++ ){
- Node attr = attributes.item(i);
- logWriter.print( " " + attr.getNodeName()
- + "=\"" + attr.getNodeValue() + "\"" );
- } }
- logWriter.println(); logWriter.flush();
-}
-
- if( instruction.equals( "xtpipes" ) ){
- // String errMsg = "";
-needScript = false;
-if( node.hasChildNodes() ){
- if( outFileName != null ){
- try {
- FileWriter fw = new FileWriter( outFileName );
- outPrintWriter = new XtpipesPrintWriter( fw );
- returnToFile = true;
- } catch(Exception e){
- instructionErr( null, e.toString(), 12 );
-} }
-
- if( node.hasAttributes() ){
- Node attr = node.getAttributes()
- .getNamedItem( "signature" );
- if ( (attr != null) && messages ) {
- logWriter.println( attr.getNodeValue() );
-}
-
- attr = node.getAttributes()
- .getNamedItem( "preamble" );
- if( (attr != null)
- && attr.getNodeValue().equals( "yes" ) ){
- // BufferedReader br = null;
-try {
- String s;
- boolean front = true;
- rootName = "<" + ((rootName==null)? inputObject.getRoot() : rootName);
- if( inData == null ){
- // FileReader fr = new FileReader(inFile);
-// BufferedReader in = new BufferedReader(fr);
-URLConnection connection =
- new URL(inFile).openConnection();
-connection.setRequestProperty("User-Agent",
- "["
- + System.getProperty("os.name")
- + " / "
- + System.getProperty("os.arch")
- + "]"
- + "["
- + System.getProperty("java.version")
- + " - "
- + System.getProperty("java.vendor")
- + "]"
-);
-InputStream inputStream = connection.getInputStream();
-BufferedReader in = new BufferedReader (
- new InputStreamReader ( inputStream ) );
-
-while ( ((s = in.readLine()) != null) && front ) {
- int i = s.indexOf( rootName );
- if( i > -1 ){
- front = false;
- s = s.substring(0,i);
- }
- outPrintWriter.println(s);
- returnToFile = false;
-}
-in.close();
-
- } else {
- int i = inData.indexOf( rootName );
-if( i > -1 ){
- front = false;
- s = inData.substring(0,i);
-} else { s = ""; }
-outPrintWriter.println(s);
-returnToFile = false;
-
- }
-} catch (Exception e) {
- System.err.println(
- "--- Error --- Couldn't copy preamble: " + e);
-}
-
-} }
-
- execute( node.getFirstChild() );
-} else {
- if( inData == null ){
- /*
-errMsg = "Searching <?xtpipes file=\"...\"?> in "
- + inFile + ": ";
-*/
-scriptFile = inputObject.getXtpipes();
-rootName = inputObject.getRoot();
-needScript = true;
-
-} else {
- scriptFile = inputObject.getXtpipes();
-rootName = inputObject.getRoot();
-needScript = true;
-
-}
-
-}
-
- } else if( instruction.equals( "set" ) ){
- String name = node.getAttributes().getNamedItem( "name" )
- .getNodeValue();
-Node cdata = node.getFirstChild();
-while( cdata.getNodeType() != Node.CDATA_SECTION_NODE ){
- cdata = cdata.getNextSibling();
-}
-String code = cdata.getNodeValue().trim();
-map.put( name, (Object) code );
-
- } else if( instruction.equals( "get" ) ){
- try {
- String name = node.getAttributes()
- .getNamedItem( "name" ).getNodeValue();
- String file = node.getAttributes()
- .getNamedItem( "file" ).getNodeValue();
- StreamSource in = new StreamSource( new File(file) );
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- identityTransformer.transform( in, new StreamResult(baos) );
- byte [] bytes = baos.toByteArray();
- map.put( name, (Object) new String(bytes) );
-} catch( Exception e ){
- instructionErr( node, e.toString(), 14 );
-}
-
- } else if( instruction.equals( "print" ) ){
- String name = node.getAttributes()
- .getNamedItem( "name" ).getNodeValue();
-String xml = (String) map.get(name);
-if( node.getAttributes().getNamedItem( "file" )==null ){
- if( !Xtpipes.trace ){
- logWriter.println( "[##] = xtpipes => print: " + scriptFile );
- }
- logWriter.println( XtpipesUni.toUni(xml, "") );
-} else {
- String file = node.getAttributes()
- .getNamedItem( "file" ).getNodeValue();
- try{
- FileWriter fw = new FileWriter( file );
- XtpipesPrintWriter out = new XtpipesPrintWriter( fw );
- out.println( xml );
- out.close();
- } catch(Exception e){
- instructionErr( node, e.toString(),15 );
-} }
-
- } else if( instruction.equals( "return" ) ){
- String name = node.getAttributes()
- .getNamedItem( "name" ).getNodeValue();
-result = (String) map.get(name);
-if( returnToFile ){
- outPrintWriter.println(result);
-}
-
- } else if( instruction.equals( "if" ) ){
- try{
- String xml = node.getAttributes()
- .getNamedItem( "xml" ).getNodeValue();
-String dtd = node.getAttributes()
- .getNamedItem( "dtd" ).getNodeValue();
-// String root = node.getAttributes()
-// .getNamedItem( "root" ).getNodeValue();
-String doc = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
- + "<!DOCTYPE doc [\n"
- + (String) map.get(dtd)
- + "\n]>\n"
- + (String) map.get(xml) ;
-
- byte [] bytes = doc.getBytes("UTF-8");
- ByteArrayInputStream bais = new ByteArrayInputStream( bytes );
- InputSource in = new InputSource( bais );
- SAXParser saxParser = saxFactory.newSAXParser();
- XMLReader xmlReader = saxParser.getXMLReader();
- xmlReader.parse( in );
- if( trace ){
- logWriter.print( "--> true" );
-}
-
- execute( node.getFirstChild() );
-} catch ( Exception e ){ if( trace ){
- logWriter.print( "--> true" );
-}
- }
-
- } else if( instruction.equals( "xslt" ) ){
- try{
- Node xmlNode = node.getAttributes().getNamedItem( "xml" );
-StreamSource inDoc = null;
-String xml;
-if( xmlNode == null ){
- if( inData == null ){
- inDoc = new StreamSource( new File(inFile) );
-} else {
- byte [] bytes = inData.getBytes("UTF-8");
- ByteArrayInputStream bais = new ByteArrayInputStream( bytes );
- inDoc = new StreamSource( bais );
-}
-
-} else {
- xml = xmlNode.getNodeValue();
- String doc = (String) map.get(xml);
- if( doc!=null ){
- byte [] bytes = doc.getBytes("UTF-8");
- ByteArrayInputStream bais = new ByteArrayInputStream( bytes );
- inDoc = new StreamSource( bais );
-} }
-
- String xslt = node.getAttributes()
- .getNamedItem( "xsl" ).getNodeValue();
-String templates = (String) map.get(xslt);
-byte [] bytes = templates.getBytes("UTF-8");
-ByteArrayInputStream bais = new ByteArrayInputStream( bytes );
-StreamSource inXslt = new StreamSource( bais );
-
- Node nameNode = node.getAttributes().getNamedItem("name");
-StreamResult outDoc;
-CharArrayWriter caos = null;
-if( nameNode == null ){
- outDoc = new StreamResult(outPrintWriter);
- returnToFile = false;
-} else {
- caos = new CharArrayWriter();
- outDoc = new StreamResult(caos);
-}
-
- errMssg = null;
- fc.setErrorListener( new ErrorListener() {
- public void warning(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- public void error(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- public void fatalError(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- void showSpecifics(TransformerException e)
- throws TransformerException{
- String err = e.getMessage() ;
- String loc = e.getLocationAsString();
- if( loc != null ){ err = loc + ": " + err; }
- err = "XSL stylesheet problem: " + err;
- if( errMssg == null ){ errMssg = err; }
- throw new TransformerException(err);
-} }
- );
- Transformer transformer = fc.newTransformer( inXslt );
- transformer.setErrorListener( new ErrorListener() {
- public void warning(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- public void error(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- public void fatalError(TransformerException e) throws TransformerException {
- showSpecifics(e);
- }
- void showSpecifics(TransformerException e)
- throws TransformerException{
- String err = e.getMessage() ;
- String loc = e.getLocationAsString();
- if( loc != null ){ err = loc + ": " + err; }
- if( errMssg == null ){ errMssg = err; }
- err = "XML document prblem: " + err;
- throw new TransformerException(err);
-} }
- );
- transformer.transform(inDoc, outDoc );
- if( nameNode != null ){
- String name = nameNode.getNodeValue();
- char [] chars = caos.toCharArray() ;
- map.put( name, (Object) new String(chars) );
-}
-
-
-} catch ( javax.xml.transform.TransformerException e ){
- if( Xtpipes.trace ){ e.printStackTrace(); }
- instructionErr( node,
- e.getMessage()
- +
- ((errMssg==null)? "" : ("; " +errMssg))
- , 37);
-} catch ( Exception e ){
- if( Xtpipes.trace ){ e.printStackTrace(); }
- instructionErr( node, (errMssg==null)? e.toString()
- : e.toString() + "; " + errMssg
- , 16 );
-}
-
- } else if( instruction.equals( "dom" ) ){
- try{
- Node xmlNode = node.getAttributes().getNamedItem( "xml" );
-Document dom;
-if( xmlNode == null ){
- if( inData == null ){
- dom = domBuilder.parse( new File(inFile) );
-} else {
- byte [] bytes = inData.getBytes("UTF-8");
- InputStream is = new ByteArrayInputStream( bytes );
- dom = domBuilder.parse (is);}
-
-} else {
- String xml = xmlNode.getNodeValue();
- String doc = (String) map.get(xml);
- if( doc == null ){
- instructionErr( node, "improper xml attribute value", 18 );
- }
- byte [] bytes = doc.getBytes("UTF-8");
- InputStream is = new ByteArrayInputStream( bytes );
- dom = domBuilder.parse (is);
-}
-
- String className = node.getAttributes()
- .getNamedItem( "class" ).getNodeValue();
-String methodName = node.getAttributes()
- .getNamedItem( "method" ).getNodeValue();
-Class <?> cls = Class.forName( className );
-Class<?> [] argTypes = { Node.class };
-Method m = cls.getMethod( methodName, argTypes );
-Object parmValues[] = new Object[1];
-parmValues[0] = dom;
-m.invoke( null, parmValues );
-
- Node nameNode = node.getAttributes().getNamedItem("name");
-StreamResult outDoc;
-CharArrayWriter caos = null;
-if( nameNode == null ){
- outDoc = new StreamResult(outPrintWriter);
- returnToFile = false;
-} else {
- caos = new CharArrayWriter();
- outDoc = new StreamResult(caos);
-}
-
-cleanXmlns(dom);
-DOMSource domSource = new DOMSource(dom);
-try{
- identityTransformer.transform( domSource, outDoc );
-} catch ( javax.xml.transform.TransformerException e ){
- String s = Xtpipes.trace?
- (
- "\n------------------------ xml code ------------------------\n"
- + serialize( dom )
- + "\n----------------------------------------------------------\n"
- )
- : "";
- instructionErr( node, e.getMessage() + s, 35 );
-}
-if( nameNode != null ){
- String name = nameNode.getNodeValue();
- char [] chars = caos.toCharArray() ;
- String domString = new String(chars);
- Node dcl = node.getAttributes().getNamedItem( "dcl" );
-if( ((dcl == null) || (dcl.getNodeValue().equals("no") ))
- &&
- (domString.length() > 7)
- &&
- domString.startsWith("<?xml")
- &&
- !Character.isLetterOrDigit( domString.charAt(5) )
-){
- domString = domString.substring( domString.indexOf("?>") + 2 );
-}
-
- map.put( name, (Object) domString );
-}
-
-} catch ( NoSuchMethodException e ){
- instructionErr( node,
- "could not find method: " + e.getMessage(), 18 );
-} catch ( java.lang.reflect.InvocationTargetException e ){
- if( Xtpipes.trace ){ e.printStackTrace(); }
- instructionErr( node, e.getCause().toString(), 36);
-} catch ( Exception e ){
- if( Xtpipes.trace ){ e.printStackTrace(); }
- instructionErr( node, e.toString(), 20 );
-}
-
- } else if( instruction.equals( "sax" ) ){
- String errMsg = "";
-try{
- Node xmlNode = node.getAttributes().getNamedItem( "xml" );
-InputSource inputSource=null;
-String xml = null;
-if( xmlNode == null ){
- if( inData == null ){
- xml = inFile;
-} else {
- byte [] bytes = inData.getBytes("UTF-8");
- ByteArrayInputStream bais = new ByteArrayInputStream( bytes );
- inputSource = new InputSource( bais );
-}
-
-} else {
- xml = xmlNode.getNodeValue();
- String doc = (String) map.get(xml);
- if( doc!=null ){
- byte [] bytes = doc.getBytes("UTF-8");
- ByteArrayInputStream bais = new ByteArrayInputStream( bytes );
- inputSource = new InputSource( bais );
-} }
-
- String [] className = node.getAttributes()
- .getNamedItem( "content-handler" )
- .getNodeValue()
- .split(",");
-
- Class<?> [] argTypes = {
- PrintWriter.class, HashMap.class, Method.class,
- PrintWriter.class, boolean.class };
-Node nameNode = node.getAttributes().getNamedItem("name");
-PrintWriter out;
-CharArrayWriter caos = null;
-if( nameNode == null ){
- out = outPrintWriter;
- returnToFile = false;
-} else {
- caos = new CharArrayWriter();
- out = new PrintWriter( caos );
-}
-
-Object parmValues[] = new Object[5];
-parmValues[0] = out;
-HashMap <String,Object> scripts = new HashMap <String,Object> ();
-Node script = node.getFirstChild();
-while( script != null ){
- if( script.getNodeType()==Node.ELEMENT_NODE ){
- String element = script.getAttributes().getNamedItem( "element" )
- .getNodeValue();
- if( scripts.containsKey(element) ){
- System.err.println(
- "--- Warning --- redfining script: " + element );
- }
- scripts.put( element, (Object) script );
- }
- script = script.getNextSibling();
-}
- parmValues[1] = scripts;
-parmValues[2] = method;
-parmValues[3] = Xtpipes.logWriter;
-parmValues[4] = (Object) Xtpipes.trace;
-Class<?> cls = Class.forName( className[0].trim() );
-Constructor<?> c = cls.getConstructor( argTypes );
-Object ch = (Object) c.newInstance( parmValues );
-
- XMLReader saxReader;
-if( saxReaderStack.empty() ){
- SAXParser saxParser = saxFactory.newSAXParser();
- saxReader = saxParser.getXMLReader();
- saxReader.setEntityResolver(new org.xml.sax.EntityResolver() {
- public InputSource resolveEntity(
- String publicId, String systemId) {
- if( (new File(systemId)).exists() ){
- return new org.xml.sax.InputSource( systemId );
- }
- StringReader strReader = new StringReader("");
- return new org.xml.sax.InputSource(strReader);
- }
-});
-
-} else {
- saxReader = (XMLReader) saxReaderStack.pop();
-}
-
- XMLReader reader = saxReader;
- for( int i=1; i<className.length; i++ ){
- argTypes = new Class [3];
- argTypes[0] = PrintWriter.class;
- argTypes[1] = PrintWriter.class;
- argTypes[2] = boolean.class;
- parmValues = new Object[3];
- parmValues[0] = out;
- parmValues[1] = Xtpipes.logWriter;
- parmValues[2] = (Object) Xtpipes.trace;
- errMsg = "Class.forName( " + className[i].trim() + ") " ;
- cls = Class.forName( className[i].trim() );
- errMsg = "get-constructor "
- + className[i].trim()
- + "( PrintWriter, PrintWriter, boolean ) " ;
- c = cls.getConstructor( argTypes );
- errMsg = "get-object "
- + className[i].trim()
- + "( PrintWriter, PrintWriter, boolean ) " ;
- if( (cls.getModifiers() % 2) != 1 ){
- errMsg += "; class not defined to be public. ";
- }
- XMLFilter filter = (XMLFilter) c.newInstance( parmValues );
- errMsg = "set-parent "
- + className[i].trim()
- + "( PrintWriter, PrintWriter, boolean ) " ;
- filter.setParent(saxReader);
- saxReader = filter;
-}
-
- errMsg = "setContentHandler( "
- + className[0].trim() + " )";
- saxReader.setContentHandler( (org.xml.sax.ContentHandler) ch );
- Node lexAttr = node.getAttributes()
- .getNamedItem( "lexical-handler" );
-if( lexAttr != null ){
- String lexName = lexAttr.getNodeValue();
- argTypes = new Class[3];
- argTypes[0] = Class.forName( className[0].trim() );
- argTypes[1] = PrintWriter.class;
- argTypes[2] = boolean.class;
- parmValues = new Object[3];
- parmValues[0] = ch;
- parmValues[1] = Xtpipes.logWriter;
- parmValues[2] = (Object) Xtpipes.trace;
- errMsg = "Class.forName( " + lexName.trim() + ") " ;
- cls = Class.forName( lexName.trim() );
- errMsg = "get-constructor " +
- lexName.trim() +
- "( " + className[0].trim() + " ) " ;
- c = cls.getConstructor( argTypes );
- errMsg = "get-object " +
- lexName.trim() + "( ... ) " ;
- Object xh = (Object) c.newInstance( parmValues );
- errMsg = "set lexical handler " + lexName.trim() + " ";
- saxReader.setProperty(
- "http://xml.org/sax/properties/lexical-handler",
- (org.xml.sax.ext.LexicalHandler) xh
- );
-}
-
- saxReader.setEntityResolver(new org.xml.sax.EntityResolver() {
- public InputSource resolveEntity(
- String publicId, String systemId) {
- if( (new File(systemId)).exists() ){
- return new org.xml.sax.InputSource( systemId );
- }
- StringReader strReader = new StringReader("");
- return new org.xml.sax.InputSource(strReader);
- }
-});
-
- if( inputSource==null ){
- errMsg = "While parsing file " + xml + ": ";
-InputStream inputStream = null;
-if( Xtpipes.ml2xml == null ){
- if( Xtpipes.trace ){
- Xtpipes.logWriter.println(
- "No request for ml2xml configuration (command line option -x)" );
- }
- try{
- inputStream = (InputStream) (new File(xml).toURI().toURL().openStream());
-} catch ( java.io.FileNotFoundException ioe ){
- try{
- URL url = null;
- try {
- url = new URL(xml);
- } catch ( java.net.MalformedURLException fnf ){
- url = new File(xml).toURI().toURL();
- }
- inputStream = (InputStream) (url.openStream());
- } catch ( java.io.FileNotFoundException fnf ){
- inputStream = (InputStream)
- (
- new File( new File(xml).toURI().toURL().toString() )
- . toURI().toURL()
- . openStream()
- );
-} }
-
-} else {
- try{
- ml2xmlClassObj = Class.forName( "ml2xml.Ml2xml" );
-} catch (java.lang.ClassNotFoundException cnf ){
- instructionErr( null, "Class not found: ml2xml.Ml2xml", 25 );
-}
-Class<?> [] argTyp = { String.class, String[].class };
-Constructor<?> con = ml2xmlClassObj.getConstructor( argTyp );
-try{
- if( Xtpipes.trace ){
- String s = "Calling: ml2xml.Ml2xml(inputStream,"
- + "new String[]{" ;
- for(int i=0; i < Xtpipes.ml2xml.length; i++){
- s += ((i==0)? "\"" : ", \"") + Xtpipes.ml2xml[i] + "\"";
- }
- s += "})";
- Xtpipes.logWriter.println( s );
-}
-
- inputStream = (InputStream) con.newInstance(
- new Object[]{xml, ml2xml}
- );
-} catch(java.lang.reflect.InvocationTargetException ite){
- String s = "Problem at: ml2xml.Ml2xml(" + xml + ","
- + "new String[]{" ;
- for(int i=0; i < Xtpipes.ml2xml.length; i++){
- s += ((i==0)? "\"" : ", \"") + Xtpipes.ml2xml[i] + "\"";
- }
- s += "})";
- instructionErr( null, s + "; " + ite.getCause(), 38);
-}
-
-}
-saxReader.parse( new InputSource(inputStream) );
-if( Xtpipes.ml2xml != null ){
- Class<?> [] argTyp = {};
- Method m = ml2xmlClassObj . getMethod( "closeFiles", argTyp );
- m.invoke( null, new Object[0] );
-}
-
-
- } else {
- errMsg = "xtpipes sax parsing error";
- saxReader.parse( inputSource );
- }
- if( nameNode != null ){
- String name = nameNode.getNodeValue();
- char [] chars = caos.toCharArray() ;
- map.put( name, (Object) new String(chars) );
-}
-
- saxReaderStack.push( reader );
-} catch ( java.io.FileNotFoundException e ){
- instructionErr( node, errMsg
- + "could not find file: " + e.getMessage(), 19 );
-} catch ( ClassNotFoundException e ){
- instructionErr( node, errMsg
- + " class not found: "
- + e.getMessage() + "\n classpath = "
- + System.getProperty("java.class.path")
- + " ---", 22 );
-} catch ( java.lang.reflect.InvocationTargetException e ){
- instructionErr( node, errMsg + ": " + e.getCause(), 23 );
-} catch ( Exception e ){
- Xtpipes.logWriter.flush();
- e.printStackTrace();
- instructionErr( node, errMsg + ": " + e.toString(), 29 );
-}
-
- } else {
- instructionErr( node, "Improper instruction: " + instruction, 11 );
- } }
- node = node.getNextSibling();
-} }
-
- public static String execute( Node node, String xml )
- throws Exception {
- String name = ".";
- String old = (String) map.get(name);
- map.put( name, (Object) xml );
- execute( node.getFirstChild() );
- String s = (String) map.get(name);
- if( old != null ){ map.put( name, (Object) old ); }
- return s;
-}
-
- private static void instructionErr( Node node, String e, int num )
- throws Exception {
- String err = "--- xtpipes error " + num + " --- ";
- if( node != null ){
- err += "At <" + node.getNodeName();
- NamedNodeMap attr = node.getAttributes();
- for(int i=0; i<attr.getLength(); i++){
- Node nd = attr.item(i);
- err += " " +
- nd.getNodeName() + "=\"" +
- nd.getNodeValue() + "\"" ;
- }
- err += " > : " ;
- }
- err += e;
- if( ml2xmlClassObj != null ){
- Class<?> [] argTypes = { };
- Method m = ml2xmlClassObj.getMethod( "closeFiles", argTypes );
- Object parmValues[] = new Object[0];
- m.invoke( null, parmValues );
-}
-
- Xtpipes.logWriter.flush();
- if( exceptionErrs ) { throw new Exception( err ); }
- else {
- System.err.println( err );
- System.exit(1);
- }
-}
-private static void instructionErr( Node node, String e,
- StackTraceElement[] st, int num )
- throws Exception {
- Xtpipes.logWriter.println(
- "--- xtpipes error " + num + " --- " + e
- );
- for(int i=st.length-1; i>=0; i-- ){
- Xtpipes.logWriter.println( st[i].toString() );
- }
- instructionErr( node, e, num );
-}
-
- static String serialize( Node root ){
- if( root.getNodeType() == Node.TEXT_NODE) {
- return root.getNodeValue();
- }
- if( root.getNodeType() == Node.ELEMENT_NODE) {
- String ser = "";
- String tagName = root.getNodeName();
- ser += "<" + tagName;
- NamedNodeMap attributes = root.getAttributes();
-for(int i = 0; i < attributes.getLength(); i++) {
- Attr attribute = (Attr) attributes.item(i);
- ser += "\n" + attribute.getName() + "=\""
- + attribute.getValue() + "\" ";
-}
-
- ser += "\n>";
- NodeList children = root.getChildNodes();
-if(children.getLength() > 0) {
- for(int i = 0; i < children.getLength(); i++) {
- ser += serialize(children.item(i));
-} }
-
- ser += "</" + tagName + ">";
- return ser;
- }
- if( root.getNodeType() == Node.DOCUMENT_NODE) {
- String ser = "";
- NodeList children = root.getChildNodes();
-if(children.getLength() > 0) {
- for(int i = 0; i < children.getLength(); i++) {
- ser += serialize(children.item(i));
-} }
-
- return ser;
- }
- if( root == null ){ return "null"; }
- return "";
-}
-
- static ArrayList<String> nsName, nsValue;
-static void cleanXmlns( Node root ){
- if( root.getNodeType() == Node.ELEMENT_NODE) {
- int top = nsName.size();
- ArrayList<Attr> remove = new ArrayList<Attr>();
-NamedNodeMap attributes = root.getAttributes();
-for(int i = 0; i < attributes.getLength(); i++) {
- Attr attribute = (Attr) attributes.item(i);
- String name = attribute.getName();
- if( name.startsWith("xmlns") ){
- if( (name.length() == 5) || (name.charAt(5) == ':') ){
- String value = attribute.getValue();
- boolean bool = false;
-for(int k=nsName.size(); k>0; ){
- k--;
- if( ((String) nsName.get(k)) . equals(name) ){
- bool = ((String) nsValue.get(k)) . equals(value);
- break;
-} }
-
- if( bool ){ remove.add(attribute);
- } else { nsName.add(name); nsValue.add(value); }
-} } }
-for(int i=remove.size(); i>0; ){
- i--;
- ((Element) root).removeAttributeNode( (Attr) remove.get(i) );
-}
-remove = null;
-
- NodeList children = root.getChildNodes();
-if(children.getLength() > 0) {
- for(int i = 0; i < children.getLength(); i++) {
- cleanXmlns(children.item(i));
-} }
-
- for(int i=nsName.size(); i>top; ){
- i--;
- nsName.remove(i);
- nsValue.remove(i);
- }
- } else if( root.getNodeType() == Node.DOCUMENT_NODE) {
- nsName = new ArrayList<String>();
- nsValue = new ArrayList<String>();
- NodeList children = root.getChildNodes();
-if(children.getLength() > 0) {
- for(int i = 0; i < children.getLength(); i++) {
- cleanXmlns(children.item(i));
-} }
-
- nsName = null;
- nsValue = null;
-} }
-
-}
-class XtpipesEntityResolver implements org.xml.sax.EntityResolver {
- public InputSource resolveEntity(String publicID, String systemID)
- throws SAXException {
- if( Xtpipes.trace ){
- Xtpipes.logWriter.println( "Resolving: publicID = \" " + publicID
- + "\" systemID = \"" + systemID + "\"" );
- }
- String file = FileInfo.searchFile( systemID );
- if( file != null ){
- try{
- file = new File(file).toURI().toURL().toString();
- return new InputSource( file );
- } catch( java.net.MalformedURLException mfe){
- throw new SAXException(
- "--- xtpipes error 30 --- improper file name: " + file );
- } }
- return null;
-}
-
-}
-
-
diff --git a/Build/source/texk/tex4htk/java/xtpipes/XtpipesPrintWriter.java b/Build/source/texk/tex4htk/java/xtpipes/XtpipesPrintWriter.java
deleted file mode 100644
index 28eff6c12b3..00000000000
--- a/Build/source/texk/tex4htk/java/xtpipes/XtpipesPrintWriter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package xtpipes;
-/*
-XtpipesPrintWriter.java (2009-01-27-22:19)
-*/
-import java.io.*;
-public class XtpipesPrintWriter extends PrintWriter {
- public XtpipesPrintWriter() {
- super(System.out, true);
- }
- public XtpipesPrintWriter (PrintStream ps, boolean b){
- super(ps, b);
- }
- public XtpipesPrintWriter (OutputStream ps, boolean b){
- super(ps, b);
- }
- public XtpipesPrintWriter (FileWriter fw){
- super(fw);
- }
- public XtpipesPrintWriter (Writer wr){
- super(wr);
- }
- public void print(String str) {
- super.print( XtpipesUni.toUni(str, "") );
- }
- public void println(String str) {
- super.println( XtpipesUni.toUni(str, "") );
-} }
-
diff --git a/Build/source/texk/tex4htk/java/xtpipes/XtpipesUni.java b/Build/source/texk/tex4htk/java/xtpipes/XtpipesUni.java
deleted file mode 100644
index c11bbf9255f..00000000000
--- a/Build/source/texk/tex4htk/java/xtpipes/XtpipesUni.java
+++ /dev/null
@@ -1,41 +0,0 @@
-// 2009-01-27-22:19
-package xtpipes;
-public class XtpipesUni{
- private static int D800 = Integer.parseInt("D800", 16);
-private static int DFFF = Integer.parseInt("DFFF", 16);
-private static int DC00 = Integer.parseInt("DC00", 16);
-private static int X400 = Integer.parseInt("400",16);
-private static int X10000 = Integer.parseInt("10000",16);
-
-
-public static String toUni( char[] ch, int start, int length,
- String filter ){
- StringBuffer buf = new StringBuffer(length);
- for (int i = 0; i < length; i++) {
- int chr = ch[ start + i ];
- boolean ascii = (chr == '\n')
- || (chr > 31) && (chr < 127) ;
- if( filter.indexOf(chr) > -1 ){ ascii = false; }
-
- if( (chr >= D800) && (chr<= DFFF) ){
- chr = ((ch[i] - D800) * X400 + (ch[++i] - DC00)) + X10000;
- }
-
-
- buf.append(
- ascii ? Character.toString((char) chr)
- : ("&#x"
- + Integer.toHexString(chr).toUpperCase()
- + ";" ) );
- }
- return new String(buf);
-}
-
- public static String toUni( String s, String filter ){
- char [] ch = s.toCharArray();
- int length = ch.length;
- return toUni(ch, 0, length, filter);
-}
-
-}
-
diff --git a/Build/source/texk/tex4htk/java/xtpipes/util/ScriptsManager.java b/Build/source/texk/tex4htk/java/xtpipes/util/ScriptsManager.java
deleted file mode 100644
index dff6f3184e0..00000000000
--- a/Build/source/texk/tex4htk/java/xtpipes/util/ScriptsManager.java
+++ /dev/null
@@ -1,197 +0,0 @@
-// 2009-01-27-22:19
-package xtpipes.util;
-import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.*;
-import java.io.*;
-import java.lang.reflect.*;
-import java.util.HashMap;
-import java.util.Stack;
-import java.util.ArrayList;
-import java.util.HashSet;
-import xtpipes.XtpipesUni;
-
-public class ScriptsManager extends DefaultHandler {
- boolean inBody = false;
-ArrayList<String> nsName = new ArrayList<String>(),
- nsValue = new ArrayList<String>();
-Stack<Integer> nsStack = new Stack<Integer>();
-
- PrintWriter out = null, log = null;
- HashMap<String,Object> scripts = null;
- Method method = null;
- boolean savemode=false;
- String code="", match = null;
- Stack<Object[]> stack = new Stack<Object[]>();
- public ScriptsManager( PrintWriter out,
- HashMap<String,Object> scripts,
- Method method,
- PrintWriter log, boolean trace ){
- this.out = out;
- this.log = (log==null)? new PrintWriter( System.err ) : log;
- this.scripts = scripts;
- this.method = method;
- }
- public void characters(char[] ch, int start, int length){
- add( XtpipesUni.toUni(ch, start, length, "<>&") );
- }
- public void startElement(String ns, String sName,
- String qName, Attributes atts) {
- int top = nsName.size();
-nsStack.push( new Integer(top) );
-
- String key = (atts==null)?
- null
- : (qName + "::" + atts.getValue("class"));
-boolean flag = (key != null) && scripts.containsKey(key);
-
-if( !flag ){
- key = qName;
- flag = scripts.containsKey(key);
-}
-
- inBody = true;
- String s = "<" + qName + "\n";
- for(int i=0; i<atts.getLength(); i++ ){
- String name = atts.getQName(i),
- value = atts.getValue(i);
- if( name.startsWith("xmlns") ){
- if( (name.length() == 5) || (name.charAt(5) == ':') ){
- boolean bool = false;
-for(int k=nsName.size(); k>0; ){
- k--;
- if( ((String) nsName.get(k)) . equals(name) ){
- bool = ((String) nsValue.get(k)) . equals(value);
- break;
-} }
-
- if( !bool ){
- nsName.add(name); nsValue.add(value);
-} } }
-
- s += " " + name + "=\"" +
- XtpipesUni.toUni(value, "<>&\"") + "\"";
- }
- if( flag ){ HashSet<String> registry = new HashSet<String>();
-for(int i=nsName.size(); i>top; ){
- i--;
- registry.add( (String) nsName.get(i) );
-}
-for(int i=top; i>0; ){
- i--;
- String nm = (String) nsName.get(i);
- if( ! registry.contains(nm) ){
- registry.add( nm );
- s += " " + nm + "=\"" +
- XtpipesUni.toUni( (String) nsValue.get(i), "<>&\"") + "\"";
-} }
- }
- s += ">" ;
- if( flag ){
- Object [] state = { new Boolean(savemode), code, match };
- stack.push( state );
- savemode=true; code=""; match= key;
-} else {
- Object [] state = { new Boolean(savemode), null, null };
- stack.push( state );
-}
-add( s );
-
-}
-
- public void endElement(String ns, String sName, String qName){
- String s = "</" + qName + ">";
- add( s );
- Object [] state = (Object []) stack.pop();
- if( (String) state[1] != null ){
- Object parmValues[] = new Object[2];
-parmValues[0] = scripts.get( match );
-parmValues[1] = code;
-try {
- s = (String) method.invoke( null, parmValues );
-} catch(java.lang.reflect.InvocationTargetException e){
- log.println("--- ScriptsManager Error 1 --- " + e.getCause() );
- log.flush();
-} catch (Exception e){
- log.println("--- ScriptsManager Error 2 --- " + e );
- log.flush();
-}
-
- savemode = ((Boolean) state[0]).booleanValue();
-code = (String) state[1];
-match = (String) state[2];
-
- int top = ((Integer) nsStack.pop()) . intValue();
-for(int i=nsName.size(); i>top; ){
- i--;
- nsName.remove(i);
- nsValue.remove(i);
-}
-
- if( !s.equals("") ){
- int m = s.indexOf('>');
-char [] attrs = s.substring(0,m).toCharArray();
-int result = qName.length()+1,
- mark = result,
- from=-1,
- control = 12
-;
-char delimiter = ' ';
-String name="";
-for(int i=result; i<m; i++ ){
- attrs[result++] = attrs[i];
- switch( control ){
- case 12
-: { if( attrs[i] == '=' ){
- name = (new String(attrs,mark,result-mark-1)).trim();
- control = 13
-;
-}
- break; }
- case 13
-: { if( (attrs[i] == '"') || (attrs[i] == '\'') ){
- delimiter = attrs[i];
- control = 14
-;
- from = result;
-}
- break; }
- case 14
-: { if( attrs[i] == delimiter ){
- if( name.startsWith("xmlns")
- && ((name.length() == 5) || (name.charAt(5) == ':')) ){
- String value = (new String(attrs,from,result-from-1)).trim();
- boolean bool = false;
-for(int k=nsName.size(); k>0; ){
- k--;
- if( ((String) nsName.get(k)) . equals(name) ){
- bool = ((String) nsValue.get(k)) . equals(value);
- break;
-} }
-
- if( bool ){ result = mark; }
- }
- mark = result;
- control = 12
-;
-}
- break; }
-} }
-s = (new String(attrs,0, Math.min(result,attrs.length)))
- + s.substring(m);
-
- add( s );
- }
- } else { int top = ((Integer) nsStack.pop()) . intValue();
-for(int i=nsName.size(); i>top; ){
- i--;
- nsName.remove(i);
- nsValue.remove(i);
-}
- }
-}
-
- protected void add(String s){
- if( savemode ){ code+=s; }
- else { out.print(s); }
-} }
-
diff --git a/Build/source/texk/tex4htk/java/xtpipes/util/ScriptsManagerLH.java b/Build/source/texk/tex4htk/java/xtpipes/util/ScriptsManagerLH.java
deleted file mode 100644
index 17726d441c3..00000000000
--- a/Build/source/texk/tex4htk/java/xtpipes/util/ScriptsManagerLH.java
+++ /dev/null
@@ -1,26 +0,0 @@
-// 2009-01-27-22:19
-package xtpipes.util;
-import org.xml.sax.ext.LexicalHandler;
-// import org.xml.sax.ContentHandler;
-import java.io.PrintWriter;
-public class ScriptsManagerLH implements LexicalHandler {
- ScriptsManager contentHandler;
- PrintWriter log;
- public ScriptsManagerLH( ScriptsManager contentHandler,
- PrintWriter log, boolean trace ){
- this.contentHandler = contentHandler;
- this.log = (log==null)? new PrintWriter( System.err ) : log;
- }
- public void comment(char[] ch, int start, int length){
- if( contentHandler.inBody ){
- String s = new String(ch, start, length);
- contentHandler.add( "<!--" + s + "\n-->");
- } }
- public void startEntity(String x){}
- public void endEntity(String x){}
- public void startCDATA(){}
- public void endCDATA(){}
- public void startDTD(String x, String y, String z){}
- public void endDTD(){}
-}
-