geirm 02/01/10 06:02:26
Modified: src/java/org/apache/tools/dvsl DVSL.java Transformer.java
Log:
Added option to transform a dom4j Document. Suggested by
Jeff Schnitzer <[EMAIL PROTECTED]>
Revision Changes Path
1.3 +22 -0 jakarta-velocity-dvsl/src/java/org/apache/tools/dvsl/DVSL.java
Index: DVSL.java
===================================================================
RCS file: /home/cvs/jakarta-velocity-dvsl/src/java/org/apache/tools/dvsl/DVSL.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DVSL.java 5 Jan 2002 13:33:01 -0000 1.2
+++ DVSL.java 10 Jan 2002 14:02:26 -0000 1.3
@@ -342,6 +342,16 @@
return transformer.transform( reader, writer );
}
+ protected long xform( Document dom4jdoc, Writer writer )
+ throws Exception
+ {
+ if (!ready)
+ makeReady();
+
+ return transformer.transform( dom4jdoc, writer );
+ }
+
+
public long transform( File f, Writer writer )
throws Exception
{
@@ -375,6 +385,18 @@
throws Exception
{
return xform( new InputStreamReader(is), writer );
+ }
+
+ /**
+ * Transforms the given dom4j Document into the writer.
+ *
+ * @param dom4jdoc dom4j Document object
+ * @param writer Writer for output
+ */
+ public long transform( Document dom4jdoc, Writer writer )
+ throws Exception
+ {
+ return xform( dom4jdoc, writer );
}
public long transform( String infile, Writer writer )
1.2 +25 -12
jakarta-velocity-dvsl/src/java/org/apache/tools/dvsl/Transformer.java
Index: Transformer.java
===================================================================
RCS file:
/home/cvs/jakarta-velocity-dvsl/src/java/org/apache/tools/dvsl/Transformer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Transformer.java 18 Dec 2001 21:23:15 -0000 1.1
+++ Transformer.java 10 Jan 2002 14:02:26 -0000 1.2
@@ -135,7 +135,7 @@
}
/**
- * Routine that performs the transformation on
+ * Method that performs the transformation on
* a document
*
* @param reader XML document char stream
@@ -144,27 +144,40 @@
long transform( Reader reader, Writer writer )
throws Exception
{
- /*
- * wrap in a context to keep subsequent documents from
- * interacting with each other
- */
-
- currentContext = new DVSLNodeContext( baseContext );
-
- long start = System.currentTimeMillis();
/*
* parse the document
*/
Document document = saxReader.read( reader );
-
+
+ return transform( document, writer );
+ }
+
+ long transform( Document dom4jdoc, Writer writer )
+ throws Exception
+ {
/*
* wrap the document. We do this as we let the dom4j package
- * decide if we have a match against "/", so we need document
+ * decide if we have a match against "/", so we need document
* to do that
*/
- DVSLNode root = new Dom4jNodeImpl( document);
+ DVSLNode root = new Dom4jNodeImpl( dom4jdoc );
+
+ return transform( root, writer );
+ }
+
+ protected long transform( DVSLNode root, Writer writer)
+ throws Exception
+ {
+ /*
+ * wrap in a context to keep subsequent documents from
+ * interacting with each other
+ */
+
+ currentContext = new DVSLNodeContext( baseContext );
+
+ long start = System.currentTimeMillis();
/*
* push 'this' into the context as our TransformTool
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>