Grundsätzlich möchte ich ein xslt haben, um meine 'Basis' xslt zu werden und dieses in untergeordnete xslt-Dateien zu verknüpfen.
Ist das möglich?
Ziel ist es, die Code-Duplizierung zu reduzieren.
Wir werden viele untergeordnete xslt-Dateien für die verschiedenen Kunden haben, alle mit eigener Formatierung und zusätzlichem Text usw. und nicht den Basiscode für jeden Client xslt wiederholen wollen.
Ich weiß, dass wir basierend auf der Art des Kunden formatieren können, aber dies wird die xslt überladen machen. Wäre im Idealfall genau wie kundenbezogener Code für jeden Kunden.
Ist das nicht die Art, xslt zu machen? Ich bin neu bei xslt!
Der href-Pfad ist relativ zur aktuellen xsl-Datei. <xsl:import/>
documentation .
Denken Sie daran, dass Sie Ihre Importlinien als erstes untergeordnetes Element von <xsl:stylesheet>
oder <xsl:transform>
schreiben müssen. Sie können nicht überall in Ihren Dateien erscheinen.
Wie alle anderen Antworten angegeben haben, gibt es zwei XSLT-Anweisungen:
und
die genau dafür entwickelt wurden, diese Fähigkeit zu bieten.
Es könnte für Sie interessant sein, dass es vollständige Bibliotheken mit Vorlagen und Funktionen gibt, die andere Stylesheets der Bibliothek intern importieren. Die Stylesheets der Bibliothek sollen in die XSLT-Stylesheets des Benutzers importiert werden.
Sehen Sie sich zum Beispiel die FXSL-Bibliothek für die funktionale Programmierung in XSLT an.
> Alle anderen Antworten geben Ihnen genügend Informationen,
Ich möchte hier noch eine wichtige Sache erwähnen. Sie können sogar die Parameter (in beiden Fällen) zwischen den beiden übergeben (aufrufende und aufgerufene Datei, wenn sie irgendwelche Daten teilen müssen) xslt Dateien ..
Diese Funktion spielt wichtige Rolle in / über XSLT Version 1.0, möglicherweise benötigen Sie es in der Zukunft ..
:)
Ja, Sie können - Sie können include
und import
andere XSLTs.
Dies ist ein guter Ort, um etwas über import
zu lernen, nach dem Sie speziell suchen. include
ist anders, aber wissenswert.
Ja, Sie können das Tag verwenden, um ein anderes XSLT einzufügen:
%Vor%Es gibt ein paar gotchas! Also sei vorsichtig!
Die "Eltern" XSLT wird die enthaltene XSLT zwischenspeichern. Wenn Sie also eine Änderung an der verschachtelten / eingeschlossenen XSLT vornehmen, wird diese in der XSLT-Stammtransformation nicht sofort angezeigt. Ich denke, das könnte mit der Verwendung von XslCompiledTransform zu tun haben - aber nicht 100%. Wie auch immer, wenn Sie das übergeordnete XSLT ändern, wird der Cache aktualisiert. (Dies war ein sehr nerviges Problem bei einigen Projekten)
Zweitens werden Sie wahrscheinlich auf Probleme mit dem $ currentPage-Parameter stoßen. Es kann nur einmal im gesamten XSLT-Stylesheet deklariert werden - das schließt "includes" ein !!! Sei also vorsichtig, wo du auf das Element Bezug nimmst! Referenz von hier