У меня есть следующий xslt-файл:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- USDomesticCountryList - USE UPPERCASE LETTERS ONLY -->
<xsl:variable name="USDomesticCountryList">
<entry name="US"/>
<entry name="UK"/>
<entry name="EG"/>
</xsl:variable>
<!--// USDomesticCountryList -->
<xsl:template name="IsUSDomesticCountry">
<xsl:param name="countryParam"/>
<xsl:variable name="country" select="normalize-space($countryParam)"/>
<xsl:value-of select="normalize-space(document('')//xsl:variable[@name='USDomesticCountryList']/entry[@name=$country]/@name)"/>
</xsl:template>
</xsl:stylesheet>
Мне нужно заменить функцию «document ('')» xpath, что мне вместо этого использовать?
Я пытался удалить его полностью, но документ xsl у меня не работает!
Мне нужно так, потому что проблема:
Я использую некоторый документ XSLT, который использует вышеуказанный файл, например, документ a .
Итак, у меня есть документ a , который включает в себя вышеуказанный файл (документ b ).
Я использую doc a из кода Java, я делаю Caching for doc a в качестве объекта javax.xml.transform.Templates, чтобы предотвратить многократное чтение файла xsl на каждый запрос на преобразование.
Я обнаружил, что документ b повторно вызывает себя с жесткого диска, я полагаю, что это из-за функции document ('') выше, поэтому я хочу заменить / удалить его.
Спасибо.