Article View: fr.comp.text.xml
Article #9106Re: [Schema et XPath] namespace en valeur d'attribut
From: Alain Ketterlin
Date: Wed, 30 May 2001 10:38
Date: Wed, 30 May 2001 10:38
34 lines
2382 bytes
2382 bytes
Joel Fillon <Joel.Fillon@sophia.inria.fr> writes: > je voudrais determiner si un element donne dans un schema est d'un type > predefini dans les schemas : > par exemple : <xsd:element name="n" type="xsd:string"/> > et non pas : <xsd:element name="n" type="myType"/> > > Pour cela, je veux tester la valeur du prefixe de l'attribut @type > (qui n'est pas forcement 'xsd') et la comparer a > 'http://www.w3.org/2000/10/XMLSchema'. (En fait : "la valeur du prefixe de la valeur de l'attribut".) > Je croyais avoir trouve avec la fonction namespace-uri() mais elle > ne fonctionne que sur les noms des elements et attributs et non pas sur leur > valeur. > > Est-ce que XPath est capable de tester ce genre de chose ? A vue de nez : 1) extraire le prefixe avec substring-before(), 2) chercher dans l'axe namespace le noeud dont local-name() renvoie le prefixe extrait en 1), 3) utilisez namespace-uri sur ce noeud pour recuperer et comparer l'uri. Donc quelque chose comme : <!-- Dans le contexte de l'element element --> <xsl:variable name="p" select="substring-before(@type,':')"/> <xsl:variable name="n" select="namespace::*[local-name()=$p"/> <xsl:variable name="u" select="namespace-uri($n)"/> Et tu devrais pouvoir comparer $u a l'uri xs. (Est-il utile de preciser que je n'ai pas teste ? :-). -- Alain.
Technical Details
Message-ID:
<wy4ru3ruk3.fsf@polya.u-strasbg.fr>Path:
arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!proxad.net!teaser.fr!enst!univ-angers.fr!univ-rennes1.fr!news!univ-lille1.fr!news.u-strasbg.fr!not-for-mailReferences:
<3B14AEFD.74AB37D4@sophia.inria.fr>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII-7-bit X-Google-Thread: 114f60,7abfc4ebedcb9df4 X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-05-30 03:41:23 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!proxad.net!teaser.fr!enst!univ-angers.fr!univ-rennes1.fr!news!univ-lille1.fr!news.u-strasbg.fr!not-for-mail From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr> Newsgroups: fr.comp.text.xml Subject: Re: [Schema et XPath] namespace en valeur d'attribut Date: 30 May 2001 12:38:04 +0200 Organization: CRC - Universite Louis Pasteur Strasbourg France Lines: 34 Message-ID: <wy4ru3ruk3.fsf@polya.u-strasbg.fr> References: <3B14AEFD.74AB37D4@sophia.inria.fr> NNTP-Posting-Host: polya.u-strasbg.fr X-Trace: news.u-strasbg.fr 991223825 2989 130.79.6.19 (30 May 2001 11:57:05 GMT) X-Complaints-To: usenet@u-strasbg.fr NNTP-Posting-Date: 30 May 2001 11:57:05 GMT X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"