次の方法で共有


XsltMessageEncounteredEventArgs クラス

定義

XsltMessageEncountered イベントのデータを提供します。

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 します。 このサンプルでは、 というメッセージがコンソールに書き込まれます 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

この例では、次のファイルを入力として使用します。

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>

注釈

イベントは XsltMessageEncountered 、スタイル シートで が xsl:message 指定されている場合、XSLT 処理中に発生します。

注意

属性が terminate"yes"設定されている場合、XSLT プロセッサは、メッセージの処理後にスタイル シートの実行を停止します。

コンストラクター

XsltMessageEncounteredEventArgs()

XsltMessageEncounteredEventArgs クラスの新しいインスタンスを初期化します。

プロパティ

Message

要素の内容を xsl:message 取得します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください