XSLスタイルシートを作成して、ファイルパス属性をクリック可能にする


0

「AAA」、「BBB」、「CCC」などの多くのディレクトリには、「201209」、「201310」、「201701」などの数百の月間フォルダがあります。これらの毎月のフォルダーには、数百のPDFファイルがあり、すべてがGUID(123e4567-e89b-12d3-a456-426655440000)として名前が付けられています。

これがディスク上の状況です。したがって、すべてのPDFファイルには「AAA / 201704 / {123e4567-e89b-12d3-a456-426655440000}」のようなパスがあります

主要なXMLファイルから、すべてのケース番号を「KN2012_00435」、「FN2015_01234」、「BN2017_08762」などのフォルダーに分割することができました。これらのフォルダーのすべてに、PDFファイルごとに1つのXMLファイルがありますそのケース番号が添付されています。

これらのXMLファイルでは、PDFファイルの場所はXML属性DocumentID = "{123e4567-e89b-12d3-a456-426655440000}"として記述されています。

私の最初の問題は、XSLスタイルシートを作成して、その属性をクリック可能にすることです。できますか?

2番目の問題は、これらのケースフォルダをPDFファイルのディレクトリツリー内のディレクトリに配置することです。

ファイル内:

//casenumbers/KN2012_00435/{123e4567-e89b-12d3-a456-426655440000}

....クリック可能なGUIDがあります....

//docs/AAA/201704/{123e4567-e89b-12d3-a456-426655440000}

それはできますか?


質問のより良いタイトルを見つけてみてください。プログラミングに関連しているため、この質問をStack Overflowに移行することに傾倒していますが、おそらくここにとどまることは問題ありません。
slhck

回答:


0

コードを提供するのに十分な情報を提供していないと思いますが、XSLT 2.0ではこれが可能です。(a)collection()関数を使用してディレクトリ内のすべてのファイルを返すことができ、(b)xsl:result-document命令を使用して複数の出力ファイルを書き込むことができるように、XSLT 2.0が必要です。

「クリック可能」にしたいということは、HTMLを生成してブラウザで表示していることを意味します。しかし、それは推測です。たとえば、PDFでクリックすることもできます。おそらくできるかもしれませんが、私はそれを行う方法を知りません。


0

次のコードで問題の最初の部分を解決できました。

<xsl:for-each select="//dbo.Documents/@DocumentID">
    <tr bgcolor="#FBF5A4">
        <td><xsl:value-of select="local-name()" /></td>
        <td><a href="{.}"><xsl:value-of select="." /></a></td>
    </tr>
</xsl:for-each>

2番目の問題は、調整された「href」を作成して、(Windowsファイルシステムで)K:\ docs \ anydirectory \ anydirectory \ {。}を参照するようにすることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.