[XML] Désactiver l'analyse des scripts lorsqu'on parse une page HTML

Désactiver l'analyse des scripts lorsqu'on parse une page HTML [XML] - XML/XSL - Programmation

Marsh Posté le 03-09-2003 à 11:07:39    

J'utilise JDOM pour parser un fichier XHTML (enfin presque, disons que le code est valide XML).
 
Dans la page HTML, il y a des scripts JavaScript, lesquels contiennent des caractères comme &, < et >. Cela pose problème au parser XML qui indique une erreur dans le script.
 
Comment faire pour que mon parser ne me plante pas sur le JS ?


---------------
Le site de ma maman
Reply

Marsh Posté le 03-09-2003 à 11:07:39   

Reply

Marsh Posté le 03-09-2003 à 11:18:51    

tu mets ton code entre ces balises:

Code :
  1. <![CDATA[ ... ]]>


voir la:
http://www.w3schools.com/xml/xml_cdata.asp

Reply

Marsh Posté le 03-09-2003 à 11:30:35    

Impécable ! Merci beaucoup.


---------------
Le site de ma maman
Reply

Marsh Posté le 03-09-2003 à 11:57:35    

Effectivement ça devient valide, mais le code n'est plus exécuté.

<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CDATA</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  </head>
 
  <body>
  <h1>Test</h1>
  <script language="JavaScript">
  <![CDATA[
  if (1 < 2) {
      document.write("<p>It's OK.</p>" );
  } else {
      document.write("<p>It looks bad.</p>" );
  }
  ]]>
  </script>
  </body>
</html>


---------------
Le site de ma maman
Reply

Marsh Posté le 03-09-2003 à 11:59:02    

tu dois rajouter <!-- et //--> je pense
 
edit: euh peut être que je me trompe tu dois dire en xml ou xsl que c'est des commentaires, je ne sais plus : <:xsl text ou un truc du genre


Message édité par antsite le 03-09-2003 à 12:00:07
Reply

Marsh Posté le 03-09-2003 à 12:13:26    

nan nan t'as bon antsite.
Faut bien commenter les CDATA pour les browsers qui comprennent pas ces balises ( pour sur je sais que IE5.5 IE6.0 OP6.01 OP6.03 NN6.2 NN7.0  le font ). Donc ça doit te donner quelque chose comme ça:

Code :
  1. <script type="text/javascript"> //<![CDATA[
  2. ...
  3. if (i<12) {
  4. }
  5. ...
  6. //]]>
  7. </script>


 
voir la:http://www.xml.com/pub/a/2001/03/28/qanda.html ( question trois) pour des plus amples informations.
 
ps: la balise <script language="javascript"> c'est pas xhtml compliant :o

Reply

Marsh Posté le 03-09-2003 à 13:34:02    

ANTSite a écrit :

tu dois rajouter <!-- et //--> je pense
 
edit: euh peut être que je me trompe tu dois dire en xml ou xsl que c'est des commentaires, je ne sais plus : <:xsl text ou un truc du genre


Les commentaires ? Hu, c'est qu'ça a l'air de marcher ça en plus.


---------------
Le site de ma maman
Reply

Marsh Posté le 03-09-2003 à 13:35:15    

Anapajari a écrit :

nan nan t'as bon antsite.
Faut bien commenter les CDATA pour les browsers qui comprennent pas ces balises ( pour sur je sais que IE5.5 IE6.0 OP6.01 OP6.03 NN6.2 NN7.0  le font ). Donc ça doit te donner quelque chose comme ça:

Code :
  1. <script type="text/javascript"> //<![CDATA[
  2. ...
  3. if (i<12) {
  4. }
  5. ...
  6. //]]>
  7. </script>


 
voir la:http://www.xml.com/pub/a/2001/03/28/qanda.html ( question trois) pour des plus amples informations.
 
ps: la balise <script language="javascript"> c'est pas xhtml compliant :o


Qu'est ce que tu mets alors, à la place de script ?
 
Edit, la réponse est au dessus, ça m'apprendra à lire. :jap:


Message édité par Cherrytree le 03-09-2003 à 13:37:51

---------------
Le site de ma maman
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed