Распечатывание значения переменной XSL

Может быть, это очевидно, но HDFS - это то, что большинство проектов с большими данными используют под капотом, и как часть Hadoop это открытый исходный код.

http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html

17
задан Lee Theobald 2 April 2009 в 12:57
поделиться

4 ответа

Все ответы пропускают что-то важное: чтение далее:

Кто-то может сказать мне, как распечатать переменную в моем XSL, преобразовывают? Походит на достаточно легкую вещь сделать, но я просто, может казаться, не делаю это.

В XSLT 1.0 существует два основных способа произвести содержание <xsl:variable>В зависимости от того, содержит ли это скалярную величину (строка, число или булевская переменная), или имеет структурированное значение - набор узлов (один или несколько узлов из xml документа (документов)):

  1. <xsl:value-of select="$yourscalarVariableName"/> Используйте это для создания скалярной величины. На самом деле производит текстовый узел, содержа эту скалярную величину.

  2. <xsl:copy-of select="$yourStructuredVariableName"/> Используйте это для создания копии всех узлов, содержавшихся в переменной.

Очень важно знать это если xsl:variable содержит список узлов и <xsl:value-of ...> инструкция используется, только строковое значение первого узла будет произведено. Это - часто совершаемая ошибка и FAQ.

Существует третий путь: если <xsl:variable> должен использоваться в создании атрибута:

  <someLiteralResultElement someAttribute="{$theVariable}"/>

Выражение XPath в фигурных скобках (названный AVT - шаблон значения атрибута) оценено, и результат помещается в значение атрибута.

В XSLT 2.0, <xsl:value-of .../> инструкция, когда выполнено не в режиме эмуляции, производит список текстовых узлов - один для каждого узла, содержавшегося в xsl:variable. Когда выполнено в режиме эмуляции (имеет атрибут version="1.0" указанный), <xsl:value-of> инструкция ведет себя таким же образом, как она делает в XSLT 1.0.

В Xslt 2.0 <xsl:copy-of> ведет себя таким же образом как в XSLT 1.0. Однако рекомендуется использовать новое <xsl:sequence> инструкция, потому что первый производит новую копию каждого узла, в то время как <xsl:sequence> не производит новые копии узлов.

32
ответ дан 30 November 2019 в 10:46
поделиться

Попробуйте это:

<xsl:value-of select="$xmlElem"/>
10
ответ дан 30 November 2019 в 10:46
поделиться

Можно использовать:

<xsl:value-of select="$xmlElem" />
4
ответ дан 30 November 2019 в 10:46
поделиться

{$xmlElem} синтаксис только работает в атрибуте. Вам нужно:

<xsl:value-of select="$xslElem" />
3
ответ дан 30 November 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: