Можно ли создать шаблон, соответствующий такой группе?Может быть что-то вроде этого:
<xsl:template matchGroup="my_attributes">
<foobar>
<xsl:copy-of select="@*"/>
<xsl:value-of select="." />
</foobar>
</xsl:template>
Нет, инструкция XSLT <xsl:template>
не имеет атрибута matchGroup
, и любой совместимый процессор XSLT должен вызвать синтаксическую ошибку по этой причине.
Что-то вроде этого, вероятно, близко к тому, что вы ищете:
<xsl:template match="@ns:foo[../@ns:bar]">
<!-- Processing here -->
</xsl:template>
Значение шаблона соответствия выше :
Соответствует любому атрибуту с local-name()
foo
, который находится в пространстве имен, с которым связан префикс "ns:"
, и чей"родитель"( элемент, к которому прикреплен этот атрибут) * имеет еще один атрибут с именем * ns:bar
.