]> granicus.if.org Git - docbook-dsssl/commitdiff
Attempt to support exslt
authorNorman Walsh <ndw@nwalsh.com>
Sun, 17 Jun 2001 17:45:11 +0000 (17:45 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Sun, 17 Jun 2001 17:45:11 +0000 (17:45 +0000)
xsl/html/exsltchunk.xsl [new file with mode: 0644]
xsl/html/exsltchunker.xsl [new file with mode: 0644]

diff --git a/xsl/html/exsltchunk.xsl b/xsl/html/exsltchunk.xsl
new file mode 100644 (file)
index 0000000..42d50f7
--- /dev/null
@@ -0,0 +1,10 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xt="http://www.jclark.com/xt"
+                extension-element-prefixes="xt"
+               version="1.0">
+
+<xsl:import href="docbook.xsl"/>
+<xsl:include href="chunk-common.xsl"/>
+<xsl:include href="exsltchunker.xsl"/>
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/xsl/html/exsltchunker.xsl b/xsl/html/exsltchunker.xsl
new file mode 100644 (file)
index 0000000..8779d24
--- /dev/null
@@ -0,0 +1,76 @@
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:exslt="http://exslt.org/common"
+                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+                exclude-result-prefixes="doc"
+                extension-element-prefixes="exslt">
+
+<!-- This stylesheet works with any processor that supports EXSLT -->
+
+<!-- ==================================================================== -->
+
+<xsl:template name="make-relative-filename">
+  <xsl:param name="base.dir" select="'./'"/>
+  <xsl:param name="base.name" select="''"/>
+
+  <xsl:value-of select="concat($base.dir,$base.name)"/>
+</xsl:template>
+
+<xsl:template name="write.chunk">
+  <xsl:param name="filename" select="''"/>
+  <xsl:param name="method" select="'html'"/>
+  <xsl:param name="encoding" select="$default.encoding"/>
+  <xsl:param name="indent" select="'no'"/>
+  <xsl:param name="content" select="''"/>
+
+  <xsl:message>
+    <xsl:text>Writing </xsl:text>
+    <xsl:value-of select="$filename"/>
+    <xsl:if test="name(.) != ''">
+      <xsl:text> for </xsl:text>
+      <xsl:value-of select="name(.)"/>
+      <xsl:if test="@id">
+        <xsl:text>(</xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text>)</xsl:text>
+      </xsl:if>
+    </xsl:if>
+  </xsl:message>
+
+  <exslt:document href="{$filename}"
+                  method="{$method}"
+                  encoding="{$encoding}"
+                  indent="{$indent}">
+    <xsl:copy-of select="$content"/>
+  </exslt:document>
+</xsl:template>
+
+<xsl:template name="write.chunk.with.doctype">
+  <xsl:param name="filename" select="''"/>
+  <xsl:param name="method" select="'html'"/>
+  <xsl:param name="encoding" select="$default.encoding"/>
+  <xsl:param name="indent" select="'no'"/>
+  <xsl:param name="doctype-public" select="''"/>
+  <xsl:param name="doctype-system" select="''"/>
+  <xsl:param name="content" select="''"/>
+
+  <xsl:message>
+    <xsl:text>Writing </xsl:text>
+    <xsl:value-of select="$filename"/>
+    <xsl:if test="name(.) != ''">
+      <xsl:text> for </xsl:text>
+      <xsl:value-of select="name(.)"/>
+    </xsl:if>
+  </xsl:message>
+
+  <exslt:document href="{$filename}"
+                  method="{$method}"
+                  encoding="{$encoding}"
+                  indent="{$indent}"
+                  doctype-public="{$doctype-public}"
+                  doctype-system="{$doctype-system}">
+    <xsl:copy-of select="$content"/>
+  </exslt:document>
+</xsl:template>
+
+</xsl:stylesheet>