[yelp-xsl] Updates to Mallard block processing and HTML lang and dir attributes



commit 34689918125afd3799d43baddf31eec482b4023f
Author: Shaun McCance <shaunm gnome org>
Date:   Thu Jun 3 18:34:35 2010 -0500

    Updates to Mallard block processing and HTML lang and dir attributes

 xslt/common/html.xsl                       |   66 +++++++++++++++-
 xslt/docbook/common/db-title.xsl           |    3 +-
 xslt/docbook/html/db2html-bibliography.xsl |    2 +-
 xslt/docbook/html/db2html-block.xsl        |    2 +-
 xslt/docbook/html/db2html-index.xsl        |    4 +-
 xslt/docbook/html/db2html-inline.xsl       |    2 +-
 xslt/docbook/html/db2html-l10n.xsl         |    2 +-
 xslt/gettext/gettext.xsl                   |    2 +-
 xslt/gettext/l10n-numbers.xsl              |    3 +-
 xslt/gettext/l10n.xml.in                   |   97 +++++++++++++++++++++-
 xslt/mallard/html/mal2html-block.xsl       |  124 ++++++++++++++++++++--------
 xslt/mallard/html/mal2html-page.xsl        |    4 +-
 12 files changed, 262 insertions(+), 49 deletions(-)
---
diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl
index 00bcf3a..7324801 100644
--- a/xslt/common/html.xsl
+++ b/xslt/common/html.xsl
@@ -20,8 +20,9 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
                 xmlns:html="http://www.w3.org/1999/xhtml";
                 xmlns:exsl="http://exslt.org/common";
                 xmlns:set="http://exslt.org/sets";
+                xmlns:its="http://www.w3.org/2005/11/its";
                 xmlns="http://www.w3.org/1999/xhtml";
-                exclude-result-prefixes="html set"
+                exclude-result-prefixes="html set its"
                 extension-element-prefixes="exsl"
                 version="1.0">
 
@@ -813,4 +814,67 @@ template to provide additional CSS that will be used by all HTML output.
   </xsl:param>
 </xsl:template>
 
+<!--**==========================================================================
+html.lang.attrs
+Output #{lang} and #{dir} attributes.
+:Revision: version="1.0" date="2010-06-10" status="final"
+$node: The current element in the input document.
+$lang: The language for ${node}.
+$dir: The text directionality for ${node}.
+
+This template outputs #{lang}, #{xml:lang}, or #{dir} attributes if necessary.
+If ${lang} is not set, it will be taken from the #{xml:lang} or #{lang}
+attribute of ${node}. If ${dir} is not set, it will be taken from the #{its:dir}
+attribute of ${node} or computed based on ${lang}.
+
+This template outputs either an #{xml:lang} or a #{lang} attribute, depending
+on whether @{html.xhtml} is #{true}. It only outputs an #{xml:lang} or #{lang}
+attribute if $lang is non-empty. This template also outputs a #{dir} attribute
+if ${dir} is non-empty.
+-->
+<xsl:template name="html.lang.attrs">
+  <xsl:param name="node" select="."/>
+  <xsl:param name="lang">
+    <xsl:choose>
+      <xsl:when test="$node/@xml:lang">
+        <xsl:value-of select="$node/@xml:lang"/>
+      </xsl:when>
+      <xsl:when test="$node/@lang">
+        <xsl:value-of select="$node/@lang"/>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:param>
+  <xsl:param name="dir">
+    <xsl:choose>
+      <xsl:when test="$node/@its:dir">
+        <xsl:value-of select="$node/@its:dir"/>
+      </xsl:when>
+      <xsl:when test="string($lang) != ''">
+        <xsl:call-template name="l10n.direction">
+          <xsl:with-param name="lang" select="$lang"/>
+        </xsl:call-template>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:param>
+  <xsl:if test="string($lang) != ''">
+    <xsl:choose>
+      <xsl:when test="$html.xhtml">
+        <xsl:attribute name="xml:lang">
+          <xsl:value-of select="$lang"/>
+        </xsl:attribute>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:attribute name="lang">
+          <xsl:value-of select="$lang"/>
+        </xsl:attribute>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:if>
+  <xsl:if test="string($dir) != ''">
+    <xsl:attribute name="dir">
+      <xsl:value-of select="$dir"/>
+    </xsl:attribute>
+  </xsl:if>
+</xsl:template>
+
 </xsl:stylesheet>
diff --git a/xslt/docbook/common/db-title.xsl b/xslt/docbook/common/db-title.xsl
index 9862a84..951c839 100644
--- a/xslt/docbook/common/db-title.xsl
+++ b/xslt/docbook/common/db-title.xsl
@@ -17,8 +17,9 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
-                xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";
                 xmlns:db="http://docbook.org/ns/docbook";
+								xmlns:msg="http://projects.gnome.org/yelp/gettext/";
+                exclude-result-prefixes="db msg"
                 version="1.0">
 
 <!--!!==========================================================================
diff --git a/xslt/docbook/html/db2html-bibliography.xsl b/xslt/docbook/html/db2html-bibliography.xsl
index 5c2fef4..6d29755 100644
--- a/xslt/docbook/html/db2html-bibliography.xsl
+++ b/xslt/docbook/html/db2html-bibliography.xsl
@@ -17,7 +17,7 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
-                xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";
+								xmlns:msg="http://projects.gnome.org/yelp/gettext/";
                 xmlns:set="http://exslt.org/sets";
                 xmlns:db="http://docbook.org/ns/docbook";
                 xmlns="http://www.w3.org/1999/xhtml";
diff --git a/xslt/docbook/html/db2html-block.xsl b/xslt/docbook/html/db2html-block.xsl
index 0b17098..af317af 100644
--- a/xslt/docbook/html/db2html-block.xsl
+++ b/xslt/docbook/html/db2html-block.xsl
@@ -18,7 +18,7 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                 xmlns:set="http://exslt.org/sets";
-								xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";
+								xmlns:msg="http://projects.gnome.org/yelp/gettext/";
 								xmlns:db="http://docbook.org/ns/docbook";
                 xmlns="http://www.w3.org/1999/xhtml";
                 exclude-result-prefixes="db msg set"
diff --git a/xslt/docbook/html/db2html-index.xsl b/xslt/docbook/html/db2html-index.xsl
index 407c32e..52c5202 100644
--- a/xslt/docbook/html/db2html-index.xsl
+++ b/xslt/docbook/html/db2html-index.xsl
@@ -17,9 +17,9 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
-                xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";
-                xmlns:set="http://exslt.org/sets";
                 xmlns:db="http://docbook.org/ns/docbook";
+								xmlns:msg="http://projects.gnome.org/yelp/gettext/";
+                xmlns:set="http://exslt.org/sets";
                 xmlns="http://www.w3.org/1999/xhtml";
                 exclude-result-prefixes="db msg set"
                 version="1.0">
diff --git a/xslt/docbook/html/db2html-inline.xsl b/xslt/docbook/html/db2html-inline.xsl
index 3175f5e..eba0c69 100644
--- a/xslt/docbook/html/db2html-inline.xsl
+++ b/xslt/docbook/html/db2html-inline.xsl
@@ -17,7 +17,7 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
-                xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";
+                xmlns:msg="http://projects.gnome.org/yelp/gettext/";
                 xmlns:xl="http://www.w3.org/1999/xlink";
                 xmlns:db="http://docbook.org/ns/docbook";
                 xmlns="http://www.w3.org/1999/xhtml";
diff --git a/xslt/docbook/html/db2html-l10n.xsl b/xslt/docbook/html/db2html-l10n.xsl
index 91b062b..d926173 100644
--- a/xslt/docbook/html/db2html-l10n.xsl
+++ b/xslt/docbook/html/db2html-l10n.xsl
@@ -17,7 +17,7 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
-                xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";
+                xmlns:msg="http://projects.gnome.org/yelp/gettext/";
                 xmlns="http://www.w3.org/1999/xhtml";
                 exclude-result-prefixes="msg"
                 version="1.0">
