Как я могу использовать XSL для запуска шаблона для определенного узла, который находится по атрибуту? - PullRequest
0 голосов
/ 04 июня 2009

Например, я пытаюсь выбрать значение «Библиотека приложений» из следующего XML - то есть значение в content-node / localedata / title, где localedata @ locale = "en".

<content-node objectid="6_NO2UF4I1186E1026H4BLVI08F1">
       <localedata locale="de">
            <title>Anwendungsbibliothek</title>
        </localedata>
        <localedata locale="en">
            <title>Application Library</title>
        </localedata>
        <localedata locale="es">
            <title>Biblioteca de aplicaciones</title>
        </localedata>
</content-node>

В частности, какое выражение XPath я должен указать в значении xsl: template @ match? Я думаю, что это должно быть примерно так, за исключением того, что я не знаю, как сопоставить жестко закодированное значение "en":

<xsl:template match="localedata[@locale = en]">

Я здесь на правильном пути, или есть какой-то другой способ, которым я должен пойти по этому поводу?

1 Ответ

2 голосов
/ 05 июня 2009

Я бы сказал, да, вы должны быть на правильном пути. Кажется, я не могу найти образцы для проверки и подтверждения этого, но у вас не должно возникнуть проблем с попыткой и проверкой этого.

Я говорю: дерзай!

Похоже, вам придется немного адаптировать свой XSL:

<xsl:template match="localedata[@locale='en']">

С этим (удалите пробелы после @locale, поместите значение в '...') все должно быть в порядке.

Марк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...