You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2004/08/19 23:42:39 UTC
DO NOT REPLY [Bug 30766] New: -
XSLTC fails to access auxilliary (non-main) xml file.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=30766>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=30766
XSLTC fails to access auxilliary (non-main) xml file.
Summary: XSLTC fails to access auxilliary (non-main) xml file.
Product: XalanJ2
Version: 2.6
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: Other
Component: Xalan-Xsltc
AssignedTo: xalan-dev@xml.apache.org
ReportedBy: bdubausk@us.ibm.com
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>
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org