![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Koszalin/Toruń Ostrzeżenie: (0%) ![]() ![]() |
Witam !
Mam nastepujący problem . Zalozmy ze mam nastepujacy dokument z moim meta jezykiem :
Pisze do niego transformacje , ktora przeksztalca go na XHTML w taki sposob ze element <heading level="1"> przechodzi na <h1> itd. Jednak zalezy mi z pewnych wzgledow zeby do kazdego wynikowego <h1> ,<h2> itd dodwac atrybut id ktory zawiera liczbe wskazujaca na to ktory to element heading czyli : XHTML: jak to zrobic w XSL'u ? Znalezlem jakis wzorzec na iteracje ale on sie nie sprawdza do numeracji tych samych elementow. Potem probowalem w ten sposob :
Okazal sie byc on prawie dobry ale XPath'owe position() zwraca pozycje w strukturze dokumentu a nie w odniesieniu do tych samych elementow i w ten sposob liczby jakie sa przyporzadkowywane nie sa kolejnymi liczbami naturalnymi Czy ktos ma jakis pomysl jak to zrobic ? -------------------- Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
rozumiem, że chodzi Ci tylko o dodanie parametru do Twojego <h1> tu: parametru `id`
w tym przykładzie co podałeś jest coś nie teges... robi to się w następujący sposób
oczywiście to wszystko w jakiejś pętli więcej o atrybutach na W3C |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Koszalin/Toruń Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi o to zeby numer id generowac na podstawie tego ktory w kolejnosci element heading jest przerabiany .
-------------------- Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
acha, czyli coś takiego co iteruje w pętli, do tego możesz użyć `position()` oraz `number`, tylko że w swoim przykładzie nie użyłeś tego w pętli więc pewnie Ci nie zadziałało.
rozumiem, że nie zawsze muszę być wyświetlone wszystkie <Hx /> więc tu jest problem, niestety są dwa wyjścia: 1. przebudujesz swój skrypt, tak aby wszystko było w pętli i potem za pomocą <xsl:choose> wybierasz które <Hx /> ma być użyte. Czyli użyj w twoim skrypcie jeszcze <xsl:for-each> po to aby móc wykorzystać `position(). 2. kombinujesz za pomocą wbudowanych funkcji `XPath, XQuery, and XSLT Functions`, szczególnie pomocne mogą być `Aggregate Functions` Osobiście skorzystałbym z opcji 1. Pozdrawiam |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Koszalin/Toruń Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za wskazowki , postaram sie to jakos rozsadnie zaimplementowac :-)
-------------------- Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:02 |