vgritsenko 02/04/13 17:45:29
Modified: src/java/org/apache/cocoon/components/xscript
XScriptManagerImpl.java XScriptObject.java
XScriptObjectFromURL.java
XScriptObjectInlineXML.java
src/java/org/apache/cocoon/components/language/markup/xsp/java
xscript-lib.xsl
Log:
Fix xscript: toSAX method is from the Source interface, thus cannot use Embedded
handler there.
Revision Changes Path
1.7 +1 -3
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptManagerImpl.java
Index: XScriptManagerImpl.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptManagerImpl.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XScriptManagerImpl.java 22 Feb 2002 07:00:15 -0000 1.6
+++ XScriptManagerImpl.java 14 Apr 2002 00:45:29 -0000 1.7
@@ -52,8 +52,6 @@
import java.util.HashMap;
-import java.io.InputStream;
-
import org.apache.avalon.framework.logger.AbstractLoggable;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.parameters.Parameterizable;
@@ -71,7 +69,7 @@
* The actual implementation of the <code>XScriptManager</code> interface.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</a>
- * @version CVS $Id: XScriptManagerImpl.java,v 1.6 2002/02/22 07:00:15 cziegeler
Exp $
+ * @version CVS $Id: XScriptManagerImpl.java,v 1.7 2002/04/14 00:45:29 vgritsenko
Exp $
* @since August 4, 2001
*/
public class XScriptManagerImpl
1.8 +23 -18
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObject.java
Index: XScriptObject.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObject.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XScriptObject.java 22 Feb 2002 07:00:15 -0000 1.7
+++ XScriptObject.java 14 Apr 2002 00:45:29 -0000 1.8
@@ -66,7 +66,6 @@
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.Composable;
/**
@@ -75,7 +74,7 @@
* Source object.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</a>
- * @version CVS $Id: XScriptObject.java,v 1.7 2002/02/22 07:00:15 cziegeler Exp $
+ * @version CVS $Id: XScriptObject.java,v 1.8 2002/04/14 00:45:29 vgritsenko Exp $
* @since August 4, 2001
*/
public abstract class XScriptObject implements Source, Composable
@@ -115,12 +114,11 @@
* variable to this instance. Return the result of the
* transformation as an <code>XScriptObject</code>.
*
- * @param source a <code>XScriptObject</code> value
* @param stylesheet a <code>XScriptObject</code> value
* @param params a <code>Parameters</code> value containing optional
* arguments to be passed to the XSLT processor.
- * @param result a <code>Result</code> value. This is where the
- * result of the XSLT processing will be placed.
+ * @return <code>XScriptObject</code> object containing the result
+ * of the XSLT processing.
* @exception IllegalArgumentException if an error occurs
* @exception ProcessingException if an error occurs
*/
@@ -145,27 +143,32 @@
}
}
- public void toSAX(ContentHandler handler)
- throws SAXException
+ public void toEmbeddedSAX(ContentHandler handler) throws SAXException
+ {
+ EmbeddedXMLPipe newHandler = new EmbeddedXMLPipe(handler);
+ toSAX(newHandler);
+ }
+
+ /* The Source interface methods. */
+
+ public void toSAX(ContentHandler handler) throws SAXException
{
Parser parser = null;
try {
- EmbeddedXMLPipe newHandler = new EmbeddedXMLPipe(handler);
-
parser = (Parser)componentManager.lookup(Parser.ROLE);
-
InputSource source = getInputSource();
- parser.parse(source, newHandler);
-
- } catch (Exception ex) {
- throw new SAXException(ex);
+ parser.parse(source, handler);
+ } catch (SAXException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new SAXException(e);
} finally {
- if (parser != null) componentManager.release(parser);
+ if (parser != null) {
+ componentManager.release(parser);
+ }
}
}
- /* The Source interface methods. */
-
public long getLastModified()
{
return lastModifiedDate.getTime();
@@ -176,7 +179,9 @@
public InputSource getInputSource()
throws ProcessingException, IOException
{
- return new InputSource(getInputStream());
+ InputSource is = new InputSource(getInputStream());
+ is.setSystemId(getSystemId());
+ return is;
}
public void recycle()
1.6 +3 -7
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObjectFromURL.java
Index: XScriptObjectFromURL.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObjectFromURL.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XScriptObjectFromURL.java 22 Feb 2002 07:00:15 -0000 1.5
+++ XScriptObjectFromURL.java 14 Apr 2002 00:45:29 -0000 1.6
@@ -57,16 +57,13 @@
import org.apache.cocoon.components.url.URLFactory;
import org.apache.cocoon.ProcessingException;
-import org.apache.avalon.framework.component.Composable;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.component.Component;
/**
* An <code>XScriptObject</code> created from the contents of a URL.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</a>
- * @version CVS $Id: XScriptObjectFromURL.java,v 1.5 2002/02/22 07:00:15 cziegeler
Exp $
+ * @version CVS $Id: XScriptObjectFromURL.java,v 1.6 2002/04/14 00:45:29 vgritsenko
Exp $
* @since August 30, 2001
*/
public class XScriptObjectFromURL extends XScriptObject
@@ -105,8 +102,7 @@
componentManager.release(urlFactory);
return is;
- }
- catch (ComponentException ex) {
+ } catch (ComponentException ex) {
throw new ProcessingException(ex);
}
}
@@ -124,7 +120,7 @@
public String getSystemId()
{
// FIXME: generate a real system id to represent this object
- return "file:/";
+ return "xscript:url:" + systemId;
}
public void recycle()
1.5 +2 -2
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObjectInlineXML.java
Index: XScriptObjectInlineXML.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObjectInlineXML.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XScriptObjectInlineXML.java 22 Feb 2002 07:00:15 -0000 1.4
+++ XScriptObjectInlineXML.java 14 Apr 2002 00:45:29 -0000 1.5
@@ -68,7 +68,7 @@
* An <code>XScriptObject</code> created from an inline XML fragment.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</a>
- * @version CVS $Id: XScriptObjectInlineXML.java,v 1.4 2002/02/22 07:00:15
cziegeler Exp $
+ * @version CVS $Id: XScriptObjectInlineXML.java,v 1.5 2002/04/14 00:45:29
vgritsenko Exp $
* @since July 7, 2001
*/
public class XScriptObjectInlineXML extends XScriptObject
@@ -129,6 +129,6 @@
{
// FIXME: Implement a URI scheme to be able to refer to XScript
// variables by URI
- return "file:/";
+ return "xscript:inline:" + System.identityHashCode(this);
}
}
1.5 +6 -8
xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/xscript-lib.xsl
Index: xscript-lib.xsl
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/xscript-lib.xsl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- xscript-lib.xsl 28 Feb 2002 14:41:07 -0000 1.4
+++ xscript-lib.xsl 14 Apr 2002 00:45:29 -0000 1.5
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- $Id: xscript-lib.xsl,v 1.4 2002/02/28 14:41:07 vgritsenko Exp $-->
+<!-- $Id: xscript-lib.xsl,v 1.5 2002/04/14 00:45:29 vgritsenko Exp $-->
<!--
============================================================================
@@ -57,7 +57,7 @@
* Date: September 19, 2001
*
* @author <a href="mailto:[EMAIL PROTECTED]>Ovidiu Predescu</a>
- * @version CVS $Revision: 1.4 $ $Date: 2002/02/28 14:41:07 $
+ * @version CVS $Revision: 1.5 $ $Date: 2002/04/14 00:45:29 $
-->
<xsl:stylesheet
@@ -125,9 +125,8 @@
event stream -->
<xsp:logic>
try {
- <xsl:value-of select="$object"/>.toSAX(this.contentHandler);
- }
- catch (IllegalArgumentException ex) {
+ <xsl:value-of select="$object"/>.toEmbeddedSAX(this.contentHandler);
+ } catch (IllegalArgumentException ex) {
<xscript:error><xsp:expr>ex.getMessage()</xsp:expr></xscript:error>
}
</xsp:logic>
@@ -198,14 +197,13 @@
<xsl:with-param name="parameters" select="$parameters"/>
</xsl:call-template>
XScriptObject result = <xsl:value-of select="$object"/>.transform(
- <xsl:value-of select="$stylesheet-object"/>,
- <xsl:value-of select="$params"/>);
+ <xsl:value-of select="$stylesheet-object"/>, <xsl:value-of
select="$params"/>);
<!--
System.out.println("input source =\n" + <xsl:value-of select="$object"/>);
System.out.println("stylesheet source =\n" + <xsl:value-of
select="$stylesheet-object"/>);
System.out.println("transformation result =\n" + result);
-->
- result.toSAX(this.contentHandler);
+ result.toEmbeddedSAX(this.contentHandler);
}
</xsp:logic>
</xsl:template>
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]