Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > XML с чем это едят?


Автор: Gold Dragon 22.5.2005, 10:35
Читаю статьи и так толком не понимаю что это всё же такое. Для чего используется XML и чем он лучше HTML. Мне больше интересует возможности языка и его необходимость.

Если не трудно, приведите примеры (желательно на руссом языке smile) где он не заменим. Встречал несколько программ которые ведут отчёты в XML, таже TMeter

Автор: Irokez 22.5.2005, 10:56
наверное, главное преимущество XML над HTML в том что, в XML можно определять собственные теги, в то время как в HTML имеется стандартный набор. Более того в XML можно определить правила использования собственных тегов, их параметры, как они должны вставлять в XML документ.
насколько я знаю XML применяется как альтернатива HTML, т.е. в веб-сайтах, в качестве небольших баз данных, конфигурационные файлы и логи. Если не ошибаюсь, то XML также является форматом офисных файлов (word, excel)

Автор: Gold Dragon 22.5.2005, 10:58
Если я правильно понимаю, его очень хорошо можно использовать в шаблонах

Автор: Irokez 22.5.2005, 10:59
Цитата(Red @ 22.5.2005, 10:58)
Если я правильно понимаю, его очень хорошо можно использовать в шаблонах


да, на то он и язык разметки

Автор: dm9 22.5.2005, 11:01
Я толком не писал, только начинаю экспериментировать по-маленьку.

XSLT - технология преобразования одного XML в другой. Например, XML с данными в XHTML. Весь дизайн находится в листе стилей. Преимущества очевидны: для смены дизайна меняем только лист стилей, данные же находятся в XML, поэтому в исходники сайта/форума лезть не надо. Плюс траффик, конечно... перекачивать придётся только данные, интерфейс закачиваем один раз, потом он кэшируется. Пока технология поддерживается только IE и Firefox-ом. Но для Оперы можно пока это преобразование делать на сервере (определить на сервере браузер и в зависимости от этого уже давать юзеру xml или готовый html).

Вот примерчик простенький, генерирование "Hello, world!".

index.xml:
Код
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="hello.xsl"?>
<greeting>Hello, world!</greeting>


hello.xsl:
Код
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <html>
    <head>
        <title>Today's greeting</title>
    </head>
    <body>
        <p><xsl:value-of select="greeting"/></p>
    </body>
    </html>
</xsl:template>
</xsl:stylesheet>


Добавлено @ 11:04
PS Пример взят из книги "XSLT" Майкла Кэя, издательство Wrox, серия "Programmer to Programmer".

Автор: batigoal 22.5.2005, 17:43
Главное преимущество - универсальность=расширяемость. Можно описывать графические изображения, сведения о заказах, конфигурационные настройки и черте-что еще. И потом обрабатываать эти данные в любых программах.

Вот здесь я писал, для чего в нашем проекте используется XML:
http://forum.vingrad.ru/index.php?showtopic=52043&view=findpost&p=409957

Автор: Cheba 22.5.2005, 19:03
Цитата(Irokez @ 22.5.2005, 10:56)
Если не ошибаюсь, то XML также является форматом офисных файлов (word, excel)

Ошибаешся. Это в OpenOffice.org так, но не в MS Office.

Вообще-то на данный момент долее или менее нормально поддерживаются лишь две технологии из всего семейства Х-технологий - это сам XML и XSLT.

Реально же незаменимым XML станет тогда, когда будут поддерживаться все Х-технологии (XPath, XPointer, XLink, XML Fragment Interchange и многие другие). Тогда очень много вещей станут безумно простыми и то, что сейчас делают серверные скрипты на много траниц кода, будет выполняться всего-лишь несколькини строками в XML-документе.


ПыСы: Рекомендую к прочтению книгу "XML для профессионалов". Книга хоть и старая, но полезная.

Автор: dm9 22.5.2005, 19:19
А можно более точное описание книги?

Автор: batigoal 22.5.2005, 20:04
Да книг-то хороших много. В основном, издательства O'Reilly.

Автор: Cheba 22.5.2005, 21:32
Цитата(dm9 @ 22.5.2005, 19:19)
А можно более точное описание книги?

http://www.ozon.ru/context/book_detail/id/123121/

Автор: dm9 22.5.2005, 21:36
Спасибо, посмотрю...

Автор: Gregof 23.5.2005, 06:29
Цитата(Cheba @ 22.5.2005, 19:03)
Реально же незаменимым XML станет тогда, когда будут поддерживаться все Х-технологии (XPath, XPointer, XLink, XML Fragment Interchange и многие другие).
Cheba насчет XPath ты погрячился, я бы отнес его к уже поддерживаемым стандартам. Например в том же XSLT все условия строяться по XPath.
А к ожидаемым добавил XQuery.

Автор: Gold Dragon 23.5.2005, 08:04
Цитата(Lamer @ 22.5.2005, 17:43)
Можно описывать графические изображения, сведения о заказах, конфигурационные настройки и черте-что еще.

А смысл? Если это можно описывать в обыкновенном файле, он будет и меньше и проблем со спецификацией нет.

Автор: Cheba 23.5.2005, 08:44
Gregof, ну, в некоторой степени ты прав... Если посмотреть на Мозиллу так вообще мало чего не поддерживаемого осталось, но если обратить взор на остальных, то поддержка многих технологий ставится под сомнение...

Автор: Ignat 23.5.2005, 08:54
Цитата(Irokez @ 22.5.2005, 11:56)
XML применяется как альтернатива HTML

Не совсем верно - как сказал dm9, встроенные XML парсеры есть в двух браузерах. Поэтому, чаще трансформация проводится серверным парсером (распространены SAXON и Sablotron), а клиент получает тот же HTML. XML служит в первую очередь для стандартизации структур данных.

Цитата(Red @ 23.5.2005, 09:04)
А смысл? Если это можно описывать в обыкновенном файле, он будет и меньше и проблем со спецификацией нет.


А вот как раз со спецификацией проблемы и возникают. Зато при использовании XML (теоретически) этих проблем нет. "Теоретически" - потому как только малое количество XML документов используют стандартные, уже написанные, DTD либо открыто декларируют свой. Чаще всего мы сталкиваемся с "эгоистичным" формированием документа, т.е. теги используемые в документе известны одному автору, а что он под этим подразумевал никому не известно.

Автор: Gregof 23.5.2005, 09:12
Цитата(Cheba @ 23.5.2005, 08:44)
если обратить взор на остальных, то поддержка многих технологий ставится под сомнение
Это вопрос времени, иначе они остануться забортом. Если рассматривать броузеры, то не только Mozilla, от нее ничем не отстает IE, правда оба поддерживают их по разному, из-за чего призодиться постоянно маневрировать, что мне уже порядком надоело. А Опера это вообще отдельная песня smile.

Цитата(Red @ 23.5.2005, 08:04)
А смысл? Если это можно описывать в обыкновенном файле, он будет и меньше и проблем со спецификацией нет.
Неправда. Легко ли понять чужой файл? А если он еще вдобавок генерируемый.

Основные свойства языка XML(Ода XML):
1. Независимый формат данных. При использовании XML как формата выходных и входных данных приложения, данные становятся независимы от самого приложения, что повышает способность взаимодействия.
2. Одни данные, несколько представлений. В силу того, что формат не зависит от приложения, очевидно, что одни и те же данные можно отображать разными способами и разными приложениями.
3. Улучшенные возможности поиска данных. Поскольку XML определяет семантическую структуру документа, это способствует созданию дополнительных возможностей для поиска информации. Например, индексирующие и поисковые средства могут работать не только с самими данными, но и с разметкой (метаданными)
4. Облегчение доступа к данным. В мире в настоящее время существует большое количество информации, доступ к которой затруднен из-за того, что она хранится в разнородных и несовместимых форматах. Перевод в формат XML откроет доступ к таким данным.
5. Более простая разработка приложений. XML делает необязательной реализацию поддержки большого количества бинарных форматов, вследствие чего разработка приложений становится значительно проще.
6. Использование готовых решений. При управлении данными, как правило возникает необходимость решения "шаблонных" задач, таких, как верификация данных, лексический и синтаксический разбор, и.т.д. Переход к формату XML способен убрать необходимость создания своих собственных реализаций для решения подобных задач.
7. XML файл может быть прочитан человеком.
8. XML поддерживается большим количеством стандартов. Эти стандарты предназначены для того, чтобы гарантировать совместимость приложений пользователя и готовых решений. В их число входят стандарты API для лексического и синтаксического анализа (SAX), стандарт для управления объектной моделью документа (DOM) и другие стандарты.



Автор: 3,14 23.5.2005, 11:32
Сравнивать XML и HTML имхо особого смысла не имеет ибо:
XML - язык используемый для хранения данных (data layer)
HTML - язык используемый для представления данных пользователю (presentation layer)
Грубо говоря XML скорее используется для облегчения написания программ/сложных програмных комплексов,в то время как HTML инструмент для создания пользовательского интерфейса

Автор: Cheba 23.5.2005, 14:42
Цитата(Gregof @ 23.5.2005, 09:12)
Если рассматривать броузеры, то не только Mozilla, от нее ничем не отстает IE, правда оба поддерживают их по разному,

Либо поддерживают, либо нет. По разному нельзя из-за того, что есть спецификации.
http://www.mozilla.org/newlayout/xml/
Добавлено @ 14:43
А что умеет IE?

Автор: Gold Dragon 23.5.2005, 14:44
3,14
это понятно, у меня вопрос, есть ли смысл ханить данные в XML и чем это целесообразнее?


PS
я просто ещё плохо понимаю эту технологию smile

Автор: 3,14 23.5.2005, 14:45
Цитата(Cheba @ 23.5.2005, 14:42)
По разному нельзя из-за того, что есть спецификации.

Мозилу не тестил, но в IE несоотвествие спецификациям находил в случае XML + XSLT = HTML, какие уже точно не помню, но в итоге головной боли это доставило не мало

Автор: 3,14 23.5.2005, 14:55
Цитата(Red @ 23.5.2005, 14:44)
это понятно, у меня вопрос, есть ли смысл ханить данные в XML и чем это целесообразнее?

Ну если хранить данные в XML как в БД то я бы этого делать не стал, а вот генерировать программой сначала XML а потом посредствам XSLT генерировать HTML - смысл имеет и ещё какой, это уже всё обсуждалось жаль что топики куда-то исчезли smile
На вскидку могу привести две наиболее важных на мой взгляд причины для использования такого подхода:
  • Разделение кода и интерфейса (все HTML тэги выносяться в XSLT шаблоны)
  • Упрощение интеграции новых возможностей (с XML работать умеют очень многие библиотеки/программы)

Автор: Gregof 23.5.2005, 15:01
Цитата(Cheba @ 23.5.2005, 14:42)
А что умеет IE?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/b24aafc2-bf1b-4702-bf1c-b7ae3597eb0c.asp
Цитата(Cheba @ 23.5.2005, 14:42)
Либо поддерживают, либо нет. По разному нельзя из-за того, что есть спецификации.
Спецификации, читай рекомендации smile. В полное мере их непридерживатеся никто. Вот и приходиться маневрировать smile .

Автор: Cheba 24.5.2005, 08:37
Цитата(Gregof @ 23.5.2005, 15:01)
MSXML

Хм... Имеем только сам XML и XSLT (DOM и SAX - это API). Да и то, как уже было сказано, не такие, как описано в рекомендациях. Не густо...

Автор: 3,14 24.5.2005, 08:52
Cheba как правило вполне достаточно

Автор: slang 31.5.2005, 10:49
Из всего выше сказанного я понял, что единственное преимущество xml заключается в том, что данные хранимые в этом формате может прочитать человек. При этом были фразы, что в этом формате имеет смысл хранить не большой объем данных и что этот "стандарт" используется для построения больших информационных порталов.
Хранение данных - представьте, каким получится файл с базой данных этого уважаемого форума!!! И как его сможет прочитать человек. Какой смысл программно преобразовывать информацию из БД, той-же SQL в формат XML, чтобы потом создать HTML файл?
Если учесть, что компания Microsoft объявила, что на основе этого стандарта будет построена следующая линейка офисных приложений, видимо в этом что-то есть. На данный момент это формат, который частично собой заменяет HTML. При этом, для того, что бы сделать шаблон, нужно использовать те-же теги HTML.
Так какой прикол этого стандарта?
Ну раскажите кто-нибудь, кто сделал серьезный проект на основе XML. Почему был выбран именно этот путь с конкретными причинами. Почему нельзя было использовать те-же PHP, ASP и т.д. Эти технологии, очень легко справляются с большим объемом данных, и очень не плохо справляются с задачей шаблонов.

Автор: 3,14 31.5.2005, 11:38
Цитата(slang @ 31.5.2005, 10:49)
Из всего выше сказанного я понял, что единственное преимущество xml заключается в том, что данные хранимые в этом формате может прочитать человек.

Основное преимущество XML в том что он поддерживается практически всем, чем только можно представить, при этом программы-обработчики XML просты как для понимания так и для написания
Цитата(slang @ 31.5.2005, 10:49)
Хранение данных - представьте, каким получится файл с базой данных этого уважаемого форума!!!

Даже при использовании XML данные всё равно как правило хранят в реляционных БД, а не XML файлами
Цитата(slang @ 31.5.2005, 10:49)
Почему нельзя было использовать те-же PHP, ASP и т.д

PHP, ASP, JAVA всё равно используются, XML это не скрипт а статический документ и заменить их он никак не может, как правило немалой частью обработки данных является генерация XMl документов средствами того же PHP или ASP
Цитата(slang @ 31.5.2005, 10:49)
Почему был выбран именно этот путь с конкретными причинами.

Представь что разработчикам нужно интегрировать работу двух совершенно разных приложений. Одно из них написанно на Java и работает под linux а другое на ASP под windows, вместо того чтоб придумывать протокол обмена, писать под него библиотеки, отлаживать их, они просто берут SOAP к-ый понимают и Java, и ASP (как и многие другие), и имеют уже готовый инструмент для разработки

Вот неплохая статья по данной тематике: http://www.osp.ru/cw/2002/28-29/032_1_print.htm

Автор: dm9 31.5.2005, 11:43
Если мы про технологию XSLT, то это:
1) Полное отделение данных от внешнего представления, причём не самопальными шаблонами, а стандартным, понятным всем методом.
2) Возможность собирания конечного html на клиенте, передача по сети только данных (передача оформления, xsl-файла, идёт 1 раз, потом он кэшируется).

Правда, поддерживается это пока только ИЕ и Firefox'ом.

Автор: batigoal 31.5.2005, 13:03
Плюс отработанные механизмы валидации документов, то есть проверки на соответствие определенному шаблону.

Автор: Се ля ви 31.5.2005, 13:14
slang
Если сравнивать XML и БД, то они для разных задачь используются, хотя частично их области применения и пересекаются, т.е. то, что можно удобно сделать на основе XML, можно неудобно сделать на основе таблиц БД - и наоборот.

XML лучше подходит именно для оформления содержания документов и потоков данных, не зависимо от формы их представления, т.е. представляет сами данные. В отличае от БД, XML лучше подходит для гибких иерархических, а не жестких табличных структур данных.

Кроме того, в некоторых БД (напр. в Oracl`е) есть даже специальные форматы полей, предназначенные для хранения XML-данных, к которым можно обращаться и вытаскивать содержимое конкретных узлов, пользуясь языком XQL. Так что никто не говорит о том, что вы используете ИЛИ БД, ИЛИ XML - у всего своя роль и функции.

Например, хотите вы сделать сайт, у которого будет три интерфейса: html, wml (для WAP`а) и pdf (для статей, что бы их было удобнее распечатывать и читать). Ясно, что инфа будет везде одна, но везде - в разном виде. Каждый документ - сам по себе документ, и вы создаёте шаблон, в котором прописываете все теги, которые вам могут понадобиться, что бы просто представить эту информацию, отвлекаясь от того, как она будет показываться. Затем, по этому шаблону делаете таблицы преобразования в эти три разные формата, а сами xml-документы - храните в БД.

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

В итоге вы получаете:

1) Возможность распараллелить труд по набиванию контента и труд по дизайну/вёрстке сайта, по-этому если есть люди, то сайт можно сделать в 2 раза быстрее - создали шаблон и поехали набивать контент, пока дизайнер ещё только придумывает, как оно будет выглядеть. Как придумает, верстальщик сверстает таблицу преобраования - а тут уже и контент весь набили - всё собрали и сайт готов. А редизайн такого сайта - ну просто сказка - переделали таблицы преобразования и прогнали через них весь контент - сайт выглядит полностью по-другому за максимально короткое время и при минимальных затратах.

2) Технология CSS даёт некоторые узкие возможности по изменению представления при едином контенте, описанном в HTML, но если проводить аналигию с машиной, то она здесь примерно такая: HTML/CSS - позволяет перекрасить машину, раскрасив как нравится, а XML/XSL - позволяет заменить корпус, переставить двигатель в другое место, сменить шины и т.д. В XSL ты буквально говоришь - взять информацию из этого тега и поместить её в такой-то тег получающегося документа - вы можете дублировать информацию в разные места документа, можете просто игнорировать ненужные данные или вообще свободно манипулировать данными исходного документа при преобразовании как вам вздумается, помещая их в результирующий документ куда хотите.

