Bonjour
existe-t-il un outil permettant de générer dynamiquement un formulaire de saisie XML à partir du xsd ?
Merci d'avance
Bonjour
existe-t-il un outil permettant de générer dynamiquement un formulaire de saisie XML à partir du xsd ?
Merci d'avance
une feuille de style xslt devrait faire l'affaire.
As tu un exemple xsd et ce que tu souhaites obtenir
Je n'ai pas d'exemple précis, la demande ne vient pas de moi (un chef) et n'est pas plus explicite que ça ...
Si nous prenons l'exemple ci-dessous, trouvé sur le net, comment puis-je faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="bookstore" type="bookstoreType"/> <xsd:complexType name="bookstoreType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="book" type="bookType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="bookType"> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="authorName"/> <xsd:element name="price" type="xsd:decimal"/> </xsd:sequence> <xsd:attribute name="genre" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="authorName"> <xsd:sequence> <xsd:element name="first-name" type="xsd:string"/> <xsd:element name="last-name" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
un xsl d'exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsl:output encoding="ISO-8859-15" method="xml" indent="yes" /> <xsl:template match="/xsd:schema"> <html><body> <xsl:apply-templates select="./xsd:element"/> </body></html> </xsl:template> <xsl:template match="xsd:element"> <xsl:variable name="type" select="./@type"/> <xsl:choose > <xsl:when test="count(//xsd:complexType[@name=$type])=1"> <xsl:apply-templates select="//xsd:complexType[@name=$type]"/> </xsl:when> <xsl:when test="count(//xsd:complexType[@name=$type])=0"> <h2><xsl:value-of select="./@name"/></h2> <input type="text"/> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="xsd:complexType"> <h1><xsl:value-of select="./@name"/></h1> <xsl:apply-templates select=".//xsd:element"/> </xsl:template> </xsl:stylesheet>
je suis navré mais étant néophyte dans le domaine, je ne sais comment exploiter ce xsl.
Pouvez-vous m'en dire plus ?
merci d'avance
tu installes un parser et un transformateur xslt (xalan, xsltproc, ...)
et tu lances la commande
avec xalan cela donne
si tu télécharges l'outil xmlcopyeditor il suffira d'ouvrir ton fichier xsd puis de faire un F8 et d'indiquer ton fichier xsl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 xalan -in essai.xsd -xsl essai.xsl
Partager