Модераторы: diadiavova

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> <xsl:for-each> и литералы не в елемента в xslt, нужна помощь 
:(
    Опции темы
diadiavova
Дата 16.5.2010, 02:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(xxxNEIxxx @  16.5.2010,  03:08 Найти цитируемый пост)
только как для choose указать пустое значение в элементе?

При помощи выражения, указывающего на этот элемент или его значение (если тебе интересно именно оно). Там никаких премудростей нет: возвращает выражение что-то - код отрабатывает, возвращает пустышку - нет.
Цитата(xxxNEIxxx @  16.5.2010,  03:08 Найти цитируемый пост)
и ещё одно хотел спросить то что раньше забыл, смотри фор-ич используеться для того чтоб вывести все елементы с одинаковыми именами

Нет. Для того, чтобы выполнить некоторое действие над всеми узлами из коллекции, которую возвращает выражение в атрибуте селект. Они не обязвательно имеют одинаковые имена, их можно группировать по разным признакам.
Цитата(xxxNEIxxx @  16.5.2010,  03:08 Найти цитируемый пост)
а вот темплейт получаеться обьявляет выбор елемента для форматирования его отображения и ещё делает тоже само что и фор-ич? 

Темплейт - это просто функция, которая обычно получает аргумент и возвращает значение. Что она получает в качестве аргумента зависит от способа вызова. Когда её вызывают явно(call-template), то и аргументы передаются явно, а вот если её подбирает сам процессор(apply-template) как наиболее подходящую для обработки конкретного узла, то и как аргумент передаётся этот самый узел и он будет в шаблоне узлом контекста(точкой). Такой способ можно(и чаще всего нужно) использовать вместо форича, поскольку тут тоже происходит обработка сразу всех узлов коллекции, только обрабатываются они немного иначе(для каждого узла подбирается свой шаблон)
Цитата(xxxNEIxxx @  16.5.2010,  03:08 Найти цитируемый пост)
и ещё одно, как сделать правельный выбор кодировки?

Элемент output
Вообще всё есть в документации


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xxxNEIxxx
Дата 16.5.2010, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



Цитата(diadiavova @  16.5.2010,  02:27 Найти цитируемый пост)
Там никаких премудростей нет: возвращает выражение что-то - код отрабатывает, возвращает пустышку - нет.

а вот как это что-то указать? чем обьявить что в елементе есть содержимое?

а какая разница между указанием кодировки в output и в самом начале документа <?xml version="1.0" encoding="utf-8"?> ?




PM MAIL   Вверх
diadiavova
Дата 16.5.2010, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(xxxNEIxxx @  16.5.2010,  15:03 Найти цитируемый пост)
а вот как это что-то указать? чем обьявить что в елементе есть содержимое?

Содержимое является набором узлов-потомков. Вот и бъявляй его как набор таких узлов. Например у тебя узел aaa, тебе надо проверить есть ли у него содержимое.
Код

aaa/node()
Возвратит коллекцию узлов потомков. Если эта коллекция будет представлена как условие чуза или ифа, то она возвратит тру только если в ней что-то есть. Единственная оговорка: иногда могут присутствовать текстовые узлы, состоящие только из пробело, тогда она тоже возвратит тру, с этим надо быть внимательнее. Если под содержимым понимается что-то более конкретное, например элементы, то выражение будет таким
Код

aaa/*
 а если текстовые узлы - таким
Код

aaa/text()
Я думаю идея понятна, на все случаи жизни готовой копипасты не существует.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xxxNEIxxx
  Дата 17.5.2010, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



Цитата(diadiavova @  16.5.2010,  14:51 Найти цитируемый пост)
Я думаю идея понятна, на все случаи жизни готовой копипасты не существует.

это самом собой.

как я понял: "aaa/*" возвращает только содержимое всех дочерних элементов; 
                     "aaa/text()" возвращает только дочернее текстовое содержимое по отношению к елементу ааа;  
                     "aaa/node()" это возвращает всё дочернее содержимое: и то что является дочерним и то что находиться в 
                      дочерних элементах;  

У меня всё получилось сделать, но хотелось бы узнать правильно ли я понимаю разницу smile

И последний штрих)) случайно ничего не посоветуешь как сделать ограничение на содержимое в хсл.
Вот код в хсд:

Код

<xs:attribute name="PRICE" default="uah">
    <xs:simpleType>
        <xs:restriction base="xs:string">
             <xs:pattern value="uah|&#x20AC;|$"/>
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>


а нужно в хсл.

З.Ы. ###)))))))) вот мы с тобой уже общаемся 10 дней и я постоянно читал твою цитату(или как это правельно называеться) как: "Вау-вау-вау - у нас сегодня блОНДИНЧИК на обед."  smile  smile  smile  smile 



PM MAIL   Вверх
diadiavova
Дата 17.5.2010, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(xxxNEIxxx @  17.5.2010,  17:43 Найти цитируемый пост)
 "aaa/text()" возвращает только дочернее текстовое содержимое по отношению к елементу ааа; 

Только текстовые узлы.
Цитата(xxxNEIxxx @  17.5.2010,  17:43 Найти цитируемый пост)
 "aaa/node()" это возвращает всё дочернее содержимое:

Узлы всех типов. там ещё есть и другие типы узлов, за подробностями в документацию.
Цитата(xxxNEIxxx @  17.5.2010,  17:43 Найти цитируемый пост)
 как сделать ограничение на содержимое в хсл.

А что ты понимаешь под ограничением? Если в документе что-то неправильно, то что должно произойти? smile 
Цитата(xxxNEIxxx @  17.5.2010,  17:43 Найти цитируемый пост)
или как это правельно называеться

Правильно это называется "подпись".


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xxxNEIxxx
Дата 18.5.2010, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



значит я правильно понял, просто возможно немного не точно написал smile


Цитата(diadiavova @  17.5.2010,  18:46 Найти цитируемый пост)
А что ты понимаешь под ограничением? Если в документе что-то неправильно, то что должно произойти?

ну вот смотри, я хочу чтоб у атрибута могло быть только одно из трёх значений которые я задам. а вот насчёт того "то что должно произойти?" вот над этим я как то и не задумался  smile ###, только что посидел и обдумал и понял что я туплю. в схеме то оно задаёться просто для валидности и чтоб человек не написал другого значения, а если напишет то ему скажет что ошибка в коде. 

просто раньше думал что хсд влияет на браузер и поэтому вся логика была связана у меня и с хсд, а теперь из-за этого немного тупонул))) 

ну тогда вроди как всё smile разве что, посоветуй какой нибудь сайтик для того чтоб доделать ХСЛ для отображения в ИЕ. гуглил, но ничего не нашёл. либо коряво искал либо материала под ИЕ для хмл - мало. это не так уж и важно, но всё таки лишними знания хсл под ИЕ - не будут smile

PM MAIL   Вверх
diadiavova
Дата 18.5.2010, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(xxxNEIxxx @  18.5.2010,  22:55 Найти цитируемый пост)
 посоветуй какой нибудь сайтик для того чтоб доделать ХСЛ для отображения в ИЕ

А msdn чем плох? Чтоб корректно отображалось в браузере, в первую очередь надо, чтобы документ, получаемый на выходе имел нужную структуру. Но вопрос о том. какую именно - это уже вопрос не по xml. Есть, конечно, нюансы в поведении xslt-процессоров, есть расширения(например в преобразования для ие можно скрипты вставлять), но это всё не самое главное, тем более, что всё-таки ориентироваться надо на кроссбраузерные решения, а потому стараться придерживаться стандартов. А вот что ты хочешь получить в результате - совсем другой вопрос.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xxxNEIxxx
Дата 18.5.2010, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



ну скрипты вставлять и т д это всё фигня, потому что в ИЕ свои правила которым можно тоже придерживаться, вот только проблема в том что я нигде не могу найти чем ИЕ отличаеться от остальных в хмл+хсл.

на своём опыте по хтмл, знаю что такое ИЕ smile 

З.Ы. может где видел в инете статейку по хмл+хсл для ИЕ?
PM MAIL   Вверх
diadiavova
Дата 19.5.2010, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(xxxNEIxxx @  19.5.2010,  00:48 Найти цитируемый пост)
ну скрипты вставлять и т д это всё фигня

Ну почему же фигня? Это очень мощьная возможность. XSLT может далеко не всё, а скрипты позволяют значительно расширить возможности формата. Проблема как раз в том, что это только в ИЕ и работает.
Цитата(xxxNEIxxx @  19.5.2010,  00:48 Найти цитируемый пост)
только проблема в том что я нигде не могу найти чем ИЕ отличаеться от остальных в хмл+хсл.

Да собственно, там таких серьёзных различий нет как в случае с HTML, различия в основном в расширениях формата, то есть в ие есть некоторые дополнительные функции, не предусмотренные стандартом, ну и скрипты. А так свои особенности поведения есть у каждого процессора, но это либо в официальной документации надо искать, либо методом "научного тыка"(это чаще всего).

Цитата(xxxNEIxxx @  19.5.2010,  00:48 Найти цитируемый пост)
на своём опыте по хтмл, знаю что такое ИЕ

То же самое, что и любой другой браузер, просто если вёрстку ты изучаешь на каком-то одном браузере, то другой тебе естественно кажется нелогичным, а так...
Цитата(xxxNEIxxx @  19.5.2010,  00:48 Найти цитируемый пост)
З.Ы. может где видел в инете статейку по хмл+хсл для ИЕ? 

Никакая статейка не даст того, что можно найти в документации. А вообще, повторяю: "С XML дела обстоят лучше чем с HTML", так что изучай стандарты.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xxxNEIxxx
Дата 19.5.2010, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



пробывал методом научного тыка - бесполезно. либо же я чтото торможу...

слуш, ты не можешь просто пробежаться глазами по моём хсл? может увидишь ошибки. просто я уже не знаю даже из-за чего ИЕ не хочет отображать...

З.Ы. если сможешь, то постарайся сегодня. просо мне завтра уже его сдавать. а хочется сдать полностью доделанный код. но если даже и не сможешь сегодня - то всё равно просмотри, мне сейчас больше интересно узнать в чем ошибка чем получить за него хорошую оценку))

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  XSL.rar 120,35 Kb
PM MAIL   Вверх
diadiavova
Дата 19.5.2010, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



А что у тебя не отображается? У меня всё отобразилось.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xxxNEIxxx
Дата 19.5.2010, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



в ИЕ у тебя отобразилось? а почему у меня в ИЕ отображаеться только код хмл.... мда...
PM MAIL   Вверх
diadiavova
Дата 19.5.2010, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



А у тебя какая версия ие?

Добавлено через 22 секунды
У меня - 8.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xxxNEIxxx
Дата 19.5.2010, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



всё уже норм, то у меня ИЕ чёто глючит)) а я уже два дня сижу и не мог понять в чём дело)))

ладн, я уже вроди как всё закончил  smile 

большое тебе спасибо smile
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0611 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.