Ler en inglés

Compartir por


XsltMessageEncounteredEventArgs Clase

Definición

Proporciona datos para el evento XsltMessageEncountered.

C#
public abstract class XsltMessageEncounteredEventArgs : EventArgs
Herencia
XsltMessageEncounteredEventArgs

Ejemplos

En el ejemplo siguiente se usa para XsltMessageEncounteredEventArgs mostrar xsl:message contenido en la consola. En el ejemplo se escribe el siguiente mensaje en la consola: Message received: Author name is not in the correct format <author><name>Plato</name></author>.

C#
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);
  }
}

En el ejemplo se usan los siguientes archivos como entrada:

books.xml

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

XML
<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>

Comentarios

El XsltMessageEncountered evento se produce durante el procesamiento XSLT cuando se especifica en xsl:message la hoja de estilos.

Nota

Si el terminate atributo se establece "yes"en , el procesador XSLT deja de ejecutar la hoja de estilos se detiene después de procesar el mensaje.

Constructores

XsltMessageEncounteredEventArgs()

Inicializa una nueva instancia de la clase XsltMessageEncounteredEventArgs.

Propiedades

Message

Obtiene el contenido del xsl:message elemento .

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Produto Versións
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Consulte también