Получает тип данных XML, соответствующий переданному в качестве параметра типу.
Синтаксис
XMLТип(<Тип>)Полное описание, параметры и ограничения
Глобальный контекст.XMLТип (Global context.XMLType)
Глобальный контекст (Global context)
XMLТип (XMLType)
Доступен, начиная с версии 8.0.
Синтаксис:
XMLТип(<Тип>)
Параметры:
<Тип> (обязательный)
Тип: Тип.
Тип значения, для которого необходимо определить соответствующий XML тип.
Возвращаемое значение:
Тип: ТипДанныхXML.
Неопределено, если никакой тип данных XML не соответствует указанному типу.
Описание:
Получает тип данных XML, соответствующий переданному в качестве параметра типу.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Сопоставить тип Число и XML-тип decimal
Имя XML-типа имеет смысл вместе с URI пространства имён. Сравниваем получение типа по типу 1С и по значению, затем обратное сопоставление.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Учебная база 8.5.1.1343, серверный общий модуль УчебныеЗадачи. Фрагмент без директив вставьте в тело ВыполнитьПример() Экспорт и запустите собственной учебной командой.
XML в заданиях приведён полностью или создаётся из собственных чисел/строк. Не подставляйте XML из неизвестных внешних источников, объекты метаданных или реальные ссылки вместо учебных значений.
Ни один фрагмент не пишет товары, документы и настройки конфигурации. Файловое упражнение отдельно предупреждает о создании только собственного временного XSD.
Проверки сообщениями ожидают Истина. XML-текст и объекты можно исследовать в отладчике; это не контракт Avito, SOAP или обмен типовой конфигурации.
ПоТипу = XMLТип(Тип("Число"));
ПоЗначению = XMLТипЗнч(750);
Сообщить(ПоТипу.ИмяТипа = "decimal");
Сообщить(ПоТипу.URIПространстваИмен = "http://www.w3.org/2001/XMLSchema");
Сообщить(ПоЗначению.ИмяТипа = ПоТипу.ИмяТипа);
Сообщить(ПоЗначению.URIПространстваИмен = ПоТипу.URIПространстваИмен);
Сообщить(ИзXMLТипа(ПоТипу) = Тип("Число"));
ОписаниеDecimal = Новый ТипДанныхXML("decimal", "http://www.w3.org/2001/XMLSchema");
Сообщить(ИзXMLТипа(ОписаниеDecimal) = Тип("Число"));
Сообщить(ИзXMLТипа("decimal", "http://www.w3.org/2001/XMLSchema") = Тип("Число"));
ЧужойDecimal = Новый ТипДанныхXML("decimal", "urn:guide:not-built-in");
Сообщить(ИзXMLТипа(ЧужойDecimal) = Неопределено);Разбор по шагам
XMLТип принимает объект Тип, XMLТипЗнч — значение. Для 750 оба дают decimal из пространства XML Schema.
ТипДанныхXML — описание пары имя/URI, не числовое значение 750. Конструктор сам не регистрирует новый тип 1С.
ИзXMLТипа поддерживает два варианта: готовое описание или имя и URI. Получаем тип Число, не строку его названия.
decimal с другим URI — другой тип. Вымышленный urn:guide:not-built-in не сопоставляется автоматически с числом.
Как проверить результат
Восемь проверок дают Истина.
В отладчике ПоТипу — ТипДанныхXML с ИмяТипа decimal; обратное сопоставление — объект Тип для Число.
Ожидаемый результат
Двунаправленное сопоставление с демонстрацией значимости пространства имён.
На что обратить внимание
Префикс xs/xsd произволен; URI определяет пространство имён.
Не сравнивайте неизвестный тип с Число по одному имени decimal.
Некоторые XML/XDTO-типы не имеют прямого соответствия встроенному типу 1С; проверяйте Неопределено.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.