Комментарии 67
изучаешь? молодец! Но, в блоге XML это знают почти все=]
Если бы в блоге XML уже была такая статья, было бы действительно как-то нелепо. А так эта заметка вполне имеет смысл. А то получается, все знают, но никто не рассказывает — этакие заговорщики ))
Уже писал как это делать пол года назад
habrahabr.ru/blogs/webdev/22236/
habrahabr.ru/blogs/webdev/22236/
Но это немного разные по уровню туториалы. Тут же вообще знакомство, а у Вас конкретный солюшн, который требует минимального понимания. Здесь никакого понимания можно не иметь.
Ссылка немного не туда ведёт…
У тебя досаточн подробно всё описано, нужно будет обязательно почиать. А я хотел как можно кроче всё это описать, чтобы можно было газами пробежатья и уловить осноную идею.
У тебя досаточн подробно всё описано, нужно будет обязательно почиать. А я хотел как можно кроче всё это описать, чтобы можно было газами пробежатья и уловить осноную идею.
А я вот с xsl пока не особо, буду рад почитать статьи для новичков!
НЛО прилетело и опубликовало эту надпись здесь
но согласитесь, что если блог про Английский язык, то не нужно сюда писать алфавит.
Я вообще офигел, когда прочитал о чем пост, думаю — «а точно ли я на ссылку с главной нажал».
Я вообще офигел, когда прочитал о чем пост, думаю — «а точно ли я на ссылку с главной нажал».
ну вам, такому пиздатому, может в гроб уже пора ложиться: вы же самый умный, самый знающий, и самый одаренный. А мы пока что еще поживем, поучимся =)
зачем вообще что-то писать в блок по аглицкому языку? любой знающий аглицкий и так всё про него знает.
ну, если бы такой же процент населения говорил бы на XML, то тогда да, не надо было бы сюда писать о таких базовых вещах. А если бы на английском говорили только люди группы какойто узкой специальности, то стоило бы и алфавит запостить для любознательных (;
когда я начал изучать XSLT мне здорово помог
вот этот мануал — www.w3schools.com/Xsl/
вот этот мануал — www.w3schools.com/Xsl/
однажды фондовая биржа РТС решила, что отныне посылать клиринговые отчеты она будет в xml-формате…
так я познакомился с .xslt
так я познакомился с .xslt
Меня всегда интересовала производительность этого xslt преобразования.
Почему-то кажется, что это довольно долго выполняется.
Почему-то кажется, что это довольно долго выполняется.
В любом случае это выполняется на клиенте, а на сервер, который это дело формирует наоборот нагрузка должна меньше становиться, таблица преобразований -то одна, и нужно генерить только xml-документы.
НЛО прилетело и опубликовало эту надпись здесь
зачастую таки дольше…
скрипты вы можете оптимизировать, XSLT-движок только выбрать готовый. конечно вы можете оптимизировать свои шаблоны, переписать некоторые преобразования но в целом технология XSLT очень и очень прожорлива… хотя и гибкая до безобразия :")
скрипты вы можете оптимизировать, XSLT-движок только выбрать готовый. конечно вы можете оптимизировать свои шаблоны, переписать некоторые преобразования но в целом технология XSLT очень и очень прожорлива… хотя и гибкая до безобразия :")
Да, действительно, XSLT-преобразование довольно жадное до ресурсов, но в совокупности с правильным кешированием — очень полезная вещь. В частности разнесения прогрммного кода и дизайна.
Иронично в блоге XML при обновлении комментариев: «Возникла ошибка в получении XML данных» :)
Что все преобразования делаются на стороне клиента это не всегда так, например, мобильные устройства могут не потянуть такое.
За статью спасибо, но хотелось бы в дальнейшем увидеть более сложные манипуляции с преобразованием.
Что все преобразования делаются на стороне клиента это не всегда так, например, мобильные устройства могут не потянуть такое.
За статью спасибо, но хотелось бы в дальнейшем увидеть более сложные манипуляции с преобразованием.
НЛО прилетело и опубликовало эту надпись здесь
А помоему вы просто фанатик который не любит IE :)
А ктонебуть знает как можно определить на сервере может ли браузер выполнять xslt преобразование.
А ктонебуть знает как можно определить на сервере может ли браузер выполнять xslt преобразование.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
> Firefox делает ровно то же самое что и Safari.
только в случае гипертекста. для 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 код...)
только в случае гипертекста. для 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 код...)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl"
Это вот не нужно.
Помню, использовал xslt для генерации сайта со статическими страницами из одного большого xml. Даешь Saxon'у два файлика: xml и xslt, и через 10-20 сек. более ста страниц сверстаны — лепота.
Но вот что меня всегда убивало в браузерной обработке xslt — это необходимость в xml ссылатсья на xslt. Ну зачем?!!! Почему данные должны содержать информацию об отображении а не наоборот? Может знающие люди мне объяснят, в чем тайный смысл такого подхода?
Но вот что меня всегда убивало в браузерной обработке xslt — это необходимость в xml ссылатсья на xslt. Ну зачем?!!! Почему данные должны содержать информацию об отображении а не наоборот? Может знающие люди мне объяснят, в чем тайный смысл такого подхода?
может быть для того, чтобы браузер знал какой xslt применить к загруженному xml-файлу? но это так, догадки.
Я-то думал, что логичнее было браузер направлять на xslt, который бы ссылался на xml. В таком случае можно было бы иметь несколько представлений одних данных, а получается наоборот.
Полностью согласен
мммм… а если у вас одно представление и мульён xml? ))
у вас будет мульён представлений?
у вас будет мульён представлений?
с другой стороны, если прописывать в представлении данные, то нельзя получать разные данные в одном представлении =)
на практике, однако, представление меняется реже данных и устаревание представления не столь критично, как устаревание данных => представление можно более эффективно закэшировать.
хотя, конечно, самый шик — выдавать xml-ку, в которой содержатся только ссылки на данные и представление. такую xml-ку можно быстро генерить на лету, а данные и представление отдавать из кэша.
но к сожалению браузеры не поддерживают xml-includes, а xsl:document не является кроссбраузерным, так что подгружать данные придётся аяксом…
на практике, однако, представление меняется реже данных и устаревание представления не столь критично, как устаревание данных => представление можно более эффективно закэшировать.
хотя, конечно, самый шик — выдавать xml-ку, в которой содержатся только ссылки на данные и представление. такую xml-ку можно быстро генерить на лету, а данные и представление отдавать из кэша.
но к сожалению браузеры не поддерживают xml-includes, а xsl:document не является кроссбраузерным, так что подгружать данные придётся аяксом…
Полнейшая чушь. Один xslt файл может преобразовывать совершенно разные xml'имны, причём весьма разным способом каждую в зависимости от содержимого. Браузер логично «направлять» именно на данные — вы ведь на сайт заходите смотреть именно на данные (информацию), а не на обрабатывающий их скрипт.
Может я чего-то недопонимаю, но по-моему, если брать HTML, то HTML-документ (данные) ссылается на CSS (представление), а не наоборот. Так же и в XML-XSLT.
Насколько я понимаю, цель выкладывания xml в качестве страницы в том, чтобы избавиться от представления и предоставить данные, которые можно представлять каким угодно способом. Иначе как раз и получается, что все как в html-css.
Короче, на мой взгляд, вообще неправильно их каким-то жестким образом (ссылаться из xml на xslt или наоборот) связывать. Имело бы смысл давать браузеру ссылку на xml и ссылку на xslt. Иначе теряется гибкость.
Короче, на мой взгляд, вообще неправильно их каким-то жестким образом (ссылаться из xml на xslt или наоборот) связывать. Имело бы смысл давать браузеру ссылку на xml и ссылку на xslt. Иначе теряется гибкость.
ну вот запрашиваете вы страницу хттп://интернетмагазин. ру/продукты/
Что вы должны получить? файл с данными к которому прикреплён файл преобразований или наоборот?
По-моему первое. Таблица преобразований скорее всего бует готовым файлом, а вот xml с данными будет создаватьс динамически. И потом, как было выше замечено, если одна таблица преобразований обрабатывает несколько файлов, как в ней указать, к какому файлу она относится.
И потом все данные в xml-документе находятся внутри корневого элемента, а таблица подключается с помощью специальной директивы препроцессора.
Другое дело, если вы на сервере это дело обрабатываете. В дотнете есть специальные методы, там у вас отдельно данные и отдельно таблица преобразований (оба в виде xml-документов). Они передаются в метод, а на выходе получается новый документ и никто ни на что не ссылается.
Что вы должны получить? файл с данными к которому прикреплён файл преобразований или наоборот?
По-моему первое. Таблица преобразований скорее всего бует готовым файлом, а вот xml с данными будет создаватьс динамически. И потом, как было выше замечено, если одна таблица преобразований обрабатывает несколько файлов, как в ней указать, к какому файлу она относится.
И потом все данные в xml-документе находятся внутри корневого элемента, а таблица подключается с помощью специальной директивы препроцессора.
Другое дело, если вы на сервере это дело обрабатываете. В дотнете есть специальные методы, там у вас отдельно данные и отдельно таблица преобразований (оба в виде xml-документов). Они передаются в метод, а на выходе получается новый документ и никто ни на что не ссылается.
рассматривай это как «дефолтное представление» =)
кому надо — тот получит данные и наложит на них нужное ему представление. и сделать это будет гораздо проще, чем в случае с html+microformats
кому надо — тот получит данные и наложит на них нужное ему представление. и сделать это будет гораздо проще, чем в случае с html+microformats
Обожаю любовь авторов к практике!
Отличный практический пример. Спасибо.
Заметка написана очень просто и доступно. Спасибо!
А есть ли какие либо редактор для ускоренния построения XSLT для предброзования в XHTML? В идеале только мышкой чтоб можно было обойтись )
А можете что-то порекомендовать для написания сложной документации в связке XML-XSLT? На работе коллеги пишут множество документов, которые в дальнейшем переводятся на иностранные языки. Интересует всё: редакторы, цепочка «исходный текст — … — конечный документ», советы, ссылки, личный опыт.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Визуализация Xml-документов