Dosya yolu özelliğini tıklanabilir yapmak için bir XSL stil sayfası oluşturma


0

"AAA", "BBB" ve "CCC" gibi bir dizi dizinde "201209", "201310" ve "201701" gibi yüzlerce aylık klasör bulunmaktadır. Bu aylık klasörlerin her birinde ve hepsinde GUID olarak adlandırılan yüzlerce PDF dosyası vardır (123e4567-e89b-12d3-a456-426655440000).

Diskteki durum bu. Yani her PDF dosyasının "AAA / 201704 / {123e4567-e89b-12d3-a456-426655440000}" gibi bir yolu var

Büyük bir XML dosyasından her paravanı "KN2012_00435", "FN2015_01234" ve "BN2017_08762" gibi bir klasöre böldüm ve bu klasörlerin her birinde her PDF dosyası için bir XML dosyası var. bu casenumber ile bağlı.

Bu XML dosyalarında PDF dosyasının konumu bir XML özniteliği olarak belirtilmiştir DocumentID = "{123e4567-e89b-12d3-a456-426655440000}".

İlk sorunum, bu özelliği tıklanabilir hale getirmek için bir XSL stil sayfası oluşturmak. Yapılabilir mi?

İkinci sorunum ise, bu vaka klasörlerini, dizin ağacındaki PDF dosyalarından bir dizine koymak istiyorum.

Dosyanın içinde:

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

.... için tıklanabilir bir GUID var.

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

Bu yapılabilir mi?


Lütfen soru için daha iyi bir başlık bulmaya çalışın. Bu sorunun taşınmasına doğru yöneliyorum Yığın Taşması programlama ile ilgili olduğundan, muhtemelen burada kalmak iyidir.
slhck

Yanıtlar:


0

Size herhangi bir kod vermeyi mümkün kılmak için yeterli bilgi sağladığınızı sanmıyorum, ancak evet, XSLT 2.0'da bu mümkün. XSLT 2.0'a ihtiyacınız vardır, böylece (a) bir dizindeki tüm dosyaları döndürmek için collection () işlevini kullanabilir ve (b) birden fazla çıktı dosyasını yazmak için xsl: result-document komutunu kullanabilirsiniz.

Bir şeyin "tıklanabilir" olmasını istediğinizi söylediğinizde, bunun HTML oluşturup tarayıcıda görüntülediğiniz anlamına geldiğini düşünüyorum. Ama bu bir tahmin. İşler ayrıca örneğin PDF olarak tıklanabilir. Muhtemelen yapılabilse de, nasıl yapılacağını bilemem.


0

Sorunumun ilk bölümünü bu kod parçası ile çözebildim:

<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>

İkinci sorun, (Windows dosya sisteminde) K: \ docs \ anydirectory \ anydirectory \ {.} 'E atıfta bulunacak şekilde ayarlanmış bir "href" yapmaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.