WEB开发网
开发学院数据库MSSQL Server SQLXML系列之一:SQLXML初体验——用XML代替SQL来... 阅读

SQLXML系列之一:SQLXML初体验——用XML代替SQL来操作数据库

 2008-12-06 10:16:03 来源:WEB开发网   
核心提示: Transform/Order.xsl & Transform.OrderDetail.xsl:由于SQLXML获取的数据实际上是一个纯XML,但是我们希望把数据在Web Page中显示出来,SQLXML系列之一:SQLXML初体验——用XML代替SQL来操作数据库(4),所以我们需要通过

Transform/Order.xsl & Transform.OrderDetail.xsl:由于SQLXML获取的数据实际上是一个纯XML,但是我们希望把数据在Web Page中显示出来。所以我们需要通过这两个XSLT把XML转化成相应的HTML。

Order.css:应用于Web Page的Css,使得页面看上去相对好看一点。

Order.aspx & OrderDetail.aspx:Web Page。

2. 创建Mapping Schema

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:sql="urn:schemas-microsoft-com:mapping-schema"  
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:annotation>
  <xs:appinfo>
   <sql:relationship name="order_orderdetail" parent="T_ORDER" parent-key="ORDER_ID" child="T_ORDER_DETAIL" child-key="ORDER_ID" >
   </sql:relationship>
  </xs:appinfo>
 </xs:annotation>
 <xs:element sql:relation="T_ORDER" name="order" type="orderType" />
 <xs:complexType name="orderType">
  <xs:sequence>
   <xs:element sql:relation="T_ORDER_DETAIL" sql:relationship="order_orderdetail" name="product" type="productType" />
  </xs:sequence>
  <xs:attribute sql:field="ORDER_ID" name="id" type="xs:int" />
  <xs:attribute sql:field="ORDER_DATE" name="date" type="xs:dateTime" />
  <xs:attribute sql:field="SUPPLIER" name="supplier" type="xs:string" />
 </xs:complexType>
 <xs:complexType name="productType">
  <xs:attribute sql:field="PRODUCT_ID" name="id" type="xs:int" />
  <xs:attribute sql:field="PRODUCT_NAME" name="name" type="xs:string" />
  <xs:attribute sql:field="PRODUCT_NAME" name="price" type="xs:double" />
  <xs:attribute sql:field="QUANTITY" name="quantity" type="xs:int" />
 </xs:complexType>
</xs:schema>
Mapping Schema是一个XSD,他实现了如何把数据库中的对象(比如一个表,一个字段,甚至表与表之间的关联)Mapping到XML中的某一格Element或者Attribute中。所有Mapping相关的Tag定义在这样一个Namespace中——urn:schemas-microsoft-com:mapping-schema。通过relationship实现了T_ORDER和T_ORDER_DETAIL之间的关联。通过relation把两个表Mapping到一order和product XML Element上,通过field把数据库中相关的字段Mapping到对应的XML Attribute上。仔细分析,上面的XSD实际上是定义了下面一种结构。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:SQLXML 系列 之一

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接