|
|
|
|
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."
<xsl:template name="*">
|
Ca ne fonctionne pas avec le *, le moteur me dit que ça n'est pas valide...
|
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; Always forgive your enemies Nothing annoys them so much. (Oscar Wilde) |
Yes merci de prendre du temps pour me filer un coups de patte c'est CoOl de ta part mec ;P
<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 |
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 |
Ouais je vais essayé de te faire un condenser d ece que je traite en gros....
<?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." |
Ben y'a toujours ça qui me chagrine dans ton truc:
|
Putain ...... Grrrh ouais t'as RAISON mec je vien de modifer c'te pauvre ligne et c'est ok.
|