XmlDataSource.TransformFile Özellik

Tanım

Denetim tarafından XmlDataSource yönetilen XML verilerinde gerçekleştirilecek XSLT dönüştürmesini tanımlayan Genişletilebilir Stil Sayfası Dili (XSL) dosyasının (.xsl) dosya adını belirtir.

public:
 virtual property System::String ^ TransformFile { System::String ^ get(); void set(System::String ^ value); };
public virtual string TransformFile { get; set; }
member this.TransformFile : string with get, set
Public Overridable Property TransformFile As String

Özellik Değeri

XSL stil sayfası dosyasının, veya özelliklerinde yer alan Data veriler üzerinde gerçekleştirilecek xml dönüştürmesini tanımlayan mutlak fiziksel yolu veya DataFile göreli yolu. Empty varsayılan değerdir.

Özel durumlar

Belge yükleniyor.

Örnekler

Aşağıdaki kod örneği, web formunda dönüştürülmüş XML verilerini görüntülemek için denetimin ve TreeView denetimin nasıl kullanılacağını XmlDataSource gösterir. Dönüştürme özelliği tarafından TransformFile belirtilen stil sayfası kullanılarak gerçekleştirilir. İsteğe bağlı olarak stil sayfası için dönüştürme bağımsız değişkenlerini kullanarak XsltArgumentListsağlayabilirsiniz. Daha fazla bilgi için özelliğine TransformArgumentList bakın.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>

    <form id="form1" runat="server">
      <asp:XmlDataSource
        id="XmlDataSource1"
        runat="server"
        datafile="bookstore.xml"
        transformfile="bookstore.xsl"/>

      <!- 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="ISBN"/>
          <asp:treenodebinding depth="3" datamember="chapter"
            textfield="name" valuefield="num"/>
        </databindings>
      </asp:treeview>

    </form>
    
  </body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>

    <form id="form1" runat="server">
      <asp:xmldatasource
        id="XmlDataSource1"
        runat="server"
        datafile="bookstore.xml"
        transformfile="bookstore.xsl"/>

      <!- 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="ISBN"/>
          <asp:treenodebinding depth="3" datamember="chapter"
            textfield="name" valuefield="num"/>
        </databindings>
      </asp:treeview>

    </form>
  </body>
</html>

Kod örneğindeki XML dosyasında aşağıdaki veriler vardır:

<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 dönüştürmesini gerçekleştiren XSL stil sayfası aşağıdaki yapıya sahiptir:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
 <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"/>  
     </xsl:attribute>  
     <xsl:attribute name="price">  
       <xsl:value-of select="price"/>  
     </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>  

Açıklamalar

Hem hem de TransformFileTransform özellikleri ayarlanırsa, TransformFile özellik öncelikli olur ve özellikte belirtilen stil sayfası öğeleri yerine XSL stil sayfası dosyasındaki Transform (.xsl) veriler kullanılır. Bir XPath ifadesi özelliği kullanılarak XPath ayarlanırsa, XML verileri dönüştürüldükten sonra uygulanır.

özelliğinin Transform değerini değiştirirseniz, DataSourceChanged olay oluşturulur. Önbelleğe alma etkinse ve değerini Transformdeğiştirirseniz önbellek geçersiz kılınır.

Not

sınıfı, XmlDataSource XSL dönüştürmeleri gerçekleştirmek için kullanım XslTransform dışı sınıfını kullanır. Sınıf kullanım dışı bırakıldıktan sonra XslTransform tanıtılan stil sayfası özelliklerini kullanmak istiyorsanız, sınıfını kullanarak XslCompiledTransform dönüştürmeleri el ile uygulayın.

Şunlara uygulanır

Ayrıca bkz.