2011-01-17 4 views
-2

Die Webseiten, an denen ich gerade arbeite, zeigen einen Hauptseitenbereich an, dessen Inhalt von einer externen XML-Datei kommt, die den erforderlichen HTML-Code enthält.XSL-Vorlage in externe XML-Datei übernehmen

z.B.

<xhtml:content> 
    <div id="marketingContent"> 
     <div id="topLeft"> 
     <div id="intro"> ..... 

Wir haben eine XSL-Vorlage, die dieses XML konsumiert und auf der ganzen Seite anzeigt.

Dies ist derzeit ein statischer Inhalt. Es ist jedoch erforderlich, dass innerhalb dieses Inhalts dynamisch eine Reihe von Links angezeigt wird, je nachdem, auf welcher Seite Sie sich befinden.

Wir haben diese Informationen in einer anderen XML-Datei, möchten aber eine xsl-Vorlage einfügen, um diese Links in der externen XML-Datei anzuzeigen.

z.B.

<xhtml:content> 
     <div id="marketingContent"> 
      <div id="topLeft"> 
      <div id="intro"> 
       <!-- Dynamic link area --> 
       <div id="links"> 
        list of links based on the area of the site you are in 
       </div> .... 

Ist das möglich zu tun, und was ist die beste Methode - ziemlich neu im Voraus

Dank xsl

+0

Das Sehen Ihrer XSLT würde wirklich helfen. –

+0

@ user502014: Dies sieht wie ein Populationsmuster aus. Siehe http://stackoverflow.com/questions/3529852/sitemesh-like-functionality-with-xslt –

+0

Dies ist keine XSLT-Frage überhaupt. Was benötigt wird, ist: 1. Ein vollständiges (aber kleinstmögliches) XML-Quelldokument. 2. Das gewünschte Ergebnis. 3. Ein Satz Regeln/Anforderungen, wie sich die Elemente im Ergebnis auf die Elemente im XML-Dokument beziehen. Mit diesen können wir nur raten was eigentlich Ihr Problem ist. Bitte, liefern. –

Antwort

0

Sie die document()-function aus Ihrer XSLT-Datei, die die Haupt zeigt verwenden können Seite, um ein anderes XML-Dokument (z. B. in eine Variable) zu laden. Mit xpath können Sie dann die benötigten Knoten aus diesem Dokument auswählen.

Ein Artikel, der erklärt, was Sie damit tun können, finden Sie unter here.

Ich würde gerne tiefer gehen, aber Sie müssen ein bisschen mehr posten, oder wir sind beschränkt auf etwas vage und allgemein in unseren Antworten auf Ihre Frage.

Verwandte Themen