русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание дерева с помощью хранимой процедуры sp_xml_preparedocument


Дата добавления: 2013-12-23; просмотров: 1662; Нарушение авторских прав


Хранимые процедуры для управления внутренним представлением дерева

Считывает входной XML-текст, проводит его синтаксический анализ при помощи синтаксического анализатора MSXML (Msxmlsql.dll) и выдает проанализированный документ, готовый к потреблению. Проанализированный документ является древовидным представлением различных узлов в XML-документе: элементов, атрибутов, текста, комментариев и т. д.

Процедура sp_xml_preparedocument возвращает дескриптор, по которому можно обратиться к вновь созданному внутреннему представлению XML-документа. Дескриптор действует только в течение сеанса либо до тех пор, пока не будет аннулирован путем выполнения процедуры sp_xml_removedocument.

Синтаксис:

sp_xml_preparedocumenthdoc OUTPUT[ , xmltext ][ , xpath_namespaces ]

 

Параметры:

hdoc

Дескриптор вновь созданного документа. Аргумент hdoc является целым числом.

[ xmltext ]

Исходный XML-документ. Средство синтаксического анализа MSXML анализирует этот XML-документ. Аргумент xmltex является текстовым параметром: char, nchar, varchar, nvarchar, text, ntext или xml. Значение по умолчанию равно NULL. В этом случае создается внутреннее представление пустого XML-документа.

[ xpath_namespaces ]

Указывает объявления пространства имен, которые используются в выражениях XPath строк и столбцов в OPENXML. Аргумент xpath_namespaces является текстовым параметром: char, nchar, varchar, nvarchar, text, ntext или xml.

Значения кодов возврата: 0 (успешное завершение) или >0 (неуспешное завершение)

Разрешения: необходимо быть членом роли public.

Процедура sp_xml_preparedocument может обрабатывать только текст или нетипизированный XML. Если значение экземпляра, передающееся в качестве входного параметра, уже является типизированным XML, его сначала необходимо привести к новому нетипизированному экземпляру XML или к строке, после чего его можно передавать в качестве входного параметра.



Следующий пример показывает, как использовать системную хранимую процедуруsp_xml_preparedocument, для анализа XML документа, переданного другой пользовательской хранимой процедуре.

CREATE PROC ProcessOrder @doc xml

AS

DECLARE @hdoc integer

EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc

 

Удаление дерева с использованием sp_xml_removedocument

SQL Server хранит разобранные документы во внутреннем кэше. Чтобы избежать переполнения памяти, используйте системную хранимую процедуру sp_xml_removedocument, чтобы освободить дескриптор документа и уничтожить древовидную структуру, когда она больше не нужна. Вы должны вызвать sp_xml_removedocumentв том же самом пакете запросов, что и процедуру sp_xml_preparedocument,которая сгенерировала дерево. Это необходимо потому, что параметрhdoc, используемый для указания на дерево, является локальной переменной, и если произойдет выход из области его видимости, то удалить это дерево из памяти станет невозможно.

Следующий пример показывает, как использовать системную хранимую процедуру sp_xml_removedocument:

EXEC sp_xml_removedocument @hdoc

 

OPENXML (Transact-SQL)

OPENXML предоставляет представление набора строк XML-документа. Так как OPENXML является поставщиком наборов строк, OPENXML применяться в инструкциях языка Transact-SQL, в которых могут быть использованы поставщики наборов строк, такие как таблицы, представления или функция OPENROWSET.



<== предыдущая лекция | следующая лекция ==>
Дополнительная информация | Аргументы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.