标签: xslt

如何让XSLT在chrome中运行?

这里有一个XML文档,它与相应的XSL文件一起提供.转换留给客户端执行,没有JavaScript.

这在IE(冲击恐怖)中运行良好,但在谷歌浏览器中,只显示文档的文本节点.

我知道可以在Chrome中进行客户端XSL,因为我已经看过它的例子,但我还是能够自己复制这个成功

我究竟做错了什么?

xslt google-chrome

82
推荐指数
5
解决办法
10万
查看次数

Pandas read_xml() method test strategies

Interestingly, pandas I/O tools does not maintain a read_xml() method and the counterpart to_xml(). However, read_json proves tree-like structures can be implemented for dataframe import and read_html for markup formats.

Now, if the pandas team does consider such a read_xml method for a future pandas version, what implementation would they pursue: parsing with built-in xml.etree.ElementTree with its iterfind() or iterparse() functions or the third-party module, lxml with its XPath 1.0 and XSLT 1.0 methods?

下面是我在一个简单,扁平,以元素为中心的XML输入上的四种方法类型的测试运行.所有这些都设置为root的任何二级子级的基因化解析,并且每个方法应该产生完全相同的pandas数据帧.除了pd.Dataframe()字典列表上的最后一次调用之外的所有内容.该XSLT转换的方法,以XML为CSV铸造StringIO()在 …

python xml xslt xpath pandas

77
推荐指数
1
解决办法
5525
查看次数

使用XSLT将XML转换为CSV

我有以下XML文档:

<projects>
  <project>
   <name>Shockwave</name> 
   <language>Ruby</language> 
   <owner>Brian May</owner> 
   <state>New</state> 
   <startDate>31/10/2008 0:00:00</startDate> 
  </project>
  <project>
   <name>Other</name> 
   <language>Erlang</language> 
   <owner>Takashi Miike</owner> 
   <state> Canceled </state> 
   <startDate>07/11/2008 0:00:00</startDate> 
  </project>
...
Run Code Online (Sandbox Code Playgroud)

我想从转换(XSLT)结果中得到这个结果:

Shockwave,Ruby,Brian May,New,31/10/2008 0:00:00
Other,Erlang,Takashi Miike,Cancelled,07/11/2008 0:00:00
Run Code Online (Sandbox Code Playgroud)

有谁知道XSLT实现这一目标?我正在使用.net以防万一.

xml csv xslt

72
推荐指数
4
解决办法
12万
查看次数

为什么XSLT默认输出所有文本?

嗨,我已经执行了一个转换,如果它是null,则删除一个标记.

我想检查我的转换是否正常工作,所以不是手动检查,而是编写了一个XSLT代码,只检查OUTPUT XML中是否存在该特定标记,如果它为null,则第二个XSLT应该输出一个文字"发现".(我实际上并不需要一些XML类型的输出,但我只是使用XSLT进行搜索.)

当我尝试使用这个XSL代码::

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/SiebelMessage//SuppressCalendar[.!='']">
      FOUND
  </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

它输出XML文件中存在的所有TEXT DATA,

为了避免这种情况,我不得不写下这段代码::

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/SiebelMessage//SuppressCalendar[.!='']">
      FOUND
  </xsl:template>
  <xsl:template match="text()"/>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

为什么以前的代码输出TEXT,为什么我要坚持XSL忽略所有其他文本?是所有XML解析器的行为或仅我自己的行为(我正在使用msxml解析器).

xslt xslt-2.0 xslt-1.0

71
推荐指数
2
解决办法
4万
查看次数

可以给我一个xsl中模板"模式"的例子吗?

<xsl:template name="temp_name" mode="mode">
Run Code Online (Sandbox Code Playgroud)

是什么意思mode?我搜索了很多资源,但我找不到这方面的例子.那么有人可以用一个例子解释一下吗?提前致谢.

xslt xslt-2.0 xslt-1.0

69
推荐指数
3
解决办法
5万
查看次数

如何使用样式表和xsltproc的xslt从xml中删除元素?

我有很多XML文件,它们具有以下形式:

<Element fruit="apple" animal="cat" />
Run Code Online (Sandbox Code Playgroud)

我想从文件中删除.

使用XSLT样式表和Linux命令行实用程序xsltproc,我该怎么做?

到目前为止,在脚本中我已经有了包含我想要删除的元素的文件列表,因此单个文件可以用作参数.


