Если бы в блоге XML уже была такая статья, было бы действительно как-то нелепо. А так эта заметка вполне имеет смысл. А то получается, все знают, но никто не рассказывает — этакие заговорщики ))
Но это немного разные по уровню туториалы. Тут же вообще знакомство, а у Вас конкретный солюшн, который требует минимального понимания. Здесь никакого понимания можно не иметь.
У тебя досаточн подробно всё описано, нужно будет обязательно почиать. А я хотел как можно кроче всё это описать, чтобы можно было газами пробежатья и уловить осноную идею.
но согласитесь, что если блог про Английский язык, то не нужно сюда писать алфавит.
Я вообще офигел, когда прочитал о чем пост, думаю — «а точно ли я на ссылку с главной нажал».
Не обязательно, изучение языка долгий процесс: Как учить слова, как строить предложения, как правильно заниматься, как добиваться правильного произношения, как быстро читать…
ну, если бы такой же процент населения говорил бы на XML, то тогда да, не надо было бы сюда писать о таких базовых вещах. А если бы на английском говорили только люди группы какойто узкой специальности, то стоило бы и алфавит запостить для любознательных (;
В любом случае это выполняется на клиенте, а на сервер, который это дело формирует наоборот нагрузка должна меньше становиться, таблица преобразований -то одна, и нужно генерить только xml-документы.
зачастую таки дольше…
скрипты вы можете оптимизировать, XSLT-движок только выбрать готовый. конечно вы можете оптимизировать свои шаблоны, переписать некоторые преобразования но в целом технология XSLT очень и очень прожорлива… хотя и гибкая до безобразия :")
Да, действительно, XSLT-преобразование довольно жадное до ресурсов, но в совокупности с правильным кешированием — очень полезная вещь. В частности разнесения прогрммного кода и дизайна.
Иронично в блоге XML при обновлении комментариев: «Возникла ошибка в получении XML данных» :)
Что все преобразования делаются на стороне клиента это не всегда так, например, мобильные устройства могут не потянуть такое.
За статью спасибо, но хотелось бы в дальнейшем увидеть более сложные манипуляции с преобразованием.
только в случае гипертекста. для xml-ля он показывает дерево с подсветкой синтаксиса, фолдингом и тп
> Ведь если я IE дам XHTML без указания CSS или XSLT, он же не покажет его в этаком иерархическом виде?
ага, он предложит его сохранить на диск ;-)
> в чем разница между XHTML, который по сути XML с определенным namespace и любым другим XML? В namespace?
в том, что браузер знает этот неймспейс, а потому работает с его элементами по особому. например, [инпут тип=«файл»] на голом xml+xsl+css+js не сделать — нужен именно html. основное отличие html jn xml в том, что:
html — это прежде всего текст, размеченный дополнительно тэгами
а xml — это прежде всего дерево с данными, где имена тэгов и их взаимное расположение не менее важно чем содержащийся в них текст.
> Так namespace-selector в CSS вообще недавно появился, не уверен, поддерживает ли его IE вообще.
не поддерживается, но есть обходные пути: d-o-b.ru/?article:kill.html
> Получается у IE один набор правил для XHTML, и другой — для любого другого XML.
ие не поддерживает xhtml, но он поддерживает html, xml и xslt. при этом html можно генерировать из xml посредством xslt, а можно выдавать xhtml с миме-типом html, так как он синтаксически с ним совместим и ие его нормально скушает (при учёте наложения некоторых дополнительных ограничений на xhtml код...)
Помню, использовал xslt для генерации сайта со статическими страницами из одного большого xml. Даешь Saxon'у два файлика: xml и xslt, и через 10-20 сек. более ста страниц сверстаны — лепота.
Но вот что меня всегда убивало в браузерной обработке xslt — это необходимость в xml ссылатсья на xslt. Ну зачем?!!! Почему данные должны содержать информацию об отображении а не наоборот? Может знающие люди мне объяснят, в чем тайный смысл такого подхода?
Я-то думал, что логичнее было браузер направлять на xslt, который бы ссылался на xml. В таком случае можно было бы иметь несколько представлений одних данных, а получается наоборот.
с другой стороны, если прописывать в представлении данные, то нельзя получать разные данные в одном представлении =)
на практике, однако, представление меняется реже данных и устаревание представления не столь критично, как устаревание данных => представление можно более эффективно закэшировать.
хотя, конечно, самый шик — выдавать xml-ку, в которой содержатся только ссылки на данные и представление. такую xml-ку можно быстро генерить на лету, а данные и представление отдавать из кэша.
но к сожалению браузеры не поддерживают xml-includes, а xsl:document не является кроссбраузерным, так что подгружать данные придётся аяксом…
Полнейшая чушь. Один xslt файл может преобразовывать совершенно разные xml'имны, причём весьма разным способом каждую в зависимости от содержимого. Браузер логично «направлять» именно на данные — вы ведь на сайт заходите смотреть именно на данные (информацию), а не на обрабатывающий их скрипт.
Может я чего-то недопонимаю, но по-моему, если брать HTML, то HTML-документ (данные) ссылается на CSS (представление), а не наоборот. Так же и в XML-XSLT.
Насколько я понимаю, цель выкладывания xml в качестве страницы в том, чтобы избавиться от представления и предоставить данные, которые можно представлять каким угодно способом. Иначе как раз и получается, что все как в html-css.
Короче, на мой взгляд, вообще неправильно их каким-то жестким образом (ссылаться из xml на xslt или наоборот) связывать. Имело бы смысл давать браузеру ссылку на xml и ссылку на xslt. Иначе теряется гибкость.
ну вот запрашиваете вы страницу хттп://интернетмагазин. ру/продукты/
Что вы должны получить? файл с данными к которому прикреплён файл преобразований или наоборот?
По-моему первое. Таблица преобразований скорее всего бует готовым файлом, а вот xml с данными будет создаватьс динамически. И потом, как было выше замечено, если одна таблица преобразований обрабатывает несколько файлов, как в ней указать, к какому файлу она относится.
И потом все данные в xml-документе находятся внутри корневого элемента, а таблица подключается с помощью специальной директивы препроцессора.
Другое дело, если вы на сервере это дело обрабатываете. В дотнете есть специальные методы, там у вас отдельно данные и отдельно таблица преобразований (оба в виде xml-документов). Они передаются в метод, а на выходе получается новый документ и никто ни на что не ссылается.
рассматривай это как «дефолтное представление» =)
кому надо — тот получит данные и наложит на них нужное ему представление. и сделать это будет гораздо проще, чем в случае с html+microformats
Visual Studio 2008 (воможно и более ранние) Там много возможностей от просмотра сгенерированного документа до дебага при обработке xml.
На счёт одной мышкой — это врятли, хотя кто знает…
А можете что-то порекомендовать для написания сложной документации в связке XML-XSLT? На работе коллеги пишут множество документов, которые в дальнейшем переводятся на иностранные языки. Интересует всё: редакторы, цепочка «исходный текст — … — конечный документ», советы, ссылки, личный опыт.
Визуализация Xml-документов