0

7K 行、500kb の XML ファイルがあります。このようなファイルを大きいと呼ぶのはばかげているように聞こえますが、これは手動で編集される構成ファイルであり、このコンテキストではサイズが問題になります。

  • 構文の強調表示が非常に遅い (少なくとも IntelliJ では)
  • そのような大きなファイルで何かを検索するのは苦痛です

したがって、ファイルをいくつかの小さなファイルに分割したいと思います。XIncludeは実際には素晴らしいように思えますが、ファイル全体で一意でなければならない外部キーやインデックスへの参照を含むエラーを防ぐのに大いに役立つ洗練された XSD が存在します。XML ファイルを複数の小さなファイルに分割した場合、検証は複数のファイルにまたがって相互参照をチェックする必要があります。

--> 最初に XInclude を実行し、次に検証を実行するバリデータが必要です。Googleはこれが可能であることを示唆していますが、私はこれを正しく行うことができませんでしたxmllint --xinclude --schema mySchema.xsd myXMLWithPlentyOfXIncludes.xml.インクルード ファイルのルート タグに xmlns 属性を追加すると、問題が発生しますThe attribute '{http://www.w3.org/XML/1998/namespace}base' is not allowed

では、ファイル間で名前空間を正しく取得するには、どのように設定すればよいでしょうか? 検証を行うにはどうすればよいですか? 他に知っておくべき注意事項はありますか?

おまけ: IntelliJ で検証を機能させるにはどうすればよいですか?

4

1 に答える 1

2

エンティティの場合のように聞こえます。小さなファイルのそれぞれを、単独で編集できる単一の XML 外部エンティティにし、マスター ファイルを、エンティティ参照 (&one; など) でこれらのエンティティに単純にリンクする非常に小さなファイルに置き換えます。マスター ファイルで検証を実行すると、エンティティが自動的に取り込まれます。

于 2014-01-23T16:29:14.643 に答える