Ниже приведен XML, который я использую.Значение XSLT, не заселяющееся в состоянии
<employees>
<employee>
<empName>ABC</empName>
<desgination>SSE</desgination>
<age></age>
</employee>
<employee>
<empName>DEF</empName>
<desgination>VP</desgination>
<age></age>
</employee>
<employee>
<empName>GHI</empName>
<desgination>Lead</desgination>
<age></age>
</employee>
</employees>
и ниже XSL я использую.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:my="some.uri" version="1.0">
<my:EMPNames>
<entry key="ABC">true</entry>
<entry key="XYZ">true</entry>
<entry key="JHK">true</entry>
</my:EMPNames>
<xsl:template match="//employee[document('')/*/my:EMPNames/entry[@key = empName]]">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
Я не могу напечатать раздел сотрудника, чье имя embName является ABC. Я использую список пар ключ-значение. Если входящее xml empName имеет значение в списке, я хочу напечатать этот раздел сотрудника. Почему-то я не могу получить значение для //employee[document('')/*/my:EMPNames/entry[@key = empName]]
, можете ли вы сообщить мне, чего я здесь не вижу.
Он работал. Спасибо. –