выберите элемент, который соответствует имени начала с - PullRequest
4 голосов
/ 26 февраля 2011

У меня есть такой XML-код

<extra>
    <name>format-xml</name>
    <value>excel.xls</value>
</extra>
<extra>
    <name>format-java</name>
    <value>hello.java</value>
</extra>
<extra>
    <name>Date</name>
    <value>someday</value>
</extra>
<extra>
    <name>version</name>
    <value>2</value>
</extra>

Я хотел бы использовать XSLT, чтобы получить его имя - * name

Я пытаюсь начать с, но это не работает

<xsl:for-each select="extra[starts-with(name(),'format-')]">
    Format name:  <xsl:apply-templates select="name" />
    Format value:  <xsl:apply-templates select="value" />           
</xsl:for-each>

1 Ответ

9 голосов
/ 26 февраля 2011

name() даст вам имя узла контекста (в вашем примере это <extra>).Вы пытаетесь сопоставить значение элемента <name>.

Настройте оператор выбора на:

extra[starts-with(name,'format-')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...