diff --git a/xslt/gettext/gettext.xsl b/xslt/gettext/gettext.xsl
index c4ba9a0..e4e48fb 100644
--- a/xslt/gettext/gettext.xsl
+++ b/xslt/gettext/gettext.xsl
@@ -17,7 +17,7 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
-                xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";
+                xmlns:msg="http://projects.gnome.org/yelp/gettext/";
                 version="1.0">
 
 <!--!!==========================================================================
diff --git a/xslt/gettext/l10n-numbers.xsl b/xslt/gettext/l10n-numbers.xsl
index 6120d8d..1905a7d 100644
--- a/xslt/gettext/l10n-numbers.xsl
+++ b/xslt/gettext/l10n-numbers.xsl
@@ -17,8 +17,9 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
-                xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";
+                xmlns:msg="http://projects.gnome.org/yelp/gettext/";
                 xmlns:math="http://exslt.org/math";
+                exclude-result-prefixes="msg"
                 extension-element-prefixes="math"
                 version="1.0">
 
diff --git a/xslt/gettext/l10n.xml.in b/xslt/gettext/l10n.xml.in
index 2676a56..54e1dc5 100644
--- a/xslt/gettext/l10n.xml.in
+++ b/xslt/gettext/l10n.xml.in
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?><!-- -*- indent-tabs-mode: nil -*- -->
 
-<l10n xmlns="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n";>
+<l10n xmlns="http://projects.gnome.org/yelp/gettext/";>
 
 <!-- ======================================================================= -->
 <!-- == Simple Strings ===================================================== -->
@@ -375,6 +375,101 @@
   </_msg>
 </msgset>
 
+<!-- == mal:comment == -->
+<msgset>
+  <msgid>comment.cite.name-date.format</msgid>
+  <!--
+  This is a special format message.  Please read the full translator
+  documentation before translating this message.  The documentation
+  is maintained as part of the stylesheet documentation in DocBook.
+  For your convenience, it has also been converted to an HTML file
+  named STYLESHEETS.xml in the i18n directory.
+
+  comment - Editorial comments
+  cite    - The source of a comment
+  http://projectmallard.org/1.0/mal_block_comment.html
+  http://projectmallard.org/1.0/mal_block_cite.html
+
+  This is a format message used to format the citation of a comment
+  made by an editor of a document. This appears on a new line after
+  the title of the comment, if a title is present, or as the first
+  line if a title is not present.
+
+  This string is used when both the name and the date are supplied.
+  In English, a title together with this format string might produce
+  something like this:
+
+    Some Comment Title
+    from Shaun McCance on 2010-06-03
+
+    Here is the text of the comment.
+
+  If only a name is supplied, and no date, then comment.cite.name.format
+  is used instead of this string.
+
+  Special elements in the message will be replaced with the
+  appropriate content, as follows:
+
+  comment.name - The name of the person making the comment
+  comment.date - The date the comment was made
+
+  These should be written as empty XML elements, e.g. <comment.name/>
+
+  Additionally, format messages can use the i, b, and tt markup tags
+  to mark text as italic, bold, and monospace.
+  -->
+  <_msg>
+    <msgid>comment.cite.name-date.format</msgid>
+    <msgstr>from <comment.name/> on <comment.date/></msgstr>
+  </_msg>
+</msgset>
+<msgset>
+  <msgid>comment.cite.name.format</msgid>
+  <!--
+  This is a special format message.  Please read the full translator
+  documentation before translating this message.  The documentation
+  is maintained as part of the stylesheet documentation in DocBook.
+  For your convenience, it has also been converted to an HTML file
+  named STYLESHEETS.xml in the i18n directory.
+
+  comment - Editorial comments
+  cite    - The source of a comment
+  http://projectmallard.org/1.0/mal_block_comment.html
+  http://projectmallard.org/1.0/mal_block_cite.html
+
+  This is a format message used to format the citation of a comment
+  made by an editor of a document. This appears on a new line after
+  the title of the comment, if a title is present, or as the first
+  line if a title is not present.
+
+  This string is used when only the name of the commenter is supplied.
+  In English, a title together with this format string might produce
+  something like this:
+
+    Some Comment Title
+    from Shaun McCance
+
+    Here is the text of the comment.
+
+  If a date is also supplied, then comment.cite.name-date.format
+  is used instead of this string.
+
+  Special elements in the message will be replaced with the
+  appropriate content, as follows:
+
+  comment.name - The name of the person making the comment
+
+  These should be written as empty XML elements, e.g. <comment.name/>
+
+  Additionally, format messages can use the i, b, and tt markup tags
+  to mark text as italic, bold, and monospace.
+  -->
+  <_msg>
+    <msgid>comment.cite.name.format</msgid>
+    <msgstr>from <comment.name/></msgstr>
+  </_msg>
+</msgset>
+
 <!-- == bibliolabel == -->
 <msgset>
   <msgid>bibliolabel.format</msgid>
