xslt: встроить XML и получить к нему доступ - PullRequest
0 голосов
/ 26 сентября 2018

Допустим, у меня есть этот XML-файл:

<ErrorCodes>
<ErrorCode = "1" value = "ABC"/>
<ErrorCode = "2" value = "DEF"/>
</ErrorCodes>

Могу ли я добавить это как переменную в мой XSLT-файл?(Я не могу сохранить только XML как файл и ссылаться на него в моем XSLT).XML должен быть встроен в мой файл XSLT.

Можно ли использовать XPATH для доступа к моему XML-файлу ErrorCodes и назначить мою переменную XSLT на основе ErrorCode, который я получаю в качестве входных данных?

1 Ответ

0 голосов
/ 26 сентября 2018

Ответ «Да, вы можете»

Вы можете определить свою переменную следующим образом (здесь действительно нет необходимости для родителя ErrorCodes)

<xsl:variable name="errorCodes">
    <ErrorCode code="1" value="ABC"/>
    <ErrorCode code="2" value="DEF"/>
</xsl:variable>

Тогда выможет получить к нему доступ таким образомиспользуя xsl:key.Например ...

<xsl:key name="errorCodes" match="ErrorCode" use="@code" />

<xsl:variable name="errorCodes">
  <ErrorCode code="1" value="ABC"/>
  <ErrorCode code="2" value="DEF"/>
</xsl:variable>

<xsl:template match="/">
  <xsl:value-of select="key('errorCodes', '2', $errorCodes)/@value" />
</xsl:template>
...