Ga naar inhoud

[Delphi]HTML validator schrijven


Aanbevolen berichten

  • 3 weken later...
Kijk hier eens in de source van deze componenten: [url=http://www.vclcomponents.com/search.asp?GRP=1&KEYWORD=parser&TYPE=0&ID_CATEGORY=152&SUBMIT=Search]http://www.vclcomponents.com...[/url] of je kan je html natuurlijk gewoon on-line laten checken: [url]http://validator.w3.org/[/url] [url]http://www.w3.org/People/Raggett/tidy/[/url]
Link naar reactie
xml component voor delphi installeren, dan documenten ermee parsen en de fouten weergeven. Als het goed is dan is HTML van tegenwoordig XML met een DTD, in de DTD staat gedefineerd: - welke tags mogen worden gebruikt - welke attributen in welke tags mogen staan - wat de inhoud van tags mogen zijn. ik heb een validator geschreven in javascript, met de XML parser van microsoft (v4.0). html pagina ------------------------------------------------------------ <?xml version="1.0" encoding="us-ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head> <title>test xhtml</title> <style type="text/css"> input,textarea { border:solid #000000 1px; } body,div,p,a,pre,td { font-family:'Verdana'; font-size:12px; } </style> </head> <body> <script type="text/javascript"> <!-- function validate(sXml) { if(sXml.length>0) { var objDom = new ActiveXObject("microsoft.xmldom"); if(sXml.substr(0,1) != '<') { objDom.async=false; objDom.load(sXml); } else { objDom.loadXML(sXml); } if(objDom.parseError.errorCode != 0) { return('Invalid xml!\ncode: '+ objDom.parseError.errorCode+'\nline: '+objDom.parseError.line+'\nposition: '+objDom.parseError.linepos+'\nreason: '+objDom.parseError.reason+'\n\nSource: '+objDom.parseError.srcText); } else { return('Valid xml'); } } else { return('Specify some xml!'); } } //--> </script> <table style="width:400px;background-color:#F5F5F5;border:outset #777777 1px;" cellspacing="2" cellpadding="2"> <tr> <td style="padding:5px;"> <span onmouseover="this.style.backgroundColor='#FF0000';" onmouseout="this.style.backgroundColor='transparent';" onclick="display.innerHTML=file.innerHTML;" style="cursor:hand;"><b>file</b></span> &nbsp; <span onmouseover="this.style.backgroundColor='#FF0000';" onmouseout="this.style.backgroundColor='transparent';" onclick="display.innerHTML=xml.innerHTML;" style="cursor:hand;"><b>xml</b></span> </td> </tr><tr> <td id="display"></td> </tr><tr> <td id="result" style="background-color:#FFFFFF;border:inset #777777 1px;"></td> </tr> </table> <div id="file" style="visibility:hidden;position:absolute;"> <table cellspacing="1" cellpadding="2" style="background-color:#F5F5F5;"> <tr> <td><input type="file" name="filename" id="filename" style="width:396px;" /></td> </tr><tr> <td><input type="button" name="cmdValidate1" id="cmdValidate1" value="Validate" onclick="result.innerText='parsing..';result.innerText=validate(document.getElementById('filename').value);" /></td> </tr> </table> </div> <div id="xml" style="visibility:hidden;position:absolute;"> <table cellspacing="1" cellpadding="2" style="background-color:#F5F5F5;"> <tr> <td><textarea cols="40" rows="10" style="width:396px;" id="rawxml" name="rawxml"></textarea></td> </tr><tr> <td><input type="button" name="cmdValidate2" id="cmdValidate2" value="Validate" onclick="result.innerText='parsing..';result.innerText=validate(document.getElementById('rawxml').value);" /></td> </tr> </table> </div> </body> </html> ------------------------------------
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...