Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> xml i "szablony" ?
balu
post 29.03.2003, 23:02:49
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 28.03.2003

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


chcę zrobić coś na zasadzie szablonów i uparłem się, że bedzie to w xml

mam kilka tutoriali i chciałem aby powiedzmy te 10 plików przechodziło przez jakiś szablon. Chodzi mi o to, że jak później będe chciał zmienić wygląd, to nie będe musiał grzebać w tych 10 plikach tylko w jednym tj. szablonie.

Zrobiłem więc tutek.xml:
Kod
<?xml version="1.0" encoding="utf-16"?>

<?xml-stylesheet type="text/xsl" href="style.xsl"?>



<tutorial tytul="Tytul tutoriala">



  <punkt>

    <id>1</id>

    <tresc>Stworz nowy obrazek o wymiarach 200x200.</tresc>

    <obrazek>link do obrazka</obrazek>

  </punkt>



  <info>

    <autor>Autor tutoriala</autor>

    <mail>mail autora</mail>

    <tlumacz>W przypadku gdy tutorial jest tlumacozny</tlumacz>

    <www>http://photoshop.pl</www>

  </info>



</tutorial>


plik style.xsl wygląda tak:
Kod
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">

    <xsl:apply-templates/>

  </xsl:template>



  <xsl:template match="tutorial">

    <html>

    <head>

    <title>Centrum Tutoriali - <xsl:value-of select="@tytul"/></title>

    </head>

    <body bgcolor="#ffffff">

      <table cellpadding="0" cellspacing="0" border="0" width="500" align="center">

        <tr>

          <td> <b> <xsl:value-of select="@tytul"/> </b> </td>

        </tr>

         <xsl:apply-templates/>

      </table>

    </body>

    </html>

  </xsl:template>



  <xsl:template match="punkt">

        <tr>

          <td> <xsl:variable name="id">

            <xsl:value-of select="id"/>

            </xsl:variable><br/><img src="img/{$id}.gif"></img>  </td>

        </tr>

        <tr>

             <td><xsl:attribute name="style">font-size:13px; font-face:verdana,tahoma</xsl:attribute> <xsl:value-of select="tresc"/></td>

         </tr>

         <tr>

           <td> <xsl:variable name="obrazek">

               <xsl:value-of select="obrazek"/>

                </xsl:variable><br/><img src="{$obrazek}"></img></td>

         </tr>

    </xsl:template>

    <xsl:template match="info">

         <tr>

           <td> <b>Autor: </b> <xsl:value-of select="autor"/> </td>

         </tr>

    <xsl:variable name="mail">

    <xsl:value-of select="mail"/>

    </xsl:variable>

          <tr>

            <td><b>Mail: </b> <a href="mailto:{$mail}"> <xsl:value-of select="$mail"/></a> </td>

          </tr>

          <tr>

            <td> <b>Przetłumaczył: </b><xsl:value-of select="tlumacz"/> </td>

          </tr>

    <xsl:variable name="www">

    <xsl:value-of select="www"/>

    </xsl:variable>

           <tr>

             <td> <b>WWW: </b> <a href="{$www}"> <xsl:value-of select="$www"/> </a> </td>

           </tr>

    </xsl:template>

</xsl:stylesheet>



Mam parę pytanek:
1) Jak wpisuje znaczniki z html np. <br> czy <b> w <tresc> </tresc> to niestety w wyniku, w przeglądarce jakby przeglądarka je pomijała bo ich nie ma. Dodatkowo każe mi je zamykać czyli <br></br>. Co zrobić aby je uzyskać a może w ogóle nie można?

2) Czy jest to w ogóle dobry pomysł aby tutoriale (jest ich dużo ok. 70) przerabiać na xml i czy w ogóle xml jest tutaj dobrym pomysłem? Może zastosować php?

3) Czy jest możliwy zapisa za pomocą plików xml do bazy danych np. mysql.

4) Jak ma ktoś pomysł jak w ogóle to załatwić to byłoby fajnie.

Chodzi mi o to aby oglądający tutoriale mogli też łatwo je dodawać i później w razie czego edytować.


Dodam, że przejrzałem dzisiaj masę kursów, porad itp. i nie znalazłem tego więc nie odsyłajcie mnie o żadnych materiałow, źródeł chyba, że są trafione smile.gif.

Dzięki
_________________________________________
od itsme : pozwoliłem zmienić na code zgodnie ze zdaniem Admina
Go to the top of the page
+Quote Post
dragossani
post 30.03.2003, 01:13:17
Post #2





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

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


Ten post jest trochę nie na temat jeśli chodzi o to forum, ale postanowiłem go nie moderować, bo nie miałem pomysłu do którego działu go przenieść. rolleyes.gif biggrin.gif Forum XML na razie nie ma. A może powinno być? (pytanie nie jest retoryczne - odpowiedzi proszę na forum Opinie)

Jeszcze jedna uwaga: taki kod jak ten co opublikowałeś, obejmuj na forum znacznikiem CODE.

Odnośnie pytań:

