Основная страница Анализатор XML-документов XMLParser

 


 Основные понятия и термины

 Язык расширяемой разметки XML (eXtensible Markup Language) был создан как средство представления произвольных структур данных. Не останавливаясь подробно на его семантике, заметим, что XML-документ может быть представлен в виде дерева узлов, каждый из  которых имеет один узел-родитель. Единственным исключением  является корневой узел, представляющий собой узел документа.

Узлы документа могут нести различную функциональную нагрузку,  определяемую типом узла. Всю нагрузку по информационному наполнению документа несут узлы типа  элемент и атрибут, в связи с  чем именно узлы этих типов представляют наибольший интерес при  разборе и обработке документа.  Язык XML не ограничивает создателя документа в названиях элементов  и атрибутов, позволяя давать им осмысленные названия. Это свойство  является одной из ключевых особенностей языка. Возможность  подчинять один элемент другому  позволяет создавать составные  структуры данных произвольной иерархической сложности.

Для работы с XML-документами применяется специальное программное  обеспечение под общим собирательным названием XML-анализаторы (XML parsers). Это название не вполне точно отражает сущность  этого вида ПО, оно появилось, когда анализаторы были способны лишь  разобрать существующий документ. Современные анализаторы обладают  более широкой функциональностью, например, с их помощью можно  создавать новые документы, редактировать существующие и т.д.

Однако возможность давать элементам и атрибутам произвольные, осмысленные названия несет в себе определенную опасность. В самом

деле, предположим, что при описании некоторого товара используется  элемент, называемый "Размер". Очевидно, что его содержимое

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

проблем с помощью применения  пространств имен и связанных с ними  префиксов. При объявлении элемента имеется возможность задать, с

каким пространством имен связан тот или иной префикс имени (или  отсутствие префикса), причем эти определения будут действовать,  как для данного элемента, так и для подчиненных ему, если в их  объявлении не сделано соответствующего переопределения.

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

Чем же тогда отличается выгрузка информации в XML формате, а не в  любом другом, например, текстовом? Принципиальная разница состоит  в том, что для XML- документа имеется возможность задать правила,  задающие возможный структурный состав документа и типы данных,  которые должна содержать структурная единица документа, фактически  создав, таким образом, новый язык на базе XML. Совокупность таких  правил образует схему. Существует несколько языков, на которых  можно описать такие правила. Самым перспективным на момент  написания этого материала считается язык XML Schema, вытесняющий  более традиционный DTD (Document Type Definition), возможности  которого гораздо скромнее. Пожалуй, основным (хотя далеко не  единственным) преимуществом XML Schema является то, что само  описание схемы является XML-документом, написанным специальным  образом, имеющим строго определенный набор элементов и атрибутов,  т.е., в свою очередь, также соответствующий определенной схеме.  Применение XML Schema позволяет работать и с самим документом и,  при необходимости, с правилами, определяющими его содержание, с  применением единого инструмента - анализатора, что предоставляет  определенные удобства. Различные фрагменты документа могут  соответствовать различным схемам, здесь снова на помощь приходят  пространства имен. Каждому пространству имен в соответствие может   быть поставлена определенная схема, в процессе разбора документа  по префиксу (или его отсутствию) элемента или атрибута  определяется контекст пространства имен, к которому он принадлежит. Если данному пространству имен поставлена в  соответствие какая-либо схема, содержимое разбираемого элемента  или атрибута проверяется с применением сформулированных в данной  схеме правил. Совокупность пространств имен с указанием  соответствующих им схем называется коллекцией схем.

Процесс проверки соответствия документа какой-либо схеме (схемам)  называется валидацией или проверкой состоятельности. Анализаторы,

реализующие такую возможность, называются  валидирующими или с  проверкой состоятельности. Как правило, проверка состоятельности

осуществляется анализаторами в момент загрузки документа, однако  некоторые анализаторы позволяют сделать это по запросу программы,

в произвольный момент времени. Это свойство анализатора можно  использовать, например, при создании документа, чтобы проверить  его состоятельность перед выгрузкой.

 Объектная модель анализатора

 Состав объектной модели

