Exporter (0) Imprimer
Développer tout

XsltMessageEncounteredEventArgs, classe

Fournit des données pour l'événement XsltMessageEncountered.

Espace de noms: System.Xml.Xsl
Assembly : System.Xml (dans system.xml.dll)

public abstract class XsltMessageEncounteredEventArgs : EventArgs
public abstract class XsltMessageEncounteredEventArgs extends EventArgs
public abstract class XsltMessageEncounteredEventArgs extends EventArgs
Non applicable.

L'événement XsltMessageEncountered se produit pendant la transformation XSLT lorsqu'un xsl:message est spécifié dans la feuille de style.

RemarqueRemarque :

Si l'attribut terminate a la valeur "yes", le processeur XSLT arrête l'exécution de la feuille de style une fois que le message a été traité.

L'exemple suivant affiche le contenu de xsl:message dans la console à l'aide de XsltMessageEncounteredEventArgs. L'exemple écrit le message suivant dans la console : Message received: Author name is not in the correct format <author><name>Plato</name></author>.

using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class Sample {

  public static void Main() {

    // Create the XslCompiledTransform object and load the style sheet.
    XslCompiledTransform xslt = new XslCompiledTransform();
    xslt.Load("message.xsl");

    XsltArgumentList argList = new XsltArgumentList();
    argList.XsltMessageEncountered += new XsltMessageEncounteredEventHandler(MessageCallBack);
	
    // Load the file to transform.
    XPathDocument doc = new XPathDocument("books.xml");

    // Transform the file.
    xslt.Transform(doc, argList, XmlWriter.Create("output.xml"));

  }

  private static void MessageCallBack(object sender, XsltMessageEncounteredEventArgs e) {
    Console.WriteLine("Message received: {0}", e.Message);
  }

}

L'exemple utilise les fichiers suivants comme entrée.

books.xml

<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

message.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" omit-xml-declaration="yes"/>

<xsl:template match="/">
     <xsl:apply-templates select="*"/>
     <xsl:copy-of select="."/>
  </xsl:template>

  <xsl:template match="*">
     <xsl:apply-templates select="//author"/>
  </xsl:template>

  <xsl:template match="author">
    <xsl:if test="not (last-name)">
       <xsl:message terminate="no">Author name is not in the correct format <xsl:copy-of select="."/>
       </xsl:message>
    </xsl:if>
  </xsl:template>

</xsl:stylesheet>

System.Object
   System.EventArgs
    System.Xml.Xsl.XsltMessageEncounteredEventArgs

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0, 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft