![]() |
|
Модераторы: diadiavova |
![]()
|
|
| xxxNEIxxx |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.5.2010 Репутация: нет Всего: нет |
сижу уже больше двух часов над двумя проблемами:
первая: xml:
xsd:
а как вставить "Computer Science" в xslt? елемент вставляеться value-of, а просто содержимое не нашёл как вытянуть. чувствую прийдёться вставлять текст как атрибут для <FAKULTET> вторая проблема: скачайте архив, запустите в браузере и если посмотреть xml то можно понять что у элемента <KAFEDRA> по идее может быть много <NUMBER_GROUP>. нужно сделать чтоб в браузере навпротив названия кафедры могло быть две ветки разных груп. одну ветку я сделал а как применить <xsl:for-each> чтоб отображало две групы навпротив названия кафедры - я не знаю :( Это сообщение отредактировал(а) xxxNEIxxx - 8.5.2010, 15:03 Присоединённый файл ( Кол-во скачиваний: 3 )
XSL1.rar 2,49 Kb |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
По первому вопросу всё просто
Второй я не совсем уловил. Опиши что ты хочешь получить в результате в виде хтмл-кода и как он должен соответствовать исходному документу. Из объяснения я этого не понял. Добавлено через 55 секунд И надеюсь: ты в курсе, что твой хмл в ИЕ не пашет. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| xxxNEIxxx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.5.2010 Репутация: нет Всего: нет |
Извини что jpg, просто у меня голова раскалывается... надеюсь картинки хватит, но если нужен именно хтмл, то щя сделаю.
Добавлено @ 23:27 насчёт ИЕ не знал. просто сейчас не до ИЕ... как сделаю под оперу то буду смотреть остальные... а ты случайно не знаешь где можно почитать о хаках или о правельном коде под ИЕ? Добавлено @ 23:31 кста, на картинки не обращай внимания что там практически все литералы в елементах -одинаковые . там будут даные о двух разных группах. протсо я в xml скопировал лемент <NUMBER_GROUP> что б показать что на одной кафедре может быть две группы. Это сообщение отредактировал(а) xxxNEIxxx - 8.5.2010, 15:11 Присоединённый файл ( Кол-во скачиваний: 5 )
111111111.jpg 195,14 Kb |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
О чём? 1.На мсдн официальная документация 2. Ресурсов по веб-дизайну и кроссбраузерной вёрстке в сети полно 3. На нашем форуме есть раздел, посвящённый вёрстке. По поводу вопроса: Тебе просто для групп надо написать отдельный шаблон и вставлять его в таблицу с помощью apply-tempate. Что-то в этом роде должно выйти
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| xxxNEIxxx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.5.2010 Репутация: нет Всего: нет |
хух... это уже вообще... нифига не могу понять суть работы <xsl:apply-templates/>..... кажетсья таким элементарным но в тоже время какое то запутаное.......
З.Ы. да должно быть чтото типа такого, спс. только там почему вверху таблиц прописаны через пробел все значения ячеек таблицы. Это сообщение отредактировал(а) xxxNEIxxx - 8.5.2010, 15:39 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Он просто добавляет результат обработки указанных узлов(по умолчанию - непосредственные потомки узла-контекста). -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| xxxNEIxxx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.5.2010 Репутация: нет Всего: нет |
я вижу что оно отображаеться практически так как я хотел, но я не могу понять каким боком оно указывает что за чем должно идти. ощущения что просто налеплена куча template и apply-templates без никакой связи между ними. в инете смотрел примеры использования, то там хотя бы select есть, но всё равно как то странно они расположены....
З.Ы. можешь бросить какую нибудь ссылку где есть хорошый пример использования apply-templates с полным обьяснением. |
|||
|
||||
| xxxNEIxxx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.5.2010 Репутация: нет Всего: нет |
ура)) немного начало проясняться))) осталось с последовательностью прописания елементов в template розобраться и думаю всё будел супер))
З.Ы. я приблизительно понял зачем и что означает <xsl:output method="html" indent="yes"/>, но можешь своими словами обьяснить? |
|||
|
||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Этот элемент указывает каким образом производится вывод. Для хмл и хтмл способы отличаются, ну например пустой тег div в хмл будет отображаться так
На счёт темплейтов: это просто функции, вызывая их в некотором месте документа, ты вставляешь в это место результат их работы. Вызвать функцию можно либо call-template'ом, либо apply-templates'ом. Когда ты используешь колтемплейт, это подобно вызову функции в традиционных языках, там объяснять особо нечего, а вот эпплайтемплейт вызывает не сами функции, а обработку некоторого набора узлов. Этот набор указывается либо в атрибуте селект, либо по умолчанию используются дочерние узлы контекста(как я уже написал). Для каждого узла набора выбирается подходящий шаблон, которому и передётся узел, а результат обработки всех узлов вставляется в то место где расположен эпплайтемплейт. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| xxxNEIxxx |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.5.2010 Репутация: нет Всего: нет |
насчёт сути метода я понял. а можешь написать в каком случае нужно писать хмл?
а, indent="yes", зачем в моём случае? я уже розобрался с "эпли-темплейтом", вроди как полностью)) а вот насчёт call-template'а можешь навести пример когда нужно его использовать? когда и зачем "эпли.." я уже понял, а насчёт "кол-темплейта " хочеться на будущее знать) чтоб потом не ломать себе голову)) З.Ы. я уже зделал полностью таблицу, только есть пара маленьких проблем) сомтри, есть xml:
вот xsl:
все имена отображаються в браузере в одну строку. как сделать так что б они все отображались так же само в одной ячейке таблицы только каждое имя с новой строки. кароч чтото типа <br /> после каждого имени. я добавлю jpg что б было видно что я хочу и только что вспомнил, я обвёл синим елемент который в xsd задано значение что он не обязательный. и во второй таблице его нету но там есть пустая ячейка. вот, можно как нибудь убрать во второй таблице пустую ячейку? Присоединённый файл ( Кол-во скачиваний: 5 )
111111111.jpg 118,96 Kb |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
В случае, когда нужен хмл-документ. В твоём - не знаю, вообще для форматирования текста. Индент - это отступ, не будет его - выходной текст просто будет трудночитаемым, а так с него толку нет. Это обычный вызов функции по имени...и всё. Надо какие-нибудь данные обработать определённым образом - вызываешь шаблон, передаёшь ему эти данные как аргументы и вуаля Просто добавь br. Не надо ничего мудрить, всё намного проще, чем кажтся на первый взгляд. Проверяй наличие данных с помощью ифа: есть данные - вставляй ячейку, нет... -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| xxxNEIxxx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.5.2010 Репутация: нет Всего: нет |
насчёт ифа я понял, вот попробую сделать. а вот насчёт "бр" это посложнее, так как там через темплейт вызываються все елементы NAME_STUDENT и куда мне там "бр" всунуть? вроди как везде пробывал тулить...
как я знаю с хтмл - индент это отступ в начале абзаца, а в хмл так же само он работает? ну не считая что здесь нельзя задать длину отступа. З.Ы. и ещё одно, ты написал в предыдущем сообщении "../text()[1]", что значит та единичка в квадратных скобках? типа номер текстового содержимого? |
|||
|
||||
| diadiavova |
|
||||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Вместо
Indent - это вообще отступ. В этих форматах он не работает вообще, но код с ним более читабелн.
Номер текстового узла, без единички выражение возвращает коллекцию из всех текстовых узлов в данном контексте. Вообще с текстовыми узлами надо поосторожней обращаться, в твоём случае лучше для номера группы отдельный элемент создать. Мне непонятно почему ты этого не сделал. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||||||
|
|||||||||
| xxxNEIxxx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.5.2010 Репутация: нет Всего: нет |
когда ещё начинал читать о хсл то увидел похожий пример и не мог понять что значит точка в селекте: <xsl:value-of select="."/>? я не создал отдельный элемент потому что это первое что я делаю на хмл и хочу сделать как можно больше замудрённым чтоб розобратся хотя бы на каком то уровне хмл З.Ы. можешь посоветовать какой нибудь сайт на котором можно розобраться до нормального уровня в xml, xsd и xsl. |
|||
|
||||
| diadiavova |
|
||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Текущий узел. В более длинных выражениях её иногда можно пропустить, но если надо получить значение текущего узла - используй точку.
Ну тогда конечно. Я тоже
Простой запос в гуголь даст кучу вариантов. Это очень широко используемые форматы, так что сайтов о них очень много. Можно книжку каку-нибудь почитать(потолще -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||||
|
|||||||
![]()
|
| Правила форума "XML/XSLT" | |
|
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | XML, XSL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |