次の方法で共有


Xml Web サーバー コントロールの宣言構文

更新 : 2007 年 11 月

XML ドキュメントまたは XSL Transform の結果を表示します。

<asp:Xml
    DocumentSource="uri"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    SkinID="string"
    TransformSource="string"
    Visible="True|False"
/>

解説

Xml コントロールを使用して、XML ドキュメントの内容または XSL Transform の結果を表示できます。

表示する XML ドキュメントを指定するには、次の 3 つのプロパティのいずれかを設定します。これらの 3 つのプロパティは、表示できる各種の XML ドキュメントを表します。適切なプロパティを設定することによって、XmlDocument、XML 文字列、または XML ファイルを表示できます。XML ドキュメントを指定するためのプロパティを次の表に示します。

プロパティ

説明

Document

XmlDocument オブジェクトを使用して XML ドキュメントを設定します。

DocumentContent

文字列を使用して、XML ドキュメントを設定します。

day7x985.alert_note(ja-jp,VS.90).gifメモ :
通常、このプロパティは、Xml コントロールの開始および終了の <asp:Xml> タグの間にテキストを挿入することにより、宣言によって設定します。

DocumentSource

ファイルを使用して、XML ドキュメントを設定します。

day7x985.alert_note(ja-jp,VS.90).gifメモ :

少なくとも 1 つの XML ドキュメント プロパティを設定する必要があります。設定しないと、XML ドキュメントは表示されません。複数の XML ドキュメント プロパティを設定した場合は、最後に設定されたプロパティの XML ドキュメントが表示されます。他のプロパティのドキュメントは無視されます。

必要に応じて、XML ドキュメントを出力ストリームに書き込む前に、その書式を設定する XSL Transform ドキュメントを指定できますが、その場合は次の 2 つのプロパティのいずれかを指定します。この 2 つのプロパティは、XML ドキュメントの書式を設定するために使用できる、異なる種類の XSL Transform ドキュメントを表します。XML ドキュメントの書式は、XslTransform を使用するか、XSL Transform ファイルで適切なプロパティを設定することで、指定できます。XSL Transform ドキュメントが指定されていない場合、XML ドキュメントは既定の書式で表示されます。XSL Transform ドキュメントを指定するためのプロパティを次の表に示します。

プロパティ

説明

Transform

XML ドキュメントの書式を指定した XslTransform を使用して指定します。

TransformSource

指定した XSL Transform ファイルを使用して、XML ドキュメントの書式を設定します。

day7x985.alert_note(ja-jp,VS.90).gifメモ :

XSL Transform ドキュメントは省略できます。Transform プロパティおよび TransformSource プロパティは必ず設定する必要があるわけではありません。両方の XSL Transform ドキュメント プロパティが設定されている場合は、最後に設定されたプロパティによって、XML ドキュメントの書式設定に使用する XSL Transform ドキュメントが決まります。その他のプロパティは無視されます。

Xml クラスには、TransformArgumentList プロパティも用意されています。このプロパティを使用すると、XSL Transform に省略可能な引数を指定できます。引数は、XSLT パラメータまたは拡張オブジェクトのいずれかです。

使用例

サンプル XML ファイルを次に示します。

<People>
   <Person>
      <Name>
         <FirstName>Joe</FirstName>
         <LastName>Suits</LastName>
      </Name>
      <Address>
         <Street>1800 Success Way</Street>
         <City>Redmond</City>
         <State>WA</State>
         <ZipCode>98052</ZipCode>
      </Address>
      <Job>
         <Title>CEO</Title>
         <Description>Wears the nice suit</Description>
      </Job>
   </Person>

   <Person>
      <Name>
         <FirstName>Linda</FirstName>
         <LastName>Sue</LastName>
      </Name>
      <Address>
         <Street>1302 American St.</Street>
         <City>Paso Robles</City>
         <State>CA</State>
         <ZipCode>93447</ZipCode>
      </Address>
      <Job>
         <Title>Attorney</Title>
         <Description>Stands up for justice</Description>
      </Job>
   </Person>

   <Person>
      <Name>
         <FirstName>Jeremy</FirstName>
         <LastName>Boards</LastName>
      </Name>
      <Address>
         <Street>34 Palm Avenue</Street>
         <City>Waikiki</City>
         <State>HI</State>
         <ZipCode>98052</ZipCode>
      </Address>
      <Job>
         <Title>Pro Surfer</Title>
         <Description>Rides the big waves</Description>
      </Job>
   </Person>

   <Person>
      <Name>
         <FirstName>Joan</FirstName>
         <LastName>Page</LastName>
      </Name>
      <Address>
         <Street>700 Webmaster Road</Street>
         <City>Redmond</City>
         <State>WA</State>
         <ZipCode>98073</ZipCode>
      </Address>
      <Job>
         <Title>Web Site Developer</Title>
         <Description>Writes the pretty pages</Description>
      </Job>
   </Person>
