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
,