Для функции печати этикеток я пытаюсь понять, как я могу использовать XSLT и значение выбора для получения значений из неструктурированного вывода XML.
См. Пример ниже, где теги I3 и I4 связаны, если число «occ» (происшествие) одинаково между двумя тегами.
Тег I4 описывает тип значения, а I3 - фактическое значение.
Например: «I3» occ = «1»> 123 относится к «I4» occ = «1» другой номер.
пример:
<field tag="I3" occ="1">123</field>
<field tag="I4" occ="1" lang="sv-SE" invariant="true">other number</field>
<field tag="I3" occ="2">324</field>
<field tag="I4" occ="2" lang="sv-SE" invariant="true">find number</field>
<field tag="I3" occ="3">1203</field>
<field tag="I4" occ="3" lang="sv-SE" invariant="true">FID</field>
<field tag="I3" occ="4">321-35-2000</field>
<field tag="I4" occ="4" lang="sv-SE" invariant="true">archive number</field>
Есть ли способ с XSLT 1.0, чтобы сделать этот тип операции выбора? Мои знания ограничены тем, как я мог бы выбрать, например, тег I3 с occ = 3, например:
<xsl:value-of select="field[@tag='I3' and @occ='4']" /></xsl:text>
но данные, из которых я выбираю значения, не будут одинаковыми каждый раз (встречаемость или тип-тег не всегда будут иметь одинаковый порядок, а иногда одного или нескольких типов не будет).
Есть предложения? Спасибо за любой вклад!
Вывод, который я хочу, выглядит примерно так:
<data>other number: 123</data>
<data>find number: 324</data>
<data>FID: 1203</data>
<data>archive number: 321-35-2000</data>
Обновлен вывод - я понял, что мне нужен каждый тег I4 в качестве имени элемента, в противном случае служба печати не может использовать строки в качестве источника для вывода на печать.
<?xml version="1.0" encoding="UTF-8"?>
<output>
<variable name="other number">123</variable>
<variable name="find number">324</variable>
<variable name="FID">1203</variable>
<variable name="archive number">321-35-2000</variable>
</output>