haul 2002/07/14 08:07:31
Modified: src/java/org/apache/cocoon/components/language/markup/xsp/java
Tag: cocoon_2_0_3_branch logicsheet-util.xsl
util.xsl
Log:
backport fix util.xsl
Revision Changes Path
No revision
No revision
1.4.2.1 +12 -2
xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/logicsheet-util.xsl
Index: logicsheet-util.xsl
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/logicsheet-util.xsl,v
retrieving revision 1.4
retrieving revision 1.4.2.1
diff -u -r1.4 -r1.4.2.1
--- logicsheet-util.xsl 27 Feb 2002 05:26:41 -0000 1.4
+++ logicsheet-util.xsl 14 Jul 2002 15:07:31 -0000 1.4.2.1
@@ -149,6 +149,11 @@
<xsl:param name="default"/>
<xsl:param name="required">false</xsl:param>
+ <!-- for some unknown reason this needs to be called every time,
+ otherwise only the first invocation uses a correct namespace
+ prefix. -->
+ <xsl:variable name="namespace-prefix"><xsl:call-template
name="get-namespace-prefix"/></xsl:variable>
+
<xsl:variable name="qname">
<xsl:value-of select="concat($namespace-prefix, ':param')"/>
</xsl:variable>
@@ -223,6 +228,11 @@
<xsl:param name="name"/>
<xsl:param name="default"/>
<xsl:param name="required">false</xsl:param>
+
+ <!-- for some unknown reason this needs to be called every time,
+ otherwise only the first invocation uses a correct namespace
+ prefix. -->
+ <xsl:variable name="namespace-prefix"><xsl:call-template
name="get-namespace-prefix"/></xsl:variable>
<xsl:variable name="qname">
<xsl:value-of select="concat($namespace-prefix, ':param')"/>
1.4.2.1 +41 -83
xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/util.xsl
Index: util.xsl
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/util.xsl,v
retrieving revision 1.4
retrieving revision 1.4.2.1
diff -u -r1.4 -r1.4.2.1
--- util.xsl 21 Feb 2002 03:36:09 -0000 1.4
+++ util.xsl 14 Jul 2002 15:07:31 -0000 1.4.2.1
@@ -65,6 +65,9 @@
xmlns:xsp="http://apache.org/xsp"
xmlns:util="http://apache.org/xsp/util/2.0"
>
+ <xsl:variable name="namespace-uri">http://apache.org/xsp/util/2.0</xsl:variable>
+ <xsl:include href="logicsheet-util.xsl"/>
+
<xsl:template match="xsp:page">
<xsp:page>
<xsl:apply-templates select="@*"/>
@@ -123,6 +126,36 @@
</xsl:template>
-->
+ <xsl:template match="util:get-source">
+ <xsl:variable name="source-uri">
+ <xsl:call-template name="get-string-parameter">
+ <xsl:with-param name="name">uri</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsp:expr>
+ XSPUtil.getSourceAsString(<xsl:copy-of select="$source-uri"/>,this.resolver)
+ </xsp:expr>
+ </xsl:template>
+
+ <xsl:template match="util:include-source">
+ <xsl:variable name="source-uri">
+ <xsl:call-template name="get-string-parameter">
+ <xsl:with-param name="name">uri</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="source-base">
+ <xsl:call-template name="get-string-parameter">
+ <xsl:with-param name="name">base</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsp:logic>
+ XSPUtil.includeSource(<xsl:copy-of select="$source-uri"/>, <xsl:copy-of
select="$source-base"/>, this.resolver, this.contentHandler);
+ </xsp:logic>
+ </xsl:template>
+
+
+
+
<!-- Include URL contents as SAX -->
<xsl:template match="util:include-uri">
<xsl:variable name="href">
@@ -135,31 +168,12 @@
</xsl:when>
</xsl:choose>
</xsl:variable>
-
- <xsp:logic> {
- String __name = String.valueOf(<xsl:copy-of select="$href"/>);
- {
- org.apache.cocoon.components.parser.Parser newParser = null;
- org.apache.cocoon.components.url.URLFactory factory = null;
-
- try {
- newParser = (org.apache.cocoon.components.parser.Parser)
this.manager.lookup(org.apache.cocoon.components.parser.Parser.ROLE);
- factory = (org.apache.cocoon.components.url.URLFactory)
this.manager.lookup(org.apache.cocoon.components.url.URLFactory.ROLE);
- URL __url = factory.getURL(__name);
- InputSource __is = new InputSource(__url.openStream());
- __is.setSystemId(__url.toString());
-
- XSPUtil.include(__is, this.contentHandler, newParser);
- } catch (Exception e) {
- getLogger().error("Could not include page", e);
- } finally {
- if (factory != null) this.manager.release((Component) factory);
- if (newParser != null) this.manager.release((Component) newParser);
- }
- }
- } </xsp:logic>
+ <xsp:logic>
+ XSPUtil.includeSource(<xsl:copy-of select="$href"/>, null, this.resolver,
this.contentHandler);
+ </xsp:logic>
</xsl:template>
+
<!-- Include file contents as SAX -->
<xsl:template match="util:include-file">
<xsl:variable name="name">
@@ -173,28 +187,7 @@
</xsl:choose>
</xsl:variable>
<xsp:logic>
- {
- org.apache.cocoon.components.parser.Parser newParser = null;
-
- try {
- newParser = (org.apache.cocoon.components.parser.Parser)
this.manager.lookup(org.apache.cocoon.components.parser.Parser.ROLE);
- InputSource __is = new InputSource(
- new FileReader(
- XSPUtil.relativeFilename(
- <xsl:copy-of select="$name"/>,
- objectModel
- )
- )
- );
-
-
- XSPUtil.include(__is, this.contentHandler, newParser);
- } catch (Exception e) {
- getLogger().error("Could not include page", e);
- } finally {
- if (newParser != null) this.manager.release((Component) newParser);
- }
- }
+ XSPUtil.includeFile(<xsl:copy-of select="$name"/>,this.manager,
this.contentHandler, objectModel);
</xsp:logic>
</xsl:template>
@@ -210,25 +203,7 @@
</xsl:variable>
<xsp:logic>
- {
- org.apache.cocoon.components.parser.Parser newParser = null;
-
- try {
- newParser = (org.apache.cocoon.components.parser.Parser)
this.manager.lookup(org.apache.cocoon.components.parser.Parser.ROLE);
- InputSource __is = new InputSource(
- new StringReader(
- String.valueOf(<xsl:copy-of select="$expr"/>)
- )
- );
-
-
- XSPUtil.include(__is, this.contentHandler, newParser);
- } catch (Exception e) {
- getLogger().error("Could not include page", e);
- } finally {
- if (newParser != null) this.manager.release((Component) newParser);
- }
- }
+ XSPUtil.includeString(<xsl:copy-of select="$expr"/>,this.manager,
this.contentHandler);
</xsp:logic>
</xsl:template>
@@ -302,22 +277,5 @@
</xsp:expr>
</xsl:template>
- <!-- Standard Templates -->
- <xsl:template name="get-nested-content">
- <xsl:param name="content"/>
- <xsl:choose>
- <xsl:when test="$content/xsp:text">"<xsl:value-of
select="$content"/>"</xsl:when>
- <xsl:when test="$content/*">
- <xsl:apply-templates select="$content/*"/>
- </xsl:when>
- <xsl:otherwise>"<xsl:value-of select="$content"/>"</xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="@*|*|text()|processing-instruction()">
- <xsl:copy>
- <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
- </xsl:copy>
- </xsl:template>
</xsl:stylesheet>
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]