IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XQUERY/SGBD XML Discussion :

[Avis ?!] Projet en XML


Sujet :

XQUERY/SGBD XML

  1. #41
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Au final.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:pattern value="[A-Z]((-| |')[^- '$]|[A-Z])+"/>
    Tout fonctionne avec le jeu de test suivant :

    Citation Envoyé par résultat jeu de test
    SAINT SEBASTIEN SUR LOIRE
    SAINT SEBASTIEN /LOIRE
    SAINT SEBASTIEN / LOIRE
    SAINT-SEBASTIEN SUR LOIRE
    Là ça ne fonctionne pas :

    Citation Envoyé par résultat jeu de test
    SAINT SEBASTIEN/LOIRE
    SAINT SEBASTIEN/ LOIRE

  2. #42
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par ghohm
    Là ça ne fonctionne pas :
    Parce que cette expression régulière est conçue pour les noms patronymiques, pas pour les noms de villes (avec /)...
    Les expressions régulières revues et corrigées sont,

    pour les noms patronymiques:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:pattern value="[A-Z]((-| |')[A-Z]|[A-Z])+"/>
    pour les noms de villes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:pattern value="[A-Z]((-|')[A-Z]|[A-Z]| (/|[A-Z])|/([A-Z]| ))+"/>

  3. #43
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Merci.

    Une dernière question : Comment faire pour avoir la possiblité de ne pas saisir de numéro de fax :

    Le schema-XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<xs:simpleType name="restricTel">
    		<xs:annotation>
    			<xs:documentation>Restriction du type "decimal" concernant les éléments "tel" et "fax"</xs:documentation>
    		</xs:annotation>
    		<xs:restriction base="xs:decimal">
    			<xs:pattern value="0[1-58][0-9]{8}"/>
    		</xs:restriction>
    	</xs:simpleType>
    Dans le fichier XML :


  4. #44
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par ghohm
    Une dernière question : Comment faire pour avoir la possiblité de ne pas saisir de numéro de fax :
    Excusez moi d'insister, mais je n'arrive vraiment pas résoudre mon problème

    Merci d'avance.

    Göm

  5. #45
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Bonsoir !

    Je me permets de faire un ptit up !

    Plus sérieusement je souhaiterais savoir comment (selon quelle technique) il est possible de modifier (insertion, suppression, mise à jour) un fichier XML existant :

    Je souhaiterais le faire via une simple page xhtml (un formulaire).

    Merci d'avance.

    Gôm

  6. #46
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Bonjour à tous,

    en plus de mes questions précédentes ... en voici une nouvelle !

    profiles.xml :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="profile_recap.xslt"?>
    <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="profile.xsd">
    	<profile>
    		<identité>
    			<civilité>Monsieur</civilité>
    			<nom>NOM</nom>
    			<prénom>Prénom</prénom>
    			<date_naiss>19/10/1981</date_naiss>
    			<lieu_naiss>VILLE</lieu_naiss>
    			<département>44</département>
    			<nationalité>Française</nationalité>
    			<statut>Concubinage</statut>
    		</identité>
    		<coordonnées>
    			<numéro>48</numéro>
    			<rue>nom de la rue</rue>
    			<cp>49100</cp>
    			<ville>ANGERS</ville>
    			<pays>FRANCE</pays>
    			<tel>02xxxxxxxx</tel>
    			<port>06xxxxxxxx</port>
    			<fax>02xxxxxxxx</fax>
    			<courriel>machin_machnin@host.org</courriel>
    		</coordonnées>
    		<présentation/>
    	</profile>
    	<profile>
    		<identité>
    			<civilité>Monsieur</civilité>
    			<nom>HUCHET</nom>
    			<prénom>Guillaume</prénom>
    			<date_naiss>05/04/1982</date_naiss>
    			<lieu_naiss>NANTES</lieu_naiss>
    			<département>44</département>
    			<nationalité>Française</nationalité>
    			<statut>Célibataire</statut>
    		</identité>
    		<coordonnées>
    			<numéro>9</numéro>
    			<rue>des machins</rue>
    			<cp>44000</cp>
    			<ville>NANTES</ville>
    			<pays>FRANCE</pays>
    			<tel>02xxxxxxxx</tel>
    			<port>06xxxxxxxx</port>
    			<fax>02xxxxxxxx</fax>
    			<courriel>gom_huchet@host.com</courriel>
    		</coordonnées>
    		<présentation/>
    	</profile>
    </root>
    Comme vous pouvez le constater j'ai plusieurs profiles dans un seul fichier XML. Est-il donc possible de générer plusieurs pages XHTML à partir d'un meme fichier XSLT :

    Pour l'instant (je débute) J'ai fait ceci :

    profile_recap.xslt :
    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
    35
    36
    37
    38
    39
    40
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" 
    			xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    			xmlns:fn="http://www.w3.org/2005/xpath-functions">
    <xsl:output
    			method="html" 
    			encoding="ISO-8859-1" 
    			doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    			indent="yes"/>
    <xsl:template match="root">
    			<html>
    				<head>
    					<title>Ensemble des profiles du site :</title>
    				</head>
    				<body>
    					<div align="left">Il y a actuellement <xsl:value-of select="count(/*/profile)" /> profiles d'enregistrées :</div>
    					<br />
    						<ul>
    							<xsl:for-each select="profile">
    								<xsl:sort select="*/nom" data-type="text" />
    									<xsl:apply-templates select="." />
    							</xsl:for-each>
    						</ul>
    				</body>
    			</html>
    </xsl:template>
     
    <xsl:template match="profile">
    	<li>
    			<xsl:value-of select="identité/civilité" /><xsl:text> </xsl:text>
    			<a href="cv.xml">
    				<xsl:value-of select="identité/nom" /><xsl:text> </xsl:text>
    				<xsl:value-of select="identité/prénom" />
    			</a>
    			<xsl:text> habitant : </xsl:text><xsl:value-of select="coordonnées/ville" /><xsl:text> en </xsl:text>
    			<xsl:value-of select="coordonnées/pays" /><xsl:text>.</xsl:text>
    	</li>
    </xsl:template>
     
    </xsl:stylesheet>

  7. #47
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par ghohm
    Comme vous pouvez le constater j'ai plusieurs profiles dans un seul fichier XML. Est-il donc possible de générer plusieurs pages XHTML à partir d'un meme fichier XSLT :
    S'il s'agit de générer plusieurs fichiers lors d'une même transformation, il faut utiliser un processeur XSLT 2.0, ou une extension si tu utilises un processeur XSLT 1.0. La façon de déclarer ou d'utiliser une extension à XSLT dépend du processeur utilisé, voici ce que ça pourrait donner par exemple pour Xalan :
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet 
    	version="1.0" 
    	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    	xmlns:redirect="http://xml.apache.org/xalan/redirect"
    	extension-element-prefixes="redirect">
     
    ...
    	<xsl:template match="profile">
    		<redirect:write select="concat('profile-', identité/nom, '.html')">
                                    <html>
                                    ...
                                    </html>                                
                     	</redirect:write>
    	</xsl:template>

  8. #48
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Merci beaucoup d'avoir répondu, mais après discussion avec ma tutrice de projet annuel. J'ai choisi de remodeler mes fichiers XML.

    Au lieu de construire un fichier XML par type de données (cv.xml et profile.xml), j'ai décidé de reconstruire un fichier par utilisateur (par exemple martin.xml contiendra son cv et son profile).

    De plus, je pourrais ainsi ne pas utiliser d'extension et de conserver la norme XSLT 1.0 ce qui me permettra une plus grande compatibilité (par rapport aux différentes versions des navigateurs), non ?!

    Enfin, est-ce que quelqu'un pourrait répondre à mes précédentes questions :

    http://www.developpez.net/forums/vie...357193#2357193
    http://www.developpez.net/forums/vie...491542#2491542

    Merci

    Gôm

  9. #49
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Je souhaite mettre en majuscule la première lettre du nom d'un de mes noeuds :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div align="left">
    	<xsl:value-of select="concact(upper-case(substring(name(*/présentation),1,1)),substring(name(*/présentation),2))"/>
    </div>
    Malheureusement ça ne fonctionne pas

    Une idée :

  10. #50
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    upper-case ???
    il n'y a que la fonction translate en xpath

  11. #51
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par Erwy
    upper-case ???
    il n'y a que la fonction translate en xpath
    Moi je voulais faire du XPath 2.0

    http://www.w3.org/TR/xpath-functions/#func-upper-case
    http://www.w3schools.com/xpath/xpath_functions.asp#string

    : :

  12. #52
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    J'ai réussi comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="translate(name(*/présentation),'p','P')"/>
    Mais le problème c'est que ce ne sera pas dynamique, si le nom du noeud change ... la première lettre changera !

    De plus le 2ème espace de nom ("fn:...") que j'ai spécifié au début de mon fichier xslt ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:stylesheet version="1.0" 
    			xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    			xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
    En effet, si je saisie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="fn:translate(name(*/présentation),'p','P')"/>
    Citation Envoyé par Altova XMLSpy 2006
    La page XML ne peut pas être affichée

    Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.


    --------------------------------------------------------------------------------

    L'espace de noms « http://www.w3.org/2005/02/xpath-functions » ne contient pas de fonctions.
    La norme 2.0 de XPath ne fonctionnerait pas ?

    [EDIT] Ou alors je ne saurais pas l'utiliser [/EDIT]

  13. #53
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Dans ce cas la pense a preciser et est tu sur d'utiliser un procsseur qui le supporte parfaitement ?
    Xpath 2.0 n'est candidate en tant que recommandation que depuis 2 mois?
    3 November 2005

    XML Path Language (XPath) 2.0
    W3C Candidate Recommendation 3 November 2005

  14. #54
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par Erwy
    Dans ce cas la pense a preciser et est tu sur d'utiliser un procsseur qui le supporte parfaitement ?
    Xpath 2.0 n'est candidate en tant que recommandation que depuis 2 mois?
    3 November 2005
    A vrai dire je n'ai commencé le XML que depuis quelques mois et je ne peux pas y passer plus de quelques heures par mois !

    Je fais un site Internet dont les données sont stockées dans des fichiers XML (voir pages précédentes). Mes pages sont testées sont Firefox 1.0.7 et ie 6 màj SP2. Ces navigateurs ne doivent probablement pas encore respecter cette norme. (Désolé je ne savais pas pour la date de sortie).

    Pourrais-tu m'aider à optimiser mon code pour que le changement de la première lettre en une majuscule se fasse quelque soit celle-ci :

    Gôm

  15. #55
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par ghohm
    Pourrais-tu m'aider à optimiser mon code pour que le changement de la première lettre en une majuscule se fasse quelque soit celle-ci :
    Et voiiilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="concat(translate(substring(name(*/présentation),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ'),substring(name(*/présentation),2))"/>
    Par contre :
    Enfin, est-ce que quelqu'un pourrait répondre à mes précédentes questions :

    http://www.developpez.net/forums/vie...357193#2357193
    http://www.developpez.net/forums/vie...491542#2491542


    Merci

  16. #56
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Bonjour,

    quelqu'un pourrait-il me guider sur le bon chemin !

    http://www.developpez.net/forums/vie...491542#2491542

    Merci d'avance, Gôm.

  17. #57
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Et pour cette question, toujours personne ?

    Gôm

Discussions similaires

  1. Architecture projet J2ME ( xml et transferts )
    Par Azounet dans le forum Java ME
    Réponses: 5
    Dernier message: 30/03/2007, 16h44
  2. [AVIS ?] Projet en cours : Un Zelda complet !
    Par Obligen dans le forum Projets
    Réponses: 7
    Dernier message: 15/12/2006, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo