XmlDataSource.TransformArgumentList プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlDataSource.TransformArgumentList プロパティの意味・解説 

XmlDataSource.TransformArgumentList プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

XSLT 引数リストを提供します。この引数リストは、XML データに対する変換を実行するために、Transform プロパティまたは TransformFile プロパティで定義されたスタイル シートと組み合わせて使用されます。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Overridable Property
 TransformArgumentList As XsltArgumentList
Dim instance As XmlDataSource
Dim value As XsltArgumentList

value = instance.TransformArgumentList

instance.TransformArgumentList = value
public virtual XsltArgumentList TransformArgumentList { get;
 set; }
public:
virtual property XsltArgumentList^ TransformArgumentList {
    XsltArgumentList^ get ();
    void set (XsltArgumentList^ value);
}
/** @property */
public XsltArgumentList get_TransformArgumentList ()

/** @property */
public void set_TransformArgumentList (XsltArgumentList
 value)
public function get TransformArgumentList
 () : XsltArgumentList

public function set TransformArgumentList
 (value : XsltArgumentList)

プロパティ値
XmlDataSource コントロールが XML データを読み込むときに適用される XSLT パラメータおよびオブジェクトを保持する XsltArgumentList オブジェクト。既定値は null 参照 (Visual Basic では Nothing) です。

解説解説

XML データへの XSLT 変換の適用時に、確実に XSLT パラメータを渡すには、Transforming イベントの発生時に TransformArgumentList プロパティを設定するようにします。

EnableCaching プロパティが true に設定され、かつ TransformArgumentList プロパティが設定されている場合、変換用の引数リストでパラメータを変更しても、キャッシュ エントリは自動的に無効化されません。この場合、CacheKeyDependency プロパティを設定することにより、キャッシュを無効するためのコードを記述する必要があります。

使用例使用例

XmlDataSource と TreeView コントロールを使用し、変換後の XML データを表示する方法を次のコード例に示します。XML 変換は、TransformFile プロパティで指定したスタイル シートを使って実行されます。このスタイル シートは、さらに、データ ソース コントロールに対し実行時に XsltArgumentList オブジェクトとして渡された変換用の引数を使用します。コード例では、カスタムのイベント ハンドラで Transforming イベントを処理することによって XsltArgumentList をデータ ソース コントロールに渡しています。

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Xml.Xsl"
 %>

<SCRIPT runat="server">
Private Sub TransformEventHandler(sender As
 Object, e as EventArgs)

  ' Add a dynamic transformation argument.
  Dim d As New DateTime
  d = DateTime.Now.AddDays(20)

  'Create an XsltArgumentList.
  Dim xslArg As XsltArgumentList = New
 XsltArgumentList
  xslArg.AddParam("purchdate", "",
 d.ToShortDateString())

  Dim aXmlDataSource as XmlDataSource = CType(sender,
 XmlDataSource)
  aXmlDataSource.TransformArgumentList = xslArg

End Sub ' TransformEventHandler
</SCRIPT>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
  <BODY>
    <form runat="server">

      <asp:xmldatasource
        id="XmlDataSource1"
        runat="server"
        datafile="bookstore.xml"
        transformfile="bookswithdiscount.xsl"
        ontransforming="TransformEventHandler" />

        <!- TreeView uses hierachical data, so the
            XmlDataSource uses an XmlHierarchicalDataSourceView
            when a TreeView is bound to
 it. -->

      <asp:treeview
        id="TreeView1"
        runat="server"
        datasourceid="XmlDataSource1">
        <databindings>
          <asp:treenodebinding depth="1" datamember="genre"
            textfield="name" valuefield="name"/>
          <asp:treenodebinding depth="2" datamember="book"
            textfield="title" valuefield="title"/>
          <asp:treenodebinding depth="3" datamember="chapter"
            textfield="name" valuefield="num"/>
        </databindings>
      </asp:treeview>

    </form>
  </BODY>
</HTML>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Xml.Xsl" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
private void TransformEventHandler(object sender,
 EventArgs e) {

  // Add a dynamic transformation argument.
  DateTime d = new DateTime();
  d = DateTime.Now.AddDays(20);

  // Create an XsltArgumentList.
  XsltArgumentList xslArg = new XsltArgumentList();
  xslArg.AddParam("purchdate", "", d.ToShortDateString());

  ((XmlDataSource) sender).TransformArgumentList = xslArg;
}
</SCRIPT>

<HTML>
  <BODY>
    <form runat="server">
      <asp:XmlDataSource
        id="XmlDataSource1"
        runat="server"
        datafile="bookstore.xml"
        transformfile="bookswithdiscount.xsl"
        ontransforming="TransformEventHandler" />

        <!- TreeView uses hierachical data, so the
            XmlDataSource uses an XmlHierarchicalDataSourceView
            when a TreeView is bound to it. -->

      <asp:treeview
        id="TreeView1"
        runat="server"
        datasourceid="XmlDataSource1">
        <databindings>
          <asp:treenodebinding Depth="1" datamember="genre"
            textfield="name" valuefield="name"/>
          <asp:treenodebinding depth="2" datamember="book"
            textfield="title" valuefield="title"/>
          <asp:treenodebinding depth="3" datamember="chapter"
            textfield="name" valuefield="num"/>
        </databindings>
      </asp:treeview>

    </form>
  </BODY>
</HTML>
<%@ Page Language="VJ#" %>
<%@ Import Namespace="System.Xml.Xsl" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
    private void TransformEventHandler(Object
 sender, System.EventArgs e)
    {
        // Add a dynamic transformation argument.
        System.DateTime.get_Now().AddDays(20);
    
        // Create an XsltArgumentList.
        XsltArgumentList xslArg = new XsltArgumentList();
        xslArg.AddParam("purchdate", "", System.DateTime.get_Now().AddDays(20).
            ToShortDateString());
        ((XmlDataSource)sender).set_TransformArgumentList(xslArg);
    }//TransformEventHandler
</SCRIPT>

<HTML>
  <BODY>
    <form runat="server">
      <asp:XmlDataSource
        id="XmlDataSource1"
        runat="server"
        datafile="bookstore.xml"
        transformfile="bookswithdiscount.xsl"
        ontransforming="TransformEventHandler" />

        <!- TreeView uses hierachical data, so the
            XmlDataSource uses an XmlHierarchicalDataSourceView
            when a TreeView is bound to it. -->

      <asp:treeview
        id="TreeView1"
        runat="server"
        datasourceid="XmlDataSource1">
        <databindings>
          <asp:treenodebinding Depth="1" datamember="genre"
            textfield="name" valuefield="name"/>
          <asp:treenodebinding depth="2" datamember="book"
            textfield="title" valuefield="title"/>
          <asp:treenodebinding depth="3" datamember="chapter"
            textfield="name" valuefield="num"/>
        </databindings>
      </asp:treeview>

    </form>
  </BODY>
</HTML>

コード例の XML ファイルには、次のデータが含まれています。

<bookstore>
   <genre name="fiction">
     <book ISBN="0000000000">
       <title>Secrets of Silicon Valley</title>
       <price>12.95</price>
       <chapters>
         <chapter num="1" name="Introduction" />           
         <chapter num="2" name="Body" />          
         <chapter num="3" name="Conclusion" />
       </chapters>
     </book>
   </genre>
   <genre name="novel">
     <book genre="novel" ISBN="1111111111">
       <title>Straight Talk About Computers</title>
       <price>24.95</price>
       <chapters>
         <chapter num="1" name="Introduction" /> 
         <chapter num="2" name="Body" />
         <chapter num="3" name="Conclusion" />
       </chapters>
     </book>
   </genre>
</bookstore>

XML データの変換は、次のスタイル シートを使って実行されます。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="purchdate"/>
 <xsl:template match="bookstore">
   <bookstore>
     <xsl:apply-templates select="genre"/>
   </bookstore>
 </xsl:template>
 <xsl:template match="genre">
   <genre>
     <xsl:attribute name="name">
       <xsl:value-of select="@name"/>
     </xsl:attribute>
     <xsl:apply-templates select="book"/>
   </genre>
 </xsl:template>
 <xsl:template match="book">
   <book>
     <xsl:attribute name="ISBN">
       <xsl:value-of select="@ISBN"/>
     </xsl:attribute>
     <xsl:attribute name="title">
       <xsl:value-of select="title"/>
       Price: <xsl:value-of select="price"/>
           15% discount if purchased by: <xsl:value-of select="$purchdate"/>
      
     </xsl:attribute>
     <xsl:apply-templates select="chapters/chapter" />
   </book>
 </xsl:template>
 <xsl:template match="chapter">
   <chapter>
     <xsl:attribute name="num">
       <xsl:value-of select="@num"/>
     </xsl:attribute>
     <xsl:attribute name="name">
       <xsl:value-of select="@name"/>
     </xsl:attribute>
     <xsl:apply-templates/>
   </chapter>
 </xsl:template>
</xsl:stylesheet>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlDataSource クラス
XmlDataSource メンバ
System.Web.UI.WebControls 名前空間
Transforming
XmlDataSource.Transform プロパティ
TransformFile



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

XmlDataSource.TransformArgumentList プロパティのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   



XmlDataSource.TransformArgumentList プロパティのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS