Compartir vía


XsltMessageEncounteredEventArgs Clase

Definición

Proporciona datos para el evento XsltMessageEncountered.

public ref class XsltMessageEncounteredEventArgs abstract : EventArgs
public abstract class XsltMessageEncounteredEventArgs : EventArgs
type XsltMessageEncounteredEventArgs = class
    inherit EventArgs
Public MustInherit Class XsltMessageEncounteredEventArgs
Inherits 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>.

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);
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

Public Class Sample    
    
  Public Shared Sub Main() 
        
    ' Create the XslCompiledTransform object and load the style sheet.
    Dim xslt As New XslCompiledTransform()
    xslt.Load("message.xsl")
        
    Dim argList As New XsltArgumentList()
    AddHandler argList.XsltMessageEncountered, AddressOf MessageCallBack
        
    ' Load the file to transform.
    Dim doc As New XPathDocument("books.xml")
        
    ' Transform the file.
    xslt.Transform(doc, argList, XmlWriter.Create("output.xml"))
    
  End Sub
    
  Private Shared Sub MessageCallBack(ByVal sender As Object, ByVal e As XsltMessageEncounteredEventArgs) 
    Console.WriteLine("Message received: {0}", e.Message)
    
  End Sub
End Class

En el ejemplo se usan los siguientes archivos como entrada:

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>

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

Consulte también