jaki forma danych, bbcode, czy xml?

0

Cześć,
Pracuję obecnie nad pewnym projektem, właściwie to ma być moja strona. Zastanawiam się jaki format danych zastosować bbcode, czy xml. Dane będą zapisywane w bazie, ale nie chcę ich zapisywać w formie czystego html'a, ponieważ z góry określone definicje zmuszą mnie potem do trzymania się sztywnych reguł przy edycji artykułów i łatwiej mi będzie ewentualne dane edytować programowo. Nie chce korzystać z wtyczek oferujących możliwość edycji html z poziomu panelu administracyjnego, ponieważ lubię mieć pełną kontrolę nad kodem,a poza tym zapis np.:

[b class="serif"]tekst[/b]

sprawi, że łatwiej będzie mi edytować szablon stron. Ogólnie chce, żeby wszystkie elementy artykułów były formatowane przez klasy, które sobie zdefinuję w pliku css. Jaki format danych polecacie?

0

Przecież XML to nadzbiór xHTML'a więc jak zapiszesz w XML'u to będzie raczej równoważne zapisowi w xHTML'u. Jak to nie ma być forum, a jakaś forma blogu to polecam Markdown.

0

@winerfresh:
Niezupełnie. Co prawda to kwestia zapisu i wygody, ale właśnie o tym rozmawiamy. Faktycznie, zawsze można użyć XHTML-a i klas, zamiast faktycznych tagów. Czyli można by np. korzystać z XHTML-owych spanów i pisać w szablonach:

<span class="friend">Tadek Wentyl</span>

(Nie oszukujmy się: nie mamy zamiaru rozszerzać XHTML o własne tagi -- mniemam, że to rozwiązanie autor opisuje jako użycie XML-a)

Powyższy kod z szablonów (tj. z bazy danych) mógłby bezpośrednio trafiać na witrynę. Style CSS zajęłyby się prezentacją takich spanów.

Tymczasem, jeśli użylibyśmy rozwiązania XML-owego, wyglądałoby to tak:

<friend>Tadek Wentyl</friend>

Czyli po prostu szablony byłyby nieco czytelniejsze i może praktyczniejsze. Różnica mogłaby być tym wyraźniejsza, im bardziej złożona byłaby semantyka naszych szablonów. Można by przecież dorzucać nie tylko własne tagi, ale i atrybuty.

Przed wygenerowaniem kodu witryny, kod z szablonów XML należałoby przekształcić na XHTML. W teorii nie trzeba by tego robić -- XHTML to teoretycznie XML, a "X" oznacza, że można do niego dołączać nowe tagi. Ale w praktyce się tego nie robi; w praktyce kod XHTML jest uważany za HTML, przez co XHTML traci swoje plusy.


Na pytanie postawione w temacie trudno mi odpowiedzieć. XML jest dosyć fajnym, uniwersalnym formatem. Parserów do tego jest mnóstwo i łatwo się XML przetwarza na różne sposoby. Z drugiej strony, składnia jest dość rozwlekła, nie jest dostosowana do konkretnych dziedzin problemu (no bo musi być uniwersalna). W praktyce XML wydaje mi się stosunkowo rzadko używany do takich celów. Może prywatni autorzy używają go w miarę często, sam zresztą go kiedyś tak użyłem. Ale jeśli spojrzeć na silniki w rodzaju wiki, forum, czy nawet w komentarze na blogach -- czyli witryny, gdzie "szablony" są używane przez wiele różnych osób -- to XML-a tam specjalnie nie widać. Kody, jakie są np. na Wikipedii, są bardziej zorientowane dziedzinowo i -- jestem przekonany -- sprawdzają się znacznie lepiej niż gdyby zamienić je na ogólny XML. Uważam, że rozwiązanie podobne do tego z Wiki jest najskuteczniejsze i najwygodniej się z niego korzysta, ale też opracowanie go jest najtrudniejsze/najdroższe. BB code jest już bardziej uniwersalny i też by się pewnie znacznie gorzej sprawdził, gdyby podstawić go w miejsce Wiki. Z drugiej strony: częściej już widzi się BB Code czy zwykły Markdown niż XML.

0

Ale BBCode nie nadaje się do blogów gdyż nie ma możliwości ustalania nagłówków. Ja osobiście na swojej stronie zrobiłem po dwie kolumny treści, a mianowicie "body" i "body_html", gdzie pierwsza zawiera surowy Markdownowy tekst, a druga już przetworzony. Nie ma wtedy problemu z nakładem czasu na dodatkowe generowanie zawartości tylko wyciągane gotowca z DB. XML na moje się do takich zastosowań średnio nadaje, ale co kto lubi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1