OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Custom Localization Support Broken?


Hi,

recently, I've observed some strange behavior for my localization
customization. Maybe I didn't see my error as I've looked at it too
long. ;) Or it has something to do with the localization optimization
in revisions 8719, 8722, 8752, and 8760.

Ok, I've tried to strip it down to a small test case. Let's begin with
this small XML file (note the empty keycaps):

-------------------[ test.xml ]-------------------
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
                         "http://www.docbook.org/xml/4.5/docbookx.dtd";>
<article lang="en">
  <title>Keycap Testcase</title>
  <para>This is a <keycap function="escape"/> key.</para>
  <para>This is a <keycap function="alt"/> key.</para>
</article>
--------------------------------------------------

What I was trying is to use the @function attribute and create a
localized string. In the above case, it should return "ESC" and "Alt"
for the two keycaps.

For this reason, I've created a language mapping in the l:i18n/l:l10n
elements with the context "keycap". The idea was to extract the
respective entry from the table through the gentext.template function.

Here is my customization layer:

-------------------[ mydb.xsl ]-------------------
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0";
  exclude-result-prefixes="l">
  
  <xsl:import
  href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>

  <xsl:param name="local.l10n.xml" select="document('')"/>
  <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0";>
    <l:l10n language="en" english-language-name="English">
      <l:context name="keycap">
        <l:template name="alt" text="Alt"/>
        <l:template name="backspace" text="&lt;&#x2014;"/><!-- mdash -->
        <!-- <l:template name="command" text="???"/> -->
        <l:template name="control" text="Ctrl"/>
        <l:template name="delete" text="Del"/>
        <l:template name="down" text="&#x02193;"/><!-- darr -->
        <l:template name="end" text="End"/>
        <l:template name="enter" text="Enter"/>
        <l:template name="escape" text="Esc"/>
        <l:template name="home" text="Home"/>
        <l:template name="insert" text="Ins"/>
        <l:template name="left" text="&#x02190;"/><!-- larr -->
        <l:template name="meta" text="Meta"/>
        <!-- <l:template name="option" text="???"/> -->
        <l:template name="other" text="???"/>
        <l:template name="pagedown" text="Page &#x02193;"/>
        <l:template name="pageup" text="Page &#x02191;"/>
        <l:template name="right" text="&#x02192;"/><!-- rarr -->
        <l:template name="shift" text="Shift"/>
        <l:template name="space" text="Space"/>
        <l:template name="tab" text="&#x02192;|"/>
        <l:template name="up" text="&#x02191;"/><!-- uarr -->
      </l:context>
    </l:l10n>
  </l:i18n>
  
  <xsl:template match="keycap">
   <xsl:message>
     <xsl:text>keycap: @function=</xsl:text>
     <xsl:value-of select="@function"/>
     <xsl:text> [</xsl:text>
     <xsl:call-template name="gentext.template">
        <xsl:with-param name="context" select="local-name()"/>
        <xsl:with-param name="name" select="@function"/>
     </xsl:call-template>
     <xsl:text>]</xsl:text>
   </xsl:message>
   <!-- Rest omitted as we are only interested in the above output
        ATM
     -->
 </xsl:template>
</xsl:stylesheet>
--------------------------------------------------

After I've transforming the above XML to XHTML, I'm getting this output:

$ xsltproc --output test.html mydb.xsl test.xml 
keycap: @function=escape []
keycap: @function=alt []

Another point to mention:
The above keycap context is not available in the original en.xml file.
The interesting thing is, if I include the context in the original file,
my customization works too.


Thanks! :-)

-- 
Gruß/Regards,
    Thomas Schraitle


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]