Обнаженная теория об XML. DarkSergeant Спецвыпуск Xakep, номер #028, стр. 028-056-2 Если ты уже писал на HTML-е, то для тебя все эти понятия будут уже знакомы. Замечу только, что синтаксис языка XML более строгий, чем у HTML. Так в XML-е, каждый открывающий тег должен быть закрыт, также недопустимы перекрестные теги - <User> <Name> Вася </User> </Name> - так нельзя. XSD – Определение схемы XML-документа Для того чтобы не потонуть в ворохе разнообразнейших элементов разнообразнейших документов на языке Xml, было введено понятие схемы. Допустим, нам срочно захотелось описать на языке XML векторную картинку, то надо просто залезть в инет и надыбать схему, в которой написано как должен формироваться наш документ. В данной схеме задано название корневого элемента, заданы названия элементов, которые определяют графические примитивы, а также задано, какие элементы в какие элементы можно вставлять. Возьмем простенький XSD-файл и посмотрим, что в нем написано. //корневой элемент схемы, в атрибутах видны ссылки на схемы, в которых написано, какая должна быть структура у схемы. Что-нибудь понял? :) Если нет, то не страшно. Надо просто запомнить, что так надо писать, и все. <xs:schema id="Logins" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> //эта строчка говорит, что в нашем документе главным тегом будет являться Logins. <xs:element name="Logins"> //Logins является сложным типом. Сложный тип – это все, что не число, строка и т.д. <xs:complexType> //choice говорит, что Logins является списком, unbounded говорит, что в списке может быть неограниченное кол-во элементов <xs:choice maxOccurs="unbounded"> //Список Logins содержит элемент Login <xs:element name="Login"> //Login является сложным типом <xs:complexType> //Login является записью/структурой/последовательностью элементов <xs:sequence> //У Login-а есть поле Name типа строка, это поле оформлено как элемент, minOccurs=”0” означает, что у Login-а данного поля может и не быть. <xs:element name="Name" type="xs:string" minOccurs="0" /> //Остальные поля определяются аналогично полю Name <xs:element name="Password" type="xs:string" minOccurs="0" /> <xs:element name="FullName" type="xs:string" minOccurs="0" /> <xs:element name="Nick" type="xs:string" minOccurs="0" /> <xs:element name="e-mail" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> XPath – XML-ный путь Для указания, а также выборки каких-либо данных (элементов) из XML-документа была придумана такая фишка, как XPath. XPath с одной стороны напоминает обычный файловый путь, с другой – похож на SQL (я надеюсь, что ты хотя бы поверхностно знаешь что это такое). |