[PHP] Wydajna walidacja xHTML od strony serwera

0

Do edycji treści w moim czymś-na-wzór-cms użyłem tinymce - mimo, że generuje on ładny kod xhtml, zdaję sobie sprawę, że pomysłowość użytkowników jest nieskończona :D. Chcę przy zapisie walidować taki dokument, odwoływanie do w3.org odpada - wydajność. tidy_parse_string() też, bo po prostu tego na serwerze nie mam.

Dobrym rozwiązaniem wydaje się DOMDocument::schemaValidate(), ale... skąd wziąć odpowiedni plik xsd? A może ktoś zaproponuje inne, lepsze rozwiązanie?

0

Jaki jest sens zabezpieczania wyjścia, jak można łatwo zabezpieczyć wejście. Zadbaj, by generowany kod był poprawny, a treści użytkowników weryfikowane od razu pry ich wysyłaniu.

0

jak? Łatwo napisać "zadbaj", ja właśnie o to pytam, jak zadbać :D

zabezpieczenie wyjścia to osobny problem - automatyczne powiadamianie admina o problemach, mam zamiar coś takiego też zrobić...

edit: i przy okazji się spytam o coś innego - jakie są wady (problemy z IE?) stosowania xml+xslt? Czy jest "poprawne" ideowo umieszczanie tam właśnie outputa z tinymce?

0

Akurat XML+XSLT nie ma wad w IE. Ma wadę taką głównie, że Opera 8, Links czy inne takie wynalazki nie umieją tego obsłużyć. Naturalnie jeżeli mówimy o transformacji u klienta. IMO transformacja na serwerze praktycznie nie ma wad. Może z wyjątkiem czasu generowania strony.

0

Czas generowania strony? Chyba sporo lepszy, niż przy Smarty na przykład. Problemem jest to, że trzeba mieć obsługę transformacji po stronie serwera, a niestety nie każdy serwer to umożliwia.
Dodatkowo, jeśli chcesz w XMLu wrzucić dane z edytora xhtml, to powinieneś posłużyć się CDATA i całość wklejać potem do wyjściowego XHTML. Wadą tego rozwiązania jest to, że semantyczność tego rozwiązania trochę podupada. Ale inaczej nie bardzo się da (no chyba, że chcesz przetwarzać to, co użytkownik wysyła na jakiś tam schemat XML, który potem przekształcasz w XHTML, ale to trochę nonsens.

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