3) В клиент-серверной архитектуре вы можете сами решать, как распределять нагрузку - на клиента или на сервер. Например, можно слать данные в XML`е на клиента, что бы он там сам как-то с ними разбирался, или всю нагрузку по обработке данных возлагать на сервер и посылать результат клиенту. Можно это вообще делать динамически, в зависимости от нагрузки на сервер.

4) Не будете же вы вбивать в отдельное поле базы данных указание, что данное слово внутри текста должно быть выделено (т.е. предполагая, что в тексте оно будет жирным, голосовому браузеру - сделать на нём акцент, и т.д.). Вот для таких мелких задачек с документной спецификой как раз лучше подходит xml.

5) Нам не дано предугадать заранее, что мы вообще решим с нашей информацией делать. Создавая xml-документ, да ещё и в кодировке UTF-8, мы имеем гарантию, что все будущие браузеры смогут распознать эти данные и сделать с ними то, что захотят. Например, вы вдруг через 10 лет решите сделать 3D-постановку по какой-то книге, оформленной в виде XML, виртуальные герои смогут просто читать данные из документа и произносить слова, совершая определённые действия, согласно сценарию. Написание текста книги в виде XML облегчит вам задачу smile

6)Ряд технологий просто основаны на XML и вы никуда от этого не денетесь, даже если захотите - например, веб-сервисы.


Конкретный пример: мой диплом. Делал универсальный формат электронного представления учебников для дистанционного обучения. Задача была абстрагироваться от всякой представленческой специфики, что бы просто представлять учебники и всё. Я выбрал XML, составил DTD-шаблон, посадил помощниц (которых мне выделили) набивать контент, а сам сделал типовую таблицу преобразования (как пример, демонстрацию возможностей) - в HTML и защитился на основе неё. Была канешь, куча мелких проблем, но в целом всё вполне срослось.

Автор: batigoal 31.5.2005, 13:19
Оффтоп:
нефига себе диплом - помощниц выделяют!

Автор: slang 31.5.2005, 19:40
Се ля ви
Кое-что начинает прояснятся. В свободное время прочитал (быстро, конечно) пару книжек про XML, но не понял из них столько, сколько из твоего сообщения. Хотелось-бы посмотреть простейшую схему набора всех этих документов, шаблонов и т.д.. Вообщем, все, что может наиболее ярко отразить преимущества XML в практической деятельности. Грубо говоря возьмем простой сайт с: Главная, О нас, Контакты, Гостевая, Статьи.
Собственно на PHP - это 3 файла, которые между собой прилично отличаются по содержанию. Можно сделать еще 4 файл в качестве шаблона вывода. Кода - строчек 300 в общей сложности наберется. Насколько трудоемко сделать такой сайт используя XML. Какой инфы будет достаточно для построения такого сайта.

Уяснил для себя, что если речь идет об обмене информацией между разными приложениями XML - очень удобная, и вероятно скоро будет незаменимая штука. Так-что придется разбираться.
smile

Автор: Ignat 1.6.2005, 09:42
Цитата(slang @ 31.5.2005, 20:40)
Собственно на PHP - это 3 файла, которые между собой прилично отличаются по содержанию. Можно сделать еще 4 файл в качестве шаблона вывода. Кода - строчек 300 в общей сложности наберется. Насколько трудоемко сделать такой сайт используя XML?


Абсолютно не трудоемко, на объем кода это повлият не сильно. Только для этого стоит изучить XSLT. Зато при желании сделать WAP-версию у тебя будет уже готовый XML.


Автор: Gold Dragon 5.6.2005, 12:56
кто-нибудь знает что такое XML-QL или XQL, то есть чем поддерживается и вообще, используется ли?

Автор: Ignat 6.6.2005, 09:27
XML-QL - Язык запросов для XML базы данных. На данный момент распространен гораздо менее широко, чем SQL, вследствие маллой распространненности XML БД.

http://www.w3.org/TR/1998/NOTE-xml-ql-19980819/

Автор: Gold Dragon 6.6.2005, 10:13
Это я немного почитал, а что хоть поддерживает

Автор: Се ля ви 6.6.2005, 16:36
Цитата(Red @ 5.6.2005, 12:56)
кто-нибудь знает что такое XML-QL или XQL, то есть чем поддерживается и вообще, используется ли?


Цитата
Кроме того, в некоторых БД (напр. в Oracl`е) есть даже специальные форматы полей, предназначенные для хранения XML-данных, к которым можно обращаться и вытаскивать содержимое конкретных узлов, пользуясь языком XQL.


В 10g - точно, в 9i - не помню, но вроде что-то есть...

Кроме того, есть просто "драйверы" на Java для работы с XQL. Посмотри на http://jakarta.apache.org/ - что-то точно должно быть.

Автор: Се ля ви 6.6.2005, 16:54
Цитата(slang @ 31.5.2005, 19:40)
Грубо говоря возьмем простой сайт с: Главная, О нас, Контакты, Гостевая, Статьи.
Собственно на PHP - это 3 файла, которые между собой прилично отличаются по содержанию. Можно сделать еще 4 файл в качестве шаблона вывода. Кода - строчек 300 в общей сложности наберется. Насколько трудоемко сделать такой сайт используя XML. Какой инфы будет достаточно для построения такого сайта.

Не думаю, что для описанного тобой варианта сайта-визитки применение XML оправданно. Я бы посоветовал его применять для порталов с большим количеством контента - например, информационного сайта с большим количеством статей.

XML, J2EE, Oracle - это технологии, актуальность которых возрастает с возрастанием сложности задач, это технологии более высокого уровня. Делать на них сайты-визитки - стрелять из пушки по воробьям. Для простейших задачь клепания мелких сайтов, думаю, это не актуально. Имеет смысл только если ты собираешься выращивать из них в перспективе портал, и надо иметь ввиду, что выгоду ты увидишь только потом, а вначале будут только дополнительные задержки. Думаю, только крупные Интернет-проекты доросли до необходимости применения XML, да и то не все, а для остальных это пока что более чем желательно.

Сейчас основная коммерчески-оправданная область применения этого - корпоративные приложения и крупные информационные порталы...

Автор: sergejzr 6.6.2005, 17:07
Вообще то ХМЛ в основном задуман для структурированной передачи данных, в то время как HTML - разметки страниц.

Автор: Gold Dragon 7.6.2005, 08:11
Похоже я уже столкнулся с XML, у меня есть спецификация Genealogical Data Communication. У этого есть собственный формат хранения данных, но он явно меня не устраивает. Вот я пытался всё это дело переложить в БД. Только всю голову сломал...

Но он отлично адаптируется для использования XML. Так что использовать или нет, всё зависит именно от данных, которые используются

