XsltMessageEncounteredEventArgs Класс

Определение

Предоставляет данные для события XsltMessageEncountered.Provides data for the XsltMessageEncountered event.

public ref class XsltMessageEncounteredEventArgs abstract : EventArgs
public abstract class XsltMessageEncounteredEventArgs : EventArgs
type XsltMessageEncounteredEventArgs = class
    inherit EventArgs
Public MustInherit Class XsltMessageEncounteredEventArgs
Inherits EventArgs
Наследование
XsltMessageEncounteredEventArgs

Примеры

В следующем примере используется XsltMessageEncounteredEventArgs для вывода xsl:message содержимого на консоль.The following example uses the XsltMessageEncounteredEventArgs to display xsl:message content to the console. В примере на консоль записывается следующее сообщение: Message received: Author name is not in the correct format <author><name>Plato</name></author>.The sample writes the following message to the 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);
  }

}
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

В этом примере в качестве входных данных используются следующие файлы:The example uses the following files as input:

books.xmlbooks.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. xslmessage.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>

Комментарии

Это XsltMessageEncountered событие возникает во время обработки XSLT xsl:message при указании в таблице стилей.The XsltMessageEncountered event occurs during XSLT processing when an xsl:message is specified in the style sheet.

Примечание

Если атрибут имеет "yes"значение, то обработчик XSLT прекращает выполнение таблицы стилей после обработки сообщения. terminateIf the terminate attribute is set to "yes", the XSLT processor stops executing the style sheet stops after the message is processed.

Конструкторы

XsltMessageEncounteredEventArgs()

Инициализирует новый экземпляр класса XsltMessageEncounteredEventArgs.Initializes a new instance of the XsltMessageEncounteredEventArgs class.

Свойства

Message

Возвращает содержимое элемента xsl:message.Gets the contents of the xsl:message element.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к

Дополнительно