Скажи это мой XML:XSL запрос внутренний XML
<History>
<University>TSU</University>
<Payload>
<Attrib Order="0">OVERSEA</Attrib>
<Attrib Order="1">GRADE2</Attrib>
<Attrib Order="2"><Person><ID>TQR344</ID></Person></Attrib>
<Attrib Order="3">3566644</Attrib>
</Payload>
</History>
И я хочу, чтобы запросить внутренний XML внутри Order = 2 тега и читать идентификатор пользователя.
Я создал это до сих пор:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="no" />
<xsl:template match="/History">
<xsl:apply-templates select="/History" />
</xsl:template>
<xsl:template name="Person" match="//History">
<Event>
<Uni><xsl:value-of select="University" /></Uni>
<ID><xsl:value-of select="Payload/Attrib[@Order='2']/Person/ID" disable-output-escaping="yes" /></ID>
</Event>
</xsl:template>
</xsl:stylesheet>
Но как вы можете видеть, что это не работает.
Также я назначил внутренний XML в переменную и пытался запросить эту переменную, и она тоже не работала.
Можно ли это сделать через xsl?
Ограничения: я не могу изменить формат xml. Но, возможно, мне удалось перейти от xsl ver 1 к новым версиям.
Спасибо, Майкл. Хорошая идея. Я рассматриваю это как строку. Не могли бы вы дать мне подсказку, как загрузить этот внутренний текст в виде XML и запросить его в XSLT 3.0? –
@ S.C. См. Демонстрацию здесь: http://xsltransform.net/bdxtqi –