Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > XML, XSL > XML внутри HTML кода. |
Автор: ShurikA 4.4.2007, 23:09 | ||||
Мозжно ли вставлять XML+XSL внутри HTML кода, на пример вот таким образом:
если да, то как это правильно сделать? Приведённый код как будто просто игнорирует XSL фаил. (при этом путь к нему правильный). 'http://localhost/ImageryFair/admin/xml_xsl/admin_panel_menu.xsl'
|
Автор: elkin 5.4.2007, 11:57 | ||
Только для IE:
Xml тоже можно в отельный файл вынести и подключить его, как и xsl-файл |
Автор: Exception 5.4.2007, 12:30 | ||||
На место
для FF (насчёт Оперы не уверен):
|
Автор: ShurikA 5.4.2007, 12:38 |
Exception, elkin, Спасибо. Короче, то что я понял, ето то что такие вещи можно делать толька скриптом??? |
Автор: Exception 5.4.2007, 12:49 | ||||
Я что не пойму -- почему тебе не хочется сделать енто по-человечески: xml
xsl
Динамически (раз надо) генеришь xml и присобачиваешь к нему xsl. |
Автор: ShurikA 5.4.2007, 13:25 | ||
потому что работаю через PHP. как я понал, что бы XML код прочитался без проблемм, это должен быть фаил .xml а не .php. или я опять ошибаюсь? |
Автор: Exception 5.4.2007, 13:29 | ||||
Ошибаешься. Достаточно прописать
в начале PHP-кода. |
Автор: ShurikA 5.4.2007, 13:43 | ||||
Извиняюсь, я может совсем туплю, но всё таки... Вот такой максимально простой PHP фаил:
при этом он мне просто выдаёт XML:
|
Автор: Exception 5.4.2007, 14:00 | ||
А, ну да.
Добавлено через 48 секунд Естественно, xsl-ка должна быть в той же директории и называться myxsl.xsl ![]() |
Автор: ShurikA 5.4.2007, 14:08 | ||||
Ясный пень. Это я уже пробовал, не помогло... Добавлено через 2 минуты и 27 секунд теперь появилась следующая хрень:
|
Автор: Exception 5.4.2007, 14:19 | ||||
Не
а
то есть слэш закрывающий надо добавлять. |
Автор: ShurikA 5.4.2007, 14:23 | ||
Exception, спасибо. следующее:
надеюсь последнее... ![]() |
Автор: Exception 5.4.2007, 14:32 |
Меняй на select. |
Автор: ShurikA 5.4.2007, 14:35 |
Только что сам допёр ![]() Спасибо, огромное!! Добавлено через 1 минуту и 42 секунды ![]() есть ли какая то проблемма с compatibility XML-a с разными браузерами? |
Автор: Exception 5.4.2007, 14:49 |
Вроде как в опере меньше 9.0 xsl не работает. Впрочем, никто не мешает делать преобразование на сервере ![]() |
Автор: ShurikA 5.4.2007, 14:52 |
и только там? Вопрос на самом деле в другом: имеет ли смысл делать саит на XML? или же всё таки пока рано? |
Автор: sergejzr 5.4.2007, 14:54 | ||||
У меня есть UseCase. Это если для разных фрагментиков разные XSLT нужны. Вот всё думаю, как MathML в HTML оптимально вставить, чтобы формулы отображать. Получится тогда такой XML в XML. Только XSLT внешнего отлично от внутреннего. Поэтому и хотелось бы всё без скриптов, так сказать нативно... Добавлено через 57 секунд
Имеет и давно пора! На сервере разбираешься, кому в каком виде отдавать и никаких проблем не будет ![]() |
Автор: ShurikA 5.4.2007, 15:02 |
sergejzr, а как на счёт AJAX-a? удобно ли работать с XML через АJAX? |
Автор: sergejzr 5.4.2007, 15:13 |
АЯКС - это то же скрипт. Удобно и тоже желательно использовать. Правда нельзя забывать и о тех, у кого скрипты отключены. Т.е сайт должен работать и у них без проблем. |
Автор: ShurikA 5.4.2007, 15:16 | ||
я имел в виду другое: на сколько удобно нанипулировать XML-ем с помощью AJAX-a? Обычно ползуются innerHtml чтобы заменить кусок HTML-a в страничке. А что происходит с XML? как его кусок менять? |
Автор: Exception 5.4.2007, 15:17 | ||
Немного не понял мысль. Поясни. То есть скажем у нас две панели со ссылками, и для каждой нужен xsl? Добавлено через 2 минуты и 10 секунд
Полностью ![]() http://google.com/search?q=xml+dom+javascript |
Автор: ShurikA 5.4.2007, 15:29 |
и опять же возвращаемся к тому что нужно парсить XML, грубо говоря, ручками; вместо того чтобы просто подменить дату подчодящую под определённый XSL... или я ошибаюсь? |
Автор: Exception 5.4.2007, 15:39 |
Не понял фразу Добавлено через 9 минут и 10 секунд Ты имеешь в виду - динамически загрузить xml и применить к нему xsl? Енто делается легко. |
Автор: ShurikA 5.4.2007, 16:01 | ||||||||
Допустим есть вот такой HTML:
через AJAX получаем HTML код (response) и вставляем:
тут всё понятно... теперь посмотрим на случай с XML: XSL:
XML:
В результате созадётся список линков. Далее, если я хочу поменять этот список линков -> получаю XML код через AJAX (xmlCode) => а вот тут вопрос и есть: один вариант это создать JavaScript-ом HTML код и таким же образом (как показанно выше) запихать в <div id="apl"></div>. вариант второй: обновить XML data (или её часть)... - возможно ли? |
Автор: Exception 5.4.2007, 16:10 | ||
С помощью XMLHttpRequest асинхронно получаешь XML и XSL с сервера, с помощью XSLTProcessor получаешь итоговый код и вставляешь его куда тебе нужно. Добавлено через 47 секунд Примеры -- в гугле ![]() |
Автор: sergejzr 5.4.2007, 16:35 | ||
Да. Допустим у нас есть сайт и вместо фреймов отдельные ХМЛ- документы. Конкретно я о вставки MathML в XHtml. |
Автор: ShurikA 5.4.2007, 17:23 | ||
Exception, sergejzr, то есть результирующий код должен быть типа:
если да, то вернёмся на первый пост этого топика... |
Автор: Exception 5.4.2007, 18:51 | ||||
Скрипт (просто подключи к страничке)
Енто в страничку:
Скажи спасибо http://www.google.com/codesearch?hl=en&q=+function+LoadXMLXSLTDoc+show:vx_HixxqZP8:s7f_KbxBZro:yIIozZ249M0&sa=N&cd=1&ct=rc&cs_p=http://www.manning-source.com/books/crane/ajaxinactioncode_03nov2005.zip&cs_f=ch12/original/PhoneList_bookmarkable.htm#a0 ![]() Добавлено через 1 минуту и 7 секунд Это работает в IE и FF. Оперой проверяй сам ![]() |
Автор: Alx 14.4.2007, 19:03 | ||||
у меня только в FF.. IE похоже не понимает, что это XML.. выводит
а что плохого в использовании xml внутри html? Это же очень удобно.. например для написания компонентов.. Добавлено через 7 минут и 38 секунд я говорю сейчас о том, чтобы писать прямо свои теги внутри html-кода, а не подгружать xml-данные через XMLHttpRequest |
Автор: Exception 14.4.2007, 20:27 | ||
У тебя XSL не подсединилась. Ты все поправки внёс, которые в этой теме перечислялись ![]()
Если не учитывать то, что твоя страница будеть невалидна и не будет читаться (по крайней мере, по-человеческому) поисковиками, текстовыми браузерами, браузерами с отключённым JavaScript, браузерами на мобильных устройствах, устаревшими браузерами и вообще браузерами, не поддерживающими динамический XSLT, ничего страшного. |
Автор: Alx 14.4.2007, 21:18 | ||||||
я вообще XSL не подсоединял... у Explorer`а же есть дефолтовый парсер, который выводит древо элементов..
а чё, прям, если я буду делать как на первой части рисунка (xml+xslt) она будет поддерживаться всеми этими браузерами?
а если обыграть это как xml код + html dtd?.. ну хотя это, конечно, изврат.. и если честно.. я не очень о валидности обычно забочусь.. я сейчас имею ввиду верстку. Добавлено через 2 минуты и 25 секунд кроме того, если речь идет о компонентах, то они обычно всегда так и так используют JavaScript... если это web-приложение.. Добавлено через 5 минут и 5 секунд если конечно это JavaScript, как я понимаю? |
Автор: Exception 14.4.2007, 21:34 | ||||||
Ах ты про это ![]()
Вообще, преобразование лучше делать на сервере. Но по крайней мере если это и делать на клиенте, лучше уж делать стандартным путём. Если написать XML прямо в HTML, возможно, что некоторые браузеры попросту отобразят этот XML в странице, что нехорошо. Уж лучше просто ничего не случится, а ещё лучше выводить сообщение о том, что браузер не поддерживается (если это конечно не массовый сайт, а админ-панель, как в данном примере ![]()
Не уверен, что браузеры поймут твой ход мыслей. Почему? Из лени или у тебя есть доводы против валидности страниц? Да. |
Автор: Alx 15.4.2007, 11:12 | ||||||
да не, я уже понял, что чушь сказал ![]() ![]()
о, а щас всё заработало ![]() ![]()
во-первых не вижу в ней смысла.. во вторых, учитывая взаимную глючность браузеров и не очень-то широкие возможности первичных технологий, очень часто приходится по-разному извращаться, чтобы сверстать то, что тебе нужно.. и, если тратить силы ещё и на валидность.. ну в общем, да, можешь назвать это ленью.. ![]() а можешь конкретно технологию объяснить? что, куда, как и чем? в кратце.
а если просто сделать xml тоже отдельным файлом? и подгружать его и xsl через XMLHttpRequest, обрабатывать через DOM и выводить на страницу в нужное место, это будет норм? я просто пока не очень понимаю принцип работы js+xml и php+xml... пасиб) |
Автор: Exception 17.4.2007, 07:29 |
Ну я всегда ^F5 жму ![]() Ну я бы так не сказал. Благодаря распространению стандартов ситуация значительно улучшилась по сравнению с тем, что было во времена HTML 3.2. Да любой серверной технологией, будь то Java, .NET, PHP, etc. Просто преобразуешь как надо и возвращаешь клиенту. Так и делают обычно (смотри Google Ajaxslt). |