Я просмотрел много примеров здесь, на SO, но я не смог найти именно то, что искал. Существует множество примеров для соответствия элементу, имеющему определенный родительский элемент. Тем не менее, я не хочу сопоставлять определенного родителя, я просто хочу знать, имеет ли он родителя вообще.XSLT: проверьте, имеет ли элемент XML родительский элемент в xpath
Так что для XML здесь:
<foo>
<bar/>
</foo>
<bar/>
со следующим XSLT:
<xsl:template match="bar">
<xsl:choose>
<xsl:when test="[test here]">
..do something..
</xsl:when>
</xsl:choose>
</xsl:template>
как я просто проверить, если <bar>
элемент имеет родителя или не имеет ни одного?
Спасибо!
Стандартный формат XPath будет выбором для 'ancestor :: *', который вы можете легко найти, если вы посмотрите на учебники XSLT/XPath, касающиеся родителей и предков. Я предполагаю, что вы впервые задумались об этом, и никто из них не работал, так что: что вы пробовали, что не работает? –
Возможно, я не понимаю ваш вопрос, но, за исключением корня, не все ли элементы имеют родителя? –
Все элементы имеют родительский элемент, кроме корня. Ваш образец XML недействителен, так как он имеет два корня: 'foo' и' bar'. Это не допускается в хорошо сформированном XML. –