Пусть это будет xml:
... some other parent elements here ...
<subject group="a">Economy</subject>
<subject group="b">Math</subject>
<subject group="a">Finance</subject>
<subject group="c">Arts</subject>
... some other elements here
Я хотел бы обработать и напечатать заголовок, в котором группа 'a' и 'b' находится под одним заголовком, а c - в другом заголовке. «C» не является определенной строкой, это может быть «d», «d». Я просто хочу отделить «а» и «б» от всего остального. Таким образом, выходной пример будет
Основные предметы (а и б)
- Экономика Финансы Математика
Другие
Теперь у меня есть этот код для части "Другие":
<xsl:if test="not(subject/@group[. = 'a'] or subject/@group[. = 'b])">
<h2>Others</h2>
<ul>
<xsl:for-each select="subject">
<xsl:sort select="./@group"/>
<xsl:if test="@group!='a'and @type!='b'">
<xsl:apply-templates select="."/>
</xsl:if>
</xsl:for-each>
</ul>
</xsl:if>
Это не работает должным образом. Я пробовал без не () и с! =
Короче говоря, я просто хочу знать, есть ли какой-либо элемент помимо элементов группы a и b. Если есть, напечатайте что-нибудь, если ничего нет, не печатайте заголовок «Другие».
Любая помощь будет оценена.