蛙蛙池塘

没有公主的蛙蛙王子

用户操作
[即时聊天] [发私信] [加为好友]
蛙蛙王子ID:onlytiancai
125727次访问,排名713,好友1人,关注者4人。
onlytiancai的文章
原创 93 篇
翻译 0 篇
转载 22 篇
评论 117 篇
蛙蛙王子的公告
残荷听雨,梨花飞雪,落英缤纷时节。晓来谁染枫林醉?点点都是离人泪
活着,就是快乐!自信,就是美丽! 有人爱,就是幸福。

但愿野百合也有春天

最近评论
hdnero:wow power leveling
hdnero:wow power leveling
lindahou:THANK YOU VERY MUCH
mylittledog:如果我要添加http://172.20.50.11呢?
hm8030:问题2:请教:怎样让页面局部无刷新更新数据呀,xmlhttp可以发送recordset吗?

问题是这样的:我的首页上有好几处显示数据的表格,每个表示对应着服务器的一个记录集(recordset),我想让其中几个表格能够每隔30秒种更新一下数据,前提是网页的其它部分,比如说广告,图片等不用更新。
整个页面的无刷新更新和只更新某个字符串我已经做到了,现在我是想让一……
文章分类
收藏
    相册
    友情博客
    Anatoly 姐姐的博客
    Bob Beauchemin姐姐的博客
    chnking姐姐的博客
    cocosoft姐姐的博客
    donet姐姐的博客
    Eric/xin姐姐的博客
    ilqtj姐姐的博客
    JAVA姐姐的博客
    Nathan Dunlap姐姐的博客
    Sinoprise Studios姐姐的博客
    千山一鸟的博客
    土人姐姐的博客
    微软姐姐的博客
    思归姐姐的博客
    木子姐姐的博客
    笨笨姐姐的博客
    阿好姐姐的博客
    飞信美眉 飞信交友
    龙卷风姐姐的博客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 使用 XML 模板 收藏

    新一篇: 蛙蛙推荐:一点准程序员工作经验总结 | 旧一篇: 蛙蛙推荐:css样式表的优先级别演示

    使用 XML 模板
    下面是模板的一般形式,显示了指定 SQL 查询和 XPath 查询的方式:

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"
           sql:xsl='XSL FileName' >
      <sql:header>
        <sql:param>..</sql:param>
        <sql:param>..</sql:param>...n
      </sql:header>
      <sql:query>
        sql statement(s)
      </sql:query>
      <sql:xpath-query mapping-schema="SchemaFileName.xml">
        XPath query
      </sql:xpath-query>
    </ROOT>

    模板中的任何元素都是可选的。元素 <header>、<param>、<query>、<XPath-query> 和特性映射架构在 sql 命名空间中定义。因此,必须在命名空间中声明 xmlns:sql="urn:schemas-microsoft-com:xml-sql"。可对命名空间任意命名;sql 只是一个别名。

    <ROOT>

    指定此标记以提供所得到的 XML 文档的单个顶层元素(也称为根标记)。<ROOT> 标记可以是任何名称。

    <sql:header>

    此标记用于保存所有标题值。在目前的实施方案中,只能在此标记中指定 <sql:param> 元素。<sql:header> 用作包含标记,使您得以定义多个参数。所有的参数定义都在一个位置中,这使得处理参数定义更有效。

    <sql:param>

    该元素用于定义在模板内传递到查询的参数。每个 <param> 元素定义一个参数。可以在 <sql:header> 标记中定义多个 <param> 元素。

    <sql:query>

    该元素用于指定 SQL 查询。可以在模板中指定多个 <sql:query> 元素。

    <sql:xpath-query>

    该元素用于指定 XPath 查询。因为 XPath 查询是在带批注的 XML 数据简化 (XDR) 架构上执行,所以必须使用 mapping-schema 特性指定架构文件名。

    sql:xsl

    该特性用于指定将应用于所得到的 XML 文档的可扩展样式表语言 (XSL) 样式表。在指定映射架构文件时,可以指定相对或绝对路径。指定的相对路径是相对于与 template 类型的虚拟名称关联的目录。例如,如果与 template 类型的虚拟名称相关联的目录是 C:\Template,那么为 sql:xsl 指定的相对路径 Xyz/MyXSL.xml 将映射到 C:\Template\Xyz\MyXSL.xml。

    mapping-schema

    该特性用于标识带批注的 XDR 架构。仅当在模板中执行 XPath 查询时才指定该特性。XPath 查询在带批注的 XDR 架构上执行。在指定映射架构文件时,可以指定相对或绝对路径。指定的相对路径是相对于与 template 类型的虚拟名称关联的目录。例如,如果与 template 类型的虚拟名称关联的目录是 C:\Template,则相对路径(为 mapping-schema 指定的 schema/MSchema.xml)映射到 C:\Template\Schema\MSchema.xml。


     
    说明  每个 <sql:query> 或 <sql:XPath-query> 表示单独的事务。因此,如果在模板中有多个 <sql:query> 或 <sql:XPath-query> 标记,当一个标记失败时,其它标记将继续。

    如果设置了 contenttype,则 Sqlisapi.dll 将标题信息返回给浏览器。如果没有设置 contenttype,则 urlmon 使用模板文件中的第一个字符确定内容类型。如果模板中的第一个字符是 < 字符或 Unicode 字节顺序标志 (0xFFFE),则将 text/xml 作为内容类型返回给浏览器,且浏览器显示结果。否则,Sqlisapi.dll 不发送用以指导浏览器如何显示结果的内容类型标题信息;因此,在浏览器中将看不到结果。


    可以在 URL 模板中指定模板之前,必须使用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建 template 类型的虚拟名称。有关更多信息,请参见使用用于 SQL Server 的 IIS 虚拟目录管理实用工具。

    存储模板
    模板存储在与 template 类型的虚拟名称关联的目录或它的一个子目录中:

    如果模板存储在与 template 类型的虚拟名称关联的目录中,则 URL 查询的形式如下:
    http://IISServer/nwind/TemplateVirtualName/TemplateFile.xml

    如果模板存储在与 template 类型 (xyz) 的虚拟名称关联的子目录中,则 URL 查询的形式如下:
    http://IISServer/nwind/TemplateVirtualName/xyz/TemplateFile.xml在模板中指定 XSL 样式表可以对查询结果应用可扩展样式表语言 (XSL) 样式表。当使用 HTTP 执行模板时,可以用下列方法指定 XSL 文件: 在模板中使用 sql:xsl 特性。使用 xsl 关键字作为 URL 的一部分,以指定将用于处理所得到的 XML 数据的 XSL 文件。 如果在模板中使用 sql:xsl 指定 XSL 文件并且在 URL 中使用关键字 xsl 指定 XSL 文件,则先对结果应用在模板中指定的 XSL 样式表,然后应用在 URL 中指定的 XSL 文件。示例在下列示例中,nwind 是使用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建的虚拟目录,template 是创建虚拟目录时定义的 template 类型的虚拟名称(创建虚拟目录时可以为其指定任何虚拟名称)。有关更多信息,请参见使用用于 SQL Server 的 IIS 虚拟目录管理实用工具。A. 在模板中指定 sql:xsl 以处理结果在下例中,模板包含简单的 SELECT 语句。按照使用 sql:xsl 指定的 XSL 文件中的说明处理查询结果。<?xml version ='1.0' encoding='UTF-8'?>                     
     <root xmlns:sql='urn:schemas-microsoft-com:xml-sql'         
           sql:xsl='MyXSL.xsl'>                             
       <sql:query>                                               
          SELECT FirstName, LastName FROM Employees FOR XML AUTO 
       </sql:query>                                              
    </root>
    为举例说明,将模板 (TemplateWithXSL.xml) 存储在与 template 类型的虚拟名称 (template) 关联的目录中。XSL 文件 (MyXSL.xsl) 也存储在同一目录中。下面是 XSL 文件:<?xml version='1.0' encoding='UTF-8'?>         
     <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
        <xsl:template match = 'Employees'>                       
           <TR>                                                  
             <TD><xsl:value-of select = '@FirstName' /></TD>     
             <TD><B><xsl:value-of select = '@LastName' /></B></TD>
           </TR>                                                 
        </xsl:template>
        <xsl:template match = '/'>                              
          <HTML>                                                 
            <HEAD>                                               
               <STYLE>th { background-color: #CCCCCC }</STYLE>   
            </HEAD>                                              
            <BODY>                                               
             <TABLE border='1' style='width:300;'>               
               <TR><TH colspan='2'>Employees</TH></TR>           
               <TR><TH >First name</TH><TH>Last name</TH></TR>   
               <xsl:apply-templates select = 'root' />           
             </TABLE>                                            
            </BODY>                                              
          </HTML>                                                
        </xsl:template>                                          
    </xsl:stylesheet>
    下面的 URL 执行模板:http://IISServer/nwind/template/TemplateWithXSL.xml?contenttype=text/html结果以两列表的格式(FirstName 和 LastName)显示。还可在 URL 中指定 XSL 文件,而不是在模板中(使用 sql:xsl)指定该文件。在这种情况下,XSL 文件必须存储在与虚拟根 (nwind) 或其子目录关联的目录中,此时必须在 URL 中指定相对路径。假设 XSL 文件存储在与 nwind 虚拟目录关联的目录中,则下面的 URL 执行模板:http://IISServer/nwind/template/templateFile.xml?xsl=MyXSL.xsl
    如果 XSL 文件存储在虚拟根目录的一个子目录 (x) 中,则下面的 URL 这样指定相对路径:http://IISServer/nwind/template/templateFile.xml?xsl=/x/MyXSL.xsl
    如果在模板中使用 sql:xsl 并且在 URL 中使用关键字 xsl 指定 XSL 文件,则在模板中指定的 XSL 样式表首先应用于结果,然后应用在 URL 中指定的 XSL 文件。

    示例 XPath 查询
    本示例 XPath 查询引用下面两个映射架构。映射架构是带批注的简化 XML-Data (XDR) 架构。有关映射架构的更多信息,请参见使用带批注的 XDR 架构创建 XML 视图。

     

    说明  在可以使用 URL 执行示例 XPath 查询前,必须创建虚拟根以访问 Northwind 数据库和 template 及 schema 类型的虚拟名称。有关创建示例 nwind 虚拟目录和虚拟名称的信息,请参见创建 nwind 虚拟目录。有关使用 HTTP 访问 Microsoft® SQL Server™ 的更多信息,请参见使用 HTTP 访问 SQL Server。


    有两种方法可对带批注的 XDR 架构执行 XPath 查询:

    创建一个模板,在其中包含一个 XPath 查询。然后在 URL(例如 http://IISServer/VirtualRoot/TemplateVirtualName/TemplateFile.xml)中执行该模板。在该模板中,指定将对其执行 XPath 查询的映射架构。在这种情况下,必须将映射架构存储到与 template 类型的虚拟名称相关联的目录(或它的一个子目录,此时将某相对路径指定为模板内 mapping-schema 特性的值)下。


    可直接在 URL(例如 http://IISServer/VirtualRoot/SchemaVirtualName/SchemaFile.xml/XpathQuery)中指定 XPath 查询。在这种情况下,必须将架构文件存储到与 schema 类型的虚拟名称相关联的目录下。
    示例带批注的 XDR 架构
    在本节的所有示例中,为了说明,将在模板中指定 XPath 查询,并使用 HTTP 执行该模板。因此,必须使用此映射架构文件 (SampleSchema1.xml),它保存在与 template 类型虚拟名称相关联的目录下:

    <?xml version="1.0" ?>
    <Schema xmlns="urn:schemas-microsoft-com:xml-data"
            xmlns:dt="urn:schemas-microsoft-com:datatypes"
            xmlns:sql="urn:schemas-microsoft-com:xml-sql">

      <ElementType name="Customer" sql:relation="Customers">
        <AttributeType name="CustomerID" dt:type="id" />
        <AttributeType name="CompanyName" />
        <AttributeType name="ContactName" />
        <AttributeType name="City" />
        <AttributeType name="Fax" />
        <AttributeType name="Orders" dt:type="idrefs"  sql:id-prefix="Ord-" />

        <attribute type="CustomerID" />
        <attribute type="CompanyName" />
        <attribute type="ContactName" />
        <attribute type="City" />
        <attribute type="Fax" />
        <attribute type="Orders" sql:relation="Orders" sql:field="OrderID">
          <sql:relationship 
                    key-relation="Customers" 
                    key="CustomerID"
                    foreign-relation="Orders"
                    foreign-key="CustomerID" />
        </attribute>

        <element type="Order">
          <sql:relationship
                   key-relation="Customers" 
                   key="CustomerID"
                   foreign-relation="Orders"
                   foreign-key="CustomerID" />
        </element>
      </ElementType>

      <ElementType name="Order" sql:relation="Orders">
        <AttributeType name="OrderID" dt:type="id" sql:id-prefix="Ord-" />
        <AttributeType name="EmployeeID" />
        <AttributeType name="OrderDate" />
        <AttributeType name="RequiredDate" />
        <AttributeType name="ShippedDate" />

        <attribute type="OrderID" />
        <attribute type="EmployeeID" />
        <attribute type="OrderDate" />
        <attribute type="RequiredDate" />
        <attribute type="ShippedDate" />

        <element type="OrderDetail">
          <sql:relationship
                     key-relation="Orders"             
                     key="OrderID"
                     foreign-relation="[Order Details]"
                     foreign-key="OrderID" />
        </element>
      </ElementType>

      <ElementType name="OrderDetail" sql:relation="[Order Details]"
                                      sql:key-fields="OrderID ProductID">
        <AttributeType name="ProductID" dt:type="idref"
                                        sql:id-prefix="Prod-" />
        <AttributeType name="UnitPrice"/>
        <AttributeType name="Quantity" />

        <attribute type="ProductID" />
        <attribute type="UnitPrice" sql:field="UnitPrice" />
        <attribute type="Quantity" />

        <element type="Discount"  sql:field="Discount"/>
      </ElementType>

      <ElementType name="Discount" dt:type="string"
                                   sql:relation="[Order Details]"/>

    <ElementType name="Employee" sql:relation="Employees">
        <AttributeType name="EmployeeID" />
        <AttributeType name="LastName" />
        <AttributeType name="FirstName" />
        <AttributeType name="Title" />

        <attribute type="EmployeeID" />
        <attribute type="LastName" />
        <attribute type="FirstName" />
        <attribute type="Title" />
    </ElementType>
    </Schema>

    说明  

    按查询所执行的 XPath 操作类型将示例查询分组。

     

    发表于 @ 2004年08月05日 14:06:00|评论(loading...)|编辑

    新一篇: 蛙蛙推荐:一点准程序员工作经验总结 | 旧一篇: 蛙蛙推荐:css样式表的优先级别演示

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 蛙蛙王子