Поделиться через


Код функции расширений XSD на языке Visual Basic

В приведенном ниже фрагменте кода показано получение узлов в зависимости от их типа данных XSD с помощью функций расширения XSD. В этом примере используется функция type-is для получения первого строкового типа данных в документе, а также функция type-local-name для получения списка узлов строкового типа данных.

Программный код на языке Visual Basic создает объект XMLSchemaCache60, добавляет к нему объявление URI пространства имен (urn:books) и схему (books.xsd), а затем ссылается на эту схему с помощью свойства schemas объекта DOMDocument. Обратите внимание на те фрагменты кода программы, где свойству SelectionLanguage присваивается значение XPath, а свойству SelectionNamespaces"xmlns:ms='urn:schemas-microsoft-com:xslt", что позволяет использовать префикс пространства имен ms:. Проверка выполняется в момент загрузки файла books.xml в объект DOMDocument. Ошибки, найденные при проверке, возвращаются с помощью свойства parseError объекта DOMDocument.

Запуск примера

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

  2. На панели инструментов языка Visual Basic щелкните Запуск, а затем — кнопку Command1 в форме form1.

При запуске примера инструкция Set objNodeList = xmldom.selectNodes "//*[ms:type-is('http://www.w3.org/2001/XMLSchema','string')]") возвращает список узлов, имеющих строковый тип данных. Цикл For/Next проходит по всем узлам и выводит текст каждого узла в окне сообщения.