]> granicus.if.org Git - docbook-dsssl/commitdiff
Adjust .opf file to accomodate videoobject or audioobject with multiple data elements...
authorBob Stayton <bobs@sagehill.net>
Fri, 31 Jul 2015 18:15:29 +0000 (18:15 +0000)
committerBob Stayton <bobs@sagehill.net>
Fri, 31 Jul 2015 18:15:29 +0000 (18:15 +0000)
xsl/epub3/epub3-element-mods.xsl

index 734d7f667b7772f996e1207df78bc14054ed9917..8aa24743a4289913322c091e20fccaf91ed7c82c 100644 (file)
@@ -1639,42 +1639,44 @@ article  toc,title,figure,table,example,equation
   <xsl:param name="object" select="."/>
 
   <xsl:if test="$object">
-    <xsl:variable name="output_filename">
-      <xsl:call-template name="mediaobject.filename">
-        <xsl:with-param name="object" select="$object"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="image.filename">
-       <xsl:if test="$img.src.path != '' and
-                       not(starts-with($output_filename, '/')) and
-                       not(contains($output_filename, '://'))">
-         <xsl:value-of select="$img.src.path"/>
-       </xsl:if>
-       <xsl:value-of select="$output_filename"/>
-    </xsl:variable>
-
-    <xsl:variable name="image.extension">
-      <xsl:call-template name="filename-extension">
-        <xsl:with-param name="filename" select="$image.filename"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="image.type">
-      <xsl:call-template name="graphic.format.content-type">
-        <xsl:with-param name="format" select="translate($image.extension, 
-                   &lowercase;, &uppercase;)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:element name="tmp-filename" namespace="">
-      <xsl:element name="tmp-href" namespace="">
-        <xsl:value-of select="$image.filename"/>
-      </xsl:element>
-      <xsl:element name="media-type" namespace="">
-        <xsl:value-of select="$image.type"/>
+    <xsl:for-each select="$object/imagedata|$object/videodata|$object/audiodata">
+      <xsl:variable name="output_filename">
+        <xsl:call-template name="mediaobject.filename">
+          <xsl:with-param name="object" select="."/>
+        </xsl:call-template>
+      </xsl:variable>
+  
+      <xsl:variable name="image.filename">
+         <xsl:if test="$img.src.path != '' and
+                         not(starts-with($output_filename, '/')) and
+                         not(contains($output_filename, '://'))">
+           <xsl:value-of select="$img.src.path"/>
+         </xsl:if>
+         <xsl:value-of select="$output_filename"/>
+      </xsl:variable>
+  
+      <xsl:variable name="image.extension">
+        <xsl:call-template name="filename-extension">
+          <xsl:with-param name="filename" select="$image.filename"/>
+        </xsl:call-template>
+      </xsl:variable>
+  
+      <xsl:variable name="image.type">
+        <xsl:call-template name="graphic.format.content-type">
+          <xsl:with-param name="format" select="translate($image.extension, 
+                     &lowercase;, &uppercase;)"/>
+        </xsl:call-template>
+      </xsl:variable>
+  
+      <xsl:element name="tmp-filename" namespace="">
+        <xsl:element name="tmp-href" namespace="">
+          <xsl:value-of select="$image.filename"/>
+        </xsl:element>
+        <xsl:element name="media-type" namespace="">
+          <xsl:value-of select="$image.type"/>
+        </xsl:element>
       </xsl:element>
-    </xsl:element>
+    </xsl:for-each>
 
   </xsl:if>
 </xsl:template>