Содержит варианты типов компонентов объектной модели схемы XML.
Полное описание, параметры и ограничения
ТипКомпонентыXS (XSComponentType)
ТипКомпонентыXS (XSComponentType)
Доступен, начиная с версии 8.1.
Значения
Аннотация (Annotation)
Включение (Include)
ГруппаМодели (ModelGroup)
Документация (Documentation)
Импорт (Import)
ИнформацияПриложения (AppInfo)
ИспользованиеАтрибута (AttributeUse)
МаксимальноВключающийФасет (MaxInclusiveFacet)
МаксимальноИсключающийФасет (MaxExclusiveFacet)
Маска (Wildcard)
МинимальноВключающийФасет (MinInclusiveFacet)
МинимальноИсключающийФасет (MinExclusiveFacet)
ОбъявлениеАтрибута (AttributeDeclaration)
ОбъявлениеНотации (NotationDeclaration)
ОбъявлениеЭлемента (ElementDeclaration)
ОпределениеXPath (XPathDefinition)
ОпределениеГруппыАтрибутов (AttributeGroupDefinition)
ОпределениеГруппыМодели (ModelGroupDefinition)
ОпределениеОграниченияИдентичности (IdentityConstraintDefinition)
ОпределениеПростогоТипа (SimpleTypeDefinition)
ОпределениеСоставногоТипа (ComplexTypeDefinition)
Переопределение (Redefine)
Схема (Schema)
ФасетДлины (LengthFacet)
ФасетКоличестваРазрядовДробнойЧасти (FractionDigitsFacet)
ФасетМаксимальнойДлины (MaxLengthFacet)
ФасетМинимальнойДлины (MinLengthFacet)
ФасетОбразца (PatternFacet)
ФасетОбщегоКоличестваРазрядов (TotalDigitsFacet)
ФасетПеречисления (EnumerationFacet)
ФасетПробельныхСимволов (WhitespaceFacet)
Фрагмент (Particle)
Описание:
Содержит варианты типов компонентов объектной модели схемы XML.
Доступность:
Мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
См. также:
АннотацияXS, свойство ТипКомпоненты
СхемаXML, свойство ТипКомпоненты
ИнформацияДляПриложенияXS, свойство ТипКомпоненты
ДокументацияXS, свойство ТипКомпоненты
ФасетМинимальногоИсключающегоЗначенияXS, свойство ТипКомпоненты
ФасетМинимальногоВключающегоЗначенияXS, свойство ТипКомпоненты
ФасетМаксимальногоИсключающегоЗначенияXS, свойство ТипКомпоненты
ФасетМаксимальногоВключающегоЗначенияXS, свойство ТипКомпоненты
ФасетДлиныXS, свойство ТипКомпоненты
ФасетМинимальнойДлиныXS, свойство ТипКомпоненты
ФасетМаксимальнойДлиныXS, свойство ТипКомпоненты
ФасетОбщегоКоличестваРазрядовXS, свойство ТипКомпоненты
ФасетКоличестваРазрядовДробнойЧастиXS, свойство ТипКомпоненты
ФасетПеречисленияXS, свойство ТипКомпоненты
ФасетОбразцаXS, свойство ТипКомпоненты
ФасетПробельныхСимволовXS, свойство ТипКомпоненты
ОпределениеПростогоТипаXS, свойство ТипКомпоненты
ОпределениеСоставногоТипаXS, свойство ТипКомпоненты
ОпределениеГруппыАтрибутовXS, свойство ТипКомпоненты
ОпределениеГруппыМоделиXS, свойство ТипКомпоненты
ОбъявлениеАтрибутаXS, свойство ТипКомпоненты
ОбъявлениеЭлементаXS, свойство ТипКомпоненты
ОпределениеОграниченияИдентичностиXS, свойство ТипКомпоненты
ОпределенияXPathXS, свойство ТипКомпоненты
ОбъявлениеНотацииXS, свойство ТипКомпоненты
МаскаXS, свойство ТипКомпоненты
ИмпортXS, свойство ТипКомпоненты
ВключениеXS, свойство ТипКомпоненты
ПереопределениеXS, свойство ТипКомпоненты
ИспользованиеАтрибутаXS, свойство ТипКомпоненты
ГруппаМоделиXS, свойство ТипКомпоненты
ФрагментXS, свойство ТипКомпоненты
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Разобрать ТипКомпонентыXS.Аннотация собственной схемы
Собственная XSD содержит конкретный Аннотация. По его ТипКомпоненты выбирается настоящий узел дерева модели; создаётся отдельная глубокая копия и показывается её XML-тег.
Где и как запускать
Серверный общий модуль собственной учебной базы. Редкий API: разбор своей XSD / короткий пример синтаксиса директив.
Подготовка
Серверный общий модуль УчебныеСхемы в собственной учебной базе: Сервер = Истина, Глобальный = Ложь. Разместите дополнительные функции на уровне модуля, а основной код — в тело Процедура ВыполнитьПример() Экспорт.
Вызовите УчебныеСхемы.ВыполнитьПример() из серверной команды своей учебной обработки. Каждый урок выполняйте отдельно: XSD целиком включена строкой и относится к вымышленной книге.
Схема строится из собственной строки XML через DOM. Здесь нет DTD, чтения файла, загрузки XSD по URL и обращения к внешнему серверу. URI urn:learn:book-schema — имя пространства, не сетевой адрес.
Это пример разбора / работы с моделью XSD. Он не является проверкой XML документа продажи или созданием метаданных 1С. Браузер справочника BSL не исполняет.
Схема = ПрочитатьУчебнуюСхему("<xs:schema xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:g=""urn:learn:book-schema"" targetNamespace=""urn:learn:book-schema"" elementFormDefault=""qualified""><xs:annotation><xs:documentation xml:lang=""ru"">Учебная книга</xs:documentation></xs:annotation></xs:schema>");
Компонента = НайтиУчебнуюКомпоненту(Схема, ТипКомпонентыXS.Аннотация);
Если Компонента = Неопределено Тогда
ВызватьИсключение "В своей схеме не найдена ожидаемая компонента";
КонецЕсли;
Копия = Компонента.КлонироватьКомпоненту(Истина);
Копия.ОбновитьЭлементDOM();
Сообщить("Компонента собственной схемы: " + Копия.ЭлементDOM.ИмяЭлемента);Тот же серверный общий модуль: построение собственной схемы из строки
Функция ПрочитатьУчебнуюСхему(ТекстXSD)
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(ТекстXSD);
Попытка
Дерево = Новый ПостроительDOM;
Документ = Дерево.Прочитать(Чтение);
Чтение.Закрыть();
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Построитель = Новый ПостроительСхемXML;
Схема = Построитель.СоздатьСхемуXML(Документ.ЭлементДокумента);
Если Схема = Неопределено Тогда
ВызватьИсключение "Не построена собственная схема";
КонецЕсли;
Возврат Схема;
КонецФункцииТот же модуль: обход реально принадлежащих схеме компонентов
Функция НайтиУчебнуюКомпоненту(Компонента, ИскомыйВид)
Если Компонента.ТипКомпоненты = ИскомыйВид Тогда
Возврат Компонента;
КонецЕсли;
Для Каждого Дочерняя Из Компонента.Компоненты Цикл
Найденная = НайтиУчебнуюКомпоненту(Дочерняя, ИскомыйВид);
Если Найденная <> Неопределено Тогда
Возврат Найденная;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункцииРазбор по шагам
Из собственной строки XSD строится DOM и настоящая модель СхемаXML.
ТипКомпоненты — типизированное перечисление. Обход идёт по Компоненты, то есть дочерним принадлежащим компонентам, не по обратным ссылкам Контейнер / Схема.
Работа выполняется с собственным деревом и копией либо с явно созданной собственной директивой. Никакой неизвестный объект извне не требуется.
Как проверить результат
В собственной схеме найдена выбранная компонента и выведен тег её копии. Исходная компонента не заменяется и не изменяется.
Схема, группа модели, фрагмент и объявление элемента — разные уровни модели XSD, хотя исходный XML может содержать их вложенными в одном участке.
Ожидаемый результат
Выбранный вид компоненты использован при разборе конкретной собственной XSD.
На что обратить внимание
Не путайте XS-компоненту схемы с узлом DOM или объектом XDTO данных: это разные модели.
Компоненты отражает владение; нельзя рекурсивно идти по Контейнер и Схема без защиты от циклов.
Для директив используются собственные схемы в памяти. Этот короткий пример не загружает файлы и не утверждает, что проверен экземпляр XML.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.