XSLT / XML / PHP - Éléments complexes

WRInaute discret
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 :
Code:
<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 !
 
WRInaute impliqué
C'est pas une réponse directe, mais tu devrais mieux mettre en page avec du CSS aulieu d'uiliser des balises <br>.

Du coup ça éliminera ton problème...
 
WRInaute discret
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.
 
WRInaute impliqué
Je me répète, mais pourquoi n'utilise tu pas les CSS pour mettre en page au lieu de mettre des retours chariots?
 
WRInaute discret
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
Code:
<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:
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.
 
Discussions similaires
Haut