diff --git a/xslt/mallard/html/mal2html-block.xsl b/xslt/mallard/html/mal2html-block.xsl
index cf09eea..138feb9 100644
--- a/xslt/mallard/html/mal2html-block.xsl
+++ b/xslt/mallard/html/mal2html-block.xsl
@@ -18,27 +18,36 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                 xmlns:mal="http://projectmallard.org/1.0/";
+                xmlns:msg="http://projects.gnome.org/yelp/gettext/";
                 xmlns="http://www.w3.org/1999/xhtml";
-                exclude-result-prefixes="mal"
+                exclude-result-prefixes="mal msg"
                 version="1.0">
 
 <!--!!==========================================================================
-Mallard to HTML - Block Elements
+Mallard to HTML - Blocks
+Handle simple Mallard block elements.
+:Revision:version="1.0" date="2010-06-03" status="final"
 
-REMARK: Describe this module
+This stylesheet contains templates for handling most Mallard block elements,
+except the list and table elements.
 -->
 
-
 <!--**==========================================================================
 mal2html.pre
+Output an HTML #{pre} element.
+:Revision:version="1.0" date="2010-06-03" status="final"
+$node: The source element to output a #{pre} for.
 
-FIXME
+This template outputs an HTML #{pre} element along with a wrapper #{div} element
+for CSS styling. It should be called for verbatim block elements. It will
+automatically strip leading and trailing newlines using *{utils.strip_newlines}.
 -->
 <xsl:template name="mal2html.pre">
   <xsl:param name="node" select="."/>
   <xsl:variable name="first" select="$node/node()[1]/self::text()"/>
   <xsl:variable name="last" select="$node/node()[last()]/self::text()"/>
   <div>
+    <xsl:call-template name="html.lang.attrs"/>
     <xsl:attribute name="class">
       <xsl:value-of select="local-name($node)"/>
     </xsl:attribute>
@@ -64,18 +73,46 @@ FIXME
 </xsl:template>
 
 
-<!-- == Matched Templates == -->
-
 <!--%%==========================================================================
 mal2html.block.mode
-FIXME
+Process Mallard elements in block mode.
+:Revision:version="1.0" date="2010-06-03" status="final"
+$restricted: Whether this is restricted block mode.
+
+This mode is applied to elements in block context. It should be called by
+templates for pages, sections, and block container elements. Certain elements
+may appear in both block an inline mode, and the processing expectations for
+those elements is different depending on context.
+
+Implementations of this mode should generally output a wrapper div and process
+the child elements, either in %{mal2html.block.mode} or %{mal2html.inline.mode},
+or using special processing for particular content models.
 
-FIXME
+When this mode encounters unknown content, templates in the same mode are
+applied to the children, but the ${restricted} parameter is set to #{true}.
+When ${restricted} is #{true}, unknown block elements are ignored. This is
+in accordance with the Mallard specification on fallback block content.
 -->
+<xsl:template mode="mal2html.block.mode" match="*">
+  <xsl:param name="restricted" select="false()"/>
+  <xsl:if test="not($restricted)">
+    <xsl:message>
+      <xsl:text>Unmatched block element: </xsl:text>
+      <xsl:value-of select="local-name(.)"/>
+    </xsl:message>
+    <xsl:apply-templates mode="mal2html.block.mode">
+      <xsl:with-param name="restricted" select="true()"/>
+    </xsl:apply-templates>
+  </xsl:if>
+</xsl:template>
+
+<xsl:template mode="mal2html.block.mode" match="text()"/>
+
 
 <!-- = desc = -->
 <xsl:template mode="mal2html.block.mode" match="mal:desc">
