[XSL]traitement par défaut ...

Résolu/Fermé
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 17 nov. 2005 à 13:51
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 23 nov. 2005 à 11:23
Salut tout le monde, (surtout crabs loOl :P )

c'est pour savoir s'il existe un moyen en XSL de traiter les élément non définis dans la feuille de style , au lieu que ceux ci soient simplement recraché en sortie sans les tags qu'il contenait ...
Au moins je pourrai voir dans mes données les tags que je n'ai pas traité ...

Merci à vous.

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."

16 réponses

mispech Messages postés 1 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 17 novembre 2005
17 nov. 2005 à 14:05
oui, tu dois pour cela créer un template traitant "*"
<xsl:template name="*">
<xsl:value-of select="name()" />
<xsl:block> : </xsl:block>
<xsl:value-of select="text()" />
</xsl:template>
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
17 nov. 2005 à 14:09
<xsl:template name="*">
Mais le * ne vas pas aussi sélectionner mes autres éléments déjà défini ? ? ?

Merci de ton aide, je suis un vrai newbie en xsl :)

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."

P.S: je fais le Maxi lourd mais il y aurait pas moyen que tu commentes ton truc car je connais pas très bien les appels de fonction genre name() même qi je devine le cheminement du script, je prefers être sur a 100% pour bien comprendre ce que je fais , c'est ce qui m'importe le+...
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
17 nov. 2005 à 15:39
Salut,
La pluspart des processeurs (enfin ceux que j'ai utilisés en tout cas) prennent les définitions les plus spécifiques, donc ton * rentrera en ligne de compte seulement si rien d'autre ne s'applique...
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
17 nov. 2005 à 15:48
Yes bah merci a vous 2 !

Je testerai ça et si j'ai des soucis, vous me reverrez hihihi :P

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
18 nov. 2005 à 13:52
Ca ne fonctionne pas avec le *, le moteur me dit que ça n'est pas valide...
J'utilise xsltproc et je tourne sous 2000 ....
voilà pour les infos systeme . . .
Donc si vous savez comment traitez les balises non prise en charge dans la feuille de style , j'suis preneur ...

Merci .

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
18 nov. 2005 à 13:56
Essaye . a la place de * je crois...
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
18 nov. 2005 à 14:14
non , le '.' c'est pour l'élément courant ...

Merci quand même :D

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
18 nov. 2005 à 15:26
Ben écoute, je viens de regarder un peu, même si ce n'est pas encore parfait (il faut fignoler en fonction de ce que tu as dans ton xml) mais un xsl comme ça:

<?xml version="1.0" encoding="windows-1250"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>


<xsl:template match="test">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="A">
<xsl:value-of select="."/> : Traitement noeud A;<br/>
<xsl:apply-templates select="C"/></xsl:template>

<xsl:template match="*">
<xsl:value-of select="."/> : <b>Undefined TAG;<br/></b>
</xsl:template>

</xsl:stylesheet>



avec un xml comme ça:

<?xml version="1.0" encoding="windows-1250"?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<test>
<A>mavalA</A>
<A>mavalA <C>CdansA</C></A>
<D>mavalD <A>AdansD</A></D>
</test>



Me donne dans IE (rien de mieux sous la patte):

mavalA : Traitement noeud A;
mavalA CdansA : Traitement noeud A;
CdansA : Undefined TAG;
mavalD AdansD : Undefined TAG;
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
18 nov. 2005 à 16:28
Yes merci de prendre du temps pour me filer un coups de patte c'est CoOl de ta part mec ;P

On est bien d'accord (si j'ai bien tout capté ) que c'est cette partie qui gère les balises non définis dans le xsl ...
<xsl:template match="*">
<xsl:value-of select="."/> : <b>Undefined TAG;<br/></b>
</xsl:template>


j'ai tester avec mon moteur xsltproc avec ton xml et ton xslt et ça passait nickel (miguelle) mais (hélàs il y a un mais ) le truc bizar est que losrque j'ai mis ce Zoli bout de code dans mon xsl a moi avec toutes les autres règles, le moteur ne prends plus en compte mes autres règles... je ne sais pas pourquoi ...
C'est p'tet car au lieu du
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>

