xml

xml は XML を指定可能なツリーへ変換します。要素はドット区切りパス、属性は @name、要素テキストは #text で扱います。

データバージョン 1.1.6安定版
lil-terminal

概要

xml は XML に同じ集中的な操作を提供します。要素・属性パスの確認、キーや値の検索、1ノードのアトミックな変更、文書の検証、正規化 XML の出力を行えます。

要素・属性・テキストは別のノード

config.@env と config.application.name は異なる XML ノードを選びます。短いパスは単純な XML 向けで、XPath や本格的な XML エディタの代わりではありません。PHP DOM が必要です。

構文

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

リファレンス

xml <file> [key|options] | xml dump <file>

Read and inspect XML elements or attributes, and update a limited document structure with clear safeguards.

コマンド一覧

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 config/app.xml でパスを確認し、ドット区切りのパスを追加して値を読みます。-f はキーと値、-k はキーのみ、-v は値のみを検索します。-c は妥当性の検査、dump は再生成した XML の表示です。Base の -w <key> : <value> は更新、< <file> は別ファイルからの入力、-d <key> は削除です。更新前にバックアップしてください。

制限と安全性

XML の再保存ではコメント、名前空間、混在コンテンツ、元の空白や要素順序が失われる場合があります。DTD と外部エンティティは拒否されます。PHP DOM が必須で、Minimum はファイル全体の表示のみです。書式を保持するには edit または code を使ってください。

インタラクティブな sandbox プレビュー

用意された例をページ上でそのまま実行できます。結果は事前に生成されてブラウザに表示され、サーバーではターミナルコマンドを実行しません。

ファイルを開いて $ で再利用する

インストールと管理

現在の互換バージョンをインストールします。全機能は Base、縮小版は Minimum を選び、すでに導入済みのモジュール更新には upgrade を使います。

Base と Minimum は同じ現在のモジュールリリースの二つのパッケージです。

Base パッケージ

ローカル参照と公開済みの全モードを含む完全パッケージをインストールします。

install xml
Minimum パッケージ

縮小パッケージをインストールします。ローカルリファレンスは含まれず、help <cmd> -i で現在のサーバーリファレンスを開きます。

install xml -m
正確な公開版

この公開済みバージョンを正確に指定してインストールします。

install xml -v 1.1.6
確認または更新

upgrade が互換性を確認し、必要な場合だけブロックを置換します。

upgrade xml
モジュールを削除

コアや他のモジュールに触れず拡張ブロックを削除します。

install xml -u

例

例はコピーできますが、サイトは実行しません。実プロジェクトではパス、権限、破壊的オプションを確認してください。

ファイルを開いて $ で再利用する
xml config/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/app.xml config.application.name
lil-shop
要素、属性(@name)、#text を完全一致パスで表示する
xml config/app.xml config.@env
production
要素、属性(@name)、#text を完全一致パスで表示する
xml config/app.xml config.database.port
3306
キーまたは値を検索する。* と ? を含む場合はマスクとして扱う
xml config/app.xml -f "config.database.*" -k
config.database.host  localhost
config.database.port  3306
キーまたは値を検索する。* と ? を含む場合はマスクとして扱う
xml config/app.xml -f "localhost" -v
config.database.host  localhost
キーまたは値を検索する。* と ? を含む場合はマスクとして扱う
xml config/app.xml -f "debug"
config.application.debug  true
値を書き込み、XML ファイルを正規化する
xml config/app.xml -w config.database.port : 3307
config.database.port  3307
別ファイルから読み取った値を書き込む
xml config/app.xml -w config.application.name < config/from-value.txt
config.application.name  new-shop
ドット区切りパスの値を削除する
xml config/app.xml -d config.application.debug
config.@env              production
config.application.name  lil-shop
config.database.host     localhost
config.database.port     3306
存在しないファイルを扱う
xml config/app.xml -c
Valid XML
正規化した XML ソースを表示する
xml dump config/app.xml
<?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>
要素、属性(@name)、#text を完全一致パスで表示する
xml config/app.xml unknown.key
Path not found
XML ファイルを検証する
xml config/invalid.xml -c
Invalid XML
XML データを表示する
xml config/missing.xml
File not found
値を書き込み、XML ファイルを正規化する
xml config/app.xml -w config.database.port
Value required after : or <
ドット区切りパスの値を削除する
xml config/app.xml -d config
XML data must have exactly one root element
値を書き込み、XML ファイルを正規化する
xml config/app.xml -w config.missing.child : 5
Parent path is not a collection

この例で使うファイル: 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.62026-11-01

プロダクション向け調整

xml の現在の安定版。xml は XML を指定可能なツリーへ変換します。