Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / почему не работает применение стилей в xsl? оформляю divы / 14 сообщений из 14, страница 1 из 1
11.05.2008, 17:45
    #35305202
ebstis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
вот xml
<code><?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="Lesson3.xsl"?>
<book xmlns="http://www.hissite.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<author>Автор</author>
<title>Название</title>
</book></code>

вот xsl

<code><?xml version="1.0"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40">
<xsl:template match="/">
<HEAD><STYLE>
#1 {width: 1000px; display: block; background-color: #222AAA;}
#2 {background-color: #000777; width: 1000 px; margin-top: 10px; display: block; font-size: 30px; text-align: center;}
#3 {background-color: #999999; width: 1000 px; margin-top: 10px; display: block; font-size: 30px; text-align: center;}
</STYLE></HEAD>
<HTML>
<BODY style=" font-family: Verdana, sans-serif; color: #ffffff; background-color: #000000;">
<xsl:apply-templates/>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="book">
<div id="1">
<xsl:apply-templates select="author"/>
<xsl:apply-templates select="title"/>
</div>
</xsl:template>

<xsl:template match="author">
<div id="2" >
<xsl:value-of select="author"/>
</div>
</xsl:template>

<xsl:template match="title">
<div id="3">
<xsl:apply-templates select="title"/>
</div>
</xsl:template>
</xsl:stylesheet></code>

отображается лишь стиль тега body. все остальное игнорится. устал их перекомбинировать... укажите что надо исправить плиз.!.
...
Рейтинг: 0 / 0
11.05.2008, 18:44
    #35305239
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
Тег <head> долже быть внутри тега <html>

С уважением, Vasilisk
...
Рейтинг: 0 / 0
11.05.2008, 19:23
    #35305267
ebstis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
_Vasilisk_Тег <head> долже быть внутри тега <html>

С уважением, Vasilisk

точно
но досада в том, что в итоге все равно браузер не применяет прописанные стили
...
Рейтинг: 0 / 0
11.05.2008, 20:26
    #35305301
Avenger_by
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
помойму в css имя класса или id не может начинаться с цифры, попробуй переименуй id
...
Рейтинг: 0 / 0
11.05.2008, 20:29
    #35305303
ebstis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
Avenger_byпомойму в css имя класса или id не может начинаться с цифры, попробуй переименуй id

не спасло.
мне кажется что дело в самой xsl-ке. может где-то не так расположены шаблоны..
...
Рейтинг: 0 / 0
11.05.2008, 22:39
    #35305376
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
У вас XML объявлен в одном пространстве имен, а xsl работает в другом. Кроме того еще у вас в XSL куча ошибок.

Вот правильный код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<?xml version="1.0"?>
<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:t="http://www.hissite.com">
  <xsl:template match="/">
    <HTML>
      <HEAD><STYLE>
        #d1 {width: 1000px; display: block; background-color: #222AAA;}
        #d2 {background-color: # 000777 ; width:  1000  px; margin-top: 10px; display: block; font-size: 30px; text-align: center;}
        #d3 {background-color: # 999999 ; width:  1000  px; margin-top: 10px; display: block; font-size: 30px; text-align: center;}
      </STYLE></HEAD>
      <BODY style=" font-family: Verdana, sans-serif; color: #ffffff; background-color: #000000;">
        <xsl:apply-templates/>
      </BODY>
    </HTML>
  </xsl:template>
  
  <xsl:template match="/t:book">
    <div id="d1">
      <xsl:apply-templates select="t:author"/>
      <xsl:apply-templates select="t:title"/> 
    </div>
  </xsl:template>
  
  <xsl:template match="t:author">
    <div id="d2" >
      <xsl:value-of select="."/>
    </div>
  </xsl:template>
  
  <xsl:template match="t:title">
    <div id="d3">
      <xsl:value-of select="."/>
    </div> 
  </xsl:template>
</xsl:stylesheet>
Выделенные строки сравните с вашими

С уважением, Vasilisk
...
Рейтинг: 0 / 0
11.05.2008, 23:47
    #35305433
