Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ xslt ] automatyzacja, generowanie menu
wassago
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


mam problem do rozwiazania. dokonuje konwersji formatu DocBook do XHTML(1.1) przy pomocy szablonow XSLT, wszystko generuje sie piknie. Ale nie wiem za chiny jak zmienic arkusz XSLT aby pobieral headline'y (h1, h2, h3 ...) i tworzyl z nich menu (TOC). Problem w tym ze hX sa roznie zaglebione.

EDIT:

jeszcze jeden problem. jak dolaczyc automatycznie jakis arkusz styli.. rozumiem ze robi sie to w tagu <xsl:output />, ale jak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
hawk
post
Post #2





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


Uhm, nie za bardzo rozumiem...

1) W DocBooku nie ma h1, h2, itd. Są chapter, section, itd. I arkusz styli sam pobiera tytuły tych elementów i tworzy spis treści.

2) Dołączyć? Tzn żeby pokazało się odwołanie do arkusza styli w treści strony wynikowej? Do wstawiania arkusza CSS był specjalny parametr w DocBookowym XSL. Jeżeli chcesz mieć więcej styli, lub chcesz coś specjalnego, to trzeba zmienić szablon nagłówka strony. Czyli dodać własny customization layer.
Go to the top of the page
+Quote Post
wassago
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


1) qrde masz racje., pogielo mi sie - chodzi mi o generacje TOC wlasnie z tych chapterow ktore po konwersji sa widziane jako h1, h2...
chodzi o to aby z kazdejsekcji (sect1, sect2.. ) wyciagnac <title />, to nie jest trudne bo to juz robie.. problem w tym aby nie dosc ze wyciagnac je to wyswietlic na poczatku strony wynikowej jako menu.

2)
Cytat
Tzn żeby pokazało się odwołanie do arkusza styli w treści strony wynikowej?
dokladnie
Go to the top of the page
+Quote Post
hawk
post
Post #4





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


Ad 1) No dobra, ale przecież XSL do DocBooka generuje już bardzo dobry spis treści. I ma dość dużo różnych opcji i możliwości.

Teraz pytanie, czy chcesz zrobić coś podobnego tylko samemu? w takim razie odpowiedź brzmi: olej, i tak ci ludzie znają XSL o niebo lepiej niż my, i nie ma sensu się szarpać.

Czy też może potrzebujesz czegoś zupełnie innego niż standardowy spis treści? Wtedy należy upewnić się, czy na pewno nie ma na to żadnej opcji/parametru (na ogół jednak jest), a jeżeli rzeczywiście nie ma - jak można to uzyskać robiąc drobną modyfikację standardowego szablonu.

Całość się komplikuje z uwagi na podział treści na poszczególne strony HTML, ale na to znowu też są w DocBook XSL opcje... nawet można wstawiać na każdej stronie "lokalny" spis treści.

Ad 2) To, jak pisałem, na pewno jest na to odpowiedni parametr do podania przy transformacji. Trzeba poszukać na liście parametrów i wystarczy podać nazwę arkusza, sam tag wygeneruje się automatycznie.
Go to the top of the page
+Quote Post
wassago
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


hmm... do konwersji DocBook => xhtml kozystam z procesora php z tymi szablonami:
- http://www.openbsd.org.mx/~santana/d2h/docbook.xsl
- http://www.openbsd.org.mx/~santana/d2h/lists.xsl
- http://www.openbsd.org.mx/~santana/d2h/misc.xsl
- http://www.openbsd.org.mx/~santana/d2h/mediaobjects.xsl

problem w tym ze za nic nie chce mi to wygenerowac spisu tresci, wlasnie dlatego moje pytanie.. gdyby automatycznie generowalo to nie bawilbym sie w generowanie po 'swojemu' (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

ofkors, zdajesz sobie sprawe ze cale moje zainteresowanie DB i XSL spowodowane jest twym postem na forum dev (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
hawk
post
Post #6





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


OMG. Te arkusze styli to mnie rozbawiły. To nie jest nawet 1% tego, co znajduje się w oficjalnych arkuszach.

Jedyne poprawne źródło XSL do DocBooka to http://docbook.sourceforge.net/projects/xsl/. Ściągnij sobie to zobaczysz różnicę. To co podawałeś to jest zabawka. Prawdziwe arkusze są gigantyczne i nie do ogarnięcia dla jednej osoby.

Dodam jeszcze że zdecydowanie odradzam używanie takich "pokątnych" arkuszy albo męczenie czegoś samemu. Nie odmawiam szczerych chęci i dobrych intencji. Ale prawda jest taka że pełny (nie simplified) docbook jest bardzo skomplikowany. I takie wynalazki nie będą zapewniały pełnego wsparcia, bo jest to po prostu niemożliwe bez kilku lat pracy dużej grupy developerów. Zresztą widzisz na przykładzie spisu treści.

A do transformacji jednak nie polecam procesora php. Niby to jest to samo co libxslt, ale jednak. DocBook XSL ma kilka featuresów wykraczających poza zwykłe XSL, i do tego ma pluginy do różnych procesorów. Np. do Xalana jest dostarczane kilka klas javovych które robią kilka opcjonalnych rzeczy niemożliwych inaczej. Lepiej wszystko testować na bardziej "tradycyjnym" procesorze. Być może niektóre rzeczy nie są wykonalne prosto w trybie online, np. podział na wiele plików xhtml, generacja pdf, itd.

PS ofkors, zdaję sobie sprawę, i cieszę się. DocBook jest naprawdę fajnym standardem. Widziałem raz pracę magisterską napisaną w DocBooku i ona pod względem wizualnym deklasowała wszystkie wordowe wypociny. Ale to było robione na wydziale z długimi tradycjami DocBookowymi, i nie za pomocą darmowych narzędzi...
Go to the top of the page
+Quote Post

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: 24.08.2025 - 04:23