-  <div class="desc desc-{local-name(..)}">
+  <div class="desc">
+    <xsl:call-template name="html.lang.attrs"/>
     <xsl:apply-templates mode="mal2html.inline.mode"/>
   </div>
 </xsl:template>
@@ -90,6 +127,7 @@ FIXME
   <xsl:if test="$mal2html.editor_mode
                 or processing-instruction('mal2html.show_comment')">
     <div class="comment">
+      <xsl:call-template name="html.lang.attrs"/>
       <div class="inner">
         <xsl:apply-templates mode="mal2html.block.mode" select="mal:title"/>
         <xsl:apply-templates mode="mal2html.block.mode" select="mal:cite"/>
@@ -106,28 +144,49 @@ FIXME
 <!-- = comment/cite = -->
 <xsl:template mode="mal2html.block.mode" match="mal:comment/mal:cite">
   <div class="cite cite-comment">
-    <!-- FIXME: i18n -->
-    <xsl:text>from </xsl:text>
+    <xsl:call-template name="html.lang.attrs"/>
     <xsl:choose>
-      <xsl:when test="@href">
-        <a href="{ href}">
-          <xsl:apply-templates mode="mal2html.inline.mode"/>
-        </a>
+      <xsl:when test="@date">
+        <xsl:call-template name="l10n.gettext">
+          <xsl:with-param name="msgid" select="'comment.cite.name-date.format'"/>
+          <xsl:with-param name="node" select="."/>
+          <xsl:with-param name="format" select="true()"/>
+        </xsl:call-template>
       </xsl:when>
       <xsl:otherwise>
-        <xsl:apply-templates mode="mal2html.inline.mode"/>
+        <xsl:call-template name="l10n.gettext">
+          <xsl:with-param name="msgid" select="'comment.cite.name.format'"/>
+          <xsl:with-param name="node" select="."/>
+          <xsl:with-param name="format" select="true()"/>
+        </xsl:call-template>
       </xsl:otherwise>
     </xsl:choose>
-    <xsl:if test="@date">
-      <xsl:text> on </xsl:text>
-      <xsl:value-of select="@date"/>
-    </xsl:if>
   </div>
 </xsl:template>
 
+<xsl:template mode="l10n.format.mode" match="msg:comment.name">
+  <xsl:param name="node"/>
+  <xsl:choose>
+    <xsl:when test="$node/@href">
+      <a href="{$node/@href}">
+        <xsl:apply-templates mode="mal2html.inline.mode" select="$node/node()"/>
+      </a>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:apply-templates mode="mal2html.inline.mode" select="$node/node()"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template mode="l10n.format.mode" match="msg:comment.date">
+  <xsl:param name="node"/>
+  <xsl:value-of select="$node/@date"/>
+</xsl:template>
+
 <!-- = example = -->
 <xsl:template mode="mal2html.block.mode" match="mal:example">
   <div class="example">
+    <xsl:call-template name="html.lang.attrs"/>
     <xsl:apply-templates mode="mal2html.block.mode"/>
   </div>
 </xsl:template>
@@ -135,6 +194,7 @@ FIXME
 <!-- = figure = -->
 <xsl:template mode="mal2html.block.mode" match="mal:figure">
   <div class="figure">
+    <xsl:call-template name="html.lang.attrs"/>
     <div class="inner">
       <xsl:apply-templates mode="mal2html.block.mode" select="mal:title"/>
       <div class="contents">
@@ -150,6 +210,7 @@ FIXME
 <!-- = listing = -->
 <xsl:template mode="mal2html.block.mode" match="mal:listing">
   <div class="listing">
+    <xsl:call-template name="html.lang.attrs"/>
     <div class="inner">
       <xsl:apply-templates mode="mal2html.block.mode" select="mal:title"/>
       <xsl:apply-templates mode="mal2html.block.mode" select="mal:desc"/>
