📄 0903-0500.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0903-0500 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 9.3.5 XOSL转换工具</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt9 {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt10 {
FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋体"
}
.TempOutline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.TempOutline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage0 {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage111 {
FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
</STYLE>
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0
onload=""><!-- 以下为主体内容 -->
<div align="center">
<center>
<TABLE border=0 width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<TBODY>
<TR vAlign=top>
<TD width=42 rowSpan=2></TD>
<TD vAlign=center width="830">
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=45 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="830" ><!-- 正文内容 -->
<DIV class=pt10><B>9.3.5 XOSL转换工具</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>XOSL(XML OLE DB Stylesheet Language)是由Mey & Westphal RIPOSTE
Software
开发的。同ODBC2XML类似,它实际上也是一个Windows动态库DLL,用于将数据从数据库中提取出来并转换成XML文档,只是它运用了ADO技术。该软件属于模板驱动,它利用特定的XOSL元素将查询语句嵌入到模板中。</P>
<P>同XSL一样,XOSL也可以将用户编写的XML代码从一种表现形式转换成其他形式。所不同之处在于,XSL是将XML转换成XML或HTML,而XOSL则是将任何表格式数据转换成XML。下面给出XOSL的编程示例。</P>
<P>仍以我们所熟悉的一段XML文档为例:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><?xml version = "1.0" encoding="GB2312"
standalone = "no"?><BR><BR><联系人列表><BR>
<联系人><BR>
<姓名>张三</姓名><BR>
<ID>1</ID><BR>
<公司>A公司</公司><BR>
<EMAIL>zhang@aaa.com</EMAIL><BR>
</联系人><BR><BR>
<联系人><BR>
<姓名>李四</姓名><BR>
<ID>2</ID><BR>
<公司>B公司</公司><BR>
<EMAIL>li@bbb.org</EMAIL><BR>
</联系人><BR></联系人列表></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>在前面讲述基于ADO技术的XML数据交换时,给出的ASP代码如下,该代码直接输出上述XML文档:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><% Response.ContentType="text/xml"
%><BR><?xml version="1.0" encoding="GB2312"
?><BR><联系人列表><BR><BR><% Set cConn =
Server.CreateObject("ADODB.Connection")<BR> cConn.Open
"CLIENTS","sa", ""<BR> Set rsData =
cConn.Execute("select * from clientList")<BR> do while
not rsData.Eof<BR>%><BR><联系人><BR>
<姓名><%=rsData("Name")%></姓名><BR>
<ID><%=rsData("ID")%></ID><BR>
<公司><%=rsData("Company")%></公司><BR>
<Email><%=rsData("Email")%></Email><BR></联系人><BR><%
rsData.MoveNext<BR> Loop<BR>
rsData.Close<BR> Set rsData =
nothing<BR>%><BR><BR></联系人列表></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>下面的代码用XOSL编写,同样可以直接输出上述XML文档。</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><xosl><BR>
<联系人列表><BR> <command source="select *
from clientList"
connectionstring="CLIENTS"><BR>
<联系人><BR>
<姓名>!Name</姓名><BR>
<ID>!ID</ID><BR>
<公司>!Company</公司><BR>
<Email>!Email</Email><BR>
</联系人><BR> </command><BR>
</联系人列表><BR></xosl></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>将该XOSL代码同前面的XML文档相比较,可以发现,二者极为相像,区别只是前者嵌入了一些指令和SQL命令,使得后面的代码相比更加直观一些。可以想象,XOSL的出现对于开发XML的数据库应用非常有效。<BR><BR>相关网址:<A
href="http://www.riposte.com/xosl/">http://www.riposte.com/xosl/</A></P></DIV>
<P></P>
<P></P></TD></TR></TBODY></TABLE>
</center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -