Как сохранить атрибут XML (со значением XML, прошедшим некоторый тест) в переменной XSL? - PullRequest
3 голосов
/ 16 января 2011

Имея следующий xml:

<countries>
  <country id="1">Andora</country>
  <country id="2">Bulgaria</country>
  <country id="3">Croatia</country>
  <country id="4">Danemark</country>
  <country id="5">Estonia</country>
</countries>

как я могу сохранить атрибут "@id" Андоры в переменной xsl:?Что-то вроде

<xsl:variable name="andora_id" select=???????>

, чтобы я мог использовать «$ andora_id» со значением «1» позже в остальной части моего xsl?

Ответы [ 2 ]

3 голосов
/ 17 января 2011

как мне сохранить атрибут "@id" Андора в xsl: переменная? Что-то как

<xsl:variable name="andora_id" select=???????>

чтобы я мог использовать "$ andora_id" со значением «1» позже в остальной части мой xsl?

На самом деле это вопрос XPath.

Используйте :

<xsl:variable name="andora_id" select="/*/country[.='Andora']/@id"/>

Это определяет xsl:variable с именем andora_id, значение которого является набором узлов всех атрибутов id любого элемента country, который является дочерним элементом верхнего элемента XML-документа и строковое значение которого равно 'Andora'.

2 голосов
/ 16 января 2011
<xsl:variable name="andora_id" 
              select="/countries/country[text() = 'Andora']/@id" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...