Hi,
A different approach is required here. A param such as $local.l10n.xml can
have only one value, and there is no provision in XSLT to automatically
merge nodes from two import layers into a single param.
The stylesheets load the stock gentext into a param named $l10n.xml, and any
customization gets loaded into the param named $local.l10n.xml. When
gentext is needed, an xsl:choose statement first checks in $local.l10n.xml,
and if not found there, falls back to $l10n.xml. If you want three layers,
you would need a third param, and alter the xsl:choose to add another
xsl:when.
An alternative approach is to create two separate xml files that contain
your gentext customizations, such as gentext-common.xml and
gentext-special.xml (each has a root element of l:i18n). The common
stylesheet would use:
<xsl:param name="local.l10n.xml" select="document('gentext-common.xml')"/>
and the special stylesheet would use:
<xsl:param name="local.l10n.xml" select="document('gentext-special.xml')"/>
Each has to be complete, however, as this would not merge them. If you need
to merge them, then you would need to load each of them into different
variables (not named local.l10n.xml), and use an XSLT process to assemble
them into $local.l10n.xml using your merge logic.
Bob Stayton
Sagehill Enterprises
bobs@sagehill.net