Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Automatycznie generowany szablon xslt (na podstawie pliku xml) - czy to się da zrobić ?
szagi3891
post
Post #1





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Moje pytanie jest takie.
Wyobraźmy sobie dane xml opisujące jak ma wyglądać strona. Następnie te dane poddaję transformacji za pomocą stałego szablonu xslt który mi generuje właściwy szablon tej konkretnej podstrony.

Wynikowy szablon (który został wygenerowany z danych xml) + dane konkretnej podstrony --> otrzymalibyśmy stronę na której nam zależy.

Teraz pytanie, jak stworzyć taki szablon xslt który na podstawie danych z pliku xml wygeneruje nowy szablon xslt ?


reasumując (chcę zrobić coś takiego) :

xml1 - dane opisujące budowę strony
xslt1 - szablon systemowy służący do generowania plików xslt konkretnych podstron
xslt2 - szablon konkretnej podstrony
xml2 - dane które mają zostać osadzone na konkretnej podstronie

xml1 + xslt1 ----> xslt2
xml2 + xslt2 ----> nasz długo oczekiwany dokument html sformatowany ze wszystkimi możliwymi standardami (IMG:style_emoticons/default/smile.gif)

Czy ma ktoś pomysł jak napisać taki szablon xslt1 ?
Problem sprowadza się zasadniczo do tego że nie wiem jak osadzić znaczniki w przestrzeni nazw xsl:cos w nowym wynikowym dokumencie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
szagi3891
post
Post #2





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Uffff, znalazłem.
Chodziło mi o taką konstrukcję :
  1. <xsl:text disable-output-escaping="yes">&lt;xsl:value-of match="."/&gt;</xsl:text>


Właśnie ten przykład który podajesz będzie wynikiem transformacji danych :

  1. <table select="planety/planeta">
  2. <column select="nazwa">
  3. <name>nazwa planety</name>
  4. </column>
  5.  
  6. <column select="od_slonca">
  7. <name>kolejna od slonca</name>
  8. </column>
  9. </table>


Za pomocą szablonu XSLT_0, który trzeba dopiero napisać.

Wynikiem tej transformacji będzie szablon :

  1. <xsl:for-each select="catalog/cd">
  2. <tr>
  3. <td><xsl:value-of select="title" /></td>
  4. <td><xsl:value-of select="artist" /></td>
  5. </tr>
  6. </xsl:for-each>


No. Taka jest właśnie moja idea :]

Ten post edytował szagi3891 14.08.2009, 15:51:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 00:09