フォルダにたくさんのXMLファイルがあります-本の1ページに1つのXML。すべてのXMLを1つのルートXMLファイルにまとめてから、名前空間と不要な属性を削除するためにXSLを使用して最初の変換を行い(そのためのXSLスタイルシートがあります)、新しいXMLを保存してから、別のスタイルシートを使用して再度変換する必要があります(Iそれも準備しました)そして結果のテキストファイルを保存します。自宅で1つのXMLファイルを使用してOxygenで実行していますが、このプロセスを自動化して、スクリプトを使用して実行する必要があります。私はWindowsで作業する必要があり、Oxygenがないと、顧客はそのためのソフトウェアを持っておらず、自分で作成したいと考えています。!ENTITYタグを使用してルートXMLを記述せずにXMLをまとめる方法は?どのソフトウェアツール(XSL変換用)を使用できますか?Windows用のそのようなスクリプトを作成するにはどうすればよいですか?私はPythonでプログラミングを行い、Javaで少しプログラミングを行っています。どうもありがとうございます。
質問する
159 次
2 に答える
0
XMLファイルを1つのファイルとして処理できるようにまとめる場合、1つのオプションは、すべてのXMLファイルへの外部エンティティ参照を含むルートXMLファイルを生成するcmd.exeバッチスクリプトを作成することです。
おそらく次のようなものです(拡張子のないXMLファイル名がエンティティ名として許可されていると仮定します):
@echo off
del root.xml 2> nul
(
echo ^<!DOCTYPE root [
for %%f in (*.xml) do (echo ^<!ENTITY %%~nf SYSTEM "%%f"^>)
echo ]^>
echo ^<root^>
for %%f in (*.xml) do (echo ^&%%~nf;)
echo ^</root^>
) > root.tmp
move root.tmp root.xml > nul
または、いくつかのXMLタグを使用してファイル名を出力しdocument()
、XSLTの関数を使用してファイルにアクセスすることもできます。
コマンドラインからXSLT変換を実行するには、たとえば、msxsl.exeコマンドラインユーティリティを使用できます。これは、おそらくシステムにすでにインストールされているMSXMLライブラリのフロントエンドです。
msxsl root.xml stylesheet.xsl
于 2012-07-18T12:55:21.823 に答える
0
複数のソース ドキュメントを使用する方法については、XSLT 仕様を参照してください。
于 2012-07-18T10:02:13.480 に答える