как проверить, является ли родитель текущего узла корневым узлом или нет в xslt?

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

Спасибо И С Уважением, П. САРАВАНАН

2 ответов


можно использовать not(ancestor::*).

Пример Использования:

  <xsl:template match="node()|@*">
    <xsl:if test="not(ancestor::*)">
      <xsl:message>The root element is "<xsl:value-of select="name()"/>".</xsl:message>
    </xsl:if>
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>

в XPath 1.0 (в XSLT 1.0):

not(parent::*)

или вы можете использовать:

generate-id(..) = generate-id(/)

в XPath 2.0 (в XSLT 2.0):

.. is root()