xslt 语法错误 <text> 元素

Posted

技术标签:

【中文标题】xslt 语法错误 <text> 元素【英文标题】:xslt syntax error <text> element 【发布时间】:2012-11-06 20:59:24 【问题描述】:

这就是我想要做的 =

<xsl:text><xsl:value-of select="//Row_3/YEAR"/></xsl:text>

这是我得到的错误 -

cvc-complex-type.2.2:元素 'xsl:text' 必须没有元素 [children],且值必须有效。

我做错了什么?

谢谢!

【问题讨论】:

【参考方案1】:

就像错误消息所说,xsl:text 不能有任何孩子。只需使用&lt;xsl:value-of select="//Row_3/YEAR"/&gt;

【讨论】:

但在此之前它有效。我刚刚将我的工作区移到了一台新计算机上,并且开始出现此错误。我有 55 个不同的地方,它们的语法相似。想法? @Return0 您的 xslt 版本或解析器是否发生了变化?无论如何,这确实回答了您提出的问题。请考虑发布一个单独的问题。 @Return0 - 如果您之前没有遇到错误,则 XSLT 根本没有得到验证。好消息是 XSLT 仍然是 XML,因此您可以编写另一个转换来将嵌套的 xsl:value-of 拉出 xsl:text【参考方案2】:

您究竟需要 做什么?根据W3Schools,此元素可能仅包含文字、实体引用和#PCDATA

如果您的构造没有充分的理由,请尝试

<xsl:value-of select="//Row_3/YEAR"/>

改为。

【讨论】:

这里有一个比 W3Schools 可靠一点的链接:w3.org/TR/xslt#section-Creating-Text

以上是关于xslt 语法错误 <text> 元素的主要内容,如果未能解决你的问题,请参考以下文章

使用 XSLT 对子元素进行排序

XSLT 中的同级选择问题

XSLT 转换与计数

XML,XSD和XSLT学生的项目

XSLT 字符串替换

xslt 1.0 添加新元素