C'è un modo per ottenere il percorso corrente della cartella all'interno di un file xslt?
bisogno per individuare altri XML e XSLT file
Non c'è bisogno di alcuna funzione di estensione o anche parametri per farlo!
Qualsiasi relativi URL utilizzati nell'attributo href
di un'istruzione <xsl:import>
o <xsl:include>
vengono risolti in base alla URL del foglio di stile XSLT corrente - ha solo bisogno di avere un URL, che viene indicato come vlearly vero nella domanda di cui sopra. Questo è molto comodo nell'importazione/inclusi i fogli di stile XSLT.
La funzionedocument()
anche risolverà un URL relativo in modo simile, rendendo così qualsiasi documento XML aggiuntivo accessibile tramite URL anrelative.
Infine, eccoan examplecome questo impianti sono massicciamente utilizzati in una grande biblioteca di funzioni XSLT e modelli (FXSL 2.x):
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:f="http://fxsl.sf.net/"
exclude-result-prefixes="xs xdt f"
>
<!--
This module contains the FXSL versions of the "standard" XPath functions
These are intended as convenience functions, so that they can be passed
as parameters to other functions (e.g. to f:zipWith())
or curried and passed as parameters (e.g. to f:map())
-->
<xsl:import href="func-curry.xsl"/>
<xsl:import href="func-compose-flist.xsl"/>
<xsl:import href="func-standardArithmeticXpathFunctions.xsl"/>
<xsl:import href="func-standardBooleanXpathFunctions.xsl"/>
<xsl:import href="func-standardStringXpathFunctions.xsl"/>
<xsl:import href="func-standardNodesXpathFunctions.xsl"/>
<xsl:import href="func-standardSequencesXpathFunctions.xsl"/>
<xsl:import href="func-standardAggregateXpathFunctions.xsl"/>
<xsl:import href="func-standardDateTimeXpathFunctions.xsl"/>
<xsl:import href="func-standardXSLTXpathFunctions.xsl"/>
<xsl:import href="func-standardAxisXpathFunctions.xsl"/>
</xsl:stylesheet>
fonte
2009-02-13 17:35:09
Non so perché questo fosse giù votato. Funziona davvero. – Tomalak
Ci scusiamo per questo. Ho votato per l'utilizzo di un'estensione non standard, ma dopo aver aggiunto la mia risposta, mi sono reso conto che avevo suggerito la stessa cosa. Penso che non ci sia un modo "standard" per farlo. (Tranne l'uso dei parametri) –
Grazie per aver spiegato il tuo ragionamento, molto apprezzato. :-) – Tomalak