3.3 Handle Get XML Code

Stores a XML file content under the given name.

<get name="..." file="..." />

<..xtpipes entries..>+
 | get
 -_-_-

<..xtpipes.dtd..>+
 <!ELEMENT get EMPTY >
 <!ATTLIST get
           name CDATA #REQUIRED
           file CDATA #REQUIRED
 >
 -_-_-

<..execute 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 );
 }
 -_-_-

<..xtpipes initialization..>
 fc = TransformerFactory.newInstance();
 identityTransformer =  fc.newTransformer();
 identityTransformer.setErrorListener(
     <.identity transformer XML error listener.> );
 -_-_-

<..xtpipes fields..>+
 private static TransformerFactory fc;
 private static Transformer identityTransformer;
 -_-_-