]> granicus.if.org Git - docbook-dsssl/commitdiff
Imlement base.dir/OEBPS using internal chunk.base.dir instead of
authorBob Stayton <bobs@sagehill.net>
Thu, 11 Apr 2013 22:09:33 +0000 (22:09 +0000)
committerBob Stayton <bobs@sagehill.net>
Thu, 11 Apr 2013 22:09:33 +0000 (22:09 +0000)
new param epub.base.dir.

xsl/epub3/epub3-element-mods.xsl

index e4414f730293f789bee6be9dcf406ef78129fac0..65b44c3ca1acdbc8177f10a44988184edba1e845 100644 (file)
@@ -49,33 +49,32 @@ article  toc,title,figure,table,example,equation
 </xsl:param>
 <xsl:param name="generate.manifest" select="0"/>
 <xsl:param name="manifest.in.base.dir" select="1"/>
-<!-- assemble base.dir from two epub params -->
-<xsl:variable name="default.base.dir">
+
+<!-- HTML chunk output goes to $base.dir/OEPBS -->
+<xsl:variable name="chunk.base.dir">
+  <xsl:if test="contains($base.dir, $epub.oebps.dir)">
+    <xsl:message terminate="yes">
+      <xsl:text>ERROR: the $base.dir param must not include the </xsl:text>
+      <xsl:value-of select="$epub.oebps.dir"/>
+      <xsl:text> directory in its path. Exiting.</xsl:text>
+    </xsl:message>
+  </xsl:if>
   <xsl:choose>
-    <xsl:when test="string-length($epub.base.dir) = 0"></xsl:when>
+    <xsl:when test="string-length($base.dir) = 0"></xsl:when>
     <!-- make sure to add trailing slash if omitted by user -->
-    <xsl:when test="substring($epub.base.dir, string-length($epub.base.dir), 1) = '/'">
-      <xsl:value-of select="$epub.base.dir"/>
+    <xsl:when test="substring($base.dir, string-length($base.dir), 1) = '/'">
+      <xsl:value-of select="$base.dir"/>
     </xsl:when>
     <xsl:otherwise>
-      <xsl:value-of select="concat($epub.base.dir, '/')"/>
+      <xsl:value-of select="concat($base.dir, '/')"/>
     </xsl:otherwise>
   </xsl:choose>
   <xsl:value-of select="$epub.oebps.dir"/>
+  <xsl:if test="substring($epub.oebps.dir, string-length($epub.oebps.dir), 1) != '/'">
+    <xsl:text>/</xsl:text>
+  </xsl:if>
 </xsl:variable>
 
-<!-- This setup allows comparison to a base.dir set on the command line -->
-<xsl:param name="base.dir" select="$default.base.dir"/>
-<!-- This param only has a side effect of checking for base.dir usage -->
-<xsl:param name="debug.base.dir">
-  <xsl:if test="$base.dir != $default.base.dir">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: for epub output, set the $epub.base.dir parameter </xsl:text>
-      <xsl:text>instead of $base.dir. Exiting.&#10;</xsl:text>
-      <xsl:text>Set $epub.base.dir to the directory that is to contain OEBPS.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-</xsl:param>
 
 <xsl:param name="index.links.to.section" select="0"/>
 
@@ -127,7 +126,6 @@ article  toc,title,figure,table,example,equation
 <xsl:param 
   name="epub.vocabulary.profile.package">http://www.idpf.org/epub/30/profile/package/</xsl:param>
 <xsl:param name="epub.output.epub.types" select="1"/>
-<xsl:param name="epub.base.dir" select="''"/> 
 <xsl:param name="epub.oebps.dir" select="'OEBPS'"/> 
 <xsl:variable name="epub.metainf.dir" select="'META-INF/'"/> 
 <xsl:param name="epub.ncx.filename" select="'toc.ncx'"/>