Автор: 3,14 7.6.2005, 09:00
Red Dragon, а DTD или XSD схема к этим данным есть?

Автор: Gold Dragon 7.6.2005, 09:15
уже нашёл

Автор: 3,14 8.6.2005, 09:40
Цитата(Red @ 7.6.2005, 09:15)
уже нашёл

Что нашёл? smile

Автор: Bikutoru 11.6.2005, 11:29
А вот меня мучит такой вопрос - а в чем разница между XSL и XSLT?

Автор: Gregof 14.6.2005, 07:45
Общие слова из документации по XSLT:
Цитата
XSLT создавался для применения в XSL, языке стилей для XML. Помимо XSLT, XSL содержит словарь XML для описания форматирования. XSL определяет стиль XML документа, используя XSLT чтобы описать, каким именно образом представленный документ преобразуется в другой XML документ, использующий данный словарь форматирования.

Кроме того, XSLT построен так, чтобы использоваться независимо от XSL. Вместе с тем XSLT не позиционируется как полноценный универсальный язык преобразований XML. Скорее наоборот, прежде всего он предназначен для тех видов преобразований, которые необходимы когда XSLT используется как часть XSL.

Автор: Се ля ви 17.6.2005, 15:59
Цитата(Bikutoru @ 11.6.2005, 11:29)
А вот меня мучит такой вопрос - а в чем разница между XSL и XSLT?

Впринципе, когда их задумывали/разрабатывали, считалось примерно так: XSL = XSLT + XSL-FO .

Т.е. задумка была вот какая: Если у нас данные размечены в XML и мы хотим людям дать возможность их представлять для отображения как угодно, то мы должны дать им возможноть выполнять 2 действия:
1) Переразметить документ уже для нужд отображения, а не представления - для этого XSLT
2) Оформить то, что мы переразметили - для этого XSL-FO.

Всё вместе это призвано заменить технологию CSS, хотя по части веб XSL-FO не очень преуспела и активно используется только при допечатной обработке (переводить данные из XML в документы PostScript и PDF).

Автор: Bikutoru 17.6.2005, 18:46
Спасибо за объяснения...
Про XSL-FO я что-то слышал, правда чтобы он где-то использовался или поддерживался - нет... А где можно достать подробную документацию по XSL-FO, желательно, с примерами использования?..

Автор: 3,14 17.6.2005, 19:03
Цитата(Bikutoru @ 17.6.2005, 18:46)
А где можно достать какую-нибудь документацию по XSL-FO, желательно, с примерами...

Тут есть пара pdf-ок: http://www.xml.nsu.ru/pdf/fo.zip, http://www.xml.nsu.ru/pdf/using_xslfo.zip

Автор: Severyanin 16.8.2007, 07:01
Да и XML очень удобен для динамического формирования документов. Для этого вместо просмотра всего документа и нахождения нужной, например, настройки, необходимо просто пройти по дереву тэгов. Гораздо быстрее и меньше вероятность ошибок при правильном парсинге. ИМХО.

Автор: alex_h 17.12.2007, 18:09
Кого индексирует поисковая система? XML файл или уже созданную с помощью шаблона страницу? Реагирует или нет поисковая система на контент (текст), который входит в шаблон, но не входит в XML сайт? Кто знает?! ПЛИЗ.

Автор: Ignat 17.12.2007, 18:18
alex_h, создайте тему и спрашивайте.
Вам сюда http://forum.vingrad.ru/forum/web-tech.html

PS. Пожалуйста, ознакомьтесь с правилами форума.

Автор: alex_h 17.12.2007, 19:02
Там куда Вы меня послали про XML без понятия. А здесь даже знают с чем едят XML. Значит и знают как происходит индексация XML сайта. Здесь же разбираются в ХМL. Или не разбираются? Если поднимается вопрос принципиально о применение XML, XSL, то тем не менее вопрос о местонахождении такого сайта в поисковой системе имеет право быть именно здесь!!!

Автор: egao 20.12.2007, 21:18
alex_h, яндекс, например, игнорируе хмл.  гугол нормально индексирует. правда я ему скармливал xhtml。。。

Автор: sanekc 24.12.2007, 10:13
А мне тоже не совсем понятно. Я тоже недавно подсел на XML, но теперь думаю зря. Ситуация следующая - существует файл XML и существует файл-шаблон XSL, который динамически формирует страницу HTML, которую мы видим в окне браузера. Я лично больше нигде ее не вижу. Вопрос - видит ли ее (страницу HTML) поисковая система предположим с целью индексации. Ведь если она ее (страницу HTML) не видит, то естественно где будет сайт в поисковой системе? А нигде не будет. И никакого продвижения. Вот этот вопрос меня очень сильно смущает. И еще. Видит ли поисковая система мой файл-шаблон XSL. Одни вопросы и никакого продвижения.

