SaxonHE9-4-0-6J をダウンロードし、CLI で XHTML を処理したいと考えています。しかし、Saxon は W3C から DTD を読み込もうとするため、単純なコマンドごとに時間がかかりすぎます。
私は xml カタログを持っています。これは、カタログ ファイルを指す環境変数を設定することで xmllint で正常に使用できますが、Saxon にそれを使用させる方法がわかりません。Google は、Saxon でのカタログの使用に関する変更の全履歴 (したがって混乱) を明らかにしましたが、私を満足させるものはありませんでした。
resolver.jar をダウンロードして CLASSPATH に設定しましたが、Saxon で使用できません。さまざまな組み合わせの後、次のようなカタログ変数のみを使用してhttp://www.saxonica.com/documentation/sourcedocs/xml-catalogs.xmlに従いました。
-catalog:path-to-my-catalog
(URIと通常のパスの両方を試しました)、、、スイッチを設定せず-r
に-x
、-y
Saxonはそれを認識しません。次のエラーが表示されます。
クエリの処理に失敗しました: Apache カタログ リゾルバー ライブラリを読み込めませんでした
resolver.jar はクラスパスに設定されており、コマンドラインから使用できます:
C:\temp>java org.apache.xml.resolver.apps.resolver
Usage: resolver [options] keyword
Where:
-c catalogfile Loads a particular catalog file.
-n name Sets the name.
-p publicId Sets the public identifier.
-s systemId Sets the system identifier.
-a Makes the system URI absolute before resolution
-u uri Sets the URI.
-d integer Set the debug level.
keyword Identifies the type of resolution to perform:
doctype, document, entity, notation, public, system,
or uri.
OTOH、Saxon アーカイブ自体には既に XHTML やその他のさまざまな DTD が含まれているため、このフラストレーションから抜け出す簡単な方法があるはずです。
コマンドラインでSaxonを使用し、ローカルDTDを使用するように指示する方法は?