Устанавливает сущность DOM. В качестве ключа в коллекции будет использовано имя узла. Если в коллекции присутствует узел нотации с таким же именем, то он будет замещен и возвращен в качестве возвращаемого значения.
Синтаксис
УстановитьИменованныйЭлемент(<Сущность>)Полное описание, параметры и ограничения
КоллекцияСущностейDOM.УстановитьИменованныйЭлемент (DOMEntityMap.SetNamedItem)
КоллекцияСущностейDOM (DOMEntityMap)
УстановитьИменованныйЭлемент (SetNamedItem)
Доступен, начиная с версии 8.1.
Синтаксис:
УстановитьИменованныйЭлемент(<Сущность>)
Параметры:
<Сущность> (обязательный)
Тип: СущностьDOM.
Узел сущности DOM.
Возвращаемое значение:
Тип: СущностьDOM.
Описание:
Устанавливает сущность DOM.
В качестве ключа в коллекции будет использовано имя узла.
Если в коллекции присутствует узел нотации с таким же именем, то он будет замещен и возвращен в качестве возвращаемого значения.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
DTD: удалить и установить собственную сущность
Сущность и нотация берутся из настоящего внутреннего DTD собственной строки. Никакие узлы не создаются фиктивными конструкторами.
Где и как запускать
Синтаксический пример в серверном обработчике или толстом клиенте. Дерево создаётся из собственной строки либо собственным конструктором в памяти. Здесь 1С, браузер, файлы и сеть не запускались.
Подготовка
Чтение типа документа включено явно: шестой параметр ПараметрыЧтенияXML равен Ложь.
В DTD есть собственная внутренняя сущность icon со значением BOOK и нотация png с публичным идентификатором study-png. Внешнего DTD, внешних сущностей, системных адресов и загрузок нет.
Параметры = Новый ПараметрыЧтенияXML(, , , , , Ложь);
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку("<!DOCTYPE order [<!NOTATION png PUBLIC ""study-png""><!ENTITY icon ""BOOK"">]><order>BOOK</order>", Параметры);
Построитель = Новый ПостроительDOM;
Построитель.КонфигурацияDOM.УстановитьПараметр("disallow-doctype", Ложь);
Документ = Построитель.Прочитать(Чтение);
Чтение.Закрыть();
Коллекция = Документ.ОпределениеТипаДокумента.Сущности;
Узел = Коллекция.ПолучитьИменованныйЭлемент("icon");
Если Узел = Неопределено Тогда
ВызватьИсключение "Собственное объявление DTD не получено";
КонецЕсли;
Попытка
Удалённый = Коллекция.УдалитьИменованныйЭлемент("icon");
Сообщить("Удалён: " + Удалённый.ИмяУзла);
Исключение
Сообщить("Коллекция отказала в удалении");
КонецПопытки;
Попытка
Коллекция.УстановитьИменованныйЭлемент(Узел);
Сообщить("Вызов установки своего удержанного узла выполнен");
Исключение
Сообщить("Коллекция отказала в установке");
КонецПопытки;
Сообщить("Элементов после вызовов: " + Строка(Коллекция.Количество()));Разбор по шагам
Разберите свою строку с внутренним DTD и получите объявленный узел по имени.
Отдельно вызовите удаление, сохраняя ранее полученный настоящий узел.
Попробуйте установить этот же узел и покажите фактическое число элементов.
Как проверить результат
Если DTD или узел не получены, пример не должен подменять их пустой коллекцией.
Успех или отказ каждого вызова проверяется отдельно; сообщения отказа не являются успешным изменением.
Ожидаемый результат
Приведён короткий пример синтаксиса с указанными ограничениями. Он не выполнялся здесь в 1С; проверьте реальные результаты в своём учебном контексте.
На что обратить внимание
DTD-коллекция может не разрешать изменение. Наличие методов в описании не гарантирует изменяемость результата разбора.
Два вызова не составляют транзакцию: если удаление прошло, а установка отказала, пример не обещает восстановления.
В описании установки сущности встречается слово «нотация»; фактический обязательный параметр имеет тип СущностьDOM.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.