</People>

サンプル XSL Transform ファイルを次に示します。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:template match="/People">
      <xsl:apply-templates select="Person" />
   </xsl:template>
  
   <xsl:template match="Person">
      <table width="100%" border="1">
         <tr>
            <td>
               <b>
                  <xsl:value-of select="Name/FirstName" />
                  &#160;
                  <xsl:value-of select="Name/LastName" />
               </b>
            </td>
         </tr>
         <tr>
            <td>
               <xsl:value-of select="Address/Street" /><br />
               <xsl:value-of select="Address/City" />
               , 
               <xsl:value-of select="Address/State" /> 
               <xsl:value-of select="Address/Zip" />
            </td>
         </tr>
         <tr>
            <td>
               Job Title: <xsl:value-of select="Job/Title" /><br />
               Description: <xsl:value-of select="Job/Description" />
            </td>
         </tr>
      </table>

   </xsl:template>

   <xsl:template match="bookstore">
      <!-- Prices and books -->
      <bookstore>
         <xsl:apply-templates select="book"/>
      </bookstore>
   </xsl:template>

   <xsl:template match="book">
      <book>
         <xsl:attribute name="ISBN">
            <xsl:value-of select="@ISBN"/>
         </xsl:attribute>
         <price>
            <xsl:value-of select="price"/>
         </price>
         <xsl:text>
         </xsl:text>
      </book>
   </xsl:template>

</xsl:stylesheet>

Xml コントロールを使用して、上のサンプル XSL Transform ファイルを使用して、上のサンプル XML ファイルを表示する方法を次の例に示します。サンプル XML ファイルは People.xml で、サンプル XSL Transform ファイルは Peopletable.xsl です。

<html>
<body>
   <h3>Xml Example</h3>
   <form runat="server">
      <asp:Xml id="xml1" 
           DocumentSource="people.xml" 
           TransformSource="peopletable.xsl" 
           runat="server" />
   </form>
</body>
</html>

サンプル XML ファイルおよびサンプル XSL Transform ファイルから XmlDocument オブジェクトおよび XslTransform オブジェクトを作成する方法を次の例に示します。作成されたオブジェクトを Xml コントロールで使用して、XML ドキュメントを表示します。サンプル XML ファイルは People.xml で、サンプル XSL Transform ファイルは Peopletable.xsl です。

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script runat="server">
      Sub Page_Load(sender As Object, e As EventArgs)
         Dim doc As XmlDocument = New XmlDocument()
         doc.Load(Server.MapPath("people.xml"))

         Dim trans As XslTransform = new XslTransform()
         trans.Load(Server.MapPath("peopletable.xsl"))

         xml1.Document = doc
         xml1.Transform = trans
      End Sub
</script>
<body>
   <h3>Xml Example</h3>
   <form runat="server">
      <asp:Xml id="xml1" runat="server" />
   </form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script runat="server">
      void Page_Load(Object sender, EventArgs e) 
      {
         XmlDocument doc = new XmlDocument();
         doc.Load(Server.MapPath("people.xml"));

         XslTransform trans = new XslTransform();
         trans.Load(Server.MapPath("peopletable.xsl"));

         xml1.Document = doc;
         xml1.Transform = trans;
      }
   </script>
<body>
   <h3>Xml Example</h3>
      <form runat="server">
         <asp:Xml id="xml1" runat="server" />
      </form>
</body>
</html>

参照

参照

Xml

その他の技術情報

Web サーバー コントロール構文