Автор: JVM 24.12.2007, 10:38
Извените, но вам бумага в попе нужна только тогда, когда  вы ходите в туалет и то не всякая подойдет.
Почему же вы тогда пихаете XML в любую дырку по поводу и без повода?
Сначало надо понять, что вам мешает, а потом думать, что может помочь.

Автор: sanekc 24.12.2007, 11:48
Вот я и хочу понять что мне мешает. А понять не могу, потому что не знаю, как ведет себя поисковая система относительно файла XML,  файла-шаблона XSL и созданной динамически страницы HTML. Надеюсь на Вашу помощь.

Автор: JVM 24.12.2007, 16:35
Поисковая система ничего не знает о вашем XML - не знает формат, поэтому и индексировать его не будет. И это скорее будет продолжаться до тех пор, пока не будет общепризнанных стандартов основанных на XML, которые будут поддерживать поисковики.
Обсуждать тонкости поисковиков лучше в другой ветке форума - там лучше знают, в какую сторону развиваются поисковики.

Опыт использования XML показывает, что сам по себе он не нужен, малоэффективен. Но там, где надо осуществить переход от одного к другому; осуществить независисмось одного процесса от другого и в то же время обеспечить их взаимодействие - XML начинает работать. Т.е. XML выполняет роль посредника между некоторыми сущностями.

Автор: sanekc 24.12.2007, 22:26
Интересная получается ситуация. На ветках форума, где обсуждают поисковики не все представляют что такое XML-XSL. А здесь значит не разбираются в поисковых системах. Прям бюрократия какая-то.

Автор: JVM 25.12.2007, 11:46
Это потому что им XML знать не обязательно. Во всяком случае пока.

Если хочешь раскручивать сайт, то настраивай сервер так, чтобы он отдавал поисковикам html, а пользователям XML.

По моему скромному мнению ничего особенно хорошего в отправке XML на обработку браузерам нет.

Автор: sanekc 25.12.2007, 12:50
Все! Отказываюсь от этой затеи. Шустрый похоже прав. 
Цитата

Опыт использования XML показывает, что сам по себе он не нужен, малоэффективен.

Автор: JVM 27.12.2007, 13:04
 smile сам ты Шустрый ...

Не спеши выкидывать XML. Любые технологии надо применять с умом!

Банку можно открыть молотком, но это не наш метод smile 

Автор: egao 31.12.2007, 18:04
sanekc, я же вроде бы русским языком сказал как относятся поисковики к xml-у... html им нужно отдавать. а браузерам поддерживающим xslt - можно и xml отдавать.

Добавлено через 18 секунд
ps. зря отказался smile

Автор: 21043 25.3.2008, 12:00
Цитата(Gold Dragon @ 22.5.2005,  10:35)
Читаю статьи и так толком не понимаю что это всё же такое. Для чего используется XML и чем он лучше HTML. Мне больше интересует возможности языка и его необходимость.

Если не трудно, приведите примеры (желательно на руссом языке smile) где он не заменим. Встречал несколько программ которые ведут отчёты в XML, таже TMeter

Извините, глупый вопрос, ихидничать не надо!
Обезательно ли заниматься самодеятельностью придумывая свои теги 
мне проше использовать в хml теги html а не типа<DOCELEMENT> <BOOK> <dadja vacja>  и т.д.???

Автор: 21043 2.4.2008, 08:17
Ау ау-у--у--у!!!
Да мне здесь никогда не ответят!

Автор: sl1111 13.7.2008, 19:30
Что такое XML?

Как известно из интернета, 

он позволяет при написании скрипта пользоваться одновременно

JS и VBS.

Автор: Cheburek 2.9.2008, 04:01
жжете господа! башорг отдыхает!
сори за офтоп

Автор: 3,14 2.9.2008, 07:13
Как это XML не индексируется поисковиками? вы что?  smile 
http://www.google.ru/search?complete=1&hl=ru&newwindow=1&client=firefox-a&rls=org.mozilla%3Aru%3Aofficial&hs=41h&q=xsl+filetype%3Axml&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=

А связку XML/XSL применяют для того чтобы отделить данные от их представления, что очень удобно. Хотя это всего лишь один из вариантов. Если не знаете зачем это нужно, читайте шаблон проектирование Model-View-Controller.

Автор: Камчадал 31.10.2008, 15:08
Друзья, просветите: "Что есть Xalan и как его продуктивно юзать?"

Ну и  smile 
Пожалуйста.

Автор: LSD 31.10.2008, 16:29
Цитата(Камчадал @  31.10.2008,  15:08 Найти цитируемый пост)
Что есть Xalan и как его продуктивно юзать?

Цитата
Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types.

Реализации Xalan есть для C++ и Java.

Автор: batigoal 31.10.2008, 17:00
Цитата(LSD @  31.10.2008,  17:29 Найти цитируемый пост)
Реализации Xalan есть для C++ и Java. 

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

