Я уже просмотрел некоторые другие посты, касающиеся вложенных выборок, и не верю, что они касаются моего варианта использования. По сути, я пытаюсь создать учетную запись пользователя в другой системе через веб-сервис, и мне нужно передать идентификатор входа, который исходит из поля в моем xml, которое может быть практически любым, например, идентификатор сотрудника, адрес электронной почты, UUID и т. Д. Поле для использования будет получено из значения конфигурации, которое входит в генерацию XML. Для простоты я сократил свои xml и xslt, поэтому, пожалуйста, не предлагайте мне использовать оператор выбора или if, так как мне нужно оставить возможные поля xml для выбора широко открытыми.
Пример XML:
<root>
<General>
<Name Prefix="MR" First="Mickey" Middle="M" Last="Mouse" Suffix="I" Title="BA" Gender="M" BirthMonth="02" BirthDay="26" BirthYear="1984"/>
<Email Work="test9999@acme.com" Home="Homeemail@gmail.com"/>
<EmployeeId>9948228</EmployeeId>
</General>
<ConfigProperties>
<LoginID>root/General/EmployeeId</LoginID>
</ConfigProperties>
</root>
XSL Образец:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes" />
<xsl:template match="/">
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:variable name="xxLI" select="root/ConfigProperties/LoginID" />
<xsl:attribute name="LoginId"><xsl:value-of select="$xxLI"/></xsl:attribute>
</Response>
</xsl:template>
</xsl:stylesheet>
Преобразованный XML:
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
LoginId="root/General/EmployeeId"/>
То, что я действительно надеюсь вернуть, это что-то вроде:
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
LoginId="9948228"/>
Я в тупике. Есть мысли?