Поместить данные элемента в элемент с помощью XSL - PullRequest
2 голосов
/ 06 января 2012

Я пытаюсь поместить данные из одного элемента в другой.Я сделал таблицу стилей XSL, которая выводит эти две строки.

<fordon pris="129900"><name>Honda</name><modellTyp>1</modellTyp></fordon>
<fordon pris="119000"><name>Nissan</name><modellTyp>2</modellTyp></fordon>

Но я хочу получить цифры (1 и 2) внутри моего modellTyp, чтобы выходные данные были <modellTyp1> и <modellTyp2>

Вот так выглядит мой XSL-файл для вывода результата, который у меня есть

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="ad">
<xsl:element name="fordon">
<xsl:attribute name="pris">
<xsl:copy-of select="price" />
</xsl:attribute>
<xsl:copy-of select="name"/>
<xsl:element name="modellTyp">
<xsl:value-of select="type" />
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 06 января 2012

@ lwburk ответ правильный, но есть даже более простое / короткое решение :

<xsl:element name="modellTyp{type}">     
  <xsl:value-of select="type"/> 
</xsl:element>
1 голос
/ 06 января 2012

Динамически создайте имя элемента с помощью фигурных скобок в шаблоне значений атрибутов :

<xsl:element name="{concat('modellTyp', type)}">
    <xsl:value-of select="type"/>
</xsl:element>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...