IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[XSLT] Parseur XML : correction des erreurs détéctées


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut [XSLT] Parseur XML : correction des erreurs détéctées
    salut ,

    voila j'ai un projet qui consiste à transformer un fichier html en fichier xml , dans le but de séparer le contenu et le style donc le resultat doit etre plus précisement un fichier xhmtl
    il faut que l'outil prend en considération la correction des balises non fermé, de corriger la case , etc ..et de transformer les attributs et balises de forme en classes de style ..

    Aprés avoir commencer une solution , parcourant le fichier et detectant les balises ouvrantes et fermante afin de faire les traitements nécessaires , j'ai découvert qu'on peut faire un analyseur syntaxique par php ..et ceci prend en charge une grande partie de la solution avec un peu de code, le probleme c'est que il ne suffit pas de détécter les erreurs , comme le fait le parseur xml , mais de les corriger ..le fait de traiter les erreurs pour les corriger me semble un peu compliqué ..afin que quelqu'un de vous puisse réfléchir avec moi !!

    je vous donne un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <?php
    function ouverture ($parser, $name, $attrs){
     
    /*ici je dois
    -réafficher la balise 
    -traiter le tableau attrs pour en créer des classes de style
    - vérifier s'il s'agit d'un balise de style par exp <center> pout remplacer par css*/
     
    }
    function fermeture ($parser, $name){
     
    //réafficher la balise de fermeture 
     
    }
     
    function texte ($parser, $data_text){
     
    //afficher le texte 
     
    }
     
     
     
    $xml_parseur = xml_parser_create(); 
    xml_set_element_handler($xml_parseur, "ouverture", "fermeture");
    xml_set_character_data_handler($xml_parseur, "texte");
     
     
    $fp = fopen("essai.xml", "r+") or die("Fichier introuvable. L'analyse a ete suspendue");
     
    $fp = fopen("essai.xml", "r") or die("Fichier introuvable. L'analyse a ete suspendue");
     
    while ($fdata = fread($fp, 2048)){
    	xml_parse($xml_parseur, $fdata, feof($fp)) or die(
    		sprintf("Erreur XML : %s à la ligne %d\n",
    		xml_error_string(xml_get_error_code($xml_parseur)),
    		xml_get_current_line_number($xml_parseur))
    		);
     
    /*ici en cas d'erreur, par exemple une balise fermente erroné , le pareur détécte l'erreur et on peut récupérer son code et son emplacement , et il s'arrete à ce niveau ,, la problématique mnt est de récuperer le code erreur pour faire la correction nécessaire et poursuivre l'analyse ..peut etre ecrire dans le fichier au fur et à mesure  avec fputs ? A vous ! */
     
    }
     
    ?>
    Pouvez vous réfléchir avec moi ..d'avance merciii

    serenity

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 344
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 344
    Billets dans le blog
    17
    Par défaut
    Il me semble que Tidy le bien-nommé fait tout cela
    http://www.php.net/tidy

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    ouiii , je sais que tidy le fait
    mais c'est ça le but de mon projet

    J'attends votre aide
    merci

Discussions similaires

  1. [HTML] Correction des erreurs de validation W3C
    Par jlb59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 24/02/2008, 09h50
  2. Réponses: 2
    Dernier message: 26/06/2007, 16h59
  3. Quel parseur XML pour des Strings ?
    Par krokmitaine dans le forum XML
    Réponses: 13
    Dernier message: 19/12/2006, 21h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo