[yelp-xsl] mal2html-media: Implemented the TTML dur attribute



commit fed3253af45e204d00075abf68282600aeb4f8f8
Author: Shaun McCance <shaunm gnome org>
Date:   Tue Feb 28 10:50:33 2012 -0500

    mal2html-media: Implemented the TTML dur attribute

 xslt/common/html.xsl                 |    6 +-
 xslt/mallard/html/mal2html-media.xsl |   78 ++++++++++++++++++++++++----------
 2 files changed, 58 insertions(+), 26 deletions(-)
---
diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl
index 88efe4d..9d7b913 100644
--- a/xslt/common/html.xsl
+++ b/xslt/common/html.xsl
@@ -1842,9 +1842,9 @@ function yelp_init_video (element) {
     currentSpan.text(mins + (secs < 10 ? ':0' : ':') + secs);
     ttmlNodes.each(function () {
       var ttml = this;
-      if (element.currentTime >= parseFloat(ttml.getAttribute('data-begin')) &&
-          (!ttml.hasAttribute('data-end') ||
-           element.currentTime < parseFloat(ttml.getAttribute('data-end')) )) {
+      if (element.currentTime >= parseFloat(ttml.getAttribute('data-ttml-begin')) &&
+          (!ttml.hasAttribute('data-ttml-end') ||
+           element.currentTime < parseFloat(ttml.getAttribute('data-ttml-end')) )) {
         if (ttml.tagName == 'span')
           ttml.style.display = 'inline';
         else
diff --git a/xslt/mallard/html/mal2html-media.xsl b/xslt/mallard/html/mal2html-media.xsl
index 9bacc3a..04bcfbc 100644
--- a/xslt/mallard/html/mal2html-media.xsl
+++ b/xslt/mallard/html/mal2html-media.xsl
@@ -185,12 +185,12 @@ FIXME
     </xsl:call-template>
   </xsl:variable>
   <div class="media-ttml-node media-ttml-p">
-    <xsl:attribute name="data-begin">
+    <xsl:attribute name="data-ttml-begin">
       <xsl:value-of select="substring-before($beginend, ',')"/>
     </xsl:attribute>
     <xsl:variable name="end" select="substring-after($beginend, ',')"/>
     <xsl:if test="$end != 'â'">
-      <xsl:attribute name="data-end">
+      <xsl:attribute name="data-ttml-end">
         <xsl:value-of select="$end"/>
       </xsl:attribute>
     </xsl:if>
@@ -208,10 +208,10 @@ FIXME
     </xsl:call-template>
   </xsl:variable>
   <span class="media-ttml-node media-ttml-span">
-    <xsl:attribute name="data-begin">
+    <xsl:attribute name="data-ttml-begin">
       <xsl:value-of select="substring-before($beginend, ',')"/>
     </xsl:attribute>
-    <xsl:attribute name="data-end">
+    <xsl:attribute name="data-ttml-end">
       <xsl:value-of select="substring-after($beginend, ',')"/>
     </xsl:attribute>
     <xsl:apply-templates mode="mal2html.inline.mode"/>
@@ -222,6 +222,7 @@ FIXME
   <xsl:param name="range"/>
   <xsl:param name="begin" select="@begin"/>
   <xsl:param name="end" select="@end"/>
+  <xsl:param name="dur" select="@dur"/>
   <xsl:variable name="range_">
     <xsl:choose>
       <xsl:when test="$range != ''">
@@ -249,28 +250,59 @@ FIXME
   </xsl:variable>
   <xsl:value-of select="number(substring-before($range_, ',')) + number($begin_s)"/>
   <xsl:text>,</xsl:text>
+  <xsl:variable name="end_dur">
+    <xsl:choose>
+      <xsl:when test="$dur">
+        <xsl:variable name="dur_s">
+          <xsl:call-template name="mal2html.ttml.time.seconds">
+            <xsl:with-param name="time" select="$dur"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:value-of select="number($dur_s) + number(substring-before($range_, ',')) + number($begin_s)"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="'â'"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:variable name="end_end">
+    <xsl:choose>
+      <xsl:when test="$end">
+        <xsl:variable name="end_s">
+          <xsl:call-template name="mal2html.ttml.time.seconds">
+            <xsl:with-param name="time" select="$end"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:variable name="end_ss" select="number(substring-before($range_, ',')) + number($end_s)"/>
+        <xsl:choose>
+          <xsl:when test="substring-after($range_, ',') = 'â'">
+            <xsl:value-of select="$end_ss"/>
+          </xsl:when>
+          <xsl:when test="number(substring-after($range_, ',')) &lt; $end_ss">
+            <xsl:value-of select="substring-after($range_, ',')"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="$end_ss"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="substring-after($range_, ',')"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
   <xsl:choose>
-    <xsl:when test="$end">
-      <xsl:variable name="end_s">
-        <xsl:call-template name="mal2html.ttml.time.seconds">
-          <xsl:with-param name="time" select="$end"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:variable name="end_ss" select="number(substring-before($range_, ',')) + number($end_s)"/>
-      <xsl:choose>
-        <xsl:when test="substring-after($range_, ',') = 'â'">
-          <xsl:value-of select="$end_ss"/>
-        </xsl:when>
-        <xsl:when test="number(substring-after($range_, ',')) &lt; $end_ss">
-          <xsl:value-of select="substring-after($range_, ',')"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$end_ss"/>
-        </xsl:otherwise>
-      </xsl:choose>
+    <xsl:when test="$end_end = 'â'">
+      <xsl:value-of select="$end_dur"/>
+    </xsl:when>
+    <xsl:when test="$end_dur = 'â'">
+      <xsl:value-of select="$end_end"/>
+    </xsl:when>
+    <xsl:when test="number($end_end) &lt; number($end_dur)">
+      <xsl:value-of select="$end_end"/>
     </xsl:when>
     <xsl:otherwise>
-      <xsl:value-of select="substring-after($range_, ',')"/>
+      <xsl:value-of select="$end_dur"/>
     </xsl:otherwise>
   </xsl:choose>
 </xsl:template>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]