0
я пытаюсь выбрать пункты с не курсивом в них (XSLT 2.0):выбор XSLT: если есть хотя бы один потомок без определенных критериев
<p>Some <hi rend="italic">italic text</hi></p>
<p>Some <hi rend="bold">bold text</hi> and some <hi rend="italic">italic Text</hi></p>
<p>Some <hi rend="bold">bold text</hi></p>
Я только хочу иметь р [3]. Я попробовал это, и это работает:
<xsl:template match="p">
<xsl:if test="p[not(child::hi[@rend='italic'])]"> ... do something </if>
</xsl:template>
Но моя реальная проблема заключается в переходе этого один уровень глубже: я хочу только те тексты с по крайней мере один абзац с наклонным текстом:
<text>
<p>Some Text</p>
<p>Some <hi rend="bold">text</hi> and some <hi rend="italic">italic</hi> text</p>
</text>
<text>
<p>Some <hi rend="bold">text</hi></p>
<p>Some other text</p>
</text>
<text>
<p>Some <hi rend="italic">text</hi></p>
<p>Some <hi rend="italic">text</hi></p>
</text>
Как я могу выбрать первые два текста, но не третий?