XmlDataSource.TransformFile Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.