Partager via


Fonction ms:type-local-name([collection de nœuds])

Retourne le nom non qualifié du type XSD du nœud actuel ou du premier nœud (dans l'ordre du document) de la collection de nœuds spécifiée.

string ms:type-local-name([node-set])

Notes

Pour les types simples, la fonction type-local-name retourne un nom tel que « ID » ou « ENTITY ».Pour les types XSD complexes dont l'attribut name est spécifié, la fonction type-local-name retourne un nom non qualifié tel que « Class ».Avec les types sans nom, la fonction retourne une chaîne vide.

L'exemple d'expression suivant sélectionne tous les nœuds présentant le type de données primitif XSD intégré « string ».

"//*[ms:type-local-name()='string')]"

Exemple

L'exemple suivant utilise une règle de modèle XSLT pour sélectionner tous les éléments de books.xml et générer les types de données des éléments comme défini dans books.xsd.

Fichier XML (books.xml)

Utilisez books.xml.

Fichier XSD (books.xsd)

Utilisez books.xsd.

Fichier XSLT (books.xslt)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" 
     xmlns:ms="urn:schemas-microsoft-com:xslt"   
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="html"   
     omit-xml-declaration="yes"/>

  <xsl:template match="/">
     <H3>nodes of all data types:</H3>
     <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="*">
     <DIV>
          <xsl:value-of select="name()"/> is of 
          <xsl:value-of select="ms:type-local-name()"/> 
     </DIV>
    <xsl:apply-templates/>
  </xsl:template>

</xsl:stylesheet>

Fichier HTML (books.html)

Le fichier HTML contient un JScript qui gère le chargement de fichiers XML, XSLT et XSD.

<html>
  <head>
    <script>
      function init() {
       try {
         var objxsd = new ActiveXObject("Msxml2.XMLSchemaCache.6.0");
         var objxml = new ActiveXObject("Msxml2.DOMDocument.6.0");
         var objxsl = new ActiveXObject("Msxml2.DOMDocument.6.0");

         // namespace uri ("urn:books") must be declared as one of the
         // namespace delarations in the "books.xml" that is an instance
         // of "books.xsd"
         objxsd.add("urn:books", "books.xsd");

         objxml.schemas = objxsd;
         objxml.setProperty("SelectionLanguage", "XPath");
         objxml.setProperty("SelectionNamespaces",
              "xmlns:ms='urn:schemas-microsoft-com:xslt'");
         objxml.async=false;
         objxml.validateOnParse=true;
         objxml.load("books.xml");

         objxsl.async=false;

         objxsl.load("books.xslt");
         result = "<h2>Used in an XSLT</h2>";

         result += objxml.transformNode(objxsl);
         document.body.innerHTML = result;

       }
       catch (e) {
         alert(e.description);
       }
      }
    </script>
  </head>

  <body onload="init()">
  </body>
</html>

Sortie

x:catalog is of

book is of

author is of string

Gambardella, Matthew

title is of string

XML Developer's Guide

genre is of string

Computer

price is of float

44.95

publish_date is of date

2000-10-01

description is of string

An in-depth look at creating applications with XML.

Notez que les éléments x:catalog et book présentent des types sans nom.

Voir aussi

Référence

Référence XSD (XML Schemas)

Référence des types de données XML

Concepts

Utilisation des fonctions d'extension XPath pour la prise en charge de XSD