From: BoD (BoD@JRAF.org)
Date: 11/12/2003 - 15:02
Merci beaucoup cette approche me paraît être la solution !
Au passage j'aurai quand même une question subsidiaire (juste pour ma
curiosité)
Toujours en Java, quand j'utilise un DocumentBuilder "validant" (appel
explicite de setValidating(true)), est-ce normal d'avoir ces erreurs
alors que le document n'a pas de DTD ?
Car c'est actuellement ce qui m'arrive (en Java 1.4.2_02).
-> Autrement dit, un document xml tout simple sans DTD est forcément vu
comme non-valide ?!
voici le code :
---------------
File xsltFile = new File("test.xml");
DocumentBuilderFactory documentBuilderFactory =
DocumentBuilderFactory.newInstance();
documentBuilderFactory.setValidating(true);
DocumentBuilder documentBuilder =
documentBuilderFactory.newDocumentBuilder();
Document xsltDocument = documentBuilder.parse(xsltFile);
fichier test.xml :
------------------
<?xml version="1.0"?>
<root>
<truc>
<bidule>Hello world!</bidule>
</truc>
</root>
resultat produit :
------------------
Warning: validation was turned on but an org.xml.sax.ErrorHandler was
not set, which is probably not what is desired. Parser will use a
default ErrorHandler to print the first 10 errors. Please call
the 'setErrorHandler' method to fix this.
Error: URI=file:D:/docs/projets/perso/tmp/test.xml Line=2: Le type
délément "{0}" nest pas déclaré.
Error: URI=file:D:/docs/projets/perso/tmp/test.xml Line=3: Le type
délément "{0}" nest pas déclaré.
Error: URI=file:D:/docs/projets/perso/tmp/test.xml Line=4: Le type
délément "{0}" nest pas déclaré.
(on remarque au passage les messages mal localisés...)
Merci de votre aide !
BoD
Sylvain Wallez wrote:
>
> BoD wrote:
>
>
>>J'ai regardé document().
>>En fait j'essaye d'inclure une partie xslt qui se retrouve dans plusieurs stylesheets.
>>Ici <xsl:include> ou <xsl:import> ne marchent pas car je suis dans un <xsl:template>
>>J'ai donc essayé <xsl:copy-of select="document('head.xml')"/> mais dans ce cas, mon code xslt n'est pas interpreté (et c'est bien normal). Je me retrouve avec des "<xsl:value-of>" dans mon resultat.
>>
>>Comment faire ?
>>
>>
>
>
> Ah, j'ai compris : les documents à inclure sont des fragments
> réutilisables de XSL, n'est-ce pas ?
>
> Une solution est de faire une XSL avec des templates nommés et de
> l'inclure/l'importer dans les autre XSLs :
>
> header.xsl:
> <xsl:stylesheet xmlns:xsl=....>
> <xsl:template name="do-header">
> <!-- instructions pour do-header -->
> </xsl:template>
> </xsl:stylesheet>
>
> style.xsl :
> <xsl:stylesheet xmlns:xsl=...>
> <xsl:include href="header.xsl"/>
>
> <xsl:template match="bla">
> <xsl:call-template name="do-header"/>
> </xsl:template>
>
> </xsl:stylesheet>
>
>>Merci de votre aide!
>>
>>
>>Au fait pour Sylvain qui proposait d'ajouter un <!ELEMENT xsl:stylesheet ANY> : en fait cela ne marche pas, il faut quand-même déclarer les éléments contenus!
>>
>>
>
>
> Uh ? Alors ça sert à quoi de lui dire ANY ???
>
> Sylvain
>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|