/usr/share/mime/packages/freedesktop.org.xmlファイルを編集するためのツールは何ですか?

/usr/share/mime/packages/freedesktop.org.xmlファイルを編集するためのツールは何ですか?

application/x-7z 圧縮 MIME タイプファイルのアイコンを変更するために /usr/share/mime/packages/freedesktop.org.xml (テキストエディタを使用) を編集しました。

<mime-type type="application/x-7z-compressed">
  <generic-icon name="package-x-generic"/>

テキストエディタを使用する代わりに、このファイルを編集(またはMIMEタイプのアイコンを変更)するためのツールがあるかどうか疑問に思います。

編集する:私の目標は、テキストエディタが適切でないようにfreedesktop.org.xmlファイルへの修正をスクリプトとして書くことです。
選択したMIMEタイプのタグ属性を編集するコマンドラインツールが必要ですnamegeneric-icon

編集する:@Gillesが指摘したように、$XDG_DATA_HOME/mime/packages/Override.xmlファイルを変更するよりもファイルを変更する方が良いです/usr/share/mime/packages/freedesktop.org.xml。しかし、それは私の問題を実際に変えません。

答え1

/usr/share/mime/packages/freedesktop.org.xml~である無料デスクトップMIMEデータベース。このページには、データベースを照会するためのいくつかのツールと、データベースを変更するためのいくつかのツールがリストされています。

このファイルを手動で変更しないでください。/usr下にあるが外部にあるファイルは/usr/localディストリビューションのパッケージマネージャによって管理され、次のアップグレード時に修正が上書きされます。/usr/local/share/mime/packages代わりに、リストされてsomedir/packagesいるsomedir別のディレクトリに独自のファイルを作成してください$XDG_PATH。ファイルを変更して実行してupdate-mime-database /usr/local/share/mime/packagesキャッシュを更新します(実行する必要があります)。update-mime-databaseとにかく、アプリケーションはXMLファイルの代わりにバイナリキャッシュを読み取るからです。

答え2

選択した言語で提供されるXMLライブラリを使用して、これらのXML文書をプログラムで変更できると思います。たとえば、Pythonで利用可能https://docs.python.org/3/library/xml.html

答え3

XMLの鍵は、エディタを使用して手動で編集できる必要があり、必要に応じて追加のソフトウェアなしで表示できることです。

これがXMLの利点の1つです。 Lispの人々でさえ、XMLの無制限のデータ表示方法がalistLispの関連リスト(または)データ構造を再作成したと主張しながら、XMLの功績を認めたいと思います。

しかし、必ずしも必要ではありませんが、追加のソフトウェアが必要な場合があります。たとえば、Unix / Linuxの世界でダイアグラム、ステートマシンの図などを作成するためによく使用されるツールはDiaです。 Diaでは、ダイアグラムを描画するときにGUIを使用します。しかし、あなたが見るのは、図面が内部的にXMLで表現される方法のGFX表現にすぎません。これは、エディタを使用してXMLを編集して表示することにあまり意味がないため、良い例です。完全に可能ですが、実用的ではありません。

しかし、あなたの場合は、GUIインターフェイスをトリガーするものは何も描いたり、何もしません。そうすれば、編集者はその仕事をします。 Emacsを使用している場合、.xml拡張機能はファイルを開くと自動的に正しいモードに切り替えます。高度なエディタは、強調表示とインデントだけでなく、その過程で発見されるいくつかの高度な機能も提供します。

関連情報