Передача Xpath в XSLT - PullRequest
       5

Передача Xpath в XSLT

0 голосов
/ 03 июня 2011

Я пытаюсь вставить элементы XML в файл XML с помощью XSLT.У меня есть два файла, входной файл, который содержит xpaths (например: / root / element) и в зависимости от входного xpath я вставляю элемент в выходной файл, например, если значение элемента input равно / root / element, тогда я должен вставитьnew_element в этот пункт назначения, поэтому выходные данные будут

<root>
  <new_element id="1">some content</new_element>
  <element>some content</element>
</root>

Я заполняю переменную вводом xpath, а затем использую переменную, но я получаю сообщение об ошибке "параметры и переменные не могут использоваться в шаблонахВот часть, где я использую переменную:

<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>

Я очень плохо знаком с XSLT, поэтому не уверен, что делаю неправильно, или моя логика не подходит.

Буду признателен за вашу помощь :)

Спасибо

1 Ответ

0 голосов
/ 03 июня 2011

В XSLT 1.0 переменные нельзя использовать в шаблонах совпадений . Шаблоны совпадений - это выражения, которые вы поставляете для <xsl:template match="...">. Вы должны использовать литералы в этих случаях. Учтите, что шаблоны компилируются перед выполнением, поэтому наличие переменной в скомпилированном выражении может ухудшить его производительность.

Если вы новичок в XSLT и заинтересованы в его изучении, в сети есть пара хороших ресурсов (начните с на веб-сайте Джени Теннисон , а также в печатном виде.

...