В состав модели входят объекты следующих типов:

Анализатор -  базовый объект. Позволяет создать новые  объекты типа Документ, КоллекцияСхем.

 Документ \

 Элемент |

 Атрибут | реализуют узлы

 ИнструкцияОбработки | соответствующих

 Комментарий | типов

 Текст |

 СекцияДанных /

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

ВыборкаУзлов - коллекция элементов и атрибутов, отобранных  по совокупности признаков, заданных при создании.

 "Прозрачность" объектов

 Все входящие в модель объекты (кроме объекта Анализатор) расширяют  или переопределяют состав свойств и методов объектов, входящих в  состав DOM (Document Object Model) модели, реализованных в  анализаторе XML-документов от фирмы Microsoft. Таким образом, если  объект, входящий в рассматриваемую модель, не имеет свойства или  метода, к которому происходит обращение в вызывающей программе, то  объект переадресует вызов данного свойства или метода к  объекту-родителю, входящему в состав DOM-модели.  Примечание. Рекомендуется использовать свойства и методы объектов,  описанные в данном документе, по возможности не прибегая к  использованию свойства  прозрачности объекта.

 Базовый объект

Все объекты, кроме объектов Анализатор, КоллекцияСхем и  ВыборкаУзлов, являются разновидностями абстрактного объекта - узел

дерева, в виде которого в объектной модели представляется весь  документ. В соответствии с объектно-ориентированным подходом, все

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

эти описания вынесены в отдельный раздел, где рассматриваются  методы и свойства абстрактного узла, хотя объект такого типа  получить невозможно, все объекты, кроме упомянутых выше, будут  лишь его производными.

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

Анализатор

Методы

 СоздатьДокумент

Синтаксис:

СоздатьДокумент()

Англоязычный синоним:

 CreateDocument

Параметры:

нет

Возвращаемое значение:

 Узел документа

Описание:

 Создает новый объект узла XML документа

Пример:

Документ = Анализатор.СоздатьДокумент() ;

 

 СоздатьКоллекциюСхем

Синтаксис:

СоздатьКоллециюСхем()

Англоязычный синоним:

CreateSchemasCollection

Параметры:

нет

Возвращаемое значение:

 Объект коллекции схем

Описание:

 Создает новый объект коллекции схем

Пример:

КоллекцияСхемДляПроверки = Анализатор. СоздатьКоллециюСхем() ;


Атрибуты

 ВерсияАнализатора

Синтаксис:

 ВерсияАнализатора

Англоязычный синоним:

 ParserVersion

Описание:

Возвращает версию компоненты в виде строки, только для чтения.

Пример:

Версия = Анализатор. ВерсияАнализатора ;

 ВерсияБазовогоАнализатора

Синтаксис:

 ВерсияБазовогоАнализатора

Англоязычный синоним:

 BaseParserVersion

Описание:

Возвращает в виде строки версию базового анализатора - Microsoftв XML Parser.

Пример:

Версия = Анализатор. ВерсияБазовогоАнализатора;

Базовый объект - узел

Методы

 КоличествоПодчиненных

Синтаксис:

КоличествоПодчиненных()

Англоязычный синоним:

 NumberChilds

Параметры:

нет

Возвращаемое значение:

Число, количество узлов, подчиненных данному.

Описание:

 Метод возвращает количество узлов, подчиненных данному. В это  количество не включается количество узлов-атрибутов.

Пример:

см. пример для метода ПолучитьПодчиненныйПоНомеру.


 ПолучитьПодчиненныйПоНомеру

Синтаксис:

 ПолучитьПодчиненныйПоНомеру(НомерУзла )

Англоязычный синоним:

 GetChildByNum

Параметры:

НомерУзла числовое выражение,  содержащее номер  требуемого узла.  Нумерация узлов  начинается с нуля.

Возвращаемое значение:

объект узла документа определенного типа

Описание:

В совокупности с КоличествоПодчиненных данный метод  используется для обхода узлов, подчиненных данному узлу.  Порядок обхода совпадает с расположением узлов в документе.

Пример:

Для Сч = 0 По Элемент.КоличествоПодчиненных()-1 Цикл

ПодчУзел = Элемент.ПолучитьПодчиненныйПоНомеру(Сч) ;

 . . . . . . .

КонецЦикла ;

ДобавитьПодчиненный

Синтаксис:

ДобавитьПодчиненный(НовУзел[, ВставитьПеред])

Англоязычный синоним:

appendChild

Параметры:

НовУзел Объект нового узла

ВставитьПеред Необязательный параметр,  тип - узел. Если параметр  указан, новый узел будет  вставлен перед ним, в  противном случае  новый  узел будет вставлен  последним.

Возвращаемое значение:

нет

Описание:

Метод используется для вставки нового узла, созданного с  помощью соответствующих методов объекта документа, в список  подчиненных данному узлу.  

Пример:

ИнструкцияОбработки = Документ.СоздатьУзел(7, "xml") ;

ИнструкцияОбработки.Данные = "version='1.0'" ;

Документ.ДобавитьПодчиненный(ИнструкцияОбработки,

Документ.ЭлементДокумента) ;

УдалитьПодчиненный

Синтаксис:

УдалитьПодчиненный(УдаляемыйУзел)

Англоязычный синоним:

removeChild

Параметры:

 УдаляемыйУзел Объект узла, удаляемого  из списка подчиненных   данному узлу

Возвращаемое значение:

нет

Описание:

Метод удаляет указанный узел из списка узлов, подчиненных  данному.

Пример:

ПервыйПодчиненный = Документ.УзелДокумента.ПолучитьПоНомеру(0) ;

Документ.УзелДокумента.УдалитьПодчиненный(ПервыйПодчиненный) ;

ВыбратьУзлы

Синтаксис:

ВыбратьУзлы(КритерийОтбора)

Англоязычный синоним:

selectNodes

Параметры:

КритерийОтбора Строковое выражение,  содержащее критерии  отбора узлов в  создаваемую коллекцию

Возвращаемое значение:

Объект коллекции узлов, содержащий узлы элементов или атрибутов,  которые удовлетворяли критерию отбора, сформулированного в

параметре КритерийОтбора.

Описание:

Метод возвращает объект коллекции узлов, содержащий узлы элементов  или атрибутов, которые удовлетворяли критерию отбора,

сформулированного в параметре КритерийОтбора. Запрос формулируется на языке запросов XSL (XSL Pattern Language).

Пример:

// отбираем все элементы Товар

Выборка = Документ.УзелДокумента.ВыбратьУзлы("Товар") ;

ВыбратьУзел

Синтаксис:

ВыбратьУзел(КритерийОтбора)

Англоязычный синоним:

selectSingleNode

Параметры:

 КритерийОтбора Строковое выражение,  содержащее критерии   выбора узла

Возвращаемое значение:

Первый узлов, элемент или атрибут, который удовлетворяет критерию отбора, сформулированного в параметре КритерийОтбора.

Описание:

Метод возвращает первый узел, элемент или атрибут, который  удовлетворял критерию отбора, сформулированного в параметре

КритерийОтбора. Запрос формулируется на языке запросов XSL (XSL  Pattern Language).

Пример:

// находим информацию о товарах

Каталог =  Документ.УзелДокумента.ВыбратьУзел("//ИнформацияОТоварах") ;

СоздатьПодчиненныйЭлемент

Синтаксис:

СоздатьПодчиненныйЭлемент(НаимЭлемента[, ВставитьПеред][, ПространствоИмен])

Англоязычный синоним:

createChildElement

Параметры:

 НаимЭлемента Строковое выражение,  содержащее наименование   создаваемого элемента

 ВставитьПеред Необязательный параметр.  Узел, перед которым  следует вставить  создаваемый узел элемента.

ПространствоИмен Необязательный параметр, строковое выражение, указывающее пространство имен, в контексте которого создается новый

элемент. Если не указан, анализатор предпринимает попытку создать элемент в контексте пространства имен, определенного у стоящих выше по иерархии узлов документа с учетом префикса, указанного в параметре НаимЭлемента.

Возвращаемое значение:

Объект созданного элемента

Описание:

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

Пример:

НовыйТовар = Документ.УзелДокумента.СоздатьПодчиненныйЭлемент("Товар") ;

ПреобразоватьВ_ИД

Синтаксис:

ПреобразоватьВ_ИД(СтрИД)

Англоязычный синоним:

ConvertToID

Параметры:

СтрИД Строковое выражение, преобразуемая строка

Возвращаемое значение:

Преобразованная строка, допустимая с точки зрения допустимых значений атрибута, имеющего тип id.

Описание:

Тип атрибута id накладывает определенные ограничения на возможные значения, которые могут быть присвоены этому атрибуту. Данный метод преобразует переданную строку к виду,  который допустим для присвоения атрибуту данного типа.

Пример:

СтрИД = ЗначениеВСтрокуВнутр(СпрТовары) ;

ЭлТовар.УстановитьАтрибут("ИДТовара", ЭлТовар.

ПреобразоватьВ_ИД(СтрИД)) ;

Атрибуты

Тип

Синтаксис:

Тип

Англоязычный синоним:

nodeType

Описание:

Число, соответствующее типу узла в DOM (Document Object Model):

 Тип узла Значение свойства

 Элемент 1

 Атрибут 2

 Текст 3

 Секция данных 4

Ссылка на компонент 5

Компонент 6

Инструкция обработки7

 Комментарий 8

 Документ 9

 Определение типа 10

документа (DTD)

Фрагмент документа 11

Описание 12

Пример:

Если Узел.Тип = 1 Тогда

// Этот узел - элемент

 . . . . . .

КонецЕсли ;

ТипСтрока

Синтаксис:

ТипСтрока

Англоязычный синоним:

nodeTypeString

Описание:

Строка, соответствующая типу узла в DOM (Document Object Model)

 Тип узла Значение свойства

 Атрибут attribute

 Секция данных cdatasection

 Комментарий comment

 Документ document

 Фрагмент documentfragment

документа

Определение documenttype

типа документа

(DTD)

 Элемент element

 Компонент entity

 Ссылка на entityreference

компонент

 Описание notation

 Инструкция processinginstruction

обработки

Текст text

 

Пример:

Сообщить("Тип узла - " + Узел.ТипСтрока) ;

ПолноеНаименование

Синтаксис:

ПолноеНаименование

Англоязычный синоним:

nodeName

Описание:

Значение зависит от типа узла. Наибольший интерес представляет  для элементов и атрибутов, для которых возвращает наименование полностью, т.е. префикс и наименование, разделенные двоеточием.

Пример:

Сообщить("Полное наименование узла - " + Узел.ПолноеНаименование) ;

Наименование

Синтаксис:

Наименование

Англоязычный синоним:

baseName

Описание:

Значение зависит от типа узла. Наибольший интерес представляет для элементов и атрибутов, для которых возвращает только наименование, без префикса.

Пример:

Сообщить("Наименование узла - " + Узел.Наименование) ;

Префикс

Синтаксис:

Префикс

Англоязычный синоним:

prefix

Описание:

Значение зависит от типа узла. Наибольший интерес представляет для элементов и атрибутов, для которых возвращает только префикс.

Пример:

Сообщить("Префикс узла - " + Узел.Префикс) ;

Родитель

Синтаксис:

Родитель

Англоязычный синоним:

parentNode

Описание:

Узел, которому принадлежит данный узел. Отметим, что узлы  атрибутов родителя не имеют и данное свойство для них всегда является пустым значением.

Пример:

ЭлПодразделение = ЭлСотрудник.Родитель ;

ДокументВладелец

Синтаксис:

ДокументВладелец

Англоязычный синоним:

ownerDocument

Описание:

Узел документа, которому принадлежит данный узел.

Пример:

УзелДокумента = Узел.ДокументВладелец ;

ТипДанных

Синтаксис:

ТипДанных

Англоязычный синоним:

dataType

Описание:

Строка, соответствующая типу данных, которое имеет значение  узла. Влияет на допустимые значения, которые могут быть

присвоены данному узлу, способ их хранения и, для атрибутов,  тип возвращаемого значения при запросе свойства Значение.

Пример:

Если Атрибут.Наименование = "Дата" Тогда

Атрибут.ТипДанных = "date" ;

Атрибут.Значение = ТекущаяДата() ;

КонецЕсли ;

Текст

Синтаксис:

Текст

Англоязычный синоним:

text

Описание:

Строка соответствующая содержимому узла вместе со всеми принадлежащими ему подчиненными узлами. Заметим, что присвоение этого свойства полностью реорганизует всю структуру  подчиненных узлов.

Пример:

Сообщить("Текст узла - " + Узел.Текст) ;

Значение

Синтаксис:

Значение

Англоязычный синоним:

nodeValue

Описание:

Строка, соответствующая содержимому узла.

Пример:

Сообщить("Значение узла - " + Узел.Значение) ;

ПредставлениеXML

Синтаксис:

ПредставлениеXML

Англоязычный синоним:

xml

Описание:

Строка, представление данного узла со всеми подчиненными  узлами в формате XML документа.

Пример:

Сообщить("Представление узла - " + Узел.ПредставлениеXML) ;

Документ

Методы

Загрузить

Синтаксис:

Загрузить(Откуда)

Англоязычный синоним:

load

Параметры:

 Откуда Может быть строкой или  объектом OLE Automation,  созданным системной   функцией СоздатьОбъект и   имплементирующим интерфейс IStream или   IPersistStream

Возвращаемое значение:

нет

Описание:

В случае, если Откуда является строкой, ее содержимое интерпретируется, как путь к файлу, содержащему XML документ. В случае, если Откуда является объектом OLE Automation, документ  загружается из потока, представленного интерфейсом IStream или IPersistStream.

При возникновении ошибочной ситуации во время загрузки или разбора источника генерируется ошибка исполнения.

Пример:

Документ.Загрузить("C:\XMLDocuments\SrcDocument.xml") :

Записать

Синтаксис:

Записать(Куда)

Англоязычный синоним:

save

Параметры:

Куда Может быть строкой или COM-объектом, имплементирующим  интерфейс IStream или  IPersistStream

Возвращаемое значение:

нет

Описание:

В случае, если Куда является строкой, ее содержимое  интерпретируется, как путь к файлу, где следует сохранить XML документ.

В случае, если Куда является COM-объектом, документ выгружается в  поток, представленный интерфейсом IStream или IPersistStream.

При возникновении ошибочной ситуации во время загрузки или разбора  источника генерируется ошибка исполнения.

Пример:

Документ.Записать("C:\XMLDocuments\SrcDocument.xml") :

ЗагрузитьИзСтроки

Синтаксис:

ЗагрузитьИзСтроки(СтрокаИсточник)

Англоязычный синоним:

loadXML

Параметры:

 СтрокаИсточник Строка, содержащая XML  документ

Возвращаемое значение:

нет

Описание:

При возникновении ошибочной ситуации во время разбора строки  генерируется ошибка исполнения.

Пример:

// создать копию документа

Документ2.ЗагрузитьИзСтроки(Документ1.ПредставлениеXML) ;

СоздатьУзел

Синтаксис:

СоздатьУзел(ТипУзла, Наименование, ПространствоИмен)

Англоязычный синоним:

createNode

Параметры:

 ТипУзла Числовое или строковое  выражение, определяющее   тип создаваемого узла.   Значение параметра должно   быть равно одному из возможных значений   свойств узла Тип или   ТипСтрока (см. описания   упомянутых свойств узла).

 Наименование Строковое выражение, для   элемента или атрибута -   полное наименование,   включающее префикс, для  инструкции обработки -   имя приложения. Для   узлов, у которых   наименование не имеет   смысла, опускается или   задается равным пустой   строке.

ПространствоИмен Необязательный параметр, строковое выражение. Если  этот параметр задан, узел  создается в контексте  указанного пространства  имен с учетом префикса,  указанного в  наименовании. Если в  наименовании префикс  отсутствует, данное  пространство имен  интерпретируется как  пространство имен по  умолчанию.

Возвращаемое значение:

Созданный узел

Описание:

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

