Как определить, используя xsl, существует ли узел в моем xml? - PullRequest
1 голос
/ 16 мая 2011

У меня есть этот xml

<game>
 <genre>
  <action>...</action>
  <racing>...</racing>
 <price>
..
..
 </price>
</genre>
</game>

Я хочу проверить, присутствует ли ценовой узел в xml, используя xslКак мне это сделать?если цена узел присутствует, тогда вызовите определенный template, иначе вызовите другой template

1 Ответ

2 голосов
/ 16 мая 2011

Вы можете просто вызвать xsl:apply-templates с атрибутом match, установленным на имя элемента.Если элемент существует, шаблон называется.Если он не существует, шаблон не будет вызываться.Если вы пытаетесь построить оператор if-else, вы можете проверить существование следующим образом:

<xsl:choose>
    <xsl:when test="boolean(price)">
        <!-- do something -->
    </xsl:when>
    <xsl:otherwise>
        <!-- do something else -->
    </xsl:otherwise>
</xsl:choose>

Таким образом, вы можете проверить наличие элемента и соответственно отреагировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...