编辑:这个问题原本缺乏意图.

我想要实现的是删除整个元素"元素",其中(fruit =="apple"&& animal =="cat").在同一文件中有许多名为"元素"的元素,我希望这些元素保留下来.所以

<Element fruit="orange" animal="dog" />
<Element fruit="apple"  animal="cat" />
<Element fruit="pear"   animal="wild three eyed mongoose of kentucky" />
Run Code Online (Sandbox Code Playgroud)

会成为:

<Element fruit="orange" animal="dog" />
<Element fruit="pear"   animal="wild three eyed mongoose of kentucky" />
Run Code Online (Sandbox Code Playgroud)

xml xslt xslt-2.0 xslt-1.0

68
推荐指数
1
解决办法
9万
查看次数

使用Java进行XSLT处理?

如何使用JDK在Java中使用XSLT处理器转换XML?

java xslt

68
推荐指数
4
解决办法
9万
查看次数

如何从xml文件中删除BOM字符

我正在使用xsl来控制我的xml文件的输出,但是正在添加BOM字符.

xml xslt unicode byte-order-mark

67
推荐指数
3
解决办法
6万
查看次数

XSLT文档中的模板以什么顺序执行,它们是否与源XML或缓冲输出匹配?

这是一直让我对XSLT感到困惑的事情:

  1. 模板的执行顺序是什么,以及
  2. 当它们执行时,它们是否匹配(a)原始源XML,或者(b)XSLT的当前输出到那一点?

例:

<person>
  <firstName>Deane</firstName>
  <lastName>Barker</lastName>
</person>
Run Code Online (Sandbox Code Playgroud)

这是XSLT的一个片段:

<!-- Template #1 -->
<xsl:template match="/">
  <xsl:value-of select="firstName"/> <xsl:value-of select="lastName"/>
</xsl:template>

<!-- Template #2 -->
<xsl:template match="/person/firstName">
  First Name: <xsl:value-of select="firstName"/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

关于这个的两个问题:

  1. 我假设模板#1将首先执行.我不知道为什么我会这么想 - 是不是因为它首先出现在文件中?
  2. 模板#2会执行吗?它匹配源XML中的节点,但是当我们到达此模板时(假设它运行第二个),"firstName"节点将不在输出树中.

那么,"后来的"模板是否会受到"早期"模板中发生的事情的影响,或者它们是否对源文档进行操作,而忽略了"先前"转换为它们的内容?(所有这些单词都在引号中,因为当我真的不知道如何确定模板顺序时,我发现很难讨论基于时间的问题...)

在上面的例子中,我们有一个在根节点("/")上匹配的模板 - 当它完成执行时 - 基本上从输出中删除了所有节点.在这种情况下,这是否会抢占所有其他模板,因为在第一个模板完成后没有任何内容可以匹配?

到目前为止,我一直关注以后的模板没有执行,因为他们操作的节点没有出现在输出中,但反过来呢?"早期"模板是否可以创建"后期"模板可以执行某些操作的节点?

在与上面相同的XML上,考虑这个XSL:

<!-- Template #1 -->
<xsl:template match="/">
  <fullName>
    <xsl:value-of select="firstName"/> <xsl:value-of select="lastName"/>
  </fullName>
</xsl:template>

<!-- Template #2 -->
<xsl:template match="//fullName">
  Full Name: <xsl:value-of select="."/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

模板#1创建一个名为"fullName"的新节点.模板#2在同一节点上匹配.模板#2会执行,因为当我们到达模板#2时,输出中存在"fullName"节点吗?

我意识到我对XSLT的"禅"一无所知.到目前为止,我的样式表包含一个匹配根节点的模板,然后从那里完全是程序性的.我厌倦了这样做.我宁愿真正理解XSLT,因此我的问题.

xslt

66
推荐指数
2
解决办法
2万
查看次数

XSLT/XPath中的当前节点与Context节点?

在XSLT中,"当前节点"和"上下文节点"之间有什么区别?您可以在这里找到这两个术语:http://www.w3.org/TR/xslt.

你什么时候使用其中一个?你怎么参考每一个?

xml xslt xpath

65
推荐指数
2
解决办法
4万
查看次数

标签 统计

xslt ×10

xml ×5

xslt-1.0 ×3

xslt-2.0 ×3

xpath ×2

byte-order-mark ×1

csv ×1

google-chrome ×1

java ×1

pandas ×1

python ×1

unicode ×1