Я знаю, что это похоже на дубликат, и я уверен, что это более или менее ... Однако, это действительно беспокоит меня, и я не могу ничего постить раньше:
Я создаю цифровое издание, использующее TEI, XML, XSLT, (и, вероятно, существует DB, возможно, я переключаюсь на узел / javascript).
Я создал php -функцию, которая должна преобразовывать каждый файл в указанном каталоге в html. (Мой xsl-файл работает хорошо)
declare function app:XMLtoHTML-forAll ($node as node(), $model as map(*), $query as xs:string?){
let $ref := xs:string(request:get-parameter("document", ""))
let $xml := doc(concat("/db/apps/BookOfOrders/data/edition/",$ref))
let $xsl := doc("/db/apps/BookOfOrders/resources/xslt/xmlToHtml.xsl")
let $params :=
<parameters>
{for $p in request:get-parameter-names()
let $val := request:get-parameter($p,())
where not($p = ("document","directory","stylesheet"))
return
<param name="{$p}" value="{$val}"/>
}
</parameters>
return
transform:transform($xml, $xsl, $params)
};
В apps/BookofOrders/data/edition/
есть список файлов с именем FolioX. html, где x - номер страницы. (Я, вероятно, изменю имена на [FolioNumber]. xml, но это не проблема) Я пытаюсь создать текстовый слайдер (чтобы при открытии страницы отображалась страница, создавались дополнительные кнопки и Я могу скользить вправо и читать остальные страницы).
У меня есть таблица содержания, которая связана с преобразованными файлами:
declare function app:toc($node as node(), $model as map(*)) {
for $doc in collection("/db/apps/BookOfOrders/data/edition")/tei:TEI
return
<li><a href="{concat('http://localhost:8080/exist/apps/BookOfOrders/pages/show.html?document=',functx:substring-after-last(document-uri(root($doc)), '/'))}">{document-uri(root($doc))}</a></li>
};
Я думаю, мне интересно узнать, как изменить ссылку внутри, например, на Folio29 на Folio30. Могу ли я взять часть предоставленной ссылки и сделать назначение ссылки гибким, похожим, но не идентичным тому, что я делал в функции to c выше?
Я был бы очень рад, если бы кто-нибудь мог указать мне правильное направление.