2013-04-17 3 views
0

Я пытаюсь заменить все Http: // экземпляры из HREF тэгов и от источников изображения, к https: //Использование XSLT для замены HTTP: // с https: //

<xsl:for-each select="item[position()&lt;2 and position()&gt; 0]"><!-- display 1 - skip none --> 
     <article class="395by265-Presentation"> 
      <a href="{link}" target="_blank"> 
       <img src="" width="395" height="265" alt="{title}" border="0" class="FBAPP"><xsl:attribute name="src"> 
        <xsl:value-of disable-output-escaping="yes" select="enclosure/@url"/></xsl:attribute> 
       </img> 
       <div class="synopsis"><xsl:value-of select="description"/></div> 
      </a> 
     </article> 
    </xsl:for-each> 

Любая помощь приветствуется.

Я использую XSLT 1.0.

Пытается получить и заменить все экземпляров HTTP.

+0

Вы не показали ничего, что позволяет кому-то понять, чего вы пытаетесь достичь. Как минимум, покажите входной XML и некоторый XSLT, который пытается решить проблему. То, что вы показали, похоже, не относится к вопросу. –

+0

@ jim-garrison Если вы посмотрите на: PandaExpert

+1

Я думаю, что вопрос достаточно ясен, как есть, особенно с учетом комментария OP. Я бы ответил на это прошлой ночью, если бы успел. Голосование для повторного открытия. – LarsH

ответ

1

С какой версией XSLT вы работаете?

XSLT 2.0 поддерживает replace function:

replace(string,pattern,replace) 

Возвращает строку, которая создается путем замены заданного шаблона с заменой аргументом.

Example: replace("Bella Italia", "l", "*") 
Result: 'Be**a Ita*ia' 

Example: replace("Bella Italia", "l", "") 
Result: 'Bea Itaia' 

Example syntax: <xsl:value-of select="string:replace('Bella Italia','l','')" /> 
Result: 'Bea Itaia' 

Посмотрите здесь: https://stackoverflow.com/a/3067130/1846192 в течение XSLT 1.0 решения.

+0

Благодарим за отзыв. Я использую XSLT 1.0. Есть ли решение для этого без использования шаблона? Я видел в других статьях пользователи используют функцию translate() с XSLT 1.0. Знаете ли вы, как я мог бы использовать эту функцию в этом случае? – PandaExpert

+1

В [XSLT 1.0 translate()] (http: // zvon.org/xxl/XSLTreference/OutputOverview/function_translate_frame.html) можно использовать для замены при замене или удалении определенных символов внутри строки. По дизайну он может только «переводить» существующие символы в строке на одном символе по принципу одного символа. Поэтому его нельзя использовать для добавления символов в строку, в зависимости от того, как вы ее поворачиваете или поворачиваете. Он всегда должен будет заменить существующий персонаж. –

+0

Понятно, спасибо за разъяснение этого и для вашей помощи user1846192. Цените свою готовность помочь. – PandaExpert