社区
XML/XSL
帖子详情
document的使用?
ttyp
2005-01-29 10:12:49
想做一个两个XML的关联查询,可是当document指定的xml文件不存在的时候会报错,有没有什么办法在xsl里判断此xml文件是否存在,或者加错误陷阱跳过,这个有点像数据库里的外连接
...全文
444
35
打赏
收藏
document的使用?
想做一个两个XML的关联查询,可是当document指定的xml文件不存在的时候会报错,有没有什么办法在xsl里判断此xml文件是否存在,或者加错误陷阱跳过,这个有点像数据库里的外连接
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
35 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ssm1226
2005-03-04
打赏
举报
回复
偶还要请教楼上问题呢:)~
ttyp
2005-03-04
打赏
举报
回复
ie的实现者是让它报错:(
笨笨兔兔兔兔兔
2005-03-04
打赏
举报
回复
关键是对xsl不熟悉啊,楼上给讲讲啦*^_^*
期待的目光
笨笨兔兔兔兔兔
2005-03-04
打赏
举报
回复
XSLT程序员参考手册(第二版)一书的363页是讲document的其中364页最后一段这什么写的:
函数document()的输入参数URI必须能够唯一(原书这里有错别字)标识一个XML文档.如果该URI不合
法,或者它不标识任何资源,或者标识的资源不是一个XML文档,XSLT规范就让实现者来决定应如何处
理:可以报错,也可以返回一空节点集.
ssm1226
2005-03-04
打赏
举报
回复
能用xsl解决的,最好不要用脚本:)~``
ssm1226
2005-03-04
打赏
举报
回复
:)~~
ttyp
2005-03-04
打赏
举报
回复
博客园我写的很多都是js
.net都是些技巧,没啥写的
笨笨兔兔兔兔兔
2005-03-04
打赏
举报
回复
如果我有电子的我就把原因帖了,我回家再写吧,博客园的blog我一次都没写过,关键是我不用.net,实在懒得写看了.net后的心得
ttyp
2005-03-04
打赏
举报
回复
to ssm1226(雨中人) :在你这块田里你老大:)
ttyp
2005-03-04
打赏
举报
回复
to liuxiaoyi666(兔子):我都是看ms xml4.0的sdk的,比较全,就是他的例子都太简单
ssm1226
2005-03-04
打赏
举报
回复
to ttyp(@http://www.cnblogs.com/ttyp/) :老兄也是强人呀,呵呵:)
ssm1226
2005-03-04
打赏
举报
回复
有本xslt高级编程,不是电子的:(
笨笨兔兔兔兔兔
2005-03-04
打赏
举报
回复
楼上你有没有XSLT程序员参考手册 wrox的,机械工业出版社的,我看到原因了
ttyp
2005-03-04
打赏
举报
回复
都这么谦虚啊-_-!
笨笨兔兔兔兔兔
2005-03-03
打赏
举报
回复
<xsl:variable name="t" select="document(concat(@id,'.xml'))//content"/> ------------------------>这里有问题,当concat(@id,'.xml')表示的xml不存在时会报错
<xsl:stylesheet version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:js="javascript:code">
<xsl:script language="javascript" implements-prefix="js">
</xsl:script>
这个是方法一的解决
<xsl:variable name="t" select="document(concat(@id,'.xml'))//content"/> ------------------------>这里有问题,当concat(@id,'.xml')表示的xml不存在时会报错
方法二 插入例如<div>的html元素
在前面跟我一样用script脚本
用transform去解析xml文件并返回html文本用innerHTML插入
方法三 用xmlhttp插入
呵呵,反正方法多多了,随便你选择了
效率是第一种最高,不过不大好写,我基本上不用这种方法,不得以而为之的
ttyp
2005-03-03
打赏
举报
回复
这个是我的xsl
<?xml version="1.0" encoding="GB2312" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="a" select="1"/>
<xsl:template match="/">
<html>
<head>
</head>
<body>
<TABLE border="1">
<caption>
<xsl:value-of select="@name"/>
</caption>
<xsl:for-each select=".//item">
<xsl:variable name="t" select="document(concat(@id,'.xml'))//content"/> ------------------------>这里有问题,当concat(@id,'.xml')表示的xml不存在时会报错
<TR>
<td><xsl:number value="position()" format="1. "/></td>
<xsl:if test="position() mod 2 = 0">
<xsl:attribute name="bgcolor">#f4f4f4</xsl:attribute>
</xsl:if>
<TD><xsl:value-of select="$t"/></TD>
<TD><xsl:value-of select="@name"/></TD>
</TR>
</xsl:for-each>
</TABLE>
<xsl:element name="input">
<xsl:attribute name="type">button</xsl:attribute>
<xsl:attribute name="value">close</xsl:attribute>
<xsl:attribute name="onclick">javascript:window.opener=null;window.close();</xsl:attribute>
</xsl:element>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
ttyp
2005-03-03
打赏
举报
回复
呵呵,再次感谢,都打了这么多字,有思路就好了。我想的是第一种加一个判断文件是否存在的函数,用fso有权限问题,因此最好是xmlhttp,然后再调用document前调用这个函数,我做的是联合查询中搜索关键字,数据稍微多点就回慢的,因此需要效率,估计xmlhttp效率也好不到哪去,要是document内部不报错就好了
笨笨兔兔兔兔兔
2005-03-03
打赏
举报
回复
后来我寻找到了三种解决办法,其中第一种是无意中看到了你刚才给的网址,然后查书的,后来有想到了
第三种办法,然后写了个xmlhttp的类,不过这个在本地的机器是实在是不好,有点儿大材小用了,最后
是想到了xmldom的方法,呵呵*^_^*
然后我总结了一下,根据原理出发想了想应该是第一种方法的效率最高,因为,我发现xslt是这么个执
行的方法,先检查语法规则,之所以我写成了<script src="xx.vbs"></script>那个是有原因的
因为如果不这么写的话&符号是不符合xml标准的,所以我求求你(啊不对了,被听的歌带跑了,脸红一
下),根据这个原理,再分析如果初始化的话就是先解析了xslt的script,这样一上来就执行了,而且是
比较全的,不会出现了脚本错误这种现象(我始终认为客户端js是不太稳定的),然后才是你加载
的xmldom的对象操作,而且多创建一个对象的话,显然效率是差一些的,所以综上所述我得出了第一种
效率最高,在二,三种的效率来看,我觉得是第二种效率高一些
打了一大堆废话,呵呵,其实都是逻辑推论的,不一定符合真实情况,这个要做测试的*^_^*
笨笨兔兔兔兔兔
2005-03-03
打赏
举报
回复
哈哈你也找到这篇文章了,我是看完了以后又看了xslt程序员参考书
照着书写的*^_^*有个扩展script的方法,你可以看wrox的那本书里写的,估计是w3c的,ms不是很符合,猜
测中,因为书上是说"本书的例子与MSXML"的不完全相同
所以后来我就没用,因为对我来说效率不是第一位要考虑的,我做的东西是在本机上运行的,能装xp的机
器运行都不费力,所以我用了xmldom,我当时跟你有一样的困惑的
ttyp
2005-03-03
打赏
举报
回复
找了篇文章http://www-900.ibm.com/developerWorks/cn/xml/tips/x-tipxsltjs/index.shtml,在xsl中调用js,呵呵,问题不大了
加载更多回复(15)
什么是 window 对象?什么是
document
对象?
1、什么是 window 对象 简单来说,
document
是 window 的一个对象属性 Window 对象表示浏览器中打开的窗口。 如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。 所有的全局函数和对象都属于 Window 对象的属性和方法。 它是一个顶层对象,而不是另一个对象的属性,即浏览器的窗口。 ...
Html怎样转换为
document
,html中的
document
对象是什么?
首先我们来介绍一下HTML中的
document
对象:文档对象(
document
)代表浏览器窗口中的文档,该对象是window对象的子对象,由于window对象是DOM对象模型中的默认对象,因此window对象中的方法和子对象不需要
使用
window来引用。通过
document
对象可以访问HTML文档中包含的任何HTML标记并可以动态的改变HTML标记中的内容。例如表单、图像、表格和超链接等。再来看看...
JS中的window对象和
document
对象是什么?有什么区别?
一、指代不同 1、
document
对象:代表给定浏览器窗口中的HTML文档,
document
是window的一个对象属bai性。 2、window对象:表示浏览器中打开的窗口。 二、作用不同 1、
document
对象:
使用
document
对象可以对HTML文档进行检查、修改或添加内容,并处理该文档内部的事件。 2、window对象:浏览器会为HTML文档创建一个window对象,并未每个框架创建一个额外的window对象。 三、
使用
方式不同: 1、
document
对象:在Web页面上,
document
对象可
html页面设置
document
类型,html
document
类型
HTML
Document
类型文件怎么打开啊?我把网页保存了起来,结果打不开,属性是HTML
Document
类型的文件;如果右键打开方式里边找一个浏览器打开下试试,如果不行的话,估计就是你保存的有问题。怎么打开Chrome HTML
Document
类型的文件?下载了一套题,打开是乱码好吧,其实仔细看楼主是在压缩包中打开的,再仔细一看PDF格式的文件,再仔细一看
使用
的TXT文本工具打开的PDF文...
location.href 和
document
.URL 与
document
.
document
URI
该属性的值和DOM Level 0 中的
document
.location.href 属性的值是相等的。然而
document
.location.href 是可写的,
document
.URL 是只读的。该属性的值和DOM Level 0 中的
document
.location.href 属性的值是相等的。
document
.URL 属于比较老的 api, 作为代替应该尽量
使用
window.location.href 而非
document
.URL.?的值改变了, 并且页面也改变了, 效果和。
XML/XSL
8,909
社区成员
22,678
社区内容
发帖
与我相关
我的任务
XML/XSL
XML/XSL相关问题讨论专区
复制链接
扫一扫
分享
社区描述
XML/XSL相关问题讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章