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

XSL/XSLT/XPATH XML Discussion :

Astuces XML/XSLT


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre émérite

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Points : 2 717
    Points
    2 717
    Par défaut Astuces XML/XSLT
    Je poste pour vous donner deux/trois astuces que j'ai trouvé pour l'écriture du XML et XSLT.

    Utiliser des guillements dans un appel de la fonction concat

    Problème : Ecrire la chaîne
    if(_UJS) _estat('SERIAL','PAGE','GROUPE');
    où PAGE et GROUPE sont des variables (ceux qui utilisent eStat devraient reconnaître ce javascript ;-)

    Solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:variable name="q">'</xsl:variable>
    <xsl:value-of select="concat('if(_UJS) _estat(',\
    $q,'291091111193',$q,',',$q,$page,$q,\
    ',',$q,$groupe,$q,');')" />
    (\ signifit que la ligne continu, c'est juste pour la lisibilité)

    La variable q est nécessaire pour écrire une quote à l'intérieur d'une autre.

    @+ Haypo

  2. #2
    Membre émérite

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Points : 2 717
    Points
    2 717
    Par défaut
    Convertir une page HTML en XML (encoding iso-8859-1)

    Problème :

    J'avais écrit une page en HTML sous Dreamweaver, et je veux maintenant un document XML. Changer l'extension ne suffit pas car & (é), & (à), et autres bloquent la 'compilation' XSLT.

    Solution :

    J'ai alors écrit un script SED (programme de traitement de chaîne de caractère) :
    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
    ####################################
    ### Script SED pour passer du HTML 4.0 au XML ###
    ### Par Haypo - 24 juin 2003
    #####################################
     
    ### Lettre a accentuée ###
    s/& agrave;/à/g
    s/& acirc;/â/g
     
    ### Lettre c accentuée ###
    s/& ccedil;/ç/g
     
    ### Lettre e accentuée ###
    s/& eacute;/é/g
    s/& egrave;/è/g
    s/& ecirc;/ê/g
     
    ### Lettre i accentuée ###
    s/& icirc;/î/g
    s/& iuml;/ï/g
     
    ### Lettre o accentuée ###
    s/& ocirc;/ô/g
     
    ### Lettre u accentuée ###
    s/& ucirc;/û/g
    s/& ugrave;/ù/g
     
    ### Autres caractères ###
    s/& quot;/"/g
     
    ### Balises HTML 4 -> XML ###
    s!<br>!<br/>!g
    s!& sup2;!²!g
    (j'ai ajouté des espaces dans les "caractères" HTML à cause du forum developpez.com, il faut les effacer : '@ quot;' => '@quot;' avec @=&)
    Vous pouvez trouver SED sur :
    http://www.gnu.org/software/sed/

    Sous Windows, il faut installer Cygwin :
    http://www.cygwin.com/

    Ou mieux (plus léger) : MinGW32 :
    http://www.mingw.org/
    (installer MinGW Runtime + MSys)

    Ce script change beaucoup de caractère, et transforme quelques balises HTML4 en XML (<br> devient <br />). Mais il faut finir le travail à la main :
    - balise <img> à refermer (on ajoutera au passage l'attribut alt s'il a été oublié)
    - balise <input>. D'ailleurs pour cocher un 'radio', on utilisera l'attribut [b]checked] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="nom" value="valeur" checked="checked">blablabla</input>
    Restera encore les balises & & & et &. Pour cela, on ajoutera au début du fichier XML :
    <!DOCTYPE perso [
    <!ENTITY nbsp " ">
    <!ENTITY amp "&">
    <!ENTITY lt "<">
    <!ENTITY gt ">">
    ]>
    Note : '&' est la valeur décimale du caractère '&' ;-)

    @+ Haypo

  3. #3
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 52
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par haypo
    Convertir une page HTML en XML (encoding iso-8859-1)
    Il y a aussi Tidy, qui transforme un HTML en XHTML, et de là, avec le XSLT, tu peux faire à peu près ce que tu veux comme XML destination.

Discussions similaires

  1. [XML+XSLT+MSXML] Ecrire ses propres fonctions
    Par görgh dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 19/05/2005, 13h04
  2. [XML-XSLT] Données dans un tableau
    Par Hoegaarden dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 10/12/2004, 15h51
  3. trucs et astuces XML
    Par grishka dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 09/09/2004, 13h56
  4. optimisation de temps de traitement xml/xslt
    Par Erwy dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/05/2004, 16h08

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