Valideren van zowel xhtml1 strict als css3

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Draco Whitefire

Draco Whitefire

18/10/2011 12:37:57
Quote Anchor link
L.S.

Ik probeer in mijn site twee links te verwerken naar het resultaat van de W3C-validatie. Nu is het verwerken van de link naar de XHTML-validatie geen enkel probleem. Deze werkt standaard al met een url waarin verwerkt zit dat er terugverwezen moet worden naar referer.

De CSS-validator verwijst ook standaard terug naar de referer, maar niet in de vorm van een argument (?uri=referer zoals bij de xhtml-validatie) maar als onderdeel van de oorspronkelijke url. Deze standaard-link controleert echter op CSS2.1 terwijl mijn site in CSS3 geschreven is. Daarvoor moet men een ander type url gebruiken met ?profile=css3 als een van de argumenten. Deze vorm kent ?uri= wel, maar dit accepteert alleen daadwerkelijke url's en niet de term referer. Om dit dynamisch te laten werken op iedere pagina stel ik de link zelf samen met php, door naar $_ENV[HTTP_REFERER] te verwijzen.

In principe werkt dit, maar hier begint mijn probleem. De XHTML1.0 Strict-standaard vereist namelijk dat argumenten in een a href-url gecodeerd worden. Ik kan probleemloos urlencode($_ENV[HTTP_REFERER]) uitvoeren. Dit levert een netjes gecodeerde url op die mooi door de validator wordt verwerkt. Dit is echter niet genoeg voor XHTML1.0 Strict, dat vereist dat de gehele url met alle argumenten gecodeerd is (m.a.w. alle tekens als vraagteken en ampersand ge'escaped). urlencode() toepassen op de gehele a href is echter geen optie. Ik krijg dan een volledig gecodeerde link waar de validator geen kaas van kan maken.


Ik zit dan ook nu met een keuze die me niet nodig lijkt. Oftewel ik heb een link naar de css3-validatie die niet xhtml1.0 strict-valid is:

Quote:
$ahrefurl = "http://jigsaw.w3.org/css-validator/validator?profile=css3&uri=";
$ahrefurl .= urlencode($_ENV[HTTP_REFERER]);
echo '<a href="' . $ahrefurl . '" >';


Of ik heb een mooi valide xhtml-pagina maar kan geen link naar css3-validatie plaatsen.

Waarschijnlijk is het puur iets wat ik over het hoofd zie, maar ik weet in ieder geval niet hoe ik dit kan oplossen.
Gewijzigd op 18/10/2011 12:39:01 door Draco Whitefire
 
PHP hulp

PHP hulp

25/12/2024 03:10:31
 
Frank  C

Frank C

22/10/2011 22:29:42
Quote Anchor link
Ik heb helaas geen oplossing voor je, maar ik ben wel benieuwd waarom CSS-validatie zo belangrijk is voor je. HTML-validatie, dat kan ik begrijpen, omdat de volgende webmaster er ook mee moet kunnen werken, en browsers slechte HTML-code toch vaak normaal renderen. Maar dat is niet het geval bij slechte CSS-code (waar ik IE-, -moz en -webkit-filters en -hacks niet onder versta).
 
Draco Whitefire

Draco Whitefire

23/10/2011 23:23:44
Quote Anchor link
Beste Frank,

Bedankt voor je reactie. Belangrijk? Nee, niet zo heel erg. Ik vond het vooral een interessant probleem: hoe voeg je een stuk url met GET-argumenten toe als GET-argument aan een url die voor een href-anker bedoeld is, maar dan zonder de xhtml1.0 strict-specificatie te overtreden. Ik kon me simpelweg niet voorstellen dat met die eventualiteit geen rekening was gehouden. Toen ik echter na een hoop zoekwerk nog steeds niks erover had gevonden wilde ik de community maar eens raadplegen.

M.v.g.

Draco
 
B a s
Beheerder

B a s

24/10/2011 10:50:49
Quote Anchor link
Heb je nog wat meer voorbeeld linkjes? Ik zie bijvoorbeeld:

$ahrefurl = "http://jigsaw.w3.org/css-validator/validator?profile=css3&uri=";

Dit hoeft in principe niet met urlencode() opgelost te worden. Simpel je & vervangen door &amp; is al valid.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.