Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > XSL. Ссылка на фрейм


Автор: Compositum 6.4.2012, 14:21
Доброго времени суток.

Почему не формируется ссылка на фрейм?

Код

<a>                
  <xsl:attribute name="target">frDocument</xsl:attribute>
  <xsl:attribute name="src">
    <xsl:value-of select="reference"/>
  </xsl:attribute>
  <xsl:variable name="x" select="localizedName"/>
  <xsl:value-of select="$resources/lang:resources/lang:record[@id=$x]"/>                
</a>

Текст показывается... Если поменять местами текст и значение атрибута src, то показывается путь к файлу (т.е. все значения благополучно считываются). Но по факту получаю текст, а не ссылку на фрейм.
Т.е. я ожидаю, что XSL сгенерирует примерно такое:
Код

<a target="frDocument" src="./contacts.xsl">Контакты</a>


Где я ошибся?

Спасибо.

Добавлено через 7 минут и 45 секунд
вопрос снят: вместо src нужно было писать href.

Автор: diadiavova 6.4.2012, 14:29
Цитата(Compositum @  6.4.2012,  15:21 Найти цитируемый пост)
Где я ошибся?

Может ты имел в виду не src, а href ? smile И кстати это можно было и короче записать
Код

<a target="frDocument" href="{reference}">
  <xsl:variable name="x" select="localizedName"/>
  <xsl:value-of select="$resources/lang:resources/lang:record[@id=$x]"/>                
</a>

Автор: Compositum 6.4.2012, 14:30
спасибо. А от переменной избавиться можно? Или в данном случае без неё не обойтись?

Автор: diadiavova 6.4.2012, 14:35
Цитата(Compositum @  6.4.2012,  15:30 Найти цитируемый пост)
 А от переменной избавиться можно? Или в данном случае без неё не обойтись?

Ну там же контекст разный. Если только полный путь к элементу задать, но это прокатит только в отдельных частных случаях, чаще всего нельзя.

Добавлено через 3 минуты и 16 секунд
А вообще, чтобы таких вопросов не возникало, выполняй преобразование не в браузере, а в какой-нибудь специализированной программе. Тогда бы ты увидел, что атрибут получился таким, как ты задал и искал бы проблему уже в хтмл коде, а не в преобразовании.

Автор: magelan 11.4.2012, 17:36
Цитата(Compositum @ 6.4.2012,  14:30)
спасибо. А от переменной избавиться можно? Или в данном случае без неё не обойтись?

Код

<a target="frDocument" href="{reference}">
  <xsl:value-of select="$resources/lang:resources/lang:record[@id=current()/localizedName]"/>                
</a>

Автор: Compositum 11.4.2012, 17:40
Цитата(magelan @ 11.4.2012,  17:36)
Код

<a target="frDocument" href="{reference}">
  <xsl:value-of select="$resources/lang:resources/lang:record[@id=current()/localizedName]"/>                
</a>

Спасибо! Очень полезная информация.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)