Автор: Камчадал 7.11.2008, 11:37
Цитата(batigoal @ 31.10.2008,  17:00)

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

А вот с этого места можно поподробней, пожалуйста  smile 

Автор: batigoal 7.11.2008, 16:06
Цитата(Камчадал @  7.11.2008,  12:37 Найти цитируемый пост)
А вот с этого места можно поподробней, пожалуйста  smile  

Пожалуйста:
Цитата

java -cp serializer.jar;xalan.jar;xercesImpl.jar;xml-apis.jar org.apache.xalan.xslt.Process -IN input.xml -XSL trans.xsl -OUT output.xml


после того, как Altova XMLSpy стал платным, пользуюсь этим батником и доволен smile Еще и работает очень шустро.

Автор: Камчадал 10.11.2008, 16:35
Цитата(batigoal @ 7.11.2008,  16:06)
после того, как Altova XMLSpy стал платным, пользуюсь этим батником и доволен smile Еще и работает очень шустро.

 


Спасибо smile 

Автор: Nikola661 21.1.2009, 10:39
Добрый день!!! Начал работы с XML и использовал JDom, но когда стал тестить на файлах большого размера (пробовал на 55 Мб), выдает OutOfMemoryError.
Можно ли использовать Xerces или есть какие-нибудь другие!? Спасибо!!!

Автор: sir_nuf_nuf 21.1.2009, 12:12
Nikola661,  можно в основной форум писать. А не сюда. 
Странно 55 Mb - не так много. А что вы хотите сделать с ним и насколько сложная структура XML ?
Если что то простое - то есть смысл попробовать SAX.

Автор: Nikola661 21.1.2009, 12:37
Цитата(sir_nuf_nuf @  21.1.2009,  12:12 Найти цитируемый пост)
Nikola661,  можно в основной форум писать. А не сюда. Странно 55 Mb - не так много. А что вы хотите сделать с ним и насколько сложная структура XML ?Если что то простое - то есть смысл попробовать SAX.


Код

<?xml version="1.0" encoding="UTF-8"?>
<Personnel>
  <Employee type="permanent" ......>
        <Name ......>Seagull</Name>
        <Id.......>3674</Id>
        <Age.......>34</Age>
        <fig.......>
            <asd......>.......</asd>
            <zxc.........>..........</zxc>
        </fig>
   </Employee>
  <Employee type="contract"........>
        <Name........>Robin</Name>
        <Id........>3675</Id>
        <Age........>25</Age>
        <fig.......>
            <asd......>.......</asd>
            <zxc.........>..........</zxc>
        </fig>
    </Employee>
  <Employee type="permanent".........>
        <Name........>Crow</Name>
        <Id........>3676</Id>
        <Age......>28</Age>
        <fig.......>
            <asd......>.......</asd>
            <zxc.........>..........</zxc>
        </fig>
    </Employee>
</Personnel>


Что то типа этого!!! Я "бегу" по employee и взависимости от каких то данных что-нибудь делаю с данными выбранного тега employee. И тких employee там где-то 10 тыс (УЖОС), если не больше!!!

Автор: batigoal 21.1.2009, 13:03
Nikola661, при больших объемах целесообразнее перейти на SAX-парсинг.

Автор: elCreator 30.3.2009, 01:41
Хороший пример использования XML - это инсталлятор в Joomla. Он именно из XML'a узнает пути, куда копировать файлы (и откуда потом их удалять), какие запросы посылать в базу и т.д. На том же PHP получилось бы сложнее и менее наглядно, чем вот так вот, на PHP+XML.

Автор: delphi_ 8.11.2010, 18:56
Office XML тоже очень хорошая штука.в качества заготовки несложных шаблонов - самое оно

сохраняем любой вордовый файл как xml ,ставим в нужные поля метки (латинские),а потом регулярками меняем текст с сохранением форматирования 

Автор: Kuznec 9.12.2013, 17:30
Я новичок в XML, но решил узнать возможности данного метода представления информации в браузере. Почему решил рассмотреть XML? Есть задача сделать кэширование в одном из сложных проектов. И когда я начал применять что-то типа специальных фраз, заключённых в комментарии, для распознавания нужных блоков и вставки его PHP средством, решил, что это не совсем удобно. И тут вспомнил XML. Получается следующий вариант кэширования. Разрабатываются шаблоны XML файлов. Обращаются эти шаблоны к XSL файлам, которые и представляют собой набор кэша сайта. В итоге, нет необходимости делать отдельную сборку HTML документа.

Но т.к. я этим вопросом заинтересовался только вчера, то ещё не написал реализацию кэша подобным методом. Также для проекта не требуется индексация Яндексом или иным поисковиком. Так что, думаю,  мой пример хороший пример применения XML при создании нагружаемых проектов. Хотя я сам только начинаю познавать азы данной разметки.

Прошу сильно не пинать, если что-то не в попад написал smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)