Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1445 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [resolu] Empecher <xyz></xyz> transformé en <xyz/> (xsl)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu] Empecher <xyz></xyz> transformé en <xyz/> (xsl)

n°1124321
Puissance ​Athlon XP
Posté le 19-06-2005 à 00:55:57  profilanswer
 

Bonjour
 
J'ai fait un système de template xsl pour mon site, mais j'ai un bug que j'arrive pas à résoudre...
Quand je mets dans un xsl:template un code dans ce genre là
 

Code :
  1. <textarea name="content" id="tcontent" cols="70" rows="20"><xsl:value-of select="content" /></textarea>


 
Et que dans mon fichier xml la balise <content> est vide, le code ci dessus est transformé en :
 

Code :
  1. <textarea name="content" id="tcontent" cols="70" rows="20" />


 
Ce qui occasionne de jolies choses avec la textarea en question :o  
Comment empêcher ça ?
 
Pour info, voilà l'entête de ma feuille de style :
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  3. <xsl:output method="xml" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd;" />


Message édité par Puissance Athlon XP le 19-06-2005 à 16:09:37
mood
Publicité
Posté le 19-06-2005 à 00:55:57  profilanswer
 

n°1124327
masklinn
í dag viðrar vel til loftárása
Posté le 19-06-2005 à 01:16:32  profilanswer
 

Une XSL crée du XML et les balises vides XML sont automatiquement affichées sous forme réduite [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1124331
Puissance ​Athlon XP
Posté le 19-06-2005 à 01:23:49  profilanswer
 

Et y'a pas une solution pour empecher ça ? :/
EDIT : Actuellement je fous un espace insécable dedans, mais bon... :sleep:


Message édité par Puissance Athlon XP le 19-06-2005 à 01:24:32
n°1124334
masklinn
í dag viðrar vel til loftárása
Posté le 19-06-2005 à 01:27:52  profilanswer
 

Ben faut y mettre des données [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1124344
Puissance ​Athlon XP
Posté le 19-06-2005 à 02:01:00  profilanswer
 

Et quand c'est un formulaire pour les entrer ces données ? :D

n°1124436
FlorentG
Posté le 19-06-2005 à 13:53:06  profilanswer
 

De toute façon, si tu output en XHTML1.1, faut tout faire en XML, ça ne pose aucun problème. Sachant qu'IE ne gère pas le 1.1, ni FireFox sans l'extension qui gère le module Ruby, etc [:spamafote]

n°1124438
busOman
Hiver.
Posté le 19-06-2005 à 13:58:41  profilanswer
 

FlorentG a écrit :

De toute façon, si tu output en XHTML1.1,


Le problème est le même en XHTML 1.0...

n°1124441
Puissance ​Athlon XP
Posté le 19-06-2005 à 14:08:56  profilanswer
 

Bon donc en gros j'en conclus qu'il n'y a aucune solution
Du coup ben je vais mettre la methode en html, mais j'aurais un code qui ne sera pas valide [:spamafote]

n°1124447
masklinn
í dag viðrar vel til loftárása
Posté le 19-06-2005 à 14:25:29  profilanswer
 

busOman a écrit :

Le problème est le même en XHTML 1.0...


Non, bien que la chose ne soit pas recommandée on peut transmettre du XHTML1.0 comme text/html [:aloy]  
 
Chose qu'on ne doit pas faire avec le XHTML1.1 [:aloy]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1124448
FlorentG
Posté le 19-06-2005 à 14:32:21  profilanswer
 

Avec l'extension DOMXML de PHP4, il met bien <textarea></textarea> Si c'est vide...Pas besoin de faire quoi que ce soit :(

mood
Publicité
Posté le 19-06-2005 à 14:32:21  profilanswer
 

n°1124508
Puissance ​Athlon XP
Posté le 19-06-2005 à 15:06:50  profilanswer
 

Bon, du coup en cherchant dans la doc pour le nom de l'extension que j'utilise (XSL sur php5) j'ai eu une idée et j'ai essayé d'utiliser DOM au lieu de XSL pour une partie
 
Avant je faisais la transformation de l'objet DOM vers un fichier XML directement avec l'extension XSL
Maintenant je fais la transformation de l'objet DOM vers un autre objet DOM avec l'extension XSL, que je sors ensuite en HTML avec la méthode saveHTML... (vous suivez ?)
 

Code :
  1. $xsl = new XSLTProcessor();
  2.         $xsl->importStyleSheet(DOMDocument::load($xslfile));       
  3.         $doc = $xsl->transformToDOC(DOMDocument::loadXML($xml));
  4.         $this->str = $doc->saveXML();


 
Et ça marche :)
Merci de votre aide

n°1124522
Puissance ​Athlon XP
Posté le 19-06-2005 à 15:18:19  profilanswer
 

Sinon, j'ai un problème avec la validation du site, et je vois pas trop ce qu'il faudrait que je fasse
http://validator.w3.org/check?uri= [...] &verbose=1
 
Vous pouvez ptet m'aider, au lieu de créer un nouveau topic

n°1124530
masklinn
í dag viðrar vel til loftárása
Posté le 19-06-2005 à 15:20:44  profilanswer
 

Puissance Athlon XP a écrit :

Sinon, j'ai un problème avec la validation du site, et je vois pas trop ce qu'il faudrait que je fasse
http://validator.w3.org/check?uri= [...] &verbose=1
 
Vous pouvez ptet m'aider, au lieu de créer un nouveau topic


C'est comme le port-salut, c'est marqué dessus, suffit de lire les messages [:petrus75]
 
On peut pas mettre un formulaire ou un header dans un paragraphe [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1124532
FlorentG
Posté le 19-06-2005 à 15:20:56  profilanswer
 

Pour l'erreur 2 par exemple, t'as un <h2> dans un <p>. Regarde dans la recommandation :

Citation :

<!ELEMENT P - O (%inline;)*            -- paragraph -->


Citation :

<!ENTITY % heading "H1|H2|H3|H4|H5|H6">


Le premier truc indique que <p> accepte du contenu inline. Le deuxième indique que <h2> est de type heading. Sachant que heading ne fait pas partie de inline, t'as pas le droit de mettre un h2 dans un p ;)

n°1124544
Puissance ​Athlon XP
Posté le 19-06-2005 à 15:26:59  profilanswer
 

masklinn a écrit :

C'est comme le port-salut, c'est marqué dessus, suffit de lire les messages [:petrus75]
 
On peut pas mettre un formulaire ou un header dans un paragraphe [:spamafote]


 
Ben personellement le "missing one of "object", "ins", "del", "map" start-tag" ca m'eclairait pas beaucoup, et pour moi p, form et h2 etaient des blocks, alors le "block-level inside an inline-level" m'eclairait pas beaucoup plus [:itm]
 
 
EDIT : Merci FlorentG pour ton explication  :hello:


Message édité par Puissance Athlon XP le 19-06-2005 à 15:27:26

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  [resolu] Empecher <xyz></xyz> transformé en <xyz/> (xsl)

 

Sujets relatifs
[resolu] connection database via php et ftp sur freeplugin tomcat pour eclipse [Résolu]
VB6/SQL Empêcher la création de doublons dans une Listboxpb tomcat 5.5.9 [Résolu]
[Resolu] Validation HTML VS operateur de comparaison PHP[VB6] Chemin d'ccès avec variable [ résolu ]
VLC: decodage d'un Truncated Exp-Golomb code [Résolu][résolu] Pb d'impression : perte de la mise en page et des couleurs
[VBS]Récuperer date[Résolu][Résolu] - [VBA/Excel] Boucler sur les contrôles d'un UserForm
Plus de sujets relatifs à : [resolu] Empecher <xyz></xyz> transformé en <xyz/> (xsl)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR