Pull to refresh

Comments 67

изучаешь? молодец! Но, в блоге XML это знают почти все=]
Если бы в блоге XML уже была такая статья, было бы действительно как-то нелепо. А так эта заметка вполне имеет смысл. А то получается, все знают, но никто не рассказывает — этакие заговорщики ))
Но это немного разные по уровню туториалы. Тут же вообще знакомство, а у Вас конкретный солюшн, который требует минимального понимания. Здесь никакого понимания можно не иметь.
Ссылка немного не туда ведёт…

У тебя досаточн подробно всё описано, нужно будет обязательно почиать. А я хотел как можно кроче всё это описать, чтобы можно было газами пробежатья и уловить осноную идею.
А я вот с xsl пока не особо, буду рад почитать статьи для новичков!
UFO just landed and posted this here
но согласитесь, что если блог про Английский язык, то не нужно сюда писать алфавит.
Я вообще офигел, когда прочитал о чем пост, думаю — «а точно ли я на ссылку с главной нажал».
ну вам, такому пиздатому, может в гроб уже пора ложиться: вы же самый умный, самый знающий, и самый одаренный. А мы пока что еще поживем, поучимся =)
зачем вообще что-то писать в блок по аглицкому языку? любой знающий аглицкий и так всё про него знает.
Не обязательно, изучение языка долгий процесс: Как учить слова, как строить предложения, как правильно заниматься, как добиваться правильного произношения, как быстро читать…

Тут как и везде нужно совершенствоваться.
ну, если бы такой же процент населения говорил бы на XML, то тогда да, не надо было бы сюда писать о таких базовых вещах. А если бы на английском говорили только люди группы какойто узкой специальности, то стоило бы и алфавит запостить для любознательных (;
спасибо, почитаю
однажды фондовая биржа РТС решила, что отныне посылать клиринговые отчеты она будет в xml-формате…

так я познакомился с .xslt
Меня всегда интересовала производительность этого xslt преобразования.
Почему-то кажется, что это довольно долго выполняется.
В любом случае это выполняется на клиенте, а на сервер, который это дело формирует наоборот нагрузка должна меньше становиться, таблица преобразований -то одна, и нужно генерить только xml-документы.
Насчёт клиента — не обязательно :)
Работал я с одним движком, который брал этот процесс на себя.
он не один) вообще как правило xslt выполняются на сервере.
UFO just landed and posted this here
зачастую таки дольше…
скрипты вы можете оптимизировать, XSLT-движок только выбрать готовый. конечно вы можете оптимизировать свои шаблоны, переписать некоторые преобразования но в целом технология XSLT очень и очень прожорлива… хотя и гибкая до безобразия :")
UFO just landed and posted this here
ну, когда просто то но конечно быстро. речь идет о более-менее сложных манипуляциях…
Ну многие движки опенсорны.
угу, и обычно уже оптимизированы поэтому оптимизировать дальше обычно некуда. а оно все равно не летает :(
Да, действительно, XSLT-преобразование довольно жадное до ресурсов, но в совокупности с правильным кешированием — очень полезная вещь. В частности разнесения прогрммного кода и дизайна.
Иронично в блоге XML при обновлении комментариев: «Возникла ошибка в получении XML данных» :)
Что все преобразования делаются на стороне клиента это не всегда так, например, мобильные устройства могут не потянуть такое.
За статью спасибо, но хотелось бы в дальнейшем увидеть более сложные манипуляции с преобразованием.
UFO just landed and posted this here
А помоему вы просто фанатик который не любит IE :)

А ктонебуть знает как можно определить на сервере может ли браузер выполнять xslt преобразование.
Вероятно в Accept: искать «application/xml». Если оно передаётся.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
> 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 код...)

UFO just landed and posted this here
давай подойдём к вопросу с практической точки зрения. какая может быть польза от отображения только текстового содержимого xml-файла?
UFO just landed and posted this here
«визуализация не задана» и «задана пустая визуализация» — две большие разницы.

xml — это нечто большее, чем простой гипертекст, поэтому вырезание всех тэгов — не самая разумная дефолтная визуализация.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl"

Это вот не нужно.
Помню, использовал xslt для генерации сайта со статическими страницами из одного большого xml. Даешь Saxon'у два файлика: xml и xslt, и через 10-20 сек. более ста страниц сверстаны — лепота.