Пример:

см. пример из описания метода ДобавитьПодчиненный.

НайтиПоИД

Синтаксис:

НайтиПоИД(ИД)

Англоязычный синоним:

nodeFromID

Параметры:

ИД Строковое выражение,  содержащее искомое поле  идентификатора

Возвращаемое значение:

Узел элемента

Описание:

Метод позволяет получить элемент, атрибут с типом id которого  имеет значение, совпадающее с заданным при вызове метода.

Пример:

ИскомыйЭлемент = Документ.НайтиПоИД("А0001") ;

Проверить

Синтаксис:

Проверить()

Англоязычный синоним:

validate()

Параметры:

нет

Возвращаемое значение:

нет

Описание:

Данный метод осуществляет проверку состоятельности документа.  Если документ не состоятелен, генерируется ошибка исполнения.

Пример:

Документ. Схемы = СхемыДляПроверки ;

Документ.Проверить() ;

Атрибуты

ЭлементДокумента

Синтаксис:

ЭлементДокумента

Англоязычный синоним:

documentElement

Описание:

По стандарту XML документ может иметь ровно один элемент,  принадлежащий непосредственно документу, все остальные  элементы  документа подчинены (возможно, по многоуровневой  иерархии) ему. Этот элемент также называют корневым (root).

Пример:

Сообщить(Документ.ЭлементДокумента.Наименование) ;

Кодировка

Синтаксис:

Кодировка

Англоязычный синоним:

encode

Описание:

Позволяет установить/считать кодировку, в которой сохраняется  документ. Задается строкой в соответствии стандартными наименованиями наборов символов для использования в  Интерненте. По умолчанию установлена кодировка windows-1251.  Со списком определенных наименований наборов символов можно  ознакомиться по адресу  http://www.isi.edu/in-notes/iana/assignments/character-sets.

Пример:

Документ.Кодировка = "UTF-16" ;

ПространстваИмен

Синтаксис:

ПространстваИмен

Англоязычный синоним:

namespaces

Описание:

Тип - коллекция схем. Предоставляет доступ к использованным в документе пространствам имен.

Пример:

Стр = "Количество использованных в документе пространств имен -";

Стр = Стр + Документ.ПространстваИмен.КоличествоСхем()) ;

Сообщить(Стр) ;

Схемы

Синтаксис:

Схемы

Англоязычный синоним:

schemas

Описание:

Тип - коллекция схем. Позволяет получить доступ к коллекции  схем, установленных документу для проверки состоятельности во время загрузки или проверки состоятельности (см. метод  Проверить).

Пример:

См. пример в описании метода Проверить.

РазрешатьВнешниеСсылки

Синтаксис:

РазрешатьВнешниеСсылки

Англоязычный синоним:

resolveExternals

Описание:

Возвращает/устанавливает режим разрешения внешних ссылок при  загрузке или проверке состоятельности.

Пример:

См. пример в описании метода Проверить.

Элемент

Методы

УстановитьАтрибут

Синтаксис:

УстановитьАтрибут(НаименованиеАтрибута, Значение)

Англоязычный синоним:

setAttribute

Параметры:

НаименованиеАтрибута Строковое выражение,  наименование атрибута,  значение которого  устанавливается  Значение Значение, которое следует присвоить   атрибуту. Если   атрибуту присвоен   определенный тип,    выполняется попытка   преобразования.

Возвращаемое значение:

нет

Описание:

Устанавливает значение для указанного атрибута. Если указанный  атрибут отсутствует, добавляет его.

Пример:

ПолучитьАтрибут

Синтаксис:

ПолучитьАтрибут(НаименованиеАтрибута)

Англоязычный синоним:

getAttribute

Параметры:

НаименованиеАтрибута Строковое выражение, наименование атрибута, значение которого требуется получить

Возвращаемое значение:

Значение атрибута.

Описание:

Если атрибуту установлен тип данных, то возвращаемое значение  приводится к соответствующему типу, в противном случае  возвращается строка.

Пример:

ДатаПриемаНаРаботу = ЭлСотрудник.ПолучитьАтрибут("ДатаПриема");