ebstis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
спасибо за решение. все должно было заработать
но
коректно отразился лишь author
а что до второго тега titlе то сначала выскакивало сообщение об ошибке...
а потом ie 7 стал закрываться сам.
наверно что то нестандартное у меня..
...
Рейтинг: 0 / 0
12.05.2008, 00:16
    #35305442
ebstis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
Во время выполнения XSLT-преобразования произошла ошибка: В таблице стилей XSLT, возможно, содержится рекурсивный вызов
так пишет firefox
ммм.
рекурсивный вызов?
...
Рейтинг: 0 / 0
12.05.2008, 00:45
    #35305449
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
Сравните построчно ваш шаблон для title и мой. У вас в выделенной строке было <xsl:apply-templates/> у меня <xsl:value-of/>

С уважением, Vasilisk
...
Рейтинг: 0 / 0
13.05.2008, 00:14
    #35307768
ebstis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
спасибо, Vasilisk, я правда невнимателен. теперь все работает. делаю более сложную структуру.
а вот интересно. наверно прописывать в исходящем html документе в head style не так хорошо.
как эти атрибуты можно было бы прописать в самой xsl-ке? через attibute-setы
спасибо.
...
Рейтинг: 0 / 0
13.05.2008, 00:51
    #35307786
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
Ну так, как вы стили прописываете для id, а не для классов, а W3C, говорит, что атрибут шв уникален в пределах одной страницы, то разницы никакой нет

А ведь можно было написать так
Код: plaintext
1.
2.
3.
4.
.myClass {width:  1000  px; margin-top: 10px; display: block; font-size: 30px; text-align: center;}
..........
<div class="myClass" id="d2" style="background-color: #000777;"/>
<div class="myClass" id="d3" style="background-color: #999999;"/>

С уважением, Vasilisk
...
Рейтинг: 0 / 0
13.05.2008, 01:18
    #35307797
ebstis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
и все-таки меня беспокоят атрибуты.. (ниже пример без атрибутов но как бы его сделать через например id к каждому album)
вот например. в xml

есть три блока элементов с уникальным номером

<code>
<album><id>1</id><image></album>
<album><id>2</id><image></album>
<album><id>3</id><image></album>
</code>

внутри каждого своя картинка.

в xsl стараюсь прописать с помощью choose правило, что в случае a грузится картинка такая-то, в случае б - другая и т.п.

<code> <xsl:template match="t:image">
<xsl:choose>
<xsl:when test="id=1">
<img src="treug.jpg" id="image1"/>
</xsl:when>
<xsl:when test="id=2">
<img src="!elec.jpg" id="image1"/>
</xsl:when>
<xsl:when test="id=3">
<img src="!afrika.jpg" id="image1"/>
</xsl:when>
</xsl:choose>
</xsl:template></code>

спасибо. очень надо..
...
Рейтинг: 0 / 0
13.05.2008, 01:24
    #35307801
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
ebstisспасибо. очень надо..
Если очень надо, так сразу и называй цену
А меня уже достало ражзбираться в неоформленом коде. Неужели так сложно добавить тег [src ]?

<xsl:template> может содержаться только в <xsl:stylesheet>, но никак не в каком-то <code>
...
Рейтинг: 0 / 0
13.05.2008, 10:31
    #35308174
ebstis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не работает применение стилей в xsl? оформляю divы
<code>
<album><id>1</id><image></album>
<album><id>2</id><image></album>
<album><id>3</id><image></album>
</code>

в xsl стараюсь прописать с помощью choose правило, что в случае a грузится картинка такая-то, в случае б - другая и т.п.

<xsl:template match="t:image">
<xsl:choose>
<xsl:when test="id=1">
<img
Код: plaintext
 1 .jpg
id="image1"/>
</xsl:when>
<xsl:when test="id=2">
<img
Код: plaintext
 2 .jpg
id="image1"/>
</xsl:when>
<xsl:when test="id=3">
<img
Код: plaintext
 3 .jpg
id="image1"/>
</xsl:when>
</xsl:choose>
</xsl:template>

деньги.
так тоже плохо?
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / почему не работает применение стилей в xsl? оформляю divы / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]