Но вот что меня всегда убивало в браузерной обработке xslt — это необходимость в xml ссылатсья на xslt. Ну зачем?!!! Почему данные должны содержать информацию об отображении а не наоборот? Может знающие люди мне объяснят, в чем тайный смысл такого подхода?
может быть для того, чтобы браузер знал какой xslt применить к загруженному xml-файлу? но это так, догадки.
Я-то думал, что логичнее было браузер направлять на xslt, который бы ссылался на xml. В таком случае можно было бы иметь несколько представлений одних данных, а получается наоборот.
Полностью согласен
мммм… а если у вас одно представление и мульён xml? ))
у вас будет мульён представлений?
с другой стороны, если прописывать в представлении данные, то нельзя получать разные данные в одном представлении =)

на практике, однако, представление меняется реже данных и устаревание представления не столь критично, как устаревание данных => представление можно более эффективно закэшировать.

хотя, конечно, самый шик — выдавать xml-ку, в которой содержатся только ссылки на данные и представление. такую xml-ку можно быстро генерить на лету, а данные и представление отдавать из кэша.

но к сожалению браузеры не поддерживают xml-includes, а xsl:document не является кроссбраузерным, так что подгружать данные придётся аяксом…
Полнейшая чушь. Один xslt файл может преобразовывать совершенно разные xml'имны, причём весьма разным способом каждую в зависимости от содержимого. Браузер логично «направлять» именно на данные — вы ведь на сайт заходите смотреть именно на данные (информацию), а не на обрабатывающий их скрипт.
Может я чего-то недопонимаю, но по-моему, если брать HTML, то HTML-документ (данные) ссылается на CSS (представление), а не наоборот. Так же и в XML-XSLT.
Насколько я понимаю, цель выкладывания xml в качестве страницы в том, чтобы избавиться от представления и предоставить данные, которые можно представлять каким угодно способом. Иначе как раз и получается, что все как в html-css.

Короче, на мой взгляд, вообще неправильно их каким-то жестким образом (ссылаться из xml на xslt или наоборот) связывать. Имело бы смысл давать браузеру ссылку на xml и ссылку на xslt. Иначе теряется гибкость.
ну вот запрашиваете вы страницу хттп://интернетмагазин. ру/продукты/

Что вы должны получить? файл с данными к которому прикреплён файл преобразований или наоборот?
По-моему первое. Таблица преобразований скорее всего бует готовым файлом, а вот xml с данными будет создаватьс динамически. И потом, как было выше замечено, если одна таблица преобразований обрабатывает несколько файлов, как в ней указать, к какому файлу она относится.

И потом все данные в xml-документе находятся внутри корневого элемента, а таблица подключается с помощью специальной директивы препроцессора.

Другое дело, если вы на сервере это дело обрабатываете. В дотнете есть специальные методы, там у вас отдельно данные и отдельно таблица преобразований (оба в виде xml-документов). Они передаются в метод, а на выходе получается новый документ и никто ни на что не ссылается.
Все, убедили. Ordos persuasion skill +1
Здаюсь ))
рассматривай это как «дефолтное представление» =)
кому надо — тот получит данные и наложит на них нужное ему представление. и сделать это будет гораздо проще, чем в случае с html+microformats
Все, убедили. tenshi persuasion skill +1
Здаюсь ))
Обожаю любовь авторов к практике!
Отличный практический пример. Спасибо.
Заметка написана очень просто и доступно. Спасибо!
А есть ли какие либо редактор для ускоренния построения XSLT для предброзования в XHTML? В идеале только мышкой чтоб можно было обойтись )
Visual Studio 2008 (воможно и более ранние) Там много возможностей от просмотра сгенерированного документа до дебага при обработке xml.
На счёт одной мышкой — это врятли, хотя кто знает…
UFO just landed and posted this here
А можете что-то порекомендовать для написания сложной документации в связке XML-XSLT? На работе коллеги пишут множество документов, которые в дальнейшем переводятся на иностранные языки. Интересует всё: редакторы, цепочка «исходный текст — … — конечный документ», советы, ссылки, личный опыт.
Sign up to leave a comment.

Articles