XSLT / XML / PHP - Éléments complexes
7 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
XSLT / XML / PHP - Éléments complexes
Salut, j'ai un petit problème avec ma transformation.
Voici un petit topo : J'applique ma feuille XSLT avec PHP, pas de problèmes.
Pour les éléments simples, ceux qui ne contiennent que peu de texte ça va.
Mais je rencontre un problème pour gérer les éléments complexes : texte + autres éléments.
Exemple :
Le <br /> n'est pas pris en compte et je ma page se retrouve avec blablabla blablabla blablablou.
Bon en fait j'ai réussi à contourner ce problème avec une feinte...
Mais j'aimerais tout simplement pouvoir gérer ce type d'élément correctement, et pouvoir mélanger texte + balises, ma feinte n'étant efficace que pour les retours chariots.
Une idée ?
En attendant je vais définir une DTD, ça résoudra peut-être mon problème.
Merci !
Voici un petit topo : J'applique ma feuille XSLT avec PHP, pas de problèmes.
Pour les éléments simples, ceux qui ne contiennent que peu de texte ça va.
Mais je rencontre un problème pour gérer les éléments complexes : texte + autres éléments.
Exemple :
- Code: Tout sélectionner
<element>
blablabla blablabla <br /> blablablou
</element>
Le <br /> n'est pas pris en compte et je ma page se retrouve avec blablabla blablabla blablablou.
Bon en fait j'ai réussi à contourner ce problème avec une feinte...
Mais j'aimerais tout simplement pouvoir gérer ce type d'élément correctement, et pouvoir mélanger texte + balises, ma feinte n'étant efficace que pour les retours chariots.
Une idée ?
En attendant je vais définir une DTD, ça résoudra peut-être mon problème.
Merci !
Pour les retours chariots, j'explose ma chaine et je crée des div.
Mais pour mettre du texte en gras, des liens... Je suis bloqué.
Le CSS ne peut pas m'aider vu que pour l'appliquer j'ai besoin de balises, et que mon problème c'est précisément que les balises que j'insère dans mon élément sont zappées.
Mais pour mettre du texte en gras, des liens... Je suis bloqué.
Le CSS ne peut pas m'aider vu que pour l'appliquer j'ai besoin de balises, et que mon problème c'est précisément que les balises que j'insère dans mon élément sont zappées.
Merci de t'intéresser à mon cas, mais je vais tourner la question avec un exemple ce sera peut-être plus parlant.
Soit la balise suivante dans mon fichier XML
Après la transformation de mon fichier XML avec PHP / XSLT, voici ce que j'obtiens :
La transformation me fait perdre ma mise en forme et mes liens, probablement parce que le parser php considère ma balise <description> comme un élément simple, par opposition à un élément complexe qui peut contenir plusieurs choses différentes. Enfin je suppose que ça vient de ça.
Ce que j'aimerais savoir, c'est comment indiquer à PHP que ma balise <description> a le droit d'accueillir du texte + d'autres balises.
Soit la balise suivante dans mon fichier XML
- Code: Tout sélectionner
<description>J'ai besoin d'insérer des <b>balises</b> pour mettre en forme mon texte, insérer des liens etc.
<br />
<br />
Le CSS c'est génial mais le CSS sans balise ça sert à rien. Je peux pas insérer un lien, mettre un bout de texte en gras sans utiliser de balise.
</description>
Après la transformation de mon fichier XML avec PHP / XSLT, voici ce que j'obtiens :
- Code: Tout sélectionner
J'ai besoin d'insérer des balises pour mettre en forme mon texte, pour insérer des liens. Le CSS c'est génial mais le CSS sans balise ça sert à rien. Je peux pas insérer un lien, mettre un bout de texte en gras sans utiliser de balise.
La transformation me fait perdre ma mise en forme et mes liens, probablement parce que le parser php considère ma balise <description> comme un élément simple, par opposition à un élément complexe qui peut contenir plusieurs choses différentes. Enfin je suppose que ça vient de ça.
Ce que j'aimerais savoir, c'est comment indiquer à PHP que ma balise <description> a le droit d'accueillir du texte + d'autres balises.
- denisgrugeon
- Nouveau WRInaute
- Messages: 2
- Inscription: Lun Nov 05, 2007 14:19
Elvis a écrit:
- Code: Tout sélectionner
<description>J'ai besoin d'insérer des <b>balises</b> pour mettre en forme mon texte, insérer des liens etc.
</description>
J'ai le même problème. As-tu trouvé une solution ?
- denisgrugeon
- Nouveau WRInaute
- Messages: 2
- Inscription: Lun Nov 05, 2007 14:19
Eléments de réponse ici : http://www.journaldunet.com/developpeur/tutoriel/xml/040607-xml-cdata.shtml
Il faut mettre la description sou la forme suivante :
Je soumets ceci en validation aux experts !
Il faut mettre la description sou la forme suivante :
- Code: Tout sélectionner
<description><![CDATA[là tu mets ton <a href="www.webrankinfo.com">lien</a> par exemple]]></description>
Je soumets ceci en validation aux experts !
7 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google rejoint le projet Open AJAX créé par IBM
- Google Enterprise a son blog
- La recherche locale Google avec BMW ConnectedDrive
- Le blog de Google Analytics
- Le blog officiel de Google Research
- Un (RSS) pour tous (les blogs officiels de Google)
- Le blog officiel de Google au Japon
- Le blog officiel de Google Custom Search (CSE)
- La syndication de contenu : afficher un flux RSS sur son site
- Google Website Optimizer en français + blog officiel anglais
Consultez la description détaillée des produits ou services de Google suivants : API Google Checkout
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité



le forum