Docbookドキュメントを作成するためのSConsファイルを作成しています。依存関係を追跡するために、カタログファイルのルックアップをファイルへの絶対パスに解決する方法が必要です。
だから私はDocbookXMLを少し持っていると言ってください:
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude">
<info>
<title>Docbook example document</title>
<xi:include href="file:///common/logo.xml"
xpointer="logo"/>
</info>
<xi:include href="chap1/chap1.xml"/>
<xi:include href="chap2/chap2.xml"/>
<xi:include href="chap3/chap3.xml"/>
<xi:include href="chap4/chap4.xml"/>
</book>
およびcatalog.xmlファイル:
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteURI
uriStartString="file:///stylesheet/"
rewritePrefix="file:///home/kst/svn/TOOLS/Docbook/stylesheet/" />
<rewriteURI
uriStartString="file:///common/"
rewritePrefix="file:///home/kst/svn/TOOLS/Docbook/common/" />
<nextCatalog catalog="/etc/xml/catalog" />
</catalog>
lxmlを使用してxincludehref文字列を取得することは問題ありませんが、私はそこで立ち往生しています。私が必要としているのは、file:///common/logo.xmlが解決する絶対ファイル名(この場合は/home/kst/svn/TOOLS/Docbook/common/logo.xml)をカタログファイルから取得する方法です。あまり面倒なことなくSConstructファイルで使用できるように、何らかのPythonコードである必要があります。
どんな助けでも大歓迎です。