예제 #1
0
  /** Transform a SAX Source to a TinyTree. */
  public static DocumentInfo readTinyTree(
      Configuration configuration, Source source, boolean handleXInclude) {
    final TinyBuilder treeBuilder = new TinyBuilder();
    try {
      if (handleXInclude) {
        // Insert XIncludeContentHandler
        final TransformerXMLReceiver identityHandler = getIdentityTransformerHandler(configuration);
        identityHandler.setResult(treeBuilder);
        final XMLReceiver receiver =
            new XIncludeProcessor.XIncludeXMLReceiver(
                null,
                identityHandler,
                null,
                new TransformerURIResolver(XMLUtils.ParserConfiguration.PLAIN));
        TransformerUtils.sourceToSAX(source, receiver);
      } else {
        final Transformer identity = getIdentityTransformer(configuration);
        identity.transform(source, treeBuilder);
      }

    } catch (TransformerException e) {
      throw new OXFException(e);
    }
    return (DocumentInfo) treeBuilder.getCurrentRoot();
  }
예제 #2
0
 /** Transform an InputStream to a dom4j Document. */
 public static Document readDom4j(Source source, boolean handleXInclude) {
   final LocationSAXContentHandler dom4jResult = new LocationSAXContentHandler();
   {
     final XMLReceiver xmlReceiver;
     if (handleXInclude) {
       // Insert XIncludeContentHandler
       xmlReceiver =
           new XIncludeProcessor.XIncludeXMLReceiver(
               null,
               dom4jResult,
               null,
               new TransformerURIResolver(XMLUtils.ParserConfiguration.PLAIN));
     } else {
       xmlReceiver = dom4jResult;
     }
     sourceToSAX(source, xmlReceiver);
   }
   return dom4jResult.getDocument();
 }
예제 #3
0
 /** Compute a digest for a SAX source. */
 public static byte[] getDigest(Source source) {
   final DigestContentHandler digester = new DigestContentHandler();
   TransformerUtils.sourceToSAX(source, digester);
   return digester.getResult();
 }
예제 #4
0
 /** Transform a dom4j document to a SAXStore. */
 public static SAXStore dom4jToSAXStore(Document document) {
   final SAXStore saxStore = new SAXStore();
   sourceToSAX(new LocationDocumentSource(document), saxStore);
   return saxStore;
 }
예제 #5
0
 /** Transform a TinyTree to a SAXStore. */
 public static SAXStore tinyTreeToSAXStore(NodeInfo nodeInfo) {
   final SAXStore saxStore = new SAXStore();
   sourceToSAX(nodeInfo, saxStore);
   return saxStore;
 }
예제 #6
0
 /** Transform a dom4j Node to SAX events. */
 public static void writeDom4j(org.dom4j.Node node, ContentHandler contentHandler) {
   sourceToSAX(new LocationDocumentSource(node), contentHandler);
 }
예제 #7
0
 /** Transform a dom4j Node to SAX events. */
 public static void writeDom4j(org.dom4j.Node node, XMLReceiver xmlReceiver) {
   sourceToSAX(new LocationDocumentSource(node), xmlReceiver);
 }
예제 #8
0
 /** Transform a TinyTree to SAX events. */
 public static void writeTinyTree(NodeInfo nodeInfo, XMLReceiver xmlReceiver) {
   sourceToSAX(nodeInfo, xmlReceiver);
 }