Xml 웹 서버 컨트롤 선언 구문
업데이트: 2007년 11월
XML 문서 또는 XSL 변환 결과를 표시하는 데 사용하는 컨트롤입니다.
<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 변환 결과를 표시할 수 있습니다.
표시할 XML 문서는 세 가지 속성 중 하나를 설정하여 지정합니다. 이 세 가지 속성은 표시할 수 있는 XML 문서의 서로 다른 형식을 나타냅니다. 적절한 속성을 설정하여 XmlDocument, XML 문자열 또는 XML 파일을 표시할 수 있습니다. 다음 표에 XML 문서를 지정하는 데 사용하는 속성이 나와 있습니다.
속성 |
설명 |
---|---|
XmlDocument 개체를 사용하여 XML 문서를 설정합니다. |
|
문자열을 사용하여 XML 문서를 설정합니다. 참고 일반적으로 이 속성은 Xml 컨트롤의 열기 및 닫기 <asp:Xml> 태그 사이에 텍스트를 삽입하여 선언적으로 설정됩니다. |
|
파일을 사용하여 XML 문서를 설정합니다. |
참고
XML 문서를 표시하려면 XML 문서 속성을 하나 이상 설정해야 합니다. 둘 이상의 XML 문서 속성을 설정하면 마지막 속성에 설정된 XML 문서가 표시됩니다. 다른 속성에 설정된 문서는 무시됩니다.
추가로 두 속성 중 하나를 설정하여 XSL 변환 문서를 출력 스트림에 쓰기 전에 XML 문서의 서식을 지정하는 XSL 변환 문서를 지정할 수 있습니다. 이러한 두 속성은 XML 문서의 서식 지정에 사용할 수 있는 서로 다른 형식의 XSL 변환 문서를 나타냅니다. 적절한 속성을 설정하여 XslTransform 또는 XSL 변환 파일로 XML 문서의 서식을 지정할 수 있습니다. XSL 변환 문서를 지정하지 않으면 기본 서식을 사용하여 XML 문서가 표시됩니다. 다음 표에는 XSL 변환 문서를 지정하는 데 사용하는 속성이 나와 있습니다.
속성 |
설명 |
---|---|
지정한 XslTransform을 사용하여 XML 문서의 서식을 지정합니다. |
|
지정한 XSL 변환 파일을 사용하여 XML 문서의 서식을 지정합니다. |
참고
XSL 변환 문서를 선택적으로 지정할 수 있습니다. 즉, Transform 또는 TransformSource 속성을 설정할 필요가 없습니다. XSL 변환 문서의 속성을 둘 다 설정하면 마지막에 설정한 속성에 따라 XML 문서의 서식 지정에 사용할 XSL 변환 문서가 결정되며 나머지 속성은 무시됩니다.
Xml 클래스는 XSL 변환에 선택적 인수를 제공할 수 있도록 TransformArgumentList 속성도 제공합니다. 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 변환 파일을 보여 줍니다.
<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" />
 
<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 변환 파일을 사용하여 샘플 XML 파일을 표시하는 방법을 보여 줍니다. 샘플 XML 파일의 이름은 People.xml이고 샘플 XSL 변환 파일의 이름은 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 변환 파일에서 XmlDocument 및 XslTransform 개체를 만드는 방법을 보여 줍니다. 그런 다음 Xml 컨트롤에서 이러한 개체를 사용하여 XML 문서를 표시합니다. 샘플 XML 파일의 이름은 People.xml이고 샘플 XSL 변환 파일의 이름은 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>