xml decid : Stratégies, marchés, affaires autour de XML.
[xml-decid] Re: Interroger un fichie XML avec Xpath et xsl
From: Guillaume FOUR (gfour@axemble.com)
Date: 11/12/2003 - 16:57
C'est pas encore noel ...
-----Message d'origine-----
De : jacot_thomas@hotmail.com [mailto:jacot_thomas@hotmail.com]
Envoyé : jeudi 11 décembre 2003 17:42
À : xml-decid@xmlfr.org
Objet : [xml-decid] Interroger un fichie XML avec Xpath et xsl
Hello
Je cherche à interroger un fichier XML
1. Comment renommer les TAG [ Import/Row/Filed1 en biblio/book/number
]
2. Comment rechercher un livre ayant pour critère son auteur et le
titre
3. Comment élliminer les doublons (comme DISTINCT avec SQL)
4. Comment éliminer les informations contenant des champs vide.
5. ( J'aimerai aussi « formater » avec xsl (xslt) la « réponce » ).
Merci pour tout
Ps. : C'est pour un travail de semestre (en allemand !!) que je doits rendre
le 17.12.03 !! :-(
Amitiés Thomas
Les 5fichiers joints
1. Import.xml
2. authorSelectForm.xsl
3. authorSelectForm.xsql
4. processAuthor.xsql
5. Import.dtd
Est-il nécessaire d'utiliser un DTD (Import DtD)
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<!--<!DOCTYPE Import SYSTEM "Import.dtd">-->
<?xml-stylesheet type="text/css" href="Darstellung.css" ?>
<!-- <?xml-stylesheet type="text/xsl" href="Darstellung.xsl"?> import von
Jacott 01a am 23.09.2003 14:32 -->
<Import>
<Row>
<Field1>10006</Field1>
<Field2>Zeitschrift</Field2>
<Field3>C2</Field3>
<Field4>7</Field4>
<Field5>1</Field5>
<Field6>1992</Field6>
<Field11>Bild der Wissenschaft</Field11>
<Field15>Stuttgart : Deutsche Verlagsanstalt, 1992-</Field15>
<Field19>0006-2375</Field19>
<Field20>1992</Field20>
<Field23>Fr. 127.30</Field23>
<Field24>TFB, Biel</Field24>
<Field25>Fr. 121.80</Field25>
<Field26>01/95 - 12/95</Field26>
<Field29>Deutsch</Field29>
<Field37>"_Jg. (1;1;0;2), Nr. (1;1;12;1);97/1/;"</Field37>
</Row>
<Row>
<Field1>10005</Field1>
<Field2>Zeitschrift</Field2>
<Field3>C2</Field3>
<Field4>10</Field4>
<Field5>12</Field5>
<Field6>1991</Field6>
<Field11>Bulletin des schweizerischen elektrotechnischen
Vereins : SEV/ASE</Field11>
<Field15>Zürich : SEV, 1991-</Field15>
<Field18>+ Jahresheft 1992</Field18>
<Field19>036-1321</Field19>
<Field20>1991</Field20>
<Field23>nn</Field23>
<Field24>Verein</Field24>
<Field29>Deutsch</Field29>
<Field37>"Jg. (1;1;0;2,), Nr. (1;1;25;1);95/9/;"</Field37>
</Row>
<Row>
<Field1>40384</Field1>
<Field2>Diplomarbeiten </Field2>
<Field3>C1</Field3>
<Field4>2</Field4>
<Field5>9</Field5>
<Field6>2003</Field6>
<Field11>Projekt Webspezialist : Vertiefungsarbeit 2003 /
Andreas Kammer</Field11>
<Field20>2003</Field20>
<Field29>English</Field29>
<Field32>KAMMER, Andreas</Field32>
<Field35>Semesterarbeiten</Field35>
</Row>
<Row>
<Field1>40385</Field1>
<Field2>Diplomarbeiten </Field2>
<Field3>C1</Field3>
<Field4>2</Field4>
<Field5>9</Field5>
<Field6>2003</Field6>
<Field11>Clair de Lune : Was dynamische Websites von
statischen Websites unterscheidet : Vertiefungsarbeit 2003 / Nico
Podgorny</Field11>
<Field20>2003</Field20>
<Field29>English</Field29>
<Field32>PODGORNY, Nico</Field32>
<Field35>Semesterarbeiten</Field35>
</Row>
</Import>
<?xml version="1.0" encoding="UTF-8"?>
<!-- authorSelectForm.xsl -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Authorverzeuchnis</title>
</head>
<body>
<form
action="processAuthor.xsql?xml-stylesheet=processAuthor.xsl" method="post">
<select
name="selAuthor" size="1">
<xsl:apply-templates select="//Row">
<xsl:sort select="Field32" order="ascending" data-type="text" lang="de"/>
</xsl:apply-templates>
</select>
<input
type="submit" name="Anzeigen"/>
</form>
<p>Ein Autor wählen</p>
</body>
</html>
</xsl:template>
<xsl:template match="Row">
<option value="{Field32}">
<xsl:value-of select="Field32"/>
</option>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="authorSelectForm.xsl"?>
<!-- authorSelectForm.xsql -->
<selectForm xmlns:xsql="urn:oracle-xsql" getAuthor="author">
<xsql:include-xml href="import.xml"/>
</selectForm>
<?xml version="1.0" encoding="UTF-8"?>
<!-- processAuthor.xsl -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8"
indent="yes"/>
<xsl:param name="getAuthor" select="Author"/>
<xsl:template match="/">
<processedAuthor>
<xsl:value-of
select="$getAuthor"/>
<xsl:apply-templates
select="//Row[Field32=$getAuthor]"/>
</processedAuthor>
</xsl:template>
<xsl:template match="Row">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0"?>
<!-- processAuthor.xsql -->
<author xmlns:xsql="urn:oracle-xsql" selAuthor="author">
<xsql:include-xml href="import.xml"/>
<xsql:set-stylesheet-param name="getAuthor"
value="{@selAuthor}"/>
</author>
<?xml version="1.0" encoding="UTF-8"?>
<!-Import.dtd-->
<!ELEMENT Import (Row*)>
<!ELEMENT Row (Field1, Field2, Field3, Field4, Field5, Field6, Field7*,
Field8*, Field9*, Field10*, Field11, Field12*, Field13*, Field14*, Field15*,
Field16*, Field17*, Field18*, Field19*, Field20, Field21*, Field22*,
Field23*, Field24*, Field25*, Field26*, Field27*, Field28*, Field29,
Field30*, Field31*, Field32*, Field33*, Field34*, Field35*, Field36*,
Field37*)>
<!ELEMENT Field1 (#PCDATA)>
<!ELEMENT Field2 (#PCDATA)>
<!ELEMENT Field3 (#PCDATA)>
<!ELEMENT Field4 (#PCDATA)>
<!ELEMENT Field5 (#PCDATA)>
<!ELEMENT Field6 (#PCDATA)>
<!ELEMENT Field7 (#PCDATA)>
<!ELEMENT Field8 (#PCDATA)>
<!ELEMENT Field9 (#PCDATA)>
<!ELEMENT Field10 (#PCDATA)>
<!ELEMENT Field11 (#PCDATA)>
<!ELEMENT Field12 (#PCDATA)>
<!ELEMENT Field13 (#PCDATA)>
<!ELEMENT Field14 (#PCDATA)>
<!ELEMENT Field15 (#PCDATA)>
<!ELEMENT Field16 (#PCDATA)>
<!ELEMENT Field17 (#PCDATA)>
<!ELEMENT Field18 (#PCDATA)>
<!ELEMENT Field19 (#PCDATA)>
<!ELEMENT Field20 (#PCDATA)>
<!ELEMENT Field21 (#PCDATA)>
<!ELEMENT Field22 (#PCDATA)>
<!ELEMENT Field23 (#PCDATA)>
<!ELEMENT Field24 (#PCDATA)>
<!ELEMENT Field25 (#PCDATA)>
<!ELEMENT Field26 (#PCDATA)>
<!ELEMENT Field27 (#PCDATA)>
<!ELEMENT Field28 (#PCDATA)>
<!ELEMENT Field29 (#PCDATA)>
<!ELEMENT Field30 (#PCDATA)>
<!ELEMENT Field31 (#PCDATA)>
<!ELEMENT Field32 (#PCDATA)>
<!ELEMENT Field33 (#PCDATA)>
<!ELEMENT Field34 (#PCDATA)>
<!ELEMENT Field35 (#PCDATA)>
<!ELEMENT Field36 (#PCDATA)>
<!ELEMENT Field37 (#PCDATA)>
--
Devenez redacteur <XML>fr et contribuez au developpement
du xml francophone (http://xmlfr.org/infos/redacteurs) !
Liste de diffusion "xml-decid@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet lie a XML.
Pour resilier votre abonnement, envoyez un message contenant la
commande "unsubscribe" a xml-decid-request@xmlfr.org
(mailto:xml-decid-request@xmlfr.org?Subject=unsubscribe)
--
Devenez redacteur <XML>fr et contribuez au developpement
du xml francophone (http://xmlfr.org/infos/redacteurs) !
Liste de diffusion "xml-decid@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet lie a XML.
Pour resilier votre abonnement, envoyez un message contenant la
commande "unsubscribe" a xml-decid-request@xmlfr.org
(mailto:xml-decid-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 31/12/2003 - 02:02 UTC
webmaster@xmlfr.org
|