Moi j'ai mis
<xsl:template match="/">
<xsl:apply-templates match="etude"/>
</xsl:template>


au moins grace a ça j'ai des cas a ne pas traité que je Zap direct mais du coups c'est après a partir de mon élemnt étude ou je lance les apply-templates ... p'tet que mon soucis vient de la ..
je ne sais pas trop d'ou d'autres car pour moi il n'y a que ça qui diffère...

Merci ..

Zep3k!GnO
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
18 nov. 2005 à 16:35
Fait voir un code minimal qui ne marche pas?

(note que je ne suis pas sûr que ça n'attende pas lundi ou mardi maintenant...)
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
18 nov. 2005 à 16:49
note que je ne suis pas sûr que ça n'attende pas lundi ou mardi maintenant...
hi hi hi normal moi c'est pareil je vais pas tarder à aller prendre mon train :P

Vas y je te mettrai ça sur le forum lundi car ces salops de la SNCF ne vont pas m'attendre ;P

Bon Week et merci de ton aide ...

Zep3k!GnO
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
21 nov. 2005 à 11:42
voila en gros ce que j'ai ....
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="ISO-8859-1" indent="no"/>

<xsl:template match="/">
	<xsl:apply-templates select="texteFasc/corps"/>	</xsl:template>

<xsl:template match="texteFasc/corps/texte">
	<xsl:for-each select=".">
			<xsl:variable name="typ"><xsl:value-of select="identTxt/nomTxt"/></xsl:variable>
		<xsl:choose>
			<xsl:when test="@nature = 'code'">	<!--Si c'est un code, on ressort le texte sans 	balisage au prélable-->
				<xsl:apply-templates/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:choose>
					<xsl:when test="$typ = 'Convention'">		<!--Pour savoir ce que l'on sort : TXT-FR ou TXT-I1-->
						<TXT-I1 PUBL="TMP" CDMAJ="NON">
							<xsl:attribute name="ID">			<!--Construction de l'ID,penser a remanier la date pour changer les '/' en '-' -->
								<xsl:text>sys-jly_doc_nat[txt]typ[?Err:typ]src[fra@org[leg]+?Err:pays@org[leg]]dat[</xsl:text>
						
                                                           <xsl:value-of 
                                                               select="identTxt/date/@nor"/>
					                    <xsl:text>]</xsl:text>
							</xsl:attribute>
							<xsl:apply-templates/>
						</TXT-I1>
					</xsl:when>
					<xsl:otherwise>								
                                                <!-- C'est un TXT-FR -->
						<TXT-FR PUBL="TMP" CDMAJ="NON">
							<xsl:attribute name="ID">			<!--Construction de l'ID,penser a remanier la date pour changer les '/' en '-' -->
								<xsl:text>sys-jly_doc_nat[txt]typ[</xsl:text>
						<xsl:value-of select="identTxt/nomTxt"/>
								<xsl:text>]src[</xsl:text>
								<xsl:choose>
							<xsl:when test="identTxt/origine">
						<xsl:value-of select="identTxt/origine"/>
						</xsl:when>
						<xsl:otherwise>
									<xsl:text>fra@org[leg]+?Err:pays@org[leg]</xsl:text> 
									</xsl:otherwise>
								</xsl:choose>
								<xsl:text>]dat[</xsl:text>
								<xsl:value-of 
                                                                     select="identTxt/date/@nor"/>
								<xsl:text>]</xsl:text>
							</xsl:attribute>

						</TXT-FR>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


J'ai quelques templates de définis après... et voilà :D

Si t'as une idée donc pour sortir les éléments non traités dans une balise d'erreur style <ERR>blahblahblah</ERR>

Merci.

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."

P.s:désolé pour l'indentation qui n'est pas top... :D
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
22 nov. 2005 à 09:59
Juste pour dire que je cherche toujours. . .

:P


Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
22 nov. 2005 à 10:04
J'ai pas encore regardé, mais tu n'aurais pas un exemple de xml qui va avec?
un truc bizarre à première vue quand même:

<xsl:apply-templates select="texteFasc/corps"/>
<xsl:template match="texteFasc/corps/texte">

0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
22 nov. 2005 à 10:20
Ouais je vais essayé de te faire un condenser d ece que je traite en gros....
voilà :
<?xml version="1.0" encoding="iso-8859-1"?>
<texteFasc>
<corps><texte nature="Accord"><identTxt><numTxt>1664</numTxt><nomTxt>Accord</nomTxt><origine>Commission des Communautés européennes</origine><date nor="25/07/1977" format="ext">25 juillet 1977</date><intitule>entre le gouvernement de la République française et le gouvernement de la République de Malte tendant à éviter les doubles impositions et à prévenir l'évasion fiscale <consol-in><rTexte><rNomTxt>Avenant</rNomTxt> <rDate nor="08/07/1994">8 juill. 1994</rDate>, art. <rArt1>1<exp>er</exp></rArt1></rTexte></consol-in>" en matière n'impôts sur le revenu et sur la fortune " (ensemble un protocole et un échange de lettres)</intitule><refPub><e2>JO</e2>, 16 nov. 1979, p. 2834</refPub></identTxt><corpsTxt><txtSeul><alt>Publié par le décret n<exp>o</exp> 79-963, du 26 octobre 1979. Entré en vigueur le 1<exp>er</exp> octobre 1979.</alt><alt><e2>Modifié par :</e2><l typenum="TIRET"><il><alt>l'avenant du 8 juillet 1994 : publié par le décret n<exp>o</exp> 97-867, du 18 septembre 1997 ; entré en vigueur le 1<exp>er</exp> septembre 1997.</alt></il></l></alt></txtSeul><dDivers><art><numArt><art1>1<exp>er</exp></art1></numArt><alt><e1>Personnes visées.</e1> -Le présent Accord s'applique aux personnes qui sont des résidents d'un état contractant ou de chacun des deux états.</alt></art></dDivers><ti>échange de lettres</ti><txtSeul><alt>Ministère des affaires étrangères</alt><alt type="retrait1">Le ministre délégué aux Affaires européennes</alt><alt type="retrait1">Votre Excellence,</alt><alt>iii) Toute personne qui a droit à des avantages fiscaux particuliers à raison de distributions d'un trust soumis aux dispositions de la loi maltaise de 1988 intitulée " the Offshore Trusts Act 1988 " et de ses amendements ultérieurs, étant entendu qu'un trust relevant de cette loi ne possède pas la personnalité morale et ne peut donc bénéficier des dispositions de l'Accord.</alt><alt>Si ces propositions recueillent l'agrément du gouvernement de Malte, j'ai l'honneur de suggérer que la présente lettre et la réponse de votre Excellence constituent un accord à ce sujet entre les deux gouvernements, qui entrera en vigueur à la même date que l'Avenant signé ce jour.</alt></txtSeul></dDivers></corpsTxt></texte></corps></texteFasc>




J'ai fait bien courta car y a d'autres trucs en plus mais voilà en gros le truc . . .

Merci :D

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
23 nov. 2005 à 10:23
Non toujours personne ? ?

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
23 nov. 2005 à 10:27
Ben y'a toujours ça qui me chagrine dans ton truc:

http://www.commentcamarche.net/forum/affich-1922317#14
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
23 nov. 2005 à 11:23
Putain ...... Grrrh ouais t'as RAISON mec je vien de modifer c'te pauvre ligne et c'est ok.
Je pense que vue que je faisait appel à un template qu'il ne connaissait pas, il prenait le * qui prend tout le reste pour gérer l'application des styles...

Yeepikaille !

hi hi hi MERCI mec :D

Zep3k!GnO
-->Curtis jackson:"On est des rangers mec, des rangers..."
0