2.6 Copy Preamble

Copy into th eoutput the code preceeding the root. Note: assumes proper XML file as it doesn’t use ml2xml. NEEDS FIXING. Example:

----> <?xml version="1.0" encoding="UTF-8"?>  
----> <!DOCTYPE math:math PUBLIC "-//W3C//DTD MathML 2.0//EN" "math.dtd">  
----> <?xtpipes file="oo-math.4xt" ?>  
----> <!-- try-m12 by TeX4ht from try.tex line 69 2007-01-09-11:20  
----> (http://www.cse.ohio-state.edu/~gurari/TeX4ht/) -->

<..cond copy input preamble..>
 if( node.hasAttributes() ){
    Node attr = node.getAttributes()
                    .getNamedItem( "signature" );
    <.preamble output into log.>
    attr = node.getAttributes()
                    .getNamedItem( "preamble" );
    if( (attr != null)
        && attr.getNodeValue().equals( "yes" ) ){
       <.get src preamble.>
 } }
 -_-_-

<..get src preamble..>
 // BufferedReader br = null;
 try {
    String s;
    boolean front = true;
    rootName = "<" + ((rootName==null)? inputObject.getRoot() : rootName);
    if( inData == null ){
       <.get src preamble from file.>
    } else {
       <.get src preamble from string.>
    }
 } catch (Exception e) {
    System.err.println(
         "--- Error --- Couldn’t copy preamble: " + e);
 }
 -_-_-

<..get src preamble from file..>
 // FileReader fr = new FileReader(inFile);
 // BufferedReader in = new BufferedReader(fr);
 <.BufferedReader in := inFile.>
 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();
 -_-_-

<..BufferedReader in := inFile..>
 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 ) );
 -_-_-

<..get src preamble from string..>
 int i = inData.indexOf( rootName );
 if( i > -1 ){
    front = false;
    s = inData.substring(0,i);
 } else { s = ""; }
 outPrintWriter.println(s);
 returnToFile = false;
 -_-_-