在XSLT,什么也意味着,什么是跨浏览器的解决方案?

XSL:

<xsl:if test=".[foo or @bar]"> something </xsl:if>

  1. 它是测试,如果目标是'富'的标签名称或有一个'酒吧'属性?
  2. 它只能在IE浏览器,我想知道是否有错误。 什么是等效的句子,但工程跨浏览器?

--------------解决方案-------------

<xsl:if test=".[foo or @bar]">
something
</xsl:if>

在XSLT 1.0这在语法上是无效的,并产生一个错误

在XSLT 2.0这相当于

<xsl:if test="foo or @bar">
something
</xsl:if>

表达式

foo or @bar

计算结果为true()恰好当上下文节点(当前节点)具有一个名为子元素foo 上下文节点具有属性名为bar (或两者)。

否则,这个表达式的值为false()

因此,上面的代码片段的意思是: 如果这两个条件为真:当前节点有一个子元素命名为foo或当前节点的属性命名的bar -然后输出字符串“东西”

语法.[x]中不允许XSLT 1.0。 它被允许在XSLT 1.0的初稿,我怀疑它是从最终版本作为监督的结果,不存在,而不是作为一个深思熟虑的设计决定(和已经说过,它是在XSLT 2.0恢复)。 由于IE浏览器首次发布其XSLT处理器1.0规范定稿之前,这是可能的,他们支持这个语法与早期草稿的向后兼容性。

它测试当前节点是否有一个名为子元素foo ,或有所谓的属性bar 。 也就是说,如果将其更改为

<xsl:if test="foo or @bar">

您使用的语法被拒绝,在我的XSL分析器: Invalid XPath expression Unexpected token - "[foo or @bar]"

我使用的一个应该工作的跨浏览器。
如果你想选择一个有名字的节点foobar属性,然后使用以下命令:

<xsl:if test="name()='foo' or @bar">

分类:XSLT 时间:2012-01-01 人气:0
本文关键词: XSLT,跨浏览器
分享到:

相关文章

  • 在JavaScript的跨浏览器的XPath实现 2012-08-08

    我正在寻找一个图书馆的XPath查询过在FF,IE,Opera和Safari浏览器的XML文档......,无法找到一个. 你见过没有? --------------解决方案------------- 谷歌刚刚发布了邪恶的良好的XPath - 才望子实验室著名的JavaScript的的XPath重写. 链接:https://code.google.com/p/wicked-good-xpath/ 重写的版本要小40%,约30%,比原来的执行速度更快. 谷歌的AJAXSLT开源项目正好符合规定的要

  • 跨浏览器的XML操作使用ASP.Net Ajax库 2012-08-25

    我目前正在更新Web应用程序,使用ActiveX对象在客户端代码来处理一些XML. 当然,这个程序只适用于IE浏览器,我需要得到它的跨浏览器兼容. 我希望得到一个javascript XML库来处理跨浏览器的古怪,并想知道如果ASP.Net Ajax库会工作. 我环顾了一下周围,但我一直没能加载使用这种新的XMLDOM对象向上的任何实例. 如果没有,任何其他好图书馆外面我应该看看? 谢谢 --------------解决方案------------- 如果你需要XPath或(的或不异型)XSL-

  • 在Java脚本跨浏览器标准的XML处理 2014-10-06

    我试图找出如何处理XML的Java脚本所以我用Google搜索了. 问题是,我不知道是否有教程我看到的将IE浏览器只工作. 什么是"标准"的方式来处理XML数据的Java脚本? 编辑:感谢所有的答案. 我想问一个问题呢. 是否有某种第三方库这让我transperatly写JS代码,而不担心跨浏览器的功能 --------------解决方案------------- 使用教程在w3schools.com. 它们表示如何与各种浏览器的工作 比如(片段) try //Internet Ex

  • 跨浏览器的JavaScript解析器XML命名空间 2015-01-06

    这个主题已经被触及过,但一直以来关于命名​​空间处理的最后一个问题一段时间. 是否有一个跨浏览器的解决方案获得通过名称在Javascript中的元素? <?xml version="1.0" encoding="UTF-8"?> <NS:response success="1" xmlns:NS="http://someURI/ns"> <NS:user firstname="foo&q

  • 获得最后一个页面的URL历史对象 - 跨浏览器? 2012-01-05

    嘿家伙 - 有没有简单的答案对我来说还没有一个简单的问题:) 是否有可能从历史中获取对象的最后一个页面的网址? 我来翻过history.previous但这是未定义或从我所看到的保护 --------------解决方案------------- 不从history的对象,而是从document.referrer . 如果你想获得最后访问的实际页面,也未做根据每个属性的支持独立的情况下,没有跨浏览器的方式. 你不能让历史在任何浏览器. 这将是一个严重的安全违规,因为这将意味着,任何人都可以在他们

  • 跨浏览器的滚动条的DIV 2012-01-06

    我试图找到一种方法,一个跨浏览器兼容的滚动条添加到一个div. 我不得不求助于使用两种混合方法 - 请参见下面的CSS: .div{ /*-Only works for IE*/ overflow-y:scroll; overflow-x:hidden; /*Works for all browsers except IE*/ overflow: -moz-scrollbars-vertical; } 我已经用这种方法发现的唯一的问题是,非IE滚动条移动div的内容跨越,以适应和IE只滚动条没有

  • 使用Javascript /闪光微小的,跨浏览器的声音播放器 2012-01-13

    我正在寻找的Javascript /闪光微小的,跨浏览器的声音播放器(通知),但每次我见过的解决办法是或过大,功能全,或基于不同的库(不是jQuery的我使用),或与错误. 我唯一​​需要的特点是'玩'. :) 例如,http://flash-mp3-player.net/players/js/download/ - 这个可爱的小球员不会在Firefox(的setVariable问题)工作. 我做这个工作,几乎是三天三夜. ) 请推荐微小的,跨浏览器的实现. 谢谢! --------------

  • 跨浏览器的“光标:指针” 2012-01-17

    我发现这些CSS属性,使光标看起来像一只手: IE浏览器 -风格="光标:手;" NS6 / IE6 -风格="光标:指针," 跨浏览器 -风格="光标:指针;光标:手;" 不过,我注意到,堆栈溢出是用"光标:指针",在它的CSS. 但是,这显然是在IE浏览器也适用. 所以......怎么办? 什么是正确的,与浏览器无关的方式来使用这个CSS项目? --------------解决方案------------- 据Quirks

  • 什么是跨浏览器编程的最佳工具? 2012-01-18

    我是新的网页设计和我目前的设计了一个网站,需要在所有的浏览器. 我想知道我应该为了不有我的网站的工作对如火狐,而不是IE浏览器的问题,请使用. 我想只是用CSS和一些JavaScript的. 将这项工作? --------------解决方案------------- 你将永远必须检查你设计你想要的工作的浏览器. 限制自己一定的技术将没有真正的工作,因为这些技术(主要是CSS和JavaScript)是问题的根源. CSS是所有主流浏览器的支持,当然,但某些CSS规则的行为可能会存在差别取决于它们

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.567 (s). 10 q(s)