![]() |
![]() ![]() |
![]() |
![]()
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 ![]() 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. -------------------- Każdy z was jest łodzią w której Może się z potopem mierzyć Cało wyjść z burzowej chmury Musi tylko w to uwierzyć! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Teraz pytanie, jak stworzyć taki szablon xslt który na podstawie danych z pliku xml wygeneruje nowy szablon xslt ? Yyyy, a po co tak? Cytat xslt1 - szablon systemowy służący do generowania plików xslt konkretnych podstron Z tego, co pamiętam, to przecież można dołączać szablony do siebie. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() 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%) ![]() ![]() |
Po to :
xml_dane (strony) xml_wyglad (wygląd) xml_wygląd + xslt_0 -> xslt_wyglad xslt_wyglad + xml_dane -> gotowa strona Można by to przyrównać do własnego systemu szablonów ściśle opartego na xslt i mocno z niego korzystających . Na podobnej zasadzie transformuje swoje szablony smarty na postać skompilowaną skryptów php które są potem łączone z danymi konkretnej podstrony. Zasada jest identyczna tylko że ja chcę mocno z xslt korzystać. Idąc tym tokiem można by stworzyć coś na kształt kontrolek serwerowych z asp. Arkusz xslt_0 właśnie może odpowiadać za opis tego jak konkretna kontrolka ma zostać przetransformowana na kod szablonu xslt. -------------------- Każdy z was jest łodzią w której Może się z potopem mierzyć Cało wyjść z burzowej chmury Musi tylko w to uwierzyć! |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat xml_dane (strony) xml_wyglad (wygląd) xml_wygląd + xslt_0 -> xslt_wyglad xslt_wyglad + xml_dane -> gotowa strona Może zrób jakimś pseudokodem, bo trochę chaotycznie przedstawiłeś. Jak masz header/footer/sidebar, to przeciez możesz zainclude'ować inny, nie? http://www.xml.com/pub/a/2000/11/01/xslt/index.html IMHO cały problem rozwiązany. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() 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%) ![]() ![]() |
O Boże. Chyba dam Ci zaraz jakiś "antypomógł"
![]() Pytanie jest jednoznaczne : Automatycznie generowany szablon xslt (na podstawie pliku xml, pliku który opisuje jak on ma wyglądać) - czy to się da zrobić ? Edit: No dobrze, może jeszcze Cię tak z tym antypomógł tak nie będę karał. Chcesz kodu, ok. Załóżmy ża mamy dane opisujące tabelę (w pliku xml z danymi) :
Tworzę plik xml który opisuje (określa) jak konkretne dane mają zostać wyświetlone na stronie.
No i teraz zostaje zadanie przetransformowania pliku xml zawierającego wygląd docelowej strony na odpowiedni szablon xslt który w połączeniu z danymi o planetach wyświetli odpowiednią tabelkę. Napotkałem problem z napisaniem takiego szablonu ponieważ nie wiem jak w wynikowym dokumencie umieścić znaczniki typu : <xsl:cos> tak aby nie były przez obecną transformację interpretowane. Czy to jest jaśniejszy opis ? Ten post edytował szagi3891 14.08.2009, 15:02:02 -------------------- Każdy z was jest łodzią w której Może się z potopem mierzyć Cało wyjść z burzowej chmury Musi tylko w to uwierzyć! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat O Boże. Chyba dam Ci zaraz jakiś "antypomógł" Bogu? ![]() Cytat Chyba dam Ci zaraz jakiś "antypomógł" Jeśli nie znasz odpowiedzi to proszę nie śmieć mi tematu. Jakie pytanie, taka odpowiedź, wyrażaj się jasno, będą jasne odpowiedzi. Cytat Tworzę plik xml który opisuje (określa) jak konkretne dane mają zostać wyświetlone na stronie. Ten plik musisz dołączyć do głównego XSLT. Potem, przy template-match po prostu wyciągasz atrybuty stosując łączenie stringów i pobranie wartości kolumn wybranych w dołączonym pliku. (operuj na zapytaniu w XPath) -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() 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%) ![]() ![]() |
Dobrze Bogu, a teraz zróbmy eksperyment. Puść sznur
![]() Ten plik musisz dołączyć do głównego XSLT. Potem, przy template-match po prostu wyciągasz atrybuty stosując łączenie stringów i pobranie wartości kolumn wybranych w dołączonym pliku. (operuj na zapytaniu w XPath) A tak serio to wyjaśnij proszę swoją odpowiedź. Jasna odpowiedź to i może będzie "pomógł" ![]() -------------------- Każdy z was jest łodzią w której Może się z potopem mierzyć Cało wyjść z burzowej chmury Musi tylko w to uwierzyć! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Jasna odpowiedź to i może będzie "pomógł" I tak z tych punktów nic nie ma. ;d Cytat A tak serio to wyjaśnij proszę swoją odpowiedź. No przecież masz w transformacjach XSL pętle:
Przelatujesz <column /> i to, co wyciąga xsl:value-of pakujesz jako pobieranie wartości. Po prostu pętla w pętli. ;] -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#9
|
|
![]() 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ę :
Właśnie ten przykład który podajesz będzie wynikiem transformacji danych :
Za pomocą szablonu XSLT_0, który trzeba dopiero napisać. Wynikiem tej transformacji będzie szablon :
No. Taka jest właśnie moja idea :] Ten post edytował szagi3891 14.08.2009, 15:51:30 -------------------- Każdy z was jest łodzią w której Może się z potopem mierzyć Cało wyjść z burzowej chmury Musi tylko w to uwierzyć! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 09:53 |