<h2>My CD Collection</h2>
<table border=”1″>
<tr bgcolor=”#9acd32″>
<th>Title</th>
<th>Artist</th>
</tr>
<tr>
<td><xsl:value-of select=”catalog/cd/title”/></td>
<td><xsl:value-of select=”catalog/cd/artist”/></td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
7、<xsl:for-each> 元素
<xsl:for-each> 元素可用于选取指定的节点集中的每个 XML 元素。
在何处放置排序信息
如需对结果进行排序,只要简单地在 XSL 文件中的 <xsl:for-each> 元素内部添加一个 <xsl:sort> 元素。
8、<xsl:choose> 元素语法
<xsl:choose>
<xsl:when test=”expression“>
… 输出 …
</xsl:when>
<xsl:otherwise>
… 输出 ….
</xsl:otherwise>
</xsl:choose>
9、<xsl:apply-templates> 元素
<xsl:apply-templates> 元素可把一个模板应用于当前的元素或者当前元素的子节点。
假如我们向 <xsl:apply-templates> 元素添加一个 select 属性,此元素就会仅仅处理与属性值匹配的子元素。我们可以使用 select 属性来规定子节点被处理的顺序。
10、在浏览器中把 XML 转换为 XHTML(客户端)
这是用于在客户端把 XML 文件转换为 XHTML 的源代码:
<html>
<body>
<script type=”text/javascript”>
// Load XML
var xml = new ActiveXObject(“Microsoft.XMLDOM”)
xml.async = false
xml.load(“cdcatalog.xml”)
// Load XSL
var xsl = new ActiveXObject(“Microsoft.XMLDOM”)
xsl.async = false
xsl.load(“cdcatalog.xsl”)
// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>
11、在服务器把 XML 转换为 XHTML
这是在服务器上把 XML 文件转换为 XHTML 的源代码:
<%
‘Load XML
set xml = Server.CreateObject(“Microsoft.XMLDOM”)
xml.async = false
xml.load(Server.MapPath(“cdcatalog.xml”))
‘Load XSL
set xsl = Server.CreateObject(“Microsoft.XMLDOM”)
xsl.async = false
xsl.load(Server.MapPath(“cdcatalog.xsl”))
‘Transform file
Response.Write(xml.transformNode(xsl))
%>
八、XQuery
什么是 XQuery?
XQuery 是用于 XML 数据查询的语言
XQuery 对 XML 的作用类似 SQL 对数据库的作用
XQuery 被构建在 XPath 表达式之上
XQuery 被所有主要的数据库引擎支持(IBM、Oracle、Microsoft等等)
XQuery 使用函数来提取 XML 文档中的数据。
doc() 用于打开 “books.xml” 文件:
doc(“books.xml”)
路径表达式
XQuery 使用路径表达式在 XML 文档中通过元素进行导航。
下面的路径表达式用于在 “books.xml” 文件中选取所有的 title 元素:
doc(“books.xml”)/bookstore/book/title
谓语
XQuery 使用谓语来限定从 XML 文档所提取的数据。
下面的谓语用于选取 bookstore 元素下的所有 book 元素,并且所选取的 book 元素下的 price 元素的值必须小于 30:
doc(“books.xml”)/bookstore/book[price<30]
使用 FLWOR 选取节点
for $x in doc(“books.xml”)/bookstore/book
where $x/price>30
order by $x/title
return $x/title
FLWOR 是 “For, Let, Where, Order by, Return” 的只取首字母缩写。
for
语句把 bookstore 元素下的所有 book 元素提取到名为 $x 的变量中。
where
语句选取了 price 元素值大于 30 的 book 元素。
order by
语句定义了排序次序。将根据 title 元素进行排序。
return
语句规定返回什么内容。在此返回的是 title 元素。
九、 SOAP
(1)SOAP 构建模块
一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:
必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
可选的 Header 元素,包含头部信息
必需的 Body 元素,包含所有的调用和响应信息
可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
(2)语法规则
这里是一些重要的语法规则:
SOAP 消息必须用 XML 来编码
SOAP 消息必须使用 SOAP Envelope 命名空间
SOAP 消息必须使用 SOAP Encoding 命名空间
SOAP 消息不能包含 DTD 引用
SOAP 消息不能包含 XML 处理指令
SOAP 消息的基本结构
<?xml version=”1.0″?>
<soap:Envelope
xmlns:soap=”http://www.w3.org/2001/12/soap-envelope”
soap:encodingStyle=”http://www.w3.org/2001/12/soap-encoding”>
<soap:Header>
…
</soap:Header>
<soap:Body>
…
<soap:Fault>
…
</soap:Fault>
</soap:Body>
</soap:Envelope>
actor 属性
以下文章点击率最高
Loading…