Élément <msxsl:using>

Déclare des espaces de noms supplémentaires à utiliser dans des blocs de script. Cet élément est un enfant de l'élément <msxsl:script>.

<msxsl:using
  namespace = "namespace-name"
</msxsl:using>

Attributs

  • namespace
    Obligatoire. Fait référence à un espace de noms à utiliser dans le bloc de script.

Informations sur l'élément

Nombre d'occurrences

Illimité

Éléments parents

Élément <msxsl:script>

Notes

Notes

Cet élément n'est pris en charge que dans .NET Framework.

La déclaration d'espace de noms permet d'utiliser les types d'un espace de noms sans devoir spécifier celui-ci.

Les espaces de noms peuvent être définis par l'utilisateur ou par le système.

Les espaces de noms suivants se trouvent dans la portée par défaut :

  • System

  • System.Collection

  • System.Text

  • System.Text.RegularExpressions

  • System.Xml

  • System.Xml.Xslt

  • System.Xml.XPath

  • Microsoft.VisualBasic (en cas d'utilisation de Visual Basic)

Exemple

L'exemple suivant montre comment accéder à une classe dans un assembly défini par l'utilisateur appelé MyCompany.HelperAssembly.

Il s'agit du code C# contenu dans l'assembly MyCompany.HelperAssembly.

class MyCompany.XmlHelper.NodeContents
{
   XPathNavigator _nav;

   public NodeContents(XPathNavigator nav)
   {
      _nav = nav;
   }

   public string GetNodeContents()
   {
      return _nav.InnerXml;
   }
}

La feuille de style suivante ajoute une référence à l'assembly et importe l'espace de noms approprié. Le bloc de script fait référence aux classes de l'espace de noms de l'assembly.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:msxsl="urn:schemas-microsoft-com:xslt"
                xmlns:user="http://MyCompany/"
                version="1.0">

  <msxsl:script language="C#" implements-prefix="user">
    <msxsl:assembly name="MyCompany.HelperAssembly" />
    <msxsl:using namespace="MyCompany.XmlHelper" />
    function string FragmentValue(XPathNavigator nav)
    {
       NodeContents myContents = new NodeContents(nav);
       return myContents.GetNodeContents();
    }
  </msxsl:script>
  

    <xsl:template match="/">
            <xsl:value-of select="user:FragmentValue(customer[1])"/>
    </xsl:template>
</xsl:stylesheet>