Uploaded image for project: 'XalanJ2'
  1. XalanJ2
  2. XALANJ-1928

XSLTC fails to access auxilliary (non-main) xml file.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Reopened
    • Major
    • Resolution: Unresolved
    • 2.7.1
    • None
    • XSLTC
    • Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects. Anybody can view the issue.)
    • None
    • Operating System: Other
      Platform: Other

    Description

      In our project we need to access non-main XML file in order to retrieve
      localized strings that will later appear in resulting HTMLs. If we use XSLTC
      as our processor it is impossible.

      Example. The same example works fine in interpretive Xalan. But fails on Xalan-
      XSLTC.

      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
      xmlns:xalan="http://xml.apache.org/xalan">

      <xsl:output method="html"/>

      <xsl:variable name="stringTable" select="document('foo.xml')"/>

      <!-- Look up the parameter key in the localized string table (loaded in
      the variable stringTable
      based on the passed in parameter stringTableFileName). If the key
      cannot be found then the
      returned string will be !<key>!.

      Parameters:
      key - the look up key matched to the key attribute of string elements
      in the lookup table
      -->

      <!-- Perhaps not the fastest approach but it is compatible with both XSLTC
      and interpretive Xalan -->
      <xsl:template name="getLocalizedString">
      <xsl:param name="key"/>
      <xsl:value-of select="$key"/>
      <xsl:variable name="lookupString" select="$stringTable/strings/string
      [@key=$key]"/>
      <xsl:choose>
      <xsl:when test="$lookupString != ''">
      <xsl:value-of select="$lookupString"/>
      </xsl:when>
      <xsl:otherwise>
      <xsl:element name="a">
      <xsl:attribute name="name">MISSING_L10N_KEY</xsl:attribute>
      <xsl:text>!!</xsl:text>
      <xsl:value-of select="$key"/>
      <xsl:text>!!</xsl:text>
      </xsl:element>
      </xsl:otherwise>
      </xsl:choose>
      </xsl:template>
      </xsl:stylesheet>

      Example of XML file

      <?xml version="1.0" encoding="UTF-8" ?>
      <strings>
      <string key="Description.Foo">Here goes description of foo</string>
      </strings>

      Attachments

        1. test.zip
          1 kB
          David Green

        Activity

          People

            Unassigned Unassigned
            bdubausk@us.ibm.com Barys Dubauski
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: