xsl: значение решения от элемента к атрибуту - PullRequest
0 голосов
/ 16 декабря 2009

Я хочу использовать XSL для преобразования XML в другой XML

Входной xml содержит следующий элемент

<ViewSideIndicator>0</ViewSideIndicator>

, которые необходимо преобразовать в следующие

<ImageViewDetail ViewSideIndicator="Front"/>

во входном файле, если значение равно "0", то оно должно быть "Front" в выходных данных и если значение равно «1», то оно должно быть «Назад» в выводе

Я знаю, что мы можем использовать <xsl:choose>, чтобы сделать значение на основе решения, но я не уверен, как это сделать для этого случая.

Ответы [ 2 ]

1 голос
/ 16 декабря 2009

В шаблоне (при условии, что текущий исходный контекст является элементом ViewSideIndicator):

<ImageViewDetail>
    <xsl:attribute name="ViewSideIndicator">
        <xsl:choose>
            <xsl:when test="text()='0'">Front</xsl:when>
            <xsl:when test="text()='1'">Back</xsl:when>
        </xsl:choose>
    </xsl:attribute>
</ImageViewDetail>
0 голосов
/ 16 декабря 2009

Вы имеете в виду что-то вроде этого (или его версию в качестве шаблона)?

<ImageViewDetail>
    <xsl:choose>
        <xsl:when test="ViewSideIndicator=0">
            <xsl:attribute name="ViewSideIndicator">Front Gray</xsl:attribute>
        </xsl:when>
        <xsl:otherwise>
            <xsl:attribute name="ViewSideIndicator">Back Gray</xsl:attribute>
        </xsl:otherwise>
    </xsl:choose>
</ImageViewDetail>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...