Тип: Строка. Версия рекомендации XML. Может принимать значения "1.0" или "1.1".
Полное описание, параметры и ограничения
ДокументDOM.ВерсияXML (DOMDocument.XMLVersion)
ДокументDOM (DOMDocument)
ВерсияXML (XMLVersion)
Доступен, начиная с версии 8.1.
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Версия рекомендации XML. Может принимать значения "1.0" или "1.1".
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Диагностировать имя, значение и источник при чтении DOM
Начало элемента имеет имя, а последующий текст — символьное значение. Метаданные источника показываем отдельно, не выдавая дерево в памяти за прочитанный файл определённой кодировки.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Документы и все узлы создаются в памяти на сервере. Внешние XML, DTD, сетевые схемы и файлы не загружаются.
Сначала оставьте учебные имена и значения неизменёнными. После контрольного запуска меняйте по одному условию.
Документ = Новый ДокументDOM("", "product");
Документ.ВерсияXML = "1.0";
Документ.Автономный = Истина;
Документ.URIДокумента = "urn:guide:memory-source";
Документ.ЭлементДокумента.ДобавитьДочерний(Документ.СоздатьТекстовыйУзел("Книга"));
Чтение = Новый ЧтениеУзловDOM;
Чтение.Открыть(Документ);
Попытка
Если Чтение.ПерейтиКСодержимому() <> ТипУзлаXML.НачалоЭлемента Тогда
ВызватьИсключение "Не найден собственный корневой элемент";
КонецЕсли;
Сообщить(Чтение.ИмеетИмя);
Сообщить(Не Чтение.ЭтоСимвольныеДанные);
Сообщить(Чтение.ПубличныйИдентификатор = "");
Сообщить(Чтение.СистемныйИдентификатор = "");
Сообщить(Чтение.ИмяНотации = "");
Сообщить("Версия XML читателя: " + Чтение.ВерсияXML);
Сообщить("Автономный: " + Строка(Чтение.Автономный));
Сообщить("Кодировка из объявления: " + Чтение.КодировкаXML);
Сообщить("Кодировка источника: " + Чтение.КодировкаИсточника);
Сообщить("Базовый URI: " + Чтение.БазовыйURI);
Если Не Чтение.Прочитать() Тогда
ВызватьИсключение "Не найден учебный текст";
КонецЕсли;
Сообщить(Чтение.ТипУзла = ТипУзлаXML.Текст);
Сообщить(Чтение.ИмеетЗначение);
Сообщить(Чтение.ЭтоСимвольныеДанные);
Сообщить(Не Чтение.ЭтоПробельныеСимволы);
Сообщить(Чтение.Значение = "Книга");
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();Разбор по шагам
Создаём DOM в памяти, задаём версию, автономность и собственный URI-идентификатор. URI не открывается как URL и не является путём файла.
ПерейтиКСодержимому выбирает начало product. Здесь имя имеет смысл, а Public/System/Notation относятся к другим видам XML-узлов и пусты.
Версию, кодировки, автономность и базовый URI выводим как фактическую диагностику читателя. Сведения о декларации/байтовом источнике могут отличаться от вручную созданных свойств документа, поскольку файл не читался.
Прочитать переходит к тексту. ИмеетЗначение и ЭтоСимвольныеДанные показывают наличие текста, ЭтоПробельныеСимволы ложно для Книга.
Читатель закрывается после использования и при ошибке.
Как проверить результат
Все десять логических сообщений дают Истина.
Последний узел — Текст со значением Книга; три идентификатора на начале product пустые.
Пять диагностических строк источника выводят фактические значения, без требования «файл UTF-8 был прочитан».
Ожидаемый результат
Разделены флаги текущего XML-узла и сведения о происхождении/объявлении документа.
На что обратить внимание
ИмеетЗначение не означает число или допустимое бизнес-значение: текст Книга остаётся строкой.
КодировкаXML и КодировкаИсточника — разные сведения. По строке в памяти нельзя доказать, какие байты получил бы внешний сервис.
ПубличныйИдентификатор, СистемныйИдентификатор и ИмяНотации читаются согласно типу текущего узла, не как универсальные идентификаторы товара.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Задать свойства XML-документа, не выдавая их за преобразование кодировки
Документ в памяти имеет версию и признак автономности, но не имеет исходной байтовой кодировки. ЗаписьDOM создаёт строку, а не файл UTF-8.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Документ создаётся в памяти без DTD, схемы, HTTP и файлов.
URI urn:guide:memory-document — условный идентификатор; он не загружается из интернета.
Документ = Новый ДокументDOM("", "guide");
Документ.ВерсияXML = "1.0";
Документ.Автономный = Истина;
Документ.URIДокумента = "urn:guide:memory-document";
Документ.ЭлементДокумента.ТекстовоеСодержимое = "Книга";
Сообщить(Документ.ВерсияXML = "1.0");
Сообщить(Документ.Автономный);
Сообщить(Документ.URIДокумента = "urn:guide:memory-document");
Сообщить(Документ.КодировкаИсточника = "");
Сообщить(Документ.КодировкаXML = "");
Сообщить(Документ.ОпределениеТипаДокумента = Неопределено);
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();
Попытка
ЗаписьДерева = Новый ЗаписьDOM;
ЗаписьДерева.Записать(Документ, Запись);
XML = Запись.Закрыть();
Исключение
Запись.Закрыть();
ВызватьИсключение;
КонецПопытки;
Сообщить(XML);
Сообщить(СтрНайти(XML, "Книга") > 0);Разбор по шагам
ВерсияXML 1.0 определяет правила XML. Автономный — декларация независимости от внешних определений, а не запрет сети во всём приложении.
URIДокумента задаёт идентификатор документа, не сохраняет файл и не запускает запрос.
КодировкаИсточника и КодировкаXML доступны только для чтения. У созданного в памяти документа они пустые: источника байтов не было.
Через ЗаписьDOM и ЗаписьXML сериализуем дерево в строку. Кодирование этой строки в байты или файл — отдельный шаг.
Как проверить результат
Версия 1.0, Автономный=Истина и заданный URI читаются обратно; оба свойства кодировки пустые.
ОпределениеТипаДокумента отсутствует, XML содержит Книга.
Нет создания файла по URI и загрузки внешних определений.
Ожидаемый результат
Свойства декларации, идентификатор и происхождение кодировки отделены от сериализации строки.
На что обратить внимание
Установка URI не доказывает наличие ресурса по этому адресу.
Нельзя назначить КодировкаXML напрямую: выбирайте нужную кодировку при записи в файл или преобразовании в двоичные данные.
Автономный=Истина не является средством защиты от загрузки внешних XML-ресурсов в другом коде.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.