Questions tagged «xslt»

XSLT是XML的一种转换语言,旨在将结构化文档转换为其他格式(例如XML,HTML和纯文本,或者在XSLT 3中为JSON)。问题应酌情使用xslt-1.0,xslt-2.0或xslt-3.0标记之一。




2
为什么XPath中的索引以1而不是0开头?
我和一些同事正在比较我们过去编程的语言,并在谈论我们在VBScript中的使用经验,它具有奇特的功能,例如基于1的索引而不是几乎所有其他语言都具有的基于0的索引,原因是用户语言(例如Excel VBA)而不是开发人员语言。 然后有人说:“ XPath也有基于1的索引 ”,直到我找到这篇文章,我才不敢相信。在这篇文章中,有很多理由支持基于0的方法,包括Michael Kay本人的一些理由: “ ...从零开始的索引趋向于在使用一维数组访问表达式访问多维数组时简化索引公式” “在处理表或下标为字符串时,从零开始的寻址通常会更加方便” “ ...硬件寻址不是基于0的寻址的唯一好处...它还使计算更容易...” 但随后引用了迈克尔·凯的结论: ...基于1的逻辑是XPath和XSLT的正确选择...因为该语言是为用户而不是为程序员设计的,并且用户仍然习惯将本书的第一章称为Chapter之一... 有人可以向我解释吗? (1)XPath是如何为用户设计的?我无法想象任何不是开发人员都对XPath的语法严格性或XSLT的声明性/功能性编程方面感到困惑的人。和(2)为什么确实的XPath的创造者违背现代编程语言的规范,通过选择基于1指数?
117 xslt  xpath  indexing 

30
XSLT值得吗?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 前一段时间,我开始设计一个html风格的XML模式的项目,以便作者可以以简化的格式编写其内容(教育课程资料),然后通过XSLT将其转换为HTML。我玩了一段时间(苦苦挣扎),并把它提升到一个非常基本的水平,但后来却因遇到的局限性(可能是我的知识局限性)以及阅读博客建议抛弃它而感到恼火XSLT并以您选择的语言编写您自己的XML解析器,我急切地跳到这一点,并且效果非常出色。 直到今天,我仍在努力(实际上我应该现在就在研究它,而不是在SO上玩),并且我看到越来越多的事情使我认为放弃XSLT的决定是好人 我知道XSLT占有一席之地,因为它是一个公认的标准,而且如果每个人都在编写自己的解释器,则其中90%的结果将在TheDailyWTF上发布。但是考虑到它是一种功能样式语言,而不是大多数程序员熟悉的过程样式语言,对于从事诸如我自己的项目的某人来说,您会建议他们沿着我所做的那样走下去,还是坚持使用XSLT??
112 xml  xslt 

1
熊猫read_xml()方法测试策略
当前,pandas I / O工具没有维护read_xml()方法,而相应的工具to_xml()。但是,read_json证明可以为数据帧导入和read_html标记格式实现树状结构。 如果大熊猫团队会考虑这样一个read_xml为未来大熊猫版本的方法,他们会追求什么实现:使用内置的解析xml.etree.ElementTree其iterfind()或iterparse()功能或第三方模块,lxml其XPath 1.0和XSLT 1.0的方法呢? 以下是我在简单,扁平,以元素为中心的XML输入上针对四种方法类型的测试运行。所有这些都针对root的任何第二级子级进行了通用解析,并且每种方法都应产生完全相同的pandas数据帧。除最后一次调用外pd.Dataframe(),所有其他功能都在词典列表中。XSLT方法将XML转换为CSV,以便StringIO()在中进行转换pd.read_csv()。 问题 (多部分) 性能:您如何解释由于iterparse迭代解析文件而通常建议对较大文件使用的速度较慢的速度?部分原因是由于if逻辑检查吗? 内存:CPU内存是否与I / O调用中的时间相关?XSLT和XPath 1.0在较大的XML文档中往往无法很好地扩展,因为必须在内存中读取整个文件才能进行解析。 策略:词典列表是Dataframe()呼叫的最佳策略吗?请参阅以下有趣的答案:生成器版本和iterwalk用户定义版本。两个上载列表到数据帧。 输入数据(Stack Overflow当前的年度最大用户,其中包括我们的熊猫朋友) <?xml version="1.0" encoding="utf-8"?> <stackoverflow> <topusers> <user>Gordon Linoff</user> <link>http://www.stackoverflow.com//users/1144035/gordon-linoff</link> <location>New York, United States</location> <year_rep>5,985</year_rep> <total_rep>499,408</total_rep> <tag1>sql</tag1> <tag2>sql-server</tag2> <tag3>mysql</tag3> </topusers> <topusers> <user>Günter Zöchbauer</user> <link>http://www.stackoverflow.com//users/217408/g%c3%bcnter-z%c3%b6chbauer</link> <location>Linz, Austria</location> <year_rep>5,835</year_rep> <total_rep>154,439</total_rep> <tag1>angular2</tag1> <tag2>typescript</tag2> <tag3>javascript</tag3> </topusers> <topusers> <user>jezrael</user> …
109 python  xml  pandas  xslt  xpath 

