Создание таблицы стилей XSL, чтобы сделать атрибут пути к файлу активным
В ряде каталогов, таких как "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", и в каждой из этих папок есть один XML-файл для каждого PDF-файла. с этим номером дела.
В этих XML-файлах местоположение PDF-файла указывается в виде атрибута XML DocumentID="{123e4567-e89b-12d3-a456-426655440000}".
Моя первая проблема - создать таблицу стилей XSL, чтобы сделать этот атрибут кликабельным. Можно ли это сделать?
Вторая проблема заключается в том, что я хотел бы поместить эти папки в каталог в дереве каталогов из PDF-файлов.
В файле:
//casenumbers/KN2012_00435/{123e4567-e89b-12d3-a456-426655440000}
.... есть кликабельный GUID, идущий в....
//docs/AAA/201704/{123e4567-e89b-12d3-a456-426655440000}
Можно ли это сделать?
2 ответа
Я смог решить первую часть моей проблемы с помощью этого куска кода:
<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>
Вторая проблема состоит в том, чтобы настроить скорректированный href так, чтобы он ссылался (в файловой системе Windows) на K:\docs\anydirectory\anydirectory\{.}
Я не думаю, что вы предоставили достаточно информации, чтобы дать вам какой-либо код, но да, в XSLT 2.0 это возможно. Вам нужен XSLT 2.0, чтобы (а) вы могли использовать функцию collection(), чтобы вернуть все файлы в каталоге, и (б) вы можете использовать инструкцию xsl:result-document для записи нескольких выходных файлов.
Когда вы говорите, что хотите, чтобы что-то было "кликабельным", я предполагаю, что это означает, что вы генерируете HTML и просматриваете его в браузере. Но это предположение. Вещи также могут быть кликабельны, например, в PDF. Я не знаю, как это сделать, хотя, вероятно, это можно сделать.