• [^] # Re: précise ...

    Posté par . En réponse au message Skins/Themes, XML+XSL pour CSS. Évalué à 1.

    Bon, je précise :
    J'utilise le couple XML+XSL(T), pour ne jamais avoir à retoucher mes données, mais seulement un fichier XSL, au besoin ! Et pour pouvoir aussi modifier le contenu pour du WML(WAP), et autre, selon !... J'anticipe ! ;)

    L'intérêt des propriétés du CSS en XML, c'est aussi et surtout pour permettre une gestion du contenu du fichier CSS ! En d'autre termes, le rendre dynamique, et éditable par interface web (formulaire), par l'utilisateur (membre) du site, de manière à ce qu'il puisse modifier à volonté l'interface, sans avoir à connaître la syntaxe et les mots-clés CSS !... Sans avoir à éditer de fichier à la mano !...

    Je ne veux pas d'un éditeur de feuilles de style, j'ai mon support W3C, et mon éditeur de texte, pour entrer tout ce qui m'interresse ! ;) ...Mais avec des variables !

    J'ai trouvé peut-être une soluce, qui consisterait à définir des entités, pour les référencer ensuite, sous la forme : '&ma_variable;' , mais je ne sais pas comment ça se définit !?... :/

    Exemple :
    Ma source XML :
    <style>
    <object id="body">
    <property id="background-color>&var-backgroundColor;</property>
    </object>
    </style>

    Ma transformation XSL :
    <xsl:template match="style">
    <xsl:element name="style">
    <xsl:attribute name="type">text/css</xsl:attribute>
    <xsl:for-each select="object">
    <xsl:value-of select="@id"/><xsl:text>{
    </xsl:text>
    <xsl:for-each select="property">
    <xsl:text> </xsl:text>
    <xsl:value-of select="@id"/><xsl:text>: </xsl:text>
    <xsl:value-of select="text()"/><xsl:text>;
    </xsl:text>
    </xsl:for-each>
    <xsl:text>}
    </xsl:text>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    NB : faîtes pas gaffe aux différents <xsl:text>, je m'en sert aussi pour la lisibilité du résultat, avec des tabulations, et autres ! ;)
    (présente un pb pour l'affichage de <style type="text/css"></style> !? :/ )

    Mon fichier XML, contenant uniquement les valeurs à modifier -celui qui me pose problême pour récupérer les valeurs :
    <theme>
    <backgroundColor>#254449</backgroundColor>
    </theme>

    Pourquoi passer par un nouveau XML contenant les variables ? Ca me permet de répercuter ces variables à différents endroits du CSS final ! ;)

    NB : J'ai que du Mozilla, ici, même sous Windaube... :)