5
有XSLT名称元素吗?
在XSLT中有 <xsl:value-of select="expression"/> 获取元素的值,但是是否可以选择元素的标记名? 在这种情况下: <person> <!-- required stuff --> <name>Robert</name> <!-- optional stuff, free form for future extension. Using XMLSchema's xsd:any --> <profession>programmer</profession> <hobby>photography</hobby> </person> <xsl:for-each select="person"> <xsl:tag-of select="."/> : <xsl:value-of select="."/> </xsl:for-each> 要获得这样的输出: name : Robert profession : programmer hobby : photography 当然,以上XSLT不会编译,因为 <xsl:tag-of select="expression"/> 不存在。但是,怎么办呢?
101 xml  xslt  xpath 


6
XSLT可以插入当前日期吗?
我们办公室中使用的程序通过将导出的XML文件与XSLT文件转换为XHTML来导出报告。我正在重写XSLT,以更改格式并从源XML文件添加更多信息。 我想在最终报告中包括文件创建的日期。但是当前的日期/时间未包含在原始XML文件中,我也无法控制XML文件的创建方式。XSLT中似乎没有内置任何日期函数可以返回当前日期。 有谁知道我如何在XSLT转换过程中包括当前日期?
92 xslt  xhtml 

6
如何将字符串连接到xsl:value-of select =“…?
<a> <xsl:attribute name="href"> <xsl:value-of select="/*/properties/property[@name='report']/@value" /> </xsl:attribute> </a> 有什么办法可以将另一个字符串 <xsl:value-of select="/*/properties/property[@name='report']/@value" /> 除了报告属性值外,我还需要传递一些文本到href属性
92 xslt  xpath 

5
适用于.NET的XPath和XSLT 2.0?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 .NET 3.5并不完全支持XPATH 2.0或XSLT 2.0,这太糟糕了。有谁知道在将来的任何.NET版本中是否将包括这两个功能并完全支持它们?
91 .net  xslt  xpath 

6
可以使Chrome对本地文件执行XSL转换吗?
我正在研究xslt,并开始使用w3schools上的示例进行测试。 但是,当我将xml和xsl保存在文件中并尝试在本地打开它们时,chrome将不会执行xsl转换。它只是显示一个空白页。 我已经将<?xml-stylesheet type="text/xsl" href="style.xsl">标记添加到xml文档中,并且Firefox渲染了它应该看起来的样子。另外,如果我通过Web服务器查看文件,则chrome会以应有的外观显示文件。 当链接位于本地时,chrome是否在查找样式表信息时遇到问题?将href更改为file:///C:/xsl/style.xsl没有任何区别。 更新:这似乎是不将file:/// *视为相同来源的安全策略的副作用。这将导致以下错误出现在控制台中: 不安全的尝试从带有URL file:/// C:/xsl-rpg/data.xml的框架中加载URL file:/// C:/xsl-rpg/style.xsl。域,协议和端口必须匹配。

5
xsl:for-each循环内的计数器
如何在xsl:for-each循环中获取一个计数器,该计数器将反映当前处理的元素数。 例如,我的源XML是 <books> <book> <title>The Unbearable Lightness of Being </title> </book> <book> <title>Narcissus and Goldmund</title> </book> <book> <title>Choke</title> </book> </books> 我想要得到的是: <newBooks> <newBook> <countNo>1</countNo> <title>The Unbearable Lightness of Being </title> </newBook> <newBook> <countNo>2</countNo> <title>Narcissus and Goldmund</title> </newBook> <newBook> <countNo>3</countNo> <title>Choke</title> </newBook> </newBooks> XSLT进行修改: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" …
89 xml  xslt  loops 

11
如何使XSLT在Chrome中工作?
我这里有一个XML文档,该文档带有相应的XSL文件。转换留给客户端执行,无需JavaScript。 在IE(令人震惊的恐怖)中,此方法工作正常,但在Google Chrome中,仅显示文档的文本节点。 我知道可以在Chrome中执行客户端XSL,正如我所看到的例子一样,但是我还无法自己复制这种成功。 我究竟做错了什么?

3
如何创建布尔值?
我对XSLT完全陌生,无法通过以下代码找出我哪里出错了。 <xsl:variable name="var" select="boolean('false')"/> <xsl:if test="$var'">variable is true</xsl:if> 当本应为假时,它始终返回true。为什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.