xsl: шаблон не работает

У меня есть изображение (в содержании) с атрибутом src

http://myPage/rss.gif

Я не хочу менять атрибут. Выражение соответствия шаблону xsl: не работает..

<replace css:content="#content" css:theme=".content" />
<xsl:template match="img/@src[contains(., 'rss.gif')]">
    <xsl:attribute name="src">/++theme++myPackage/images/<xsl:value-of select="." /></xsl:attribute>
</xsl:template>

Что я делаю неправильно?

1 ответ

В вашем примере вы выбираете img-тег, содержащий строку rss.gif в его src-атрибут, эта строка, вероятно, http://myPage/rss.gif,

Затем вы добавляете атрибут src к img-egeee его значение конкатенация строк /++theme++myPackage/images/ и первоначальная стоимость http://myPage/rss.gif,

Исходное значение добавлено <xsl:value-of select="." /></xsl:attribute>, Это выбирает все значение srcатрибута по!

Таким образом, вы получите что-то вроде:

<img id="content" src="/++theme++myPackage/images/http://myPage/rss.gif" />

Для целей тестирования вы можете сначала добавить img-элемент с ожидаемым src- Атрибут вашего файла theme.html и проверьте, доступен ли файл изображения. Пожалуйста, проверьте также, что значение src в вашем файле содержимого содержится только строка, к которой вы хотите добавить /++theme++myPackage/images/,

Кстати, в вашем примере вы заменяете элемент theme на класс: css:theme=".content", Напомним, что это заменит все элементы с классом content, Попробуйте использовать идентификатор или более узкий селектор, например div.content или лучше div#someid.content,

Другие вопросы по тегам