@@ -184,6 +245,7 @@ FIXME
     </xsl:choose>
   </xsl:variable>
   <div>
+    <xsl:call-template name="html.lang.attrs"/>
     <xsl:attribute name="class">
       <xsl:text>note</xsl:text>
       <xsl:if test="normalize-space($notestyle) != ''">
@@ -205,6 +267,7 @@ FIXME
 <!-- = p = -->
 <xsl:template mode="mal2html.block.mode" match="mal:p">
   <p class="p">
+    <xsl:call-template name="html.lang.attrs"/>
     <xsl:apply-templates mode="mal2html.inline.mode"/>
   </p>
 </xsl:template>
@@ -212,6 +275,7 @@ FIXME
 <!-- = quote = -->
 <xsl:template mode="mal2html.block.mode" match="mal:quote">
   <div class="quote">
+    <xsl:call-template name="html.lang.attrs"/>
     <div class="inner">
       <xsl:apply-templates mode="mal2html.block.mode" select="mal:title"/>
       <blockquote class="contents">
@@ -227,6 +291,7 @@ FIXME
 <!-- = quote/cite = -->
 <xsl:template mode="mal2html.block.mode" match="mal:quote/mal:cite">
   <div class="cite cite-quote">
+    <xsl:call-template name="html.lang.attrs"/>
     <xsl:choose>
       <xsl:when test="@href">
         <a href="{ href}">
@@ -254,6 +319,7 @@ FIXME
 <!-- = synopsis = -->
 <xsl:template mode="mal2html.block.mode" match="mal:synopsis">
   <div class="synopsis">
+    <xsl:call-template name="html.lang.attrs"/>
     <div class="inner">
       <xsl:apply-templates mode="mal2html.block.mode" select="mal:title"/>
       <xsl:apply-templates mode="mal2html.block.mode" select="mal:desc"/>
@@ -269,23 +335,9 @@ FIXME
 <!-- = title = -->
 <xsl:template mode="mal2html.block.mode" match="mal:title">
   <div class="title title-{local-name(..)}">
+    <xsl:call-template name="html.lang.attrs"/>
     <xsl:apply-templates mode="mal2html.inline.mode"/>
   </div>
 </xsl:template>
 
-<xsl:template mode="mal2html.block.mode" match="text()"/>
-
-<xsl:template mode="mal2html.block.mode" match="*">
-  <xsl:param name="restricted" select="false()"/>
-  <xsl:if test="not($restricted)">
-    <xsl:message>
-      <xsl:text>Unmatched block element: </xsl:text>
-      <xsl:value-of select="local-name(.)"/>
-    </xsl:message>
-    <xsl:apply-templates mode="mal2html.block.mode">
-      <xsl:with-param name="restricted" select="true()"/>
-    </xsl:apply-templates>
-  </xsl:if>
-</xsl:template>
-
 </xsl:stylesheet>
diff --git a/xslt/mallard/html/mal2html-page.xsl b/xslt/mallard/html/mal2html-page.xsl
index dc3dbf1..a7ba1dd 100644
--- a/xslt/mallard/html/mal2html-page.xsl
+++ b/xslt/mallard/html/mal2html-page.xsl
@@ -556,7 +556,7 @@ REMARK: Describe this template
     <xsl:apply-templates mode="mal2html.title.mode" select="mal:title"/>
     <xsl:apply-templates mode="mal2html.title.mode" select="mal:subtitle"/>
   </div>
-  <div class="inner">
+  <div class="contents">
     <xsl:for-each
         select="*[not(self::mal:section or self::mal:title or self::mal:subtitle)]">
       <xsl:apply-templates mode="mal2html.block.mode" select="."/>
@@ -578,7 +578,7 @@ REMARK: Describe this template
       <xsl:apply-templates mode="mal2html.title.mode" select="mal:title"/>
       <xsl:apply-templates mode="mal2html.title.mode" select="mal:subtitle"/>
     </div>
-    <div class="inner">
+    <div class="contents">
       <xsl:for-each
           select="*[not(self::mal:section or self::mal:title or self::mal:subtitle)]">
         <xsl:apply-templates mode="mal2html.block.mode" select="."/>



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