powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / почему не работает применение стилей в xsl? оформляю divы
14 сообщений из 14, страница 1 из 1
почему не работает применение стилей в xsl? оформляю divы
    #35305202
ebstis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот 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
почему не работает применение стилей в xsl? оформляю divы
    #35305239
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тег <head> долже быть внутри тега <html>

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

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

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

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

С уважением, Vasilisk
...
Рейтинг: 0 / 0
почему не работает применение стилей в xsl? оформляю divы
    #35307768
ebstis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, Vasilisk, я правда невнимателен. теперь все работает. делаю более сложную структуру.
а вот интересно. наверно прописывать в исходящем html документе в head style не так хорошо.
как эти атрибуты можно было бы прописать в самой xsl-ке? через attibute-setы
спасибо.
...
Рейтинг: 0 / 0
почему не работает применение стилей в xsl? оформляю divы
    #35307786
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так, как вы стили прописываете для 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
почему не работает применение стилей в xsl? оформляю divы
    #35307797
ebstis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и все-таки меня беспокоят атрибуты.. (ниже пример без атрибутов но как бы его сделать через например 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
почему не работает применение стилей в xsl? оформляю divы
    #35307801
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ebstisспасибо. очень надо..
Если очень надо, так сразу и называй цену
А меня уже достало ражзбираться в неоформленом коде. Неужели так сложно добавить тег [src ]?

<xsl:template> может содержаться только в <xsl:stylesheet>, но никак не в каком-то <code>
...
Рейтинг: 0 / 0
почему не работает применение стилей в xsl? оформляю divы
    #35308174
ebstis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<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
14 сообщений из 14, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / почему не работает применение стилей в xsl? оформляю divы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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