Код функции расширений 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
.
Запуск примера
Скопируйте приведенный ниже код в процедуру Command1_Click. После этого процедура должна выглядеть как приведенный ниже фрагмент кода.
На панели инструментов языка Visual Basic щелкните Запуск, а затем — кнопку Command1 в форме form1.
При запуске примера инструкция Set objNodeList = xmldom.selectNodes "//*[ms:type-is('http://www.w3.org/2001/XMLSchema','string')]")
возвращает список узлов, имеющих строковый тип данных. Цикл For/Next проходит по всем узлам и выводит текст каждого узла в окне сообщения.