пятница, 24 августа 2007 г.

XSD эволюция

Прошло много времени и вот я решил вернуться к моим схемам. Благо тут нашлось им практическое применение.

Точнее нашлось применение одной схеме - контакты. За это время MSXML изменился и теперь полностью поддерживает XML схемы. Ещё я понял, что ограничиваться поддержкой MSXML в IE неправильно. Моя предыдущая реализация отображения была реализована на JScript и DOM и практически никакого XSL там не было.
На этот раз передо мной встала задача сделать простейшую базу сотрудников. При этом не хотелось городить СУБД (нужна мобильность), поэтому я решил использовать XML и вспомнил о своих наработках. На этот раз задача не была такой уж масштабной, поэтому я решил объединить несколько старых схем в одну. Тем более некоторые обособления были неоправданные.
Таким образом появилась схема Sharer.xsd, которая включала в себя кучу разнообразной информации:
  • Контактная информация (включая личную);
  • Должность и контакты на работе;
  • Государственные документы (номер, серия, кем выдан);
  • Оборудование, за которое ответственен сотрудник.

Таким образом схема слишком распухла. Но для данной задачи этого было достаточно.
В результате XSL преобразований я получал все возможные варианты представления:
  • Общедоступная контактная информация в формате Microsoft Word и Excel;
  • Контактная информация для руководства (домашний телефон и т.п.);
  • Списки сотрудников с адресами и номерами документов для предоставления в разные структуры в формате Microsoft Word;
  • Контактная информация в формате VCard и дни рождения в формате VCalendar для отображения в электронных органайзерах, таких как Microsoft Outlook и Apple iPod.

Помимо объединения схем, существенных изменений не произошло. Остался тот же подход: разнообразные справочники описываются прямо в схеме. Структура подразделений присутствует в самом XML документе. Ну и разнообразные названия, адреса и т.п. являются многоязычными и помечаются атрибутом xml:lang.

Комментариев нет:

Отправить комментарий