КоличествоАтрибутов

Синтаксис:

КоличествоАтрибутов()

Англоязычный синоним:

AttributesNumber

Параметры:

Возвращаемое значение:

Число, количество атрибутов у данного элемента.

Описание:

Метод возвращает количество атрибутов у данного элемента.

Пример:

Для Сч = 0 по Элемент.КоличествоАтрибутов()-1 Цикл

УзелАтрибута = Элемент.ПолучитьУзелАтрибута(Сч) ;

 . . . . . . .

КонецЦикла

ПолучитьУзелАтрибута

Синтаксис:

ПолучитьУзелАтрибута(НомерАтрибута)

или

ПолучитьУзелАтрибута(НаименованиеАтрибута)

Англоязычный синоним:

getAttributeNode

Параметры:

 НомерАтрибута Числовое выражение,   номер требуемого узла   атрибута из списка   принадлежащих элементу   атрибутов

НаименованиеАтрибута Строковое выражение, наименование  требуемого узла  атрибута из списка   принадлежащих элементу  атрибутов

Возвращаемое значение:

Узел атрибута

Описание:

Метод позволяет получить объект узла атрибута по номеру или по  наименованию.

Пример:

АтДатыПриема = ЭлСотрудник.ПолучитьУзелАтрибута("ДатаПриема") ;

см. также пример из описания метода КоличествоАтрибутов

 

УдалитьАтрибут

Синтаксис:

УдалитьАтрибут(УзелАтрибута)

Англоязычный синоним:

removeAttribute

Параметры:

 УзелАтрибута Объект узла атрибута,  который требуется удалить

Возвращаемое значение:

нет

Описание:

Метод удаляет указанный атрибут из списка принадлежащих  данному элементу.

Пример:

