Plan lekcji (organizacja w tabele - XSL)
staszek27@gmail.com - 24-12-2006 01:20
Plan lekcji (organizacja w tabele - XSL)
Witam: Stworzylem sobie plan lekcji w XML - http://staszek27.fm.interia.pl/planlekcji.xml Wyglada to tak: <?xml version="1.0" encoding="iso-8859-2"?> <!--<?xml-stylesheet type="text/xsl" href="szablon.xsl"?>--> <plan> <dzien nazwa="godziny"> <lekcja id="1">7:30-8:15</lekcja> <lekcja id="2">8:25-9:10</lekcja> <lekcja id="3">9:15-10:00</lekcja> <lekcja id="4">10:10-10:55</lekcja> <lekcja id="5">11:00-11:45</lekcja> <lekcja id="6">11:55-12:40</lekcja> <lekcja id="7">12:45-13:30</lekcja> <lekcja id="8">13:45-14:30</lekcja> <lekcja id="9">14:35-15:20</lekcja> <lekcja id="10">15:30-16:15</lekcja> <lekcja id="11">16:20-17:05</lekcja> <lekcja id="12">17:10-17:55</lekcja> </dzien> <dzien nazwa="poniedzialek"> <lekcja id="1" sala="9">Matematyka</lekcja> <lekcja id="2" sala="9">Matematyka</lekcja> <lekcja id="3" sala="13">Biologia</lekcja> <lekcja id="4" sala="22">Religia</lekcja> <lekcja id="5" sala="24">Chemia</lekcja> <lekcja id="6" sala="nd">Jezyk niemiecki</lekcja> <lekcja id="7" sala="nd">Jezyk niemiecki</lekcja> </dzien> <dzien nazwa="wtorek"> <lekcja id="2" sala="21">Jezyk polski</lekcja> <lekcja id="3" sala="21">Jezyk polski</lekcja> <lekcja id="4" sala="24">Chemia</lekcja> <lekcja id="5" sala="4">GDD</lekcja> <lekcja id="6" sala="9">Matematyka</lekcja> </dzien> <dzien nazwa="sroda"> <lekcja id="6" sala="nd">Wychowanie fizyczne</lekcja> <lekcja id="7" sala="14">Religia</lekcja> <lekcja id="8" sala="15">Przysposobienie Obronne</lekcja> <lekcja id="9" sala="21">Fizyka</lekcja> <lekcja id="10" sala="21">Fizyka</lekcja> <lekcja id="11" sala="10">Jezyk angielski</lekcja> <lekcja id="12" sala="10">Jezyk angielski</lekcja> </dzien> <dzien nazwa="czwartek"> <lekcja id="1" sala="14">Biologia</lekcja> <lekcja id="2" sala="24">Chemia</lekcja> <lekcja id="3" sala="5">Technologia informacyjna</lekcja> <lekcja id="4" sala="5">Technologia informacyjna</lekcja> <lekcja id="5" sala="14">Jezyk polski</lekcja> <lekcja id="6" sala="nd">Wychowanie fizyczne</lekcja> <lekcja id="7" sala="nd">Wychowanie fizyczne</lekcja> </dzien> <dzien nazwa="piatek"> <lekcja id="1" sala="10">Jezyk polski</lekcja> <lekcja id="2" sala="8">Geografia</lekcja> <lekcja id="3" sala="9">Matematyka</lekcja> <lekcja id="4" sala="9">Matematyka</lekcja> <lekcja id="5" sala="9">Historia</lekcja> <lekcja id="6" sala="7">Historia</lekcja> </dzien> </plan> No i zaczely sie problemy. Jak zorganizowac ten plan w tabele w XSL? Próbowalem troche, ale nic mi nie wychodzi. "id" przy lekcji to numer lekcji od której zaczynam, np id="3" to jest lekcja 3. czyli "<lekcja id="3">9:15-10:00</lekcja>" - zaczyna sie o 9:15. BTW jest moze jakis dobry kurs XSL (nie: pabloware, bo nic z niego nie rozumiem...), który objasnilby mi wszystkie zawilosci? Z góry dziekuje za pomoc!
szomiz - 24-12-2006 01:20
Uzytkownik <staszek27@gmail.com> napisal w wiadomosci news:1158507526.395186.126940@m7g2000cwm.googlegro ups.com... Witam: > Stworzylem sobie plan lekcji w XML - > http://staszek27.fm.interia.pl/planlekcji.xml
No ale do czego sam doszedles?
sz.
szomiz - 24-12-2006 01:20
Uzytkownik <staszek27@gmail.com> napisal w wiadomosci news:1158507526.395186.126940@m7g2000cwm.googlegro ups.com... Witam: > Stworzylem sobie plan lekcji w XML - > http://staszek27.fm.interia.pl/planlekcji.xml
No ale do czego sam doszedles?
sz.
staszek27@gmail.com - 24-12-2006 01:20
szomiz napisał(a): > Uzytkownik <staszek27@gmail.com> napisal w wiadomosci > news:1158507526.395186.126940@m7g2000cwm.googlegro ups.com... > Witam: > > Stworzylem sobie plan lekcji w XML - > > http://staszek27.fm.interia.pl/planlekcji.xml > > No ale do czego sam doszedles? > > sz. Do jakiego, takiego układu poziomego: http://staszek27.fm.interia.pl/planlekcji.xml Fajnie gdyby to było pionowo... Wiem, że to prawie nic, ale nic nie rozumiem tego XSL... kod XSL: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <table border="1"> <xsl:apply-templates/> </table> </xsl:template>
<xsl:template match="plan/dzien"> <tr><td> <xsl:value-of select="@nazwa"/> </td><td> <xsl:for-each select="lekcja"><td><xsl:value-of select="."/><br/><xsl:value-of select="@sala"/></td></xsl:for-each> </td></tr> </xsl:template>
</xsl:stylesheet>
staszek27@gmail.com - 24-12-2006 01:20
szomiz napisał(a): > Uzytkownik <staszek27@gmail.com> napisal w wiadomosci > news:1158507526.395186.126940@m7g2000cwm.googlegro ups.com... > Witam: > > Stworzylem sobie plan lekcji w XML - > > http://staszek27.fm.interia.pl/planlekcji.xml > > No ale do czego sam doszedles? > > sz. Do jakiego, takiego układu poziomego: http://staszek27.fm.interia.pl/planlekcji.xml Fajnie gdyby to było pionowo... Wiem, że to prawie nic, ale nic nie rozumiem tego XSL... kod XSL: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <table border="1"> <xsl:apply-templates/> </table> </xsl:template>
<xsl:template match="plan/dzien"> <tr><td> <xsl:value-of select="@nazwa"/> </td><td> <xsl:for-each select="lekcja"><td><xsl:value-of select="."/><br/><xsl:value-of select="@sala"/></td></xsl:for-each> </td></tr> </xsl:template>
</xsl:stylesheet>
szomiz - 24-12-2006 01:20
Użytkownik <staszek27@gmail.com> napisał w wiadomości news:1158554639.411699.203970@d34g2000cwd.googlegr oups.com...
> Do jakiego, takiego układu poziomego: > http://staszek27.fm.interia.pl/planlekcji.xml > Fajnie gdyby to było pionowo...
Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem trywialnym. Na div'ach bylo by o wiele ladniej.
Nie wybrales sobie prostego przykladu do rozpoczecia nauki :-/
Moze jednak zrezygnujesz z tabelki?
sz.
szomiz - 24-12-2006 01:20
Użytkownik <staszek27@gmail.com> napisał w wiadomości news:1158554639.411699.203970@d34g2000cwd.googlegr oups.com...
> Do jakiego, takiego układu poziomego: > http://staszek27.fm.interia.pl/planlekcji.xml > Fajnie gdyby to było pionowo...
Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem trywialnym. Na div'ach bylo by o wiele ladniej.
Nie wybrales sobie prostego przykladu do rozpoczecia nauki :-/
Moze jednak zrezygnujesz z tabelki?
sz.
porneL - 24-12-2006 01:20
On Mon, 18 Sep 2006 15:51:59 +0100, szomiz <szomiz@kocha.dostawac.reklamy.przez.net> wrote:
>> Do jakiego, takiego uk?adu poziomego: >> http://staszek27.fm.interia.pl/planlekcji.xml >> Fajnie gdyby to by?o pionowo... > > Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem > trywialnym. Na div'ach bylo by o wiele ladniej.
Że jak!? Dane tabelaryczne na divach?
-- * html {redirect-to: url(http://kurs.browsehappy.pl);} this.author = new Geek("porneL");
porneL - 24-12-2006 01:20
On Mon, 18 Sep 2006 15:51:59 +0100, szomiz <szomiz@kocha.dostawac.reklamy.przez.net> wrote:
>> Do jakiego, takiego uk?adu poziomego: >> http://staszek27.fm.interia.pl/planlekcji.xml >> Fajnie gdyby to by?o pionowo... > > Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem > trywialnym. Na div'ach bylo by o wiele ladniej.
Że jak!? Dane tabelaryczne na divach?
-- * html {redirect-to: url(http://kurs.browsehappy.pl);} this.author = new Geek("porneL");
szomiz - 24-12-2006 01:20
Użytkownik "porneL" <niusy2@pornel.net> napisał w wiadomości news:op.tf2ymcvvdiafwo@pornel.net... > On Mon, 18 Sep 2006 15:51:59 +0100, szomiz > <szomiz@kocha.dostawac.reklamy.przez.net> wrote: > >>> Do jakiego, takiego uk?adu poziomego: >>> http://staszek27.fm.interia.pl/planlekcji.xml >>> Fajnie gdyby to by?o pionowo... >> >> Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem >> trywialnym. Na div'ach bylo by o wiele ladniej. > > Że jak!? Dane tabelaryczne na divach?
No to popatrz na dane i uklad ktory, realizuje sie sam przy pisaniu kolumnami.
Poza tym takie to dane tabelaryczne jak ze mnie webmaster.
sz.
szomiz - 24-12-2006 01:20
Użytkownik "porneL" <niusy2@pornel.net> napisał w wiadomości news:op.tf2ymcvvdiafwo@pornel.net... > On Mon, 18 Sep 2006 15:51:59 +0100, szomiz > <szomiz@kocha.dostawac.reklamy.przez.net> wrote: > >>> Do jakiego, takiego uk?adu poziomego: >>> http://staszek27.fm.interia.pl/planlekcji.xml >>> Fajnie gdyby to by?o pionowo... >> >> Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem >> trywialnym. Na div'ach bylo by o wiele ladniej. > > Że jak!? Dane tabelaryczne na divach?
No to popatrz na dane i uklad ktory, realizuje sie sam przy pisaniu kolumnami.
Poza tym takie to dane tabelaryczne jak ze mnie webmaster.
sz.
staszek27@gmail.com - 24-12-2006 01:20
szomiz napisał(a): > Użytkownik "porneL" <niusy2@pornel.net> napisał w wiadomości > news:op.tf2ymcvvdiafwo@pornel.net... > > On Mon, 18 Sep 2006 15:51:59 +0100, szomiz > > <szomiz@kocha.dostawac.reklamy.przez.net> wrote: > > > >>> Do jakiego, takiego uk?adu poziomego: > >>> http://staszek27.fm.interia.pl/planlekcji.xml > >>> Fajnie gdyby to by?o pionowo... > >> > >> Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem > >> trywialnym. Na div'ach bylo by o wiele ladniej. > > > > Że jak!? Dane tabelaryczne na divach? > > No to popatrz na dane i uklad ktory, realizuje sie sam przy pisaniu > kolumnami. > > Poza tym takie to dane tabelaryczne jak ze mnie webmaster. > > sz. Nie pomyślałem o div'ach. Osobiście nie mam nic przeciwko tym elementom. Tylko jak mam zrobić, żeby tych lekcji nie wklejało po kolei, tylko, żeby zaczynały się od określonej godziny "id". Tzn. Jeśli pierwsza lekcja w środę to id="6", powinna odpowiadać w układzie id="6" w dniu z godzinami, a nie zaczynać się od samej góry... Oczywiście dziękuję za odpowiedz i zasugerowanie uniwersalnych elementów blokowych, zaraz coś pokombinuję.
staszek27@gmail.com - 24-12-2006 01:20
szomiz napisał(a): > Użytkownik "porneL" <niusy2@pornel.net> napisał w wiadomości > news:op.tf2ymcvvdiafwo@pornel.net... > > On Mon, 18 Sep 2006 15:51:59 +0100, szomiz > > <szomiz@kocha.dostawac.reklamy.przez.net> wrote: > > > >>> Do jakiego, takiego uk?adu poziomego: > >>> http://staszek27.fm.interia.pl/planlekcji.xml > >>> Fajnie gdyby to by?o pionowo... > >> > >> Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem > >> trywialnym. Na div'ach bylo by o wiele ladniej. > > > > Że jak!? Dane tabelaryczne na divach? > > No to popatrz na dane i uklad ktory, realizuje sie sam przy pisaniu > kolumnami. > > Poza tym takie to dane tabelaryczne jak ze mnie webmaster. > > sz. Nie pomyślałem o div'ach. Osobiście nie mam nic przeciwko tym elementom. Tylko jak mam zrobić, żeby tych lekcji nie wklejało po kolei, tylko, żeby zaczynały się od określonej godziny "id". Tzn. Jeśli pierwsza lekcja w środę to id="6", powinna odpowiadać w układzie id="6" w dniu z godzinami, a nie zaczynać się od samej góry... Oczywiście dziękuję za odpowiedz i zasugerowanie uniwersalnych elementów blokowych, zaraz coś pokombinuję.
porneL - 24-12-2006 01:20
On Mon, 18 Sep 2006 19:57:05 +0100, <staszek27@gmail.com> wrote:
>> >> Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem >> >> trywialnym. Na div'ach bylo by o wiele ladniej. >> > >> > Że jak!? Dane tabelaryczne na divach? >> >> No to popatrz na dane i uklad ktory, realizuje sie sam przy pisaniu >> kolumnami. >> >> Poza tym takie to dane tabelaryczne jak ze mnie webmaster. >> >> sz. > Nie pomyślałem o div'ach. Osobiście nie mam nic przeciwko tym > elementom.
Tu nie chodzi o uprzedzenie do takich czy śmakich elementów, ale o to, który do czego ma być używany.
HTML ma tabele do danych tabelarycznych. Udawanie, że tabela nie jest tabelą to taki sam syf w kodzie, gdy się udaje, że tabela jest do dzielenia tekstu, robienia odstępów i podkładania koloru.
No i nie kumam po co robić takie potworki, skoro można pozlepiać wiersze z paru xquery:
<tr> <th><x:apply-templates select="/dzien[nazwa='godziny']/lekcja[id=$id]" /><th> <td><x:apply-templates select="/dzien[nazwa='poniedzialek']/lekcja[id=$id]" /></td> <td><x:apply-templates select="/dzien[nazwa='wtorek']/lekcja[id=$id]" /></td> .... </tr>
-- * html {redirect-to: url(http://kurs.browsehappy.pl);} this.author = new Geek("porneL");
porneL - 24-12-2006 01:20
On Mon, 18 Sep 2006 19:57:05 +0100, <staszek27@gmail.com> wrote:
>> >> Akurat odwrocony uklad zrobiony w tabelce nie jest przykladem >> >> trywialnym. Na div'ach bylo by o wiele ladniej. >> > >> > Że jak!? Dane tabelaryczne na divach? >> >> No to popatrz na dane i uklad ktory, realizuje sie sam przy pisaniu >> kolumnami. >> >> Poza tym takie to dane tabelaryczne jak ze mnie webmaster. >> >> sz. > Nie pomyślałem o div'ach. Osobiście nie mam nic przeciwko tym > elementom.
Tu nie chodzi o uprzedzenie do takich czy śmakich elementów, ale o to, który do czego ma być używany.
HTML ma tabele do danych tabelarycznych. Udawanie, że tabela nie jest tabelą to taki sam syf w kodzie, gdy się udaje, że tabela jest do dzielenia tekstu, robienia odstępów i podkładania koloru.
No i nie kumam po co robić takie potworki, skoro można pozlepiać wiersze z paru xquery:
<tr> <th><x:apply-templates select="/dzien[nazwa='godziny']/lekcja[id=$id]" /><th> <td><x:apply-templates select="/dzien[nazwa='poniedzialek']/lekcja[id=$id]" /></td> <td><x:apply-templates select="/dzien[nazwa='wtorek']/lekcja[id=$id]" /></td> .... </tr>
-- * html {redirect-to: url(http://kurs.browsehappy.pl);} this.author = new Geek("porneL");
szomiz - 24-12-2006 01:20
Użytkownik "porneL" <niusy2@pornel.net> napisał w wiadomości news:op.tf3bkf0odiafwo@pornel.net... > > No i nie kumam po co robić takie potworki, skoro można pozlepiać wiersze z > paru xquery:
xpath a nie xquery
> <tr> > <th><x:apply-templates select="/dzien[nazwa='godziny']/lekcja[id=$id]" > /><th> > <td><x:apply-templates > select="/dzien[nazwa='poniedzialek']/lekcja[id=$id]" /></td> > <td><x:apply-templates select="/dzien[nazwa='wtorek']/lekcja[id=$id]" > /></td> > ... > </tr>
A pozniej jeszcze seria if'ow na "brakujace" id'y.
Jasne, ze tak mozna, tyle, ze powstanie kod mostrum. Da sie rowniez o wiele zgrabniej, ale to nie jest temat dobry dla poczatkujacego.
sz.
szomiz - 24-12-2006 01:20
Użytkownik "porneL" <niusy2@pornel.net> napisał w wiadomości news:op.tf3bkf0odiafwo@pornel.net... > > No i nie kumam po co robić takie potworki, skoro można pozlepiać wiersze z > paru xquery:
xpath a nie xquery
> <tr> > <th><x:apply-templates select="/dzien[nazwa='godziny']/lekcja[id=$id]" > /><th> > <td><x:apply-templates > select="/dzien[nazwa='poniedzialek']/lekcja[id=$id]" /></td> > <td><x:apply-templates select="/dzien[nazwa='wtorek']/lekcja[id=$id]" > /></td> > ... > </tr>
A pozniej jeszcze seria if'ow na "brakujace" id'y.
Jasne, ze tak mozna, tyle, ze powstanie kod mostrum. Da sie rowniez o wiele zgrabniej, ale to nie jest temat dobry dla poczatkujacego.
sz.
toudidel - 24-12-2006 01:20
>BTW jest moze jakis dobry kurs XSL (nie: pabloware, bo nic z niego nie > >rozumiem...), który objasnilby mi wszystkie zawilosci?
http://szomiz.republika.pl
toudidel - 24-12-2006 01:20
>BTW jest moze jakis dobry kurs XSL (nie: pabloware, bo nic z niego nie > >rozumiem...), który objasnilby mi wszystkie zawilosci?
http://szomiz.republika.pl
szomiz - 24-12-2006 01:20
Użytkownik "toudidel" <toudidel@oDWA.pl> napisał w wiadomości news:eeo78f$qul$1@nemesis.news.tpi.pl... > >BTW jest moze jakis dobry kurs XSL (nie: pabloware, bo nic z niego nie >> >rozumiem...), który objasnilby mi wszystkie zawilosci? > > http://szomiz.republika.pl
Te, przestan ;) Lepiej odeslij umowe Helionowi, bo mnie molestuja, ze nie dotarla...
sz.
szomiz - 24-12-2006 01:20
Użytkownik "toudidel" <toudidel@oDWA.pl> napisał w wiadomości news:eeo78f$qul$1@nemesis.news.tpi.pl... > >BTW jest moze jakis dobry kurs XSL (nie: pabloware, bo nic z niego nie >> >rozumiem...), który objasnilby mi wszystkie zawilosci? > > http://szomiz.republika.pl
Te, przestan ;) Lepiej odeslij umowe Helionowi, bo mnie molestuja, ze nie dotarla...
sz.
Bartosz 'offtza' Gogel - 24-12-2006 01:20
szomiz napisał(a): > Użytkownik "toudidel" <toudidel@oDWA.pl> napisał w wiadomości > news:eeo78f$qul$1@nemesis.news.tpi.pl... >>> BTW jest moze jakis dobry kurs XSL (nie: pabloware, bo nic z niego nie >>>> rozumiem...), który objasnilby mi wszystkie zawilosci? >> http://szomiz.republika.pl > > Te, przestan ;) Lepiej odeslij umowe Helionowi, bo mnie molestuja, ze nie > dotarla... > > sz. > > [OT] oooo jaaaa do czego to doszło, uczniowie robią sobie placy lekcji w XML-u :) za moich czasów to się robiło linijką na kartce papieru :D
PS. Co to za przedmiot "GDD"? :] [/OT]
Bartosz 'offtza' Gogel - 24-12-2006 01:20
szomiz napisał(a): > Użytkownik "toudidel" <toudidel@oDWA.pl> napisał w wiadomości > news:eeo78f$qul$1@nemesis.news.tpi.pl... >>> BTW jest moze jakis dobry kurs XSL (nie: pabloware, bo nic z niego nie >>>> rozumiem...), który objasnilby mi wszystkie zawilosci? >> http://szomiz.republika.pl > > Te, przestan ;) Lepiej odeslij umowe Helionowi, bo mnie molestuja, ze nie > dotarla... > > sz. > > [OT] oooo jaaaa do czego to doszło, uczniowie robią sobie placy lekcji w XML-u :) za moich czasów to się robiło linijką na kartce papieru :D
PS. Co to za przedmiot "GDD"? :] [/OT]
Robert - 24-12-2006 01:20
Witam, ja sam jestem bardzo poczatkujacy, ale udalo mi sie CZESCIOWO uzyskac szablon. Czesciowo, poniewaz uproscilem sobie sprawe modyfikujac plik z danymi xml (by nie trzeba bylo uzywac 'if'), mianowice dodalem prawie "puste" pola (ktore zreszta przydadza sie, by obramowanie tabelki bylo do przyjecia):
<!-- ############## 'plan.xml' ################################## -->
<?xml version="1.0" encoding="UTF-8"?> <plan> <dzien nazwa="godziny"> <lekcja id="1">7:30-8:15</lekcja> <lekcja id="2">8:25-9:10</lekcja> <lekcja id="3">9:15-10:00</lekcja> <lekcja id="4">10:10-10:55</lekcja> <lekcja id="5">11:00-11:45</lekcja> <lekcja id="6">11:55-12:40</lekcja> <lekcja id="7">12:45-13:30</lekcja> <lekcja id="8">13:45-14:30</lekcja> <lekcja id="9">14:35-15:20</lekcja> <lekcja id="10">15:30-16:15</lekcja> <lekcja id="11">16:20-17:05</lekcja> <lekcja id="12">17:10-17:55</lekcja> </dzien> <dzien nazwa="poniedzialek"> <lekcja id="1" sala="9">Matematyka</lekcja> <lekcja id="2" sala="9">Matematyka</lekcja> <lekcja id="3" sala="13">Biologia</lekcja> <lekcja id="4" sala="22">Religia</lekcja> <lekcja id="5" sala="24">Chemia</lekcja> <lekcja id="6" sala="nd">Jezyk niemiecki</lekcja> <lekcja id="7" sala="nd">Jezyk niemiecki</lekcja> <lekcja id="8"> </lekcja> <lekcja id="9"> </lekcja> <lekcja id="10"> </lekcja> <lekcja id="11"> </lekcja> <lekcja id="12"> </lekcja> </dzien> <dzien nazwa="wtorek"> <lekcja id="1"> </lekcja> <lekcja id="2" sala="21">Jezyk polski</lekcja> <lekcja id="3" sala="21">Jezyk polski</lekcja> <lekcja id="4" sala="24">Chemia</lekcja> <lekcja id="5" sala="4">GDD</lekcja> <lekcja id="6" sala="9">Matematyka</lekcja> <lekcja id="7"> </lekcja> <lekcja id="8"> </lekcja> <lekcja id="9"> </lekcja> <lekcja id="10"> </lekcja> <lekcja id="11"> </lekcja> <lekcja id="12"> </lekcja> </dzien> <dzien nazwa="sroda"> <lekcja id="1"> </lekcja> <lekcja id="2"> </lekcja> <lekcja id="3"> </lekcja> <lekcja id="4"> </lekcja> <lekcja id="5"> </lekcja> <lekcja id="6" sala="nd">Wychowanie fizyczne</lekcja> <lekcja id="7" sala="14">Religia</lekcja> <lekcja id="8" sala="15">Przysposobienie Obronne</lekcja> <lekcja id="9" sala="21">Fizyka</lekcja> <lekcja id="10" sala="21">Fizyka</lekcja> <lekcja id="11" sala="10">Jezyk angielski</lekcja> <lekcja id="12" sala="10">Jezyk angielski</lekcja> </dzien> <dzien nazwa="czwartek"> <lekcja id="1" sala="14">Biologia</lekcja> <lekcja id="2" sala="24">Chemia</lekcja> <lekcja id="3" sala="5">Technologia informacyjna</lekcja> <lekcja id="4" sala="5">Technologia informacyjna</lekcja> <lekcja id="5" sala="14">Jezyk polski</lekcja> <lekcja id="6" sala="nd">Wychowanie fizyczne</lekcja> <lekcja id="7" sala="nd">Wychowanie fizyczne</lekcja> <lekcja id="8"> </lekcja> <lekcja id="9"> </lekcja> <lekcja id="10"> </lekcja> <lekcja id="11"> </lekcja> <lekcja id="12"> </lekcja> </dzien> <dzien nazwa="piatek"> <lekcja id="1" sala="10">Jezyk polski</lekcja> <lekcja id="2" sala="8">Geografia</lekcja> <lekcja id="3" sala="9">Matematyka</lekcja> <lekcja id="4" sala="9">Matematyka</lekcja> <lekcja id="5" sala="9">Historia</lekcja> <lekcja id="6" sala="7">Historia</lekcja> <lekcja id="7"> </lekcja> <lekcja id="8"> </lekcja> <lekcja id="9"> </lekcja> <lekcja id="10"> </lekcja> <lekcja id="11"> </lekcja> <lekcja id="12"> </lekcja> </dzien> </plan> <!-- ################################################ -->
Szablon do tego: <!-- ############### 'plan.xslt' ############################### -->
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="no" indent="yes" media-type="text/xml"/>
<xsl:template match="/plan"> <HTML><HEAD> <TITLE>Plan lekcji</TITLE> </HEAD><BODY> <H1>Plan lekcji</H1> <table width="100%" border="1"> <tr bgcolor="#6090C0" align="center"> <xsl:for-each select="dzien"> <td><xsl:value-of select="@nazwa"/></td> </xsl:for-each> </tr> <xsl:for-each select="dzien[@nazwa='godziny']/lekcja"> <xsl:variable name="numer" select="@id"/> <tr> <xsl:apply-templates select="//dzien/lekcja[@id=$numer]"/> </tr> </xsl:for-each> </table> </BODY></HTML> </xsl:template>
<xsl:template match="dzien/lekcja"> <xsl:variable name="sala" select="@sala"/> <td> <xsl:apply-templates/> <xsl:if test="$sala!=''"> (<xsl:value-of select="@sala"/>) </xsl:if> </td> </xsl:template>
<xsl:template match="node( ) | @*"> <xsl:copy> <xsl:apply-templates select="@* | node( )"/> </xsl:copy> </xsl:template>
</xsl:stylesheet> <!-- ################################################ -->
Na pewno znawcy potrafia to o wiele lepiej zrobic. Pozdrowienia Robert PS Ja uzylem do transformacji WSH i MSXML, do sciagniecia: WSH 5.6 - instalka i dokumentacja: http://www.microsoft.com/downloads/d...displaylang=en
MSXML6.0 -instalka i SDK(dokumentacja) http://www.microsoft.com/downloads/d...DisplayLang=en
Bardzo - dla mnie - pomocna byla stronka z przykladowymi przeksztalceniami (Pierwsze kroki): http://www.eggheadcafe.com/articles/20030627d.asp
Do transformacji uzylem vbscript (jscript z doslownie kosmetycznymi zmianami):
' <!-- ################### 'plan.vbs' ############################# -->
' transformacja xml + xslt = html
Set xmlDoc = CreateObject("MSXML2.DOMDocument") Set xslDoc = CreateObject("MSXML2.DOMDocument") Set xmlDocOut = CreateObject("MSXML2.DOMDocument")
Dim myErr Dim xmlDocName, xslDocName, xmlDocNameOut
sName = "plan" xmlDocName = sName & ".xml" xmlDocNameOut = sName & ".html" xslDocName = sName & ".xslt"
' odczytaj biezacy folder: Set objShell = WScript.CreateObject("WScript.Shell") FolderCur = objShell.CurrentDirectory
Set fso = CreateObject("Scripting.FileSystemObject") xmlFolderFileName = fso.BuildPath(FolderCur, xmlDocName) xmlFolderFileNameOut = fso.BuildPath(FolderCur, xmlDocNameOut) xslFolderFileName = fso.BuildPath(FolderCur, xslDocName)
' zaladuj xml: xmlDoc.async = False xmlDoc.Load xmlDocName If (xmlDoc.parseError.errorCode <> 0) Then Set myErr = xmlDoc.parseError MsgBox("Blad: " & myErr.reason) Else ' zaladuj xslt: xslDoc.async = False xslDoc.Load xslDocName If (xslDoc.parseError.errorCode <> 0) Then Set myErr = xslDoc.parseError MsgBox("Blad: " & myErr.reason) Else xmlDoc.transformNodeToObject xslDoc, xmlDocOut ' zapisz: xmlDocOut.save(xmlFolderFileNameOut) End If End If
Set xmlDoc = Nothing ' wyczysc Set xslDoc = Nothing Set xmlDocOut = Nothing
' Koniec: WScript.quit(0) '<!-- ################################################ -->
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Robert - 24-12-2006 01:20
Witam, ja sam jestem bardzo poczatkujacy, ale udalo mi sie CZESCIOWO uzyskac szablon. Czesciowo, poniewaz uproscilem sobie sprawe modyfikujac plik z danymi xml (by nie trzeba bylo uzywac 'if'), mianowice dodalem prawie "puste" pola (ktore zreszta przydadza sie, by obramowanie tabelki bylo do przyjecia):
<!-- ############## 'plan.xml' ################################## -->
<?xml version="1.0" encoding="UTF-8"?> <plan> <dzien nazwa="godziny"> <lekcja id="1">7:30-8:15</lekcja> <lekcja id="2">8:25-9:10</lekcja> <lekcja id="3">9:15-10:00</lekcja> <lekcja id="4">10:10-10:55</lekcja> <lekcja id="5">11:00-11:45</lekcja> <lekcja id="6">11:55-12:40</lekcja> <lekcja id="7">12:45-13:30</lekcja> <lekcja id="8">13:45-14:30</lekcja> <lekcja id="9">14:35-15:20</lekcja> <lekcja id="10">15:30-16:15</lekcja> <lekcja id="11">16:20-17:05</lekcja> <lekcja id="12">17:10-17:55</lekcja> </dzien> <dzien nazwa="poniedzialek"> <lekcja id="1" sala="9">Matematyka</lekcja> <lekcja id="2" sala="9">Matematyka</lekcja> <lekcja id="3" sala="13">Biologia</lekcja> <lekcja id="4" sala="22">Religia</lekcja> <lekcja id="5" sala="24">Chemia</lekcja> <lekcja id="6" sala="nd">Jezyk niemiecki</lekcja> <lekcja id="7" sala="nd">Jezyk niemiecki</lekcja> <lekcja id="8"> </lekcja> <lekcja id="9"> </lekcja> <lekcja id="10"> </lekcja> <lekcja id="11"> </lekcja> <lekcja id="12"> </lekcja> </dzien> <dzien nazwa="wtorek"> <lekcja id="1"> </lekcja> <lekcja id="2" sala="21">Jezyk polski</lekcja> <lekcja id="3" sala="21">Jezyk polski</lekcja> <lekcja id="4" sala="24">Chemia</lekcja> <lekcja id="5" sala="4">GDD</lekcja> <lekcja id="6" sala="9">Matematyka</lekcja> <lekcja id="7"> </lekcja> <lekcja id="8"> </lekcja> <lekcja id="9"> </lekcja> <lekcja id="10"> </lekcja> <lekcja id="11"> </lekcja> <lekcja id="12"> </lekcja> </dzien> <dzien nazwa="sroda"> <lekcja id="1"> </lekcja> <lekcja id="2"> </lekcja> <lekcja id="3"> </lekcja> <lekcja id="4"> </lekcja> <lekcja id="5"> </lekcja> <lekcja id="6" sala="nd">Wychowanie fizyczne</lekcja> <lekcja id="7" sala="14">Religia</lekcja> <lekcja id="8" sala="15">Przysposobienie Obronne</lekcja> <lekcja id="9" sala="21">Fizyka</lekcja> <lekcja id="10" sala="21">Fizyka</lekcja> <lekcja id="11" sala="10">Jezyk angielski</lekcja> <lekcja id="12" sala="10">Jezyk angielski</lekcja> </dzien> <dzien nazwa="czwartek"> <lekcja id="1" sala="14">Biologia</lekcja> <lekcja id="2" sala="24">Chemia</lekcja> <lekcja id="3" sala="5">Technologia informacyjna</lekcja> <lekcja id="4" sala="5">Technologia informacyjna</lekcja> <lekcja id="5" sala="14">Jezyk polski</lekcja> <lekcja id="6" sala="nd">Wychowanie fizyczne</lekcja> <lekcja id="7" sala="nd">Wychowanie fizyczne</lekcja> <lekcja id="8"> </lekcja> <lekcja id="9"> </lekcja> <lekcja id="10"> </lekcja> <lekcja id="11"> </lekcja> <lekcja id="12"> </lekcja> </dzien> <dzien nazwa="piatek"> <lekcja id="1" sala="10">Jezyk polski</lekcja> <lekcja id="2" sala="8">Geografia</lekcja> <lekcja id="3" sala="9">Matematyka</lekcja> <lekcja id="4" sala="9">Matematyka</lekcja> <lekcja id="5" sala="9">Historia</lekcja> <lekcja id="6" sala="7">Historia</lekcja> <lekcja id="7"> </lekcja> <lekcja id="8"> </lekcja> <lekcja id="9"> </lekcja> <lekcja id="10"> </lekcja> <lekcja id="11"> </lekcja> <lekcja id="12"> </lekcja> </dzien> </plan> <!-- ################################################ -->
Szablon do tego: <!-- ############### 'plan.xslt' ############################### -->
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="no" indent="yes" media-type="text/xml"/>
<xsl:template match="/plan"> <HTML><HEAD> <TITLE>Plan lekcji</TITLE> </HEAD><BODY> <H1>Plan lekcji</H1> <table width="100%" border="1"> <tr bgcolor="#6090C0" align="center"> <xsl:for-each select="dzien"> <td><xsl:value-of select="@nazwa"/></td> </xsl:for-each> </tr> <xsl:for-each select="dzien[@nazwa='godziny']/lekcja"> <xsl:variable name="numer" select="@id"/> <tr> <xsl:apply-templates select="//dzien/lekcja[@id=$numer]"/> </tr> </xsl:for-each> </table> </BODY></HTML> </xsl:template>
<xsl:template match="dzien/lekcja"> <xsl:variable name="sala" select="@sala"/> <td> <xsl:apply-templates/> <xsl:if test="$sala!=''"> (<xsl:value-of select="@sala"/>) </xsl:if> </td> </xsl:template>
<xsl:template match="node( ) | @*"> <xsl:copy> <xsl:apply-templates select="@* | node( )"/> </xsl:copy> </xsl:template>
</xsl:stylesheet> <!-- ################################################ -->
Na pewno znawcy potrafia to o wiele lepiej zrobic. Pozdrowienia Robert PS Ja uzylem do transformacji WSH i MSXML, do sciagniecia: WSH 5.6 - instalka i dokumentacja: http://www.microsoft.com/downloads/d...displaylang=en
MSXML6.0 -instalka i SDK(dokumentacja) http://www.microsoft.com/downloads/d...DisplayLang=en
Bardzo - dla mnie - pomocna byla stronka z przykladowymi przeksztalceniami (Pierwsze kroki): http://www.eggheadcafe.com/articles/20030627d.asp
Do transformacji uzylem vbscript (jscript z doslownie kosmetycznymi zmianami):
' <!-- ################### 'plan.vbs' ############################# -->
' transformacja xml + xslt = html
Set xmlDoc = CreateObject("MSXML2.DOMDocument") Set xslDoc = CreateObject("MSXML2.DOMDocument") Set xmlDocOut = CreateObject("MSXML2.DOMDocument")
Dim myErr Dim xmlDocName, xslDocName, xmlDocNameOut
sName = "plan" xmlDocName = sName & ".xml" xmlDocNameOut = sName & ".html" xslDocName = sName & ".xslt"
' odczytaj biezacy folder: Set objShell = WScript.CreateObject("WScript.Shell") FolderCur = objShell.CurrentDirectory
Set fso = CreateObject("Scripting.FileSystemObject") xmlFolderFileName = fso.BuildPath(FolderCur, xmlDocName) xmlFolderFileNameOut = fso.BuildPath(FolderCur, xmlDocNameOut) xslFolderFileName = fso.BuildPath(FolderCur, xslDocName)
' zaladuj xml: xmlDoc.async = False xmlDoc.Load xmlDocName If (xmlDoc.parseError.errorCode <> 0) Then Set myErr = xmlDoc.parseError MsgBox("Blad: " & myErr.reason) Else ' zaladuj xslt: xslDoc.async = False xslDoc.Load xslDocName If (xslDoc.parseError.errorCode <> 0) Then Set myErr = xslDoc.parseError MsgBox("Blad: " & myErr.reason) Else xmlDoc.transformNodeToObject xslDoc, xmlDocOut ' zapisz: xmlDocOut.save(xmlFolderFileNameOut) End If End If
Set xmlDoc = Nothing ' wyczysc Set xslDoc = Nothing Set xmlDocOut = Nothing
' Koniec: WScript.quit(0) '<!-- ################################################ -->
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
szomiz - 24-12-2006 01:20
Użytkownik "Robert" <robleg@poczta.onet.pl> napisał w wiadomości news:32ef.000000d1.451137c5@newsgate.onet.pl...
> Ja uzylem do transformacji WSH i MSXML, do sciagniecia: > WSH 5.6 > - instalka i dokumentacja: > http://www.microsoft.com/downloads/d...displaylang=en > > MSXML6.0 > -instalka i SDK(dokumentacja) > http://www.microsoft.com/downloads/d...DisplayLang=en
Tiaaa, MS zostawil reszte swiata daleko w tyle jezeli chodzi o obsluge XML'a.
> Do transformacji uzylem vbscript (jscript z doslownie kosmetycznymi > zmianami):
Zapomnij o VBScript. Jezeli masz mozliwosc pisz w JScripcie. To sie pozniej bardzo wdziecznie przenosi w miedzyprzegladarkowe srodowisko.
> Set xmlDoc = CreateObject("MSXML2.DOMDocument") > Set xslDoc = CreateObject("MSXML2.DOMDocument") > Set xmlDocOut = CreateObject("MSXML2.DOMDocument")
No widzisz - sciagnales MSXML 6.0, a korzystasz z 2.0 ;-) Sciagnij 4-ke i na niej pracuj ("msxml2.domdocument.4.0"). Jest wydajna i mozna znalezc duzo przykladow. 6.0 jest wzglednie nowe i sie jeszcze nie upowszechnilo. A mnie na przyklad sie z nim zle wspolpracuje.
> ' zaladuj xml: > xmlDoc.async = False > xmlDoc.Load xmlDocName > If (xmlDoc.parseError.errorCode <> 0) Then > Set myErr = xmlDoc.parseError > MsgBox("Blad: " & myErr.reason)
A po co te Else i nastepne If;y? Tutaj po prostu:
WScript.Quit()) I zagniezdzen kodu mniej.
A w JS'ie wygladalo by to mnie wiecej tak:
xmlDoc.async=false; if(!xmlDoc.load()){ alert('Blad:'+xmlDoc.parseError.reason); WScript.Quit(); }
JS jest bardziej ekologiczny ;-)
Ale to tylko takie sobie moje refleksje...
sz.
szomiz - 24-12-2006 01:20
Użytkownik "Robert" <robleg@poczta.onet.pl> napisał w wiadomości news:32ef.000000d1.451137c5@newsgate.onet.pl...
> Ja uzylem do transformacji WSH i MSXML, do sciagniecia: > WSH 5.6 > - instalka i dokumentacja: > http://www.microsoft.com/downloads/d...displaylang=en > > MSXML6.0 > -instalka i SDK(dokumentacja) > http://www.microsoft.com/downloads/d...DisplayLang=en
Tiaaa, MS zostawil reszte swiata daleko w tyle jezeli chodzi o obsluge XML'a.
> Do transformacji uzylem vbscript (jscript z doslownie kosmetycznymi > zmianami):
Zapomnij o VBScript. Jezeli masz mozliwosc pisz w JScripcie. To sie pozniej bardzo wdziecznie przenosi w miedzyprzegladarkowe srodowisko.
> Set xmlDoc = CreateObject("MSXML2.DOMDocument") > Set xslDoc = CreateObject("MSXML2.DOMDocument") > Set xmlDocOut = CreateObject("MSXML2.DOMDocument")
No widzisz - sciagnales MSXML 6.0, a korzystasz z 2.0 ;-) Sciagnij 4-ke i na niej pracuj ("msxml2.domdocument.4.0"). Jest wydajna i mozna znalezc duzo przykladow. 6.0 jest wzglednie nowe i sie jeszcze nie upowszechnilo. A mnie na przyklad sie z nim zle wspolpracuje.
> ' zaladuj xml: > xmlDoc.async = False > xmlDoc.Load xmlDocName > If (xmlDoc.parseError.errorCode <> 0) Then > Set myErr = xmlDoc.parseError > MsgBox("Blad: " & myErr.reason)
A po co te Else i nastepne If;y? Tutaj po prostu:
WScript.Quit()) I zagniezdzen kodu mniej.
A w JS'ie wygladalo by to mnie wiecej tak:
xmlDoc.async=false; if(!xmlDoc.load()){ alert('Blad:'+xmlDoc.parseError.reason); WScript.Quit(); }
JS jest bardziej ekologiczny ;-)
Ale to tylko takie sobie moje refleksje...
sz.
Robert - 24-12-2006 01:20
szomiz napisał(a): > Użytkownik "Robert" <robleg@poczta.onet.pl> napisał w wiadomości > news:32ef.000000d1.451137c5@newsgate.onet.pl... .... > No widzisz - sciagnales MSXML 6.0, a korzystasz z 2.0 ;-) Sciagnij 4-ke i na > niej pracuj ("msxml2.domdocument.4.0"). Jest wydajna i mozna znalezc duzo > przykladow. 6.0 jest wzglednie nowe i sie jeszcze nie upowszechnilo. A mnie > na przyklad sie z nim zle wspolpracuje. podalem bez numerka ("msxml2.domdocument"), poniewaz - wydaje mi sie - ze zostanie uzyta ta wersja, ktora jest w sytemie. Wydaje mi sie, ze to zapis najbardziej uniwersalny. Co wtedy, gdy u kogos akutatnie brak 6, czy 5 (z MS Office), czy 4?
> JS jest bardziej ekologiczny ;-) Nawet chcialem sie przesiasc calkowicie na js, ale w niektorych przypadkach - nie zwiazanych z xml - brak mi InputBox (z VBscript). Znalazlem rozwiazanie: http://ourworld.compuserve.com/homep.../WSHInput1.htm ale to wyglada troche "na okolo". Czy naprwde trzeba rezygnowac z tak prostych funkcji jak msgbox i inputbox? Pozdrowienia Robert
Robert - 24-12-2006 01:20
szomiz napisał(a): > Użytkownik "Robert" <robleg@poczta.onet.pl> napisał w wiadomości > news:32ef.000000d1.451137c5@newsgate.onet.pl... .... > No widzisz - sciagnales MSXML 6.0, a korzystasz z 2.0 ;-) Sciagnij 4-ke i na > niej pracuj ("msxml2.domdocument.4.0"). Jest wydajna i mozna znalezc duzo > przykladow. 6.0 jest wzglednie nowe i sie jeszcze nie upowszechnilo. A mnie > na przyklad sie z nim zle wspolpracuje. podalem bez numerka ("msxml2.domdocument"), poniewaz - wydaje mi sie - ze zostanie uzyta ta wersja, ktora jest w sytemie. Wydaje mi sie, ze to zapis najbardziej uniwersalny. Co wtedy, gdy u kogos akutatnie brak 6, czy 5 (z MS Office), czy 4?
> JS jest bardziej ekologiczny ;-) Nawet chcialem sie przesiasc calkowicie na js, ale w niektorych przypadkach - nie zwiazanych z xml - brak mi InputBox (z VBscript). Znalazlem rozwiazanie: http://ourworld.compuserve.com/homep.../WSHInput1.htm ale to wyglada troche "na okolo". Czy naprwde trzeba rezygnowac z tak prostych funkcji jak msgbox i inputbox? Pozdrowienia Robert
staszek27@gmail.com - 24-12-2006 01:20
Bardzo dziękuję za pomoc! Coś tam się udało zmontować. P.S. GDD to godzina Godzina dydaktyczno jakaśtam, w każdym razie, chodzi o wychowawczą.
staszek27@gmail.com - 24-12-2006 01:20
Bardzo dziękuję za pomoc! Coś tam się udało zmontować. P.S. GDD to godzina Godzina dydaktyczno jakaśtam, w każdym razie, chodzi o wychowawczą.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Dwie bazy czy dwie tabele?
[MySQL] Mysqldump i tabele o =?ISO-8859-2?Q?okre=B6lonych_prze?==?ISO-8859-2?Q?drostkach?=
[PGSQL] Funkcje =?ISO-8859-2?Q?zwracaj=B1ce_=27rowset=27_i_?==?ISO-8859-2?Q?tabele_tymczasowe?=
[MySQL] Jak =?ISO-8859-2?Q?zaprojektowa=E6_tabele=3F_Wyniki_?==?ISO-8859-2?Q?pojedynk=F3w=2C_meczy_-_tenis?=
=?iso-8859-2?q?select_sum_i_dwie_tabele..._b=B3=EAdna_agregac ja?=
[Oracle] Jak opymalnie update'owac tabele danymi z innej tabeli
=?iso-8859-2?Q?MySQL_-_jak_po=B3=B1czy=E6_tabele=3F?=
[SybaseASA] Jak zwrocic jedynie tabele zdefiniowane przez uzytkownikow?
[sybase] czy istnieje w ASA funkcja zwracająca tabelę?
[MySQL] ograniczenie praw dostepu na jedna tabele
zanotowane.pldoc.pisz.plpdf.pisz.pltejsza.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|