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

Modules Perl Discussion :

Module XML::Twig balise autofermante


Sujet :

Modules Perl

  1. #1
    Membre à l'essai
    Homme Profil pro
    infographiste
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : infographiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 23
    Points
    23
    Par défaut Module XML::Twig balise autofermante
    Bonjour,

    Je début en perl...

    Commente testé une balise autofermante (exemple <w:b/>) avec le module Twig, si je fais bien.


    Merci

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Tu as une méthode is_empty dans la documentation du module.

  3. #3
    Membre à l'essai
    Homme Profil pro
    infographiste
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : infographiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 23
    Points
    23
    Par défaut
    Merci.

    Je commence dans Perl, je n'ai pas de bon reflex et traduire l'Anglais avec Google pas toujours simple.

    je travail sur une conversion.

    J'arrive bien atteindre avec la commande "children('w:rPr')" et quand je passe dans un autre fonction, il me fais un erreur sur ma variable $elt. J'ai fais le tour du net mais je ne trouve pas exemple qui me parle.

    je vais tenté de mettre le code.

    Contenu XML:
    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
    <w:p w:rsidR="003F267B" w:rsidRDefault="009A3DA5">
                <w:r>
                    <w:t xml:space="preserve">Philou </w:t>
                </w:r>
                <w:proofErr w:type="spellStart"/>
                <w:r w:rsidRPr="009A3DA5">
                    <w:rPr>
                        <w:b/>
                    </w:rPr>
                    <w:t>testBold</w:t>
                </w:r>
                <w:proofErr w:type="spellEnd"/>
                <w:r>
                    <w:t xml:space="preserve"> </w:t>
                </w:r>
                <w:proofErr w:type="spellStart"/>
                <w:r>
                    <w:t>philou</w:t>
                </w:r>
                <w:proofErr w:type="spellEnd"/>
            </w:p>
    Voici mon Code perl :
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    #!/usr/bin/perl -w
     
    use strict;
    use warnings;
    use XML::Twig;
     
    my $FichierXML = 'document.xml';
     
     
    my $twig = new XML::Twig( Twig_handlers => { 'w:p' => \&lesPara, }, );
     
    my $FichierResulat = 'Test01InIndesg.txt';
        open( my $FhResultat, '>', $FichierResulat ) # deux >> ecriture à la suite > nouveau
        or die("Impossible d'ouvrir le fichier $FichierResulat\n$!");
        print {$FhResultat} "<ASCII-MAC>\n<Version:7.5><FeatureSet:InDesign-Roman><ColorTable:=<Black:COLOR:CMYK:Process:0,0,0,1>>\n";
     
    # Création d'un objet twig
    $twig->parsefile($FichierXML);
     
    # Fermeture du fichier
    close($FhResultat);
     
    # function para
    sub lesPara{
         my ( $twig, $TwigPara ) = @_;
            print {$FhResultat} "<ParaStyle:NormalParagraphStyle>";
            foreach my $TwigCara ( $TwigPara->children('w:r')) {
                 if (my $monStyleCara = $TwigCara->children('w:rPr')) {
                        $TwigLangage -> setTwigHandlers({'w:rPr/*' => \&wrPrStyleCara});
                        print {$FhResultat} "", $TwigCara->field('w:t'), "<CharStyle:>";
     
                 } else {
                    print {$FhResultat} "", $TwigCara->field('w:t');
               }
            }
         $twig->purge;
         return;
    }
     
    # 
    # Function pour le style de caractaire
    #
    sub wrPrStyleCara {
    ###  my $p2 = XML::Twig::Elt->parse( '<para id="p2">para2</para>');
        my ($t, $elt) = @_;
     
     
        if ($monTest eq 'w:b') {
            print {$FhResultat} "<CharStyle:gras>"; 
        }
         elsif ($monTest eq 'w:i') {
            print {$FhResultat} "<CharStyle:italic>";
        } else {
            print {$FhResultat} "$monTest";
       }
    } # fin funcion style de caractère
    Je croix que j'ai un problème d'objet qui n'est pas crée correctement??

    un début de solution me suffit pour passé au problème suivant.
    Je me replonge dans mes book.

    Merci

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Quel est concrètement le but de votre programme ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    infographiste
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : infographiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 23
    Points
    23
    Par défaut
    Merci,


    Désolé pour le retard... convertir un fichier docx en un fichier texte avec des tag pour Indesign. Un ami ma donner un piste et je creuse ...
    Je commence à maitrisé les modules en Perl ...

    Et la je passe au module Archive::Zip.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 21/06/2012, 11h27
  2. [XML::Twig] créer une balise
    Par ellgafsi dans le forum Modules
    Réponses: 1
    Dernier message: 30/04/2009, 09h29

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