[yelp-xsl] mal2html-media: Support xml:space on TTML



commit ba764543cd6e44e6a8fa2778814b0993a9a2993b
Author: Shaun McCance <shaunm gnome org>
Date:   Wed Feb 29 18:25:14 2012 -0500

    mal2html-media: Support xml:space on TTML

 xslt/common/html.xsl                 |    2 +
 xslt/mallard/html/mal2html-media.xsl |   57 +++++++++++++++++++++++++++++++--
 2 files changed, 55 insertions(+), 4 deletions(-)
---
diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl
index bca04c9..3f3d847 100644
--- a/xslt/common/html.xsl
+++ b/xslt/common/html.xsl
@@ -1228,6 +1228,8 @@ span.media-current {
   line-height: 20px;
 }
 div.media-ttml { margin: 0; padding: 0; }
+.media-ttml-pre { white-space: pre; }
+.media-ttml-nopre { white-space: normal; }
 div.media-ttml-div {
   text-align: </xsl:text><xsl:value-of select="$left"/><xsl:text>;
   display: none;
diff --git a/xslt/mallard/html/mal2html-media.xsl b/xslt/mallard/html/mal2html-media.xsl
index fe9ccfe..ff412d5 100644
--- a/xslt/mallard/html/mal2html-media.xsl
+++ b/xslt/mallard/html/mal2html-media.xsl
@@ -157,7 +157,28 @@ FIXME
 </xsl:template>
 
 <xsl:template mode="mal2html.ttml.mode" match="tt:body">
-  <div class="media-ttml">
+  <div>
+    <xsl:attribute name="class">
+      <xsl:text>media-ttml</xsl:text>
+      <xsl:choose>
+        <xsl:when test="@xml:space">
+          <xsl:if test="@xml:space='preserve'">
+            <xsl:text> media-ttml-pre</xsl:text>
+          </xsl:if>
+          <xsl:if test="@xml:space='default'">
+            <xsl:text> media-ttml-nopre</xsl:text>
+          </xsl:if>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:if test="../@xml:space='preserve'">
+            <xsl:text> media-ttml-pre</xsl:text>
+          </xsl:if>
+          <xsl:if test="../@xml:space='default'">
+            <xsl:text> media-ttml-nopre</xsl:text>
+          </xsl:if>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
     <xsl:call-template name="html.lang.attrs">
       <xsl:with-param name="parent" select="../self::tt:tt"/>
     </xsl:call-template>
@@ -176,8 +197,18 @@ FIXME
       <xsl:with-param name="range" select="$range"/>
     </xsl:call-template>
   </xsl:variable>
-  <div class="media-ttml-node media-ttml-div">
+  <div>
+    <xsl:attribute name="class">
+      <xsl:text>media-ttml-node media-ttml-div</xsl:text>
+      <xsl:if test="@xml:space='preserve'">
+        <xsl:text> media-ttml-pre</xsl:text>
+      </xsl:if>
+      <xsl:if test="@xml:space='default'">
+        <xsl:text> media-ttml-nopre</xsl:text>
+      </xsl:if>
+    </xsl:attribute>
     <xsl:call-template name="html.lang.attrs"/>
+    <xsl:copy-of select="@xml:space"/>
     <xsl:attribute name="data-ttml-begin">
       <xsl:value-of select="substring-before($beginend, ',')"/>
     </xsl:attribute>
@@ -213,7 +244,16 @@ FIXME
       <xsl:with-param name="range" select="$range"/>
     </xsl:call-template>
   </xsl:variable>
-  <div class="media-ttml-node media-ttml-p">
+  <div>
+    <xsl:attribute name="class">
+      <xsl:text>media-ttml-node media-ttml-p</xsl:text>
+      <xsl:if test="@xml:space='preserve'">
+        <xsl:text> media-ttml-pre</xsl:text>
+      </xsl:if>
+      <xsl:if test="@xml:space='default'">
+        <xsl:text> media-ttml-nopre</xsl:text>
+      </xsl:if>
+    </xsl:attribute>
     <xsl:call-template name="html.lang.attrs"/>
     <xsl:attribute name="data-ttml-begin">
       <xsl:value-of select="substring-before($beginend, ',')"/>
@@ -237,7 +277,16 @@ FIXME
       <xsl:with-param name="range" select="$range"/>
     </xsl:call-template>
   </xsl:variable>
-  <span class="media-ttml-node media-ttml-span">
+  <span>
+    <xsl:attribute name="class">
+      <xsl:text>media-ttml-node media-ttml-span</xsl:text>
+      <xsl:if test="@xml:space='preserve'">
+        <xsl:text> media-ttml-pre</xsl:text>
+      </xsl:if>
+      <xsl:if test="@xml:space='default'">
+        <xsl:text> media-ttml-nopre</xsl:text>
+      </xsl:if>
+    </xsl:attribute>
     <xsl:call-template name="html.lang.attrs"/>
     <xsl:attribute name="data-ttml-begin">
       <xsl:value-of select="substring-before($beginend, ',')"/>



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