[W3C] Custom DTD valideren

Pagina: 1
Acties:

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 24-05 19:43

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Ik heb een gastenboek (sorry, stereotyper ging niet) op een site bij mijn provider dat verplicht gebruik maakt van hun cgi-scripts (geen custom scripting dus). Attent als ze zijn, is dat natuurlijk niet voorzien op xhtml-validatie.

Men heeft namelijk besloten dat het begin van het guestbook gemarkeerd wordt met <ENTRIES>. Uitdaging.

Om dit toch te laten valideren tegen een dtd (zij het niet als xhtml), heb ik de XHTML 1.0 Scrict DTD gedownload, en de volgende aanpassingen gemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
<!----------------------------------------------------------------->
<!-- 'phrase' bestond reeds. Hier is '| ENTRIES' aan toegevoegd. -->
<!----------------------------------------------------------------->
<!ENTITY % phrase "em | strong | dfn | code | q |
  samp | kbd | var | cite | abbr | acronym | sub | sup | ENTRIES">

<!----------------------------------------------------------------->
<!-- Voor 'ENTRIES' is een nieuw element aangemaakt + attributen -->
<!----------------------------------------------------------------->
<!ELEMENT ENTRIES %Inline;>   <!-- ENTRIES -->
<!ATTLIST ENTRIES %attrs;>


Vanuit de XHTML refereer ik als volgt:
code:
1
2
<!DOCTYPE html PUBLIC "-//xxx//DTD XHTML 1.0 Guestbook//EN"
  "http://www.xxx.be/guestbook/xhtml1-strict-guestbook.dtd">


Vervolgens heb ik het door de w3c validator gegooid. Geen fout op het custom DOCTYPE, maar toch nog:
element "ENTRIES" undefined
Echter, als ik de validator van de Web Design Group gebruik, is er geen vuiltje aan de lucht.
Congratulations, no errors!
Mijn vraag is bij deze tweeledig:
  • Is het mogelijk om w3c een custom DTD in beschouwing te laten nemen?
  • Heeft iemand misschien een suggestie hoe ik met die ENTRIES-restrictie toch een XHTML 1.0-doc in elkaar zou kunnen knutselen? (met CDATA lukt het mij in ieder geval niet).

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Ik denk niet dat je het aan %phrase wilt toevoegen eerlijk gezegd. Iets in de buurt van %block of %mics (waar DEL en INS inzitten, weet niet zeker of die DTD entity zo heet) is beter denk ik.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 24-05 19:43

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Verwijderd schreef op 07 juni 2004 @ 08:09:
Iets in de buurt van %block of %mics (waar DEL en INS inzitten, weet niet zeker of die DTD entity zo heet) is beter denk ik.
Ok, maar los van dat detail, zou de w3c validator daar in principe op moeten valideren, of kan dat ding echt alleen maar de "standaard" dtd's?

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Kun je mij ook uitleggen waarom je voor je document een custom dtd maakt? Toch niet om te valideren? Want zo kan ik alles soorten html documenten maken en laten valideren door custom dtd's. Waar is het idee van de gestandaardiseerde dtd's gebleven?

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 24-05 19:43

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
André schreef op 07 juni 2004 @ 13:14:
zo kan ik alles soorten html documenten maken en laten valideren door custom dtd's. Waar is het idee van de gestandaardiseerde dtd's gebleven?
Ik besef dat het inderdaad weinig zin heeft om dit te doen, puur om iets te hebben dat valideert volgens non-standaarden. Het is gewoon pure Tweakerigheid dat ik het wil weten B)

Eigenlijk is ook de laatste vraag voor mij het belangrijkste: een manier vinden om die <ENTRIES>-tag in mijn pagina te smokkelen, en toch XHTML-compliant te blijven.

[ Voor 18% gewijzigd door GrimaceODespair op 07-06-2004 18:10 ]

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Had je mijn comment al is getest?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

GrimaceODespair schreef op 07 juni 2004 @ 18:07:
Eigenlijk is ook de laatste vraag voor mij het belangrijkste: een manier vinden om die <ENTRIES>-tag in mijn pagina te smokkelen, en toch XHTML-compliant te blijven.
Dat zal niet gaan denk ik, dan had je iets moeten verzinnen als <span class="entries"> ofzo...

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

GrimaceODespair schreef op 07 juni 2004 @ 18:07:
een manier vinden om die <ENTRIES>-tag in mijn pagina te smokkelen, en toch XHTML-compliant te blijven.
Zijn die 2 eisen niet tegenstrijdig? Afaik is het niet toegestaan in xhtml om eigen tags te introduceren. Correct me if I'm wrong.

Today's subliminal thought is:


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 24-05 19:43

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Annie schreef op 07 juni 2004 @ 20:27:
Zijn die 2 eisen niet tegenstrijdig? Afaik is het niet toegestaan in xhtml om eigen tags te introduceren. Correct me if I'm wrong.
Ik had bijvoorbeeld gedacht aan een CDATA sectie:
code:
1
2
3
<![CDATA[
    <Entries>
]]>

Maar IE sluit sowieso de CDATA sectie verkeerdelijk af na de eerste '>' die hij tegenkomt, wat me niet de bedoeling lijkt :? Firefox parset juist tot aan ']]>', en negeert de volledige CDATA-sectie verder. Either way: een CDATA sectie wordt genegeerd.

Ik zoek dus eigenlijk zoiets als de CSS hacks voor bv IE: validerende CSS die toch stiekem wat anders doet achter de schermen. Of het mooi is doet er even niet, als het maar valideert :p (en nee, het waarom daar ga ik niet over discussiëren)

Misschien is er hier iemand creatiever dan mij?

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Nogmaals, je wil iets wat niet standaard is, en het toch tegen de standaard evalueren. Dat spreekt mekaar echt enorm tegen. Ik weet niet hoe jullie controleren, maar de enige oplossing die ik kan bedenken is om het tussen commentaartags te zetten, mits de parser in je gastenboek daar niet op controleert.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 24-05 19:43

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
NMe84 schreef op 08 juni 2004 @ 09:41:
Nogmaals, je wil iets wat niet standaard is, en het toch tegen de standaard evalueren. Dat spreekt mekaar echt enorm tegen.
Het is in die zin geen standaard, dat je het niet zomaar op je pagina kunt droppen. Het zou wel standaard zijn als ik het zo op mijn pagina kon droppen dat de validator er geen last van heeft, maar de functionaliteit toch nog goed gaat (server-side gebeurt er, vermoed ik, gewoon een string-find).

Telenet (mijn provider dus) heeft gewoon heel ongelukkig de manier gekozen waarop zij dat gastenboek afhandelen. Ze hadden net zo goed een commentaar-tag als marker kunnen gebruiken.
NMe84 schreef op 08 juni 2004 @ 09:41:
Ik weet niet hoe jullie controleren, maar de enige oplossing die ik kan bedenken is om het tussen commentaartags te zetten, mits de parser in je gastenboek daar niet op controleert.
Maar dat lukt dus niet, want dan staat al je guestbook zooi ook tussen commentaar.

Ik denk dat ik maar eens een mail naar Telenet de deur uit doe om te vragen of zij een alternatief hebben.

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Maar dat lukt dus niet, want dan staat al je guestbook zooi ook tussen commentaar.
Huh?
code:
1
<!-- <ENTRIES> --> blaat <!-- </ENTRIES> -->
Ik denk dat ik maar eens een mail naar Telenet de deur uit doe om te vragen of zij een alternatief hebben.
Je zou kunnen overwegen zelf iets te scripten.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 24-05 19:43

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Verwijderd schreef op 08 juni 2004 @ 17:18:
code:
1
<!-- <ENTRIES> --> blaat <!-- </ENTRIES> -->
Het script is maar heel simpel hoor. Het zoekt gewoon naar de string '<ENTRIES>', vermoed ik met aan zekerheid grenzende waarschijnlijkheid. Die tag hoeft zelfs niet gesloten te zijn. En vlak na <ENTRIES> wordt dus altijd de nieuwe guestbook-zooi gestopt. In jou geval dus in het eerste commentaar-blok.
Verwijderd schreef op 08 juni 2004 @ 17:18:
Je zou kunnen overwegen zelf iets te scripten.

Wij onderbreken deze thread voor reclame:
http://kalders.be

Pagina: 1