社区
XML/XSL
帖子详情
document的使用?
ttyp
2005-01-29 10:12:49
想做一个两个XML的关联查询,可是当document指定的xml文件不存在的时候会报错,有没有什么办法在xsl里判断此xml文件是否存在,或者加错误陷阱跳过,这个有点像数据库里的外连接
...全文
519
35
打赏
收藏
document的使用?
想做一个两个XML的关联查询,可是当document指定的xml文件不存在的时候会报错,有没有什么办法在xsl里判断此xml文件是否存在,或者加错误陷阱跳过,这个有点像数据库里的外连接
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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)
document
对象
document
对象详细介绍
JS中编程中什么时候用
Document
和
document
document
"对象提供了一些与文档相关的属性和方法,例如"
document
.title”、"
document
.URL"和"
document
.getElementById()"等。在编程中,一般建议在访问和操作文档中的元素和数据时,优先
使用
"
document
"对象,因为它更简洁,易于阅读和编写。通常来说,"
Document
"通常是指代文档对象模型(DOM)的接口,它包含了表示整个HTML文档的方法和属性,因此在
使用
DOM操作时,需要
使用
"
Document
"接口来访问和操作文档中的元素和数据。
JS的
document
、
document
.all用法区别
JavaScript中
document
和
document
.all对象,可能对于JS新手来说,总是会用错,若知道错了固然很容易改正,问题一般出错的时候我们都不知道是自己用错的对象,而把排错的重点放在其它地方了。为了区别二者的用法,我们先来看一个示例,比较一下哪些时候该用
document
,哪些时候要用
document
.all。 1 <body> 2 <div id="aa">...
JS
document
对象详解
document
对象其实是window对象下的一个子对象,它操作的是HTML文档里所有的内容。实际上,浏览器每次打开一个窗口,就会为这个窗口生成一个window对象,并且会为这个窗口内部的页面(即HTML文档)自动生成一个
document
对象,这样我们就可以通过
document
对象来操作页面中所有的元素了window是浏览器为每个窗口创建的对象。通过window对象,我们可以操作窗口,如打开窗口、关闭窗口、浏览器版本等,这些操作又被统称为“BOM(浏览器对象模型)”
Document
节点
原文地址:https://wangdoc.com/javascript/ 概述
document
对象。 window.
document
属性就指向这个对象。只要浏览器开始载入HTML文档,该对象就存在了,可以直接
使用
。
document
对象有不同的办法可以获取。 正常的网页,直接
使用
document
或window.
document
iframe框架里面的网页,
使用
iframe节点的contentD...
XML/XSL
8,906
社区成员
22,677
社区内容
发帖
与我相关
我的任务
XML/XSL
XML/XSL相关问题讨论专区
复制链接
扫一扫
分享
社区描述
XML/XSL相关问题讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章