gpt4 book ai didi

xml - xsltproc (osx) "not a stylesheet, compilation error"。但是 xml 和 xsl 都可以在在线工具上使用

转载 作者:数据小太阳 更新时间:2023-10-29 02:24:37 26 4
gpt4 key购买 nike

设法让我的 xsl 在 http://www.xmlper.com/ 工作(来自其他 stackoverflow 评论的好工具很好的推荐)。

但是当我在我的 mac os x 命令行上运行相同的(现在高度精简)xml 和 xsl 时,我得到“编译错误,文档不是样式表”

是否是版本问题(下面 xsltproc 的输出)?我正在运行最新的 mac (10.7) 和最新的 xcode 4.2(以确保 xml 库等)?我找不到任何关于 xsltproc 不支持 xslt v2.0 的信息(我试过设置为 v1.0 - 没有区别)我确实尝试下载其他 xslt 处理器(例如 saxon),但进入旧的 java 版本并且无法运行程序。

希望有人遇到并解决了这个问题!谢谢

输入xml文件

<?xml version="1.0" encoding="utf-8"?>
<resultsfile>
<planset>
<voicemail_divert>
<cost_over_plan>0</cost_over_plan>
<this_txn_absolutely_cost_subtotal>0</this_txn_absolutely_cost_subtotal>
</voicemail_divert>
</planset>
</resultsfile>

xsl

<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="cost_over_plan">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
<extracost_overplan_aspartoftotal>0</extracost_overplan_aspartoftotal>
<extraqty_overplan_aspartoftotal>0</extraqty_overplan_aspartoftotal>
</xsl:template>
</xsl:stylesheet>

错误

$ xsltproc --debug --novalid --nonet f.xml add_extraqtyandcostfields.xsl 
compilation error: file f.xml line 2 element resultsfile
xsltParseStylesheetProcess : document is not a stylesheet

版本信息

$ xsltproc -version
Using libxml 20703, libxslt 10124 and libexslt 813
xsltproc was compiled against libxml 20703, libxslt 10124 and libexslt 813
libxslt 10124 was compiled against libxml 20703
libexslt 813 was compiled against libxml 20703

最佳答案

manpage 中所述,样式表必须在 xsltproc 的参数中位于 XML 文件之前:

$ xsltproc --debug --novalid --nonet add_extraqtyandcostfields.xsl f.xml

应该可以。

此外,您的 xsltproc 似乎不支持 XSLT 2.0。幸运的是,您的样式表似乎不需要 new XSLT 2.0 features .您可以简单地替换 <xsl:stylesheet version="2.0"<xsl:stylesheet version="1.0"解决问题。

关于xml - xsltproc (osx) "not a stylesheet, compilation error"。但是 xml 和 xsl 都可以在在线工具上使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com