ЭлСотрудник.УдалитьАтрибут(ЭлСотрудник.ПолучитьУзелАтрибута("Да;

ДобавитьАтрибут

Синтаксис:

ДобавитьАтрибут(НаименованиеАтрибута)

Англоязычный синоним:

addAttribute

Параметры:

НаименованиеАтрибута Строковое выражение,  наименование  добавляемого атрибута

Возвращаемое значение:

Узел атрибута

Описание:

Метод добавляет элементу новый атрибут.

Пример:

Атр = Документ.ЭлементДокумента.ДобавитьАтрибут("ДатаСоздания") ;

Атр.Значение = ТекущаяДата() ;

УстановитьПространствоИмен

Синтаксис:

УстановитьПространствоИмен (ПространствоИмен[, Префикс])

Англоязычный синоним:

setNamespace

Параметры:

ПространствоИмен Строковое выражение, наименование пространства  имен

 Префикс Необязательный параметр.  Строковое выражение,  префикс, ставящийся в   соответствие пространству   имен

Возвращаемое значение:

нет

Описание:

Метод устанавливает соответствие префикса в полных  наименованиях элементов и атрибутов некоторому пространству  имен для элементов, починенных данному. Если в вызове  отсутствует параметр Префикс, то устанавливается пространство  имен для элементов и атрибутов без префикса, т.е. пространство  имен "по умолчанию".

Данный метод не может применяться для установки контекста  пространства имен для данного элемента, т.е. префикс в имени  данного элемента и параметр Префикс не должны совпадать или не  должны быть оба пустыми. Контекст пространства имен может быть  присвоен элементу  только при его создании.

Пример:

Док.ЭлементДокумента.УстановитьПространствоИмен("urn:schemas-mi

Атрибуты

ИмяТега

Синтаксис:

ИмяТега

Англоязычный синоним:

tagName

Описание:

Строка - наименование тега элемента.

Пример:

Сообщить("Тег элемента - " + Элемент.ИмяТега) ;

Атрибут

Все методы и свойства наследуются от базового узла. Однако,  имеется особенность - для узлов этого типа значение свойства  Родитель всегда пустое.  

КоллекцияСхем

Методы

ДобавитьСхему

Добавляет новую схему в коллекцию схем, связывая  уникальный идентификатор ресурса пространства имен с  указанной схемой.

Синтаксис:

ДобавитьСхему(УникальныйИДРесурсаПространстваИмен, СпецификаторСхемы)

Англоязычный синоним:

add

Параметры:

УникальныйИДРесурсаПространстваИмен Строковое выражение, пространство имен

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

Возвращаемое значение:

нет

Описание:

Данный метод добавляет новую схему в коллекцию схем, связывая  уникальный идентификатор ресурса  пространства имен с указанной схемой.

Пример:

КоллекцияСхем.ДобавитьСхему("http://server/schemas/Sc1.xml","C: ;

ПолучитьСхему

Синтаксис:

ПолучитьСхему(УникальныйИДРесурсаПространстваИмен)

или

ПолучитьСхему(НомерСхемы)

Англоязычный синоним:

get

Параметры:

УникальныйИДРесурсаПространстваИмен Строковое выражение,  пространство имен

НомерСхемы Числовое выражение,  номер схемы в  коллекции.  Нумерация схем в  коллекции  начинается с нуля.

Возвращаемое значение:

Узел элемента Schema из документа схемы, связанной с затребованным  пространством имен или номером схемы в коллекции.

Описание:

В соответствии со стандартом документ схемы должен иметь  элемент Schema в качестве элемента документа (корневого  элемента). Таким образом, данный метод позволяет получить  корневой элемент схемы, затребованной по номеру или  пространству имен.

Пример:

ЭлСхемы = Документ.Схемы.ПолучитьСхему("http://server/schemas/Sc1.xml") ;

См. также пример из описания свойства КоличествоСхем.

УдалитьСхему

Синтаксис:

УдалитьСхему(УникальныйИДРесурсаПространстваИмен)

Англоязычный синоним:

remove

Параметры:

УникальныйИДРесурсаПространстваИмен Строковое выражение, пространство имен

Возвращаемое значение:

нет

Описание:

Метод удаляет из коллекции схему, связанную с указанным пространством имен.

Пример:

КоллекцияСхем.УдалитьСхему("http://server/schemas/Sc1.xml") ;

УникальныйИДРесурсаПространстваИмен

Синтаксис:

УникальныйИДРесурсаПространстваИмен(НомерВКоллекции)

Англоязычный синоним:

namespaceURI

Параметры:

 НомерВКоллекции Числовое выражение, номер схемы в коллекции.  Нумерация схем в  коллекции начинается с   нуля.

Возвращаемое значение:

Строка, содержащая уникальный идентификатор ресурса пространства  имен.

Описание:

Метод используется для получения уникальных идентификаторов  ресурсов пространств имен, входящих в коллекцию.

Пример:

Сообщить(Документ.ПространстваИмен.УникальныйИДРесурсаПространс

Атрибуты

КоличествоСхем

Синтаксис:

КоличествоСхем

Англоязычный синоним:

length

Описание:

Число, количество схем в коллекции.

Пример:

Для Сч = 0 По Документ.Схемы.КоличествоСхем-1 Цикл

ЭлСхемы = Документ.Схемы.ПолучитьСхему(Сч) ;

 . . . . . . .

КонецЦикла ;

ВыборкаУзлов

Методы

ПолучитьУзел

Синтаксис:

ПолучитьУзел(Номер)

Англоязычный синоним:

item

Параметры:

 Номер Числовое выражение, номер  узла в выборке. Нумерация   узлов в выборке  начинается с нуля.

Возвращаемое значение:

Узел документа (элемент или атрибут).

Описание:

Метод используется для организации доступа к отдельным узлам  документа, вошедшим в выборку.

Пример:

Выборка = Документ.ЭлементДокумента.ПолучитьВыборку("Товар") ;

Для Сч = 0 По Выборка.КоличествоУзлов-1 Цикл

ЭлТовар = Выборка.ПолучитьУзел(Сч) ;

 . . . . . . .

КонецЦикла ;

Атрибуты

КоличествоУзлов

Синтаксис:

КоличествоУзлов

Англоязычный синоним:

length

Описание:

Число, количество узлов, содержащихся в выборке.

Пример:

См. пример из описания метода ПолучитьУзел.

 






Перейти  к оглавлению