ad.1. Nie nie mam za bardzo doświadczenia ze skryptami przekształceń XSLT, więc nie odpowiem Ci na pytanie dlaczego jakieś fragmenty kodu są ignorowane. Mogę się jednak domyślać, dlaczego musisz zamykać znacznik <br>. Zamykania znaczników wymaga specyfikacja XHTML - może akurat przeglądarka sobie o tym standardzie przypomniała. Na marginesie - znacznik jednoczęściowy zamyka się tak: <br />

ad.2. XML jest dobrym pomysłem, a php jest jeszcze lepszym. Najlepiej trzymaj tutoriale jako XML wewnątrz bazy danych SQL, a transformacje XML => XHTML dokonuj przy użyciu php. Pamiętaj, że XSLT obsługuje w tej chwili wyłącznie MSIE. Inne przeglądarki wyłożą się na Twoim kodzie.

ad.3. Nie do końca rozumiem pytanie. Możesz je sprecyzować?

ad.4. Patrz pkt.2.


--------------------
cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
Go to the top of the page
+Quote Post
balu
post 30.03.2003, 02:51:53
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 28.03.2003

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


co do tego kodu to sorki faktycznie teraz jest czytelniej

co do forum xml to cholernie mi jest na ręke smile.gif
próbowałem szukać jakieś polskie i nie znalazłem więc przydałoby się


dragossani: "znacznik jednoczęściowy zamyka się tak: <br />"
wiem, wiem i tak nie działa

co do Twojej odpowiedzi ad2 to mów do mnie a ja do Ciebie biggrin.gif. ja może dobry z webdesignu jestem ale php to u mnie marnie. z xml jest tak, że dopiero dzisiaj zacząłęm się bawic i jakoś tam może wychodzi.

ad3. hmm jak to powiedzieć. chodzilo mi o to czy możliwe jest, pewnie nie, zapisywanie danych do pól w bazie dancyh albo czy możliwe jest odczytywanie ich w xmlu?

ad4. trochę niejasno to pytanie sformułowałem. miałem na myśli tutaj taką rzecz czy ktoś widizałby inne rozwiązanie takiej bazy tutoriali. po prostu jak do tego podejść. nie mam nawet pomysłu
Go to the top of the page
+Quote Post
Jabol
post 30.03.2003, 08:01:17
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


ad3.
Powiem ci tak. Przyda ci sie jakikolwiek język programowania, jak chociażby php, Python ,Perl lub nawet C/C++. Na pewno możesz zapomnić, że ci sie to uda bez znajomości jakiegoś serwer side'a. Masz wybór. Polecam php. A twój tutorial należy zamienić do stringa wtedy wystarczy włożyć do bazy danych jako string, a wyjmujać po prostu przepuścić to przez jakiś system obsługi XML'a, jak np. DOM lub SAX. Lub jeśli chcesz włożyć do bazy danych poszczególne pola to musisz przepuścić dokument przez jakąś obsługe XML'a przed włożeniem do bazy, wyjmując po prostu trzeba zbudować "świeży" dokument XML z danych z zawartości bazy.
Go to the top of the page
+Quote Post
kurtz
post 13.04.2003, 00:12:19
Post #5





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

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


Witam :)

[quote]1) Jak wpisuje znaczniki z html np. <br> czy <b> w <tresc> </tresc> to niestety w wyniku, w przeglądarce jakby przeglądarka je pomijała bo ich nie ma. Dodatkowo każe mi je zamykać czyli <br></br>.  Co zrobić aby je uzyskać a może w ogóle nie można?[/quote]ie traktue te tagi jako koljne elmenty w strukturze drzewka. musisz albo wruzci co do PCDATA albo zakodowac odpowiednio < i >

[quote]2) Czy jest to w ogóle dobry pomysł aby tutoriale (jest ich dużo ok. 70) przerabiać na xml i czy w ogóle xml jest tutaj dobrym pomysłem? Może zastosować php?[/quote]skoro sie uparles to dobry ;)) a na serio to lepiej uzyc czegos co wyprodukuje htmla - na dzis dzien niestety malo ktora przegladakra wspiera xslt - mozilla i ie?

[quote]3) Czy jest możliwy zapisa za pomocą plików xml do bazy danych np. mysql.[/quote]jest mozliwy (jesli mowisz o imporcie danych) do bazy - spokojnie radzi sobie z tym mssql a do oracle mozesz dolozyc sobie narzedzie rowniez importujace xmla do bazy. jesli chodzilo o cos innego prosze powiedz wiecej :)

[quote]4) Jak ma ktoś pomysł jak w ogóle to załatwić to byłoby fajnie.[/quote]heh - jak chccesz. ograniczac ciebie moze tylko wyobraznia - jak dla mnie najwygodniej jest korzystac z szablonow by wysylac dane juz w postaci koncowej do przegladarki - ale nie musisz tak robic

pozdrawiam

Chodzi mi o to aby oglądający tutoriale mogli też łatwo je dodawać i później w razie czego edytować.


Dodam, że przejrzałem dzisiaj masę kursów, porad itp. i nie znalazłem tego więc nie odsyłajcie mnie o żadnych materiałow, źródeł chyba, że są trafione :).

Dzięki
_________________________________________
od itsme : pozwoliłem zmienić na code zgodnie ze zdaniem Admina[/quote]


--------------------
.. make web your home ..
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2024 - 02:57