xml

xml превращает XML в адресуемое дерево: элементы выбираются по точечному пути, атрибуты — через @name, а текст элемента — через #text.

ДанныеВерсия 1.1.5Стабильная
lil-terminal

Обзор

xml даёт XML-файлам такой же точный рабочий процесс: чтение путей элементов и атрибутов, поиск по ключам и значениям, атомарное изменение одного узла, проверка документа и нормализованный XML через dump.

Элементы, атрибуты и текст — разные узлы

config.@env и config.application.name указывают на разные типы XML-узлов. Команда даёт простым XML-файлам компактную модель путей, но не пытается заменить XPath или полноценный XML-редактор; требуется PHP DOM.

Синтаксис

lil-terminal
xml <file> [key|options] · xml dump <file>

Справочник

xml <file>

показать данные XML

xml <file> <key>

показать точный элемент, атрибут (@name) или #text по пути

xml dump <file>

показать нормализованный исходный текст XML

-f <text|mask> [-k|-v]

найти совпадения в ключах или значениях; * и ? включают маску

-w <key> : <value>

записать значение и нормализовать XML-файл

-w <key> < <file>

записать значение, прочитанное из другого файла

-d <key>

удалить значение по точечному пути

-c

проверить корректность файла XML

Активный файл

В текущем ядре успешно открытый файл сразу становится доступен через $. Если этот модуль — установленный обработчик с наивысшим приоритетом для расширения файла, достаточно ввести только имя файла: ядро направит его в эту команду. Это удобства ядра; явной формой остаётся xml <file>.

Поиск

-f ищет по путям и значениям. -k ограничивает поиск ключами, -v — значениями. Если запрос содержит * или ?, он трактуется как маска.

Прямое редактирование

-w сразу записывает изменение в файл. После : задаётся значение в строке, а < <file> читает значение из другого файла. -d удаляет один точечный путь.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Открыть файл и повторно использовать его через $

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install xml
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install xml -m
Точная публичная версия

Установить именно эту опубликованную версию.

install xml -v 1.1.5
Проверить или обновить

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

upgrade xml
Удалить модуль

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

install xml -u

Примеры

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

Открыть файл и повторно использовать его через $
cd \sandbox\config | xml app.xml
config.@env              production
config.application.name  lil-shop
config.application.debug true
config.database.host     localhost
config.database.port     3306
Показать данные XML
app.xml
config.@env              production
config.application.name  lil-shop
config.application.debug true
config.database.host     localhost
config.database.port     3306
Показать точный элемент, атрибут (@name) или #text по пути
xml $ config.application.name
lil-shop
Показать точный элемент, атрибут (@name) или #text по пути
xml $ config.@env
production
Xml · find-key
xml $ -f "host" -k
config.database.host  localhost
Xml · find-value
xml $ -f "localhost" -v
config.database.host  localhost
Xml · write
xml $ -w config.database.port : 3307
config.database.port  3307
Xml · delete
xml $ -d config.application.debug
config.application.name  lil-shop
config.database.host     localhost
Xml · validate
xml $ -c
Valid XML
Показать нормализованный исходный текст XML
xml dump $
<?xml version="1.0" encoding="UTF-8"?>
<config env="production">…</config>
Проверить отсутствующий файл
xml \sandbox\config\missing.xml
Файл не найден

Файл из примера: sandbox/config/app.xml

Пример использует файл или каталог из защищённой учебной папки /sandbox/.

<?xml version="1.0" encoding="UTF-8"?>
<config env="production">
  <application><name>lil-shop</name><debug>true</debug></application>
  <database><host>localhost</host><port>3306</port></database>
</config>

Связанная документация

Текущая публичная версия

v1.1.52026-08-14

Единая справка структурированных данных

Просмотр, поиск, запись, удаление и проверка теперь представлены единообразно и компактно.