doctype et xsl - XML/XSL - Programmation
Marsh Posté le 14-02-2007 à 16:57:38
Il faut utiliser
xsl:output |
, dans l'exemple je génère du xhtml et je demande de faire référence à la doctype adhoc.
Code :
|
Marsh Posté le 01-06-2007 à 19:46:58
ok (bon même si j'en ai plus besoin maintenant ^^" )
mais l'idée est que le doctype change suivant le fichier et ils doivent passer dans le même xslt, dans ton exemple le doctype est fixé par le xslt
Marsh Posté le 02-06-2007 à 12:51:51
je ne vois pas comment le doctype pourrait changer en fait
Marsh Posté le 02-06-2007 à 19:06:44
Ce ne serait pas logique... Les schémas des documents en entrée et en sortie sont censés être connus, et donc le doctype fixé.
On peut très bien générer différentes sorties à partir d'un même document (p.e. une page xhtml ou du rss) mais dans ce cas-là on utilise des stylesheets différentes.
Marsh Posté le 03-06-2007 à 15:11:04
Oui mais non...
en entrée on a X types de document xml avec un doctype dépendant du document.
Ces documents passent par un serveur qui appliquent un xslt et un seul quelque soit le type du document en entrée. On ne peut pas configurer ce serveur pour qu'il prenne un xslt en fonction du document en entrée.
Donc la question était juste de savoir s'il était possible de recopier le doctype du document xml en entrée dans le doctype du document xml de sortie. (vu que le format ne change pas c'est juste le serveur qui me force à utiliser un document xslt)
edit : et j'ai pas dit que c'était logique ^^
Marsh Posté le 03-06-2007 à 19:56:00
tant pis ils font déjà sans et ça va continuer comme ça
merci pour les réponses en tout cas
Marsh Posté le 31-01-2007 à 14:55:54
Bonjour,
J'ai un truc idiot qui m'arrive, j'ai un serveur qui manipule des fichiers xml, leur applique quelques transformations et les envois au client.
Quand le client demande une fiche complète le xsl suivant est appelé
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output encoding="iso-8859-1"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
dans l'idée ça permet d'envoyer le xml complet (cherchez pas on est obligé de lui faire passer par une transformation même si au final on modifie pas la structure ou le contenu du xml)
le problème qui se pose c'est que je ne sais pas comment concerver dans mon xml le doctype original.
par exemple mon fichier à l'origine commence par :
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE metadata SYSTEM "http://www.le_super_projet.org/metadata/dtd/iso19115/base_alpha.dtd">
<metadata>
<Metadata>
<mdFileID>vecteur_x1542</mdFileID>
<mdParentID></mdParentID>
et après le passage dans le xsl j'ai :
<?xml version="1.0" encoding="iso-8859-1"?>
<metadata>
<Metadata>
<mdFileID>vecteur_x1542</mdFileID>
<mdParentID></mdParentID>
L'idée est qu'est ce que je met pour garder le doctype (en partant du principe qu'il varie donc je ne peux pas le mettre en dur)
j'espère avoir été assez clair