Compartir a través de


Sintaxis declarativa del control de servidor Web Xml

Actualización: noviembre 2007

Muestra un documento XML o los resultados de una transformación 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"
/>

Comentarios

Use el control Xml para mostrar el contenido de un documento XML o los resultados de una transformación XSL.

Para especificar el documento XML que se va a mostrar, establezca una de las tres propiedades que figuran a continuación. Estas tres propiedades representan los distintos tipos de documento XML que se pueden mostrar. Puede mostrar XmlDocument, una cadena XML o un archivo XML estableciendo la propiedad adecuada. En la siguiente tabla se recogen las propiedades para especificar el documento XML.

Propiedad

Descripción

Document

Establece el documento XML mediante un objeto XmlDocument.

DocumentContent

Establece el documento XML mediante una cadena.

day7x985.alert_note(es-es,VS.90).gifNota:
Esta propiedad suele establecerse de manera declarativa colocando texto entre las etiquetas <asp:Xml> de apertura y de cierre del control Xml.

DocumentSource

Establece el documento XML mediante un archivo.

Nota

Se debe establecer al menos una de las propiedades de documento XML; de lo contrario, no se mostrará ningún documento XML. Si se establece más de una propiedad de documento XML, se mostrará el documento XML de la última propiedad establecida. Se omitirán los documentos de las demás propiedades.

De manera opcional, se puede especificar un documento de transformación XSL que da formato al documento XML antes de que se escriba éste en la secuencia de salida estableciendo una de las dos propiedades que figuran a continuación. Las dos propiedades representan los diferentes tipos de documento de transformación XSL que se pueden utilizar para dar formato al documento XML. Puede dar formato al documento XML con XslTransform o con un archivo de transformación XSL estableciendo la propiedad adecuada. Si no se especifica ningún documento de transformación XSL, se mostrará el documento XML con el formato predeterminado. En la siguiente tabla se recogen las propiedades para especificar un documento de transformación XSL.

Propiedad

Descripción

Transform

Da formato al documento XML utilizando el objeto XslTransform especificado.

TransformSource

Da formato al documento XML mediante el archivo de transformación XSL especificado.

Nota

El documento de transformación XSL es opcional. No es preciso establecer la propiedad Transform o TransformSource. Si se establecen ambas propiedades de documento de transformación XSL, la última propiedad establecida determina qué documento de transformación XSL se utilizará para dar formato al documento XML. Se omitirá la otra propiedad.

La clase Xml proporciona asimismo la propiedad TransformArgumentList, que permite proporcionar argumentos opcionales a la transformación XSL. Los argumentos pueden ser parámetros XSLT u objetos de extensión.

Ejemplo

En el siguiente ejemplo se muestra un archivo 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>

En el siguiente ejemplo se muestra un archivo de transformación 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" />
                  &#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>

En el siguiente ejemplo se muestra cómo usar el control Xml para mostrar el archivo XML de ejemplo mediante el archivo de transformación XSL de ejemplo. Asegúrese de que el archivo XML de ejemplo se denomine People.xml y el archivo de transformación XSL de ejemplo se denomine 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>

En el siguiente ejemplo se muestra cómo crear los objetos XmlDocument y XslTransform a partir de los archivos XML y de transformación XSL de ejemplo. A continuación, el control Xml utiliza los objetos para mostrar el documento XML. Asegúrese de que el archivo XML de ejemplo se denomine People.xml y el archivo de transformación XSL de ejemplo se denomine 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>

Vea también

Referencia

Xml

Otros recursos

Sintaxis de los controles de servidor Web