Базовые правила XML в Visual FoxPro
« Назад Обмен с XML-документами VFP осуществляет функциями XMLUPDATEGRAM( ), CURSORTOXML( ) и XMLTOCURSOR( ). Замечание. Для работы в VFP с XML-функция должен быть установлен MSXML-анализатор. Документы, формируемые функцией CURSORTOXML( ), являются корректными, то есть отвечают следующим базовым правилам XML: Каждый XML-документ должен иметь уникальный корневой, не имеющий родителя элемент. Каждый начальный тег имеет соответствующий конечный тег. Пустые элементы могут быть представлены специальными сокращенными тегами. Все начальные и конечные теги находятся в соответствии; XML-теги чувствительны к регистру. Элементы не перекрываются, то есть записываются по тем же правилам, что и управляющие конструкции, например IF…ENDIF или SCAN…ENDSCAN. Для повышения наглядности в тексте XML-документа могут употребляться пробелы. Некоторые зарезервированные символы являются частью XML-синтаксиса. При употреблении такого символа в качестве данных, он заменяется последовательностью символов, называемой ссылкой на сущность (табл. 20.2). Таблица 20.2 Кодирование зарезервированных символов
Таблица 20.3 Формы представления различных типов данных
Пример корректного XML-документа. <?xml version="1.0"?> <Data> <ORDER> <CUSTOMER>Nancy Davolio</CUSTOMER> <ITEM>Mom's Boston Crab Meat</ITEM> <PRICE>$10.00</PRICE> <QUANTITY>1 Bottle</QUANTITY> </ORDER> </Data> В приведенном XML-документе: <?xml version="1.0"?> – задает версию XML. Указывать версию необязательно. Однако разработчиками XML рекомендуют не опускать это объявление; <ORDER> – корневой элемент, характеризующий весь документ как заказ покупателя; <CUSTOMER> ... </CUSTOMER> – начальные и конечные теги элемента, описывающего имя покупателя; ' – последовательность символов, заменяющая апостроф; сущность элемента ITEM интерпретируется следующим образом: Mom's Boston Crab Meat. При экспортировании из VFP может быть задана схема – объявление структуры и содержимого XML-документа. При импортировании в VFP функцией XMLTOCURSOR( ) для определения структуры таблицы используется внутренняя или внешняя схема. Если схема отсутствует, то VFP для интерпретации XML-данных употребляет метод "best guess" (наилучшего предположения). Он предполагает выполнение 2-х проходов XML-документа. Первый для определения структуры документа, второй для осуществления преобразований. Интерпретация будет успешной, если XML-документ имеет структуру, которая может быть распознана как таблица. Импортирование данных не будет произведено, если XML-документ не удастся преобразовать в таблицу. |