Спецсеминар "Разработка свободного ПО": http://uucode.com/oss2004/. 7-я лекция, 23 октября.
Семейство. Надо уметь использовать: XML, XPath 1.0, XSLT 1.0 и, наверное, XQuery
XML есть семейство технологий для обработки структурированных данных (особенно деревянных). Метаязык. Универсальность. Аналогия с ASCII.
XML можно рассматривать как внешнее текстовое представление древовидных структур, а связанные с XML стандарты -- как способы обработки таких данных. Такой подх од может оказаться полезным для многих видов программ.
Юмор. 1) XML Sapiens. 2) Н-да. Они бы лучше сначала "XML прямоходящий" и "XML умелый" сделали... 3) XML? ПРЯМОХОДЯЩИЙ? Не, так не бывает.
Ресурсы:
<article id="hw"> <title>Hello</title> <para>Hello, <object>World</object>!</para> </article>
Методы обработки: SAX, DOM, XPath
SAX:
DOM:
Простой XPath. Похож на путь к файлу.
/usr/bin/xmllint
Простой XPath. Результат -- множество узлов
/AAA/CCC
// -- поиск по всему поддереву
//DDD/BBB
* -- любое имя
/AAA/*/*/BBB
@ -- атрибут
//BBB/@name
Оси навигации, сокращения
Фильтрация
(/AAA/BBB)[1] (/AAA/BBB)[last()]
Фильтрация, функции
//bin[vim] //openssh[.//sshd[@date<20040923]] //bin/*[contains(name(), 'vi')]
Польза Xpath примерно как польза regexps -- можно и без них, но научившись их использовать, без них никак.
И SAX, и DOM достаточно сложны из-за низкоуровенности. Идеальная обработка: смесь SAX, DOM и XPath. Этим является XSLT.
DTD
W3C Schema, RELAX NG
Пространства имён. Всё просто, но спецификация запутана.
<... xmlns:u="eeefff">...<u:type/>...</..>
имя не "u:type", но "{eeefff}type"
Рассказать:
Вывод:
XSLT vs свой велосипед: базовая модель проста, но есть очень большой набор "идиоматических выражений". Для XSLT они уже разработаны, узнаваемы (некоторым присвоены имена) и многократно описаны, для велосипеда -- вряд ли.
Модель:
Запросы не для XPath
Создание элементов, переименование
Обратные ссылки
/... /xxx//... /yyy//... [..?xxx..?yyy...]
FLWOR ("flower") expressions Функции
Спецификация пока ещё не готова.
Старт студенческого конкурса Imagine Cup 2005 Корпорация Microsoft объявила о том, что началась регистрация участников третьего международного конкурса проектов в области информационных технологий Imagine Cup 2005. <http://imagine.thespoke.net/>
Про Oxigen -- кто что умеет, кто как документирует
http://paulgraham.com/antispam.html A Plan for Spam, Plan for Spam FAQ, etc.