在 xsl 中使用符号

发布于 2024-11-06 06:30:23 字数 242 浏览 0 评论 0原文

我在 xsl 文件中使用符号 > ,它可以工作,但是当我使用 <= 时,它什么也不显示。

谁能告诉我,它有什么问题 <= 以及我应该使用哪种替代方案?

<xsl:if test="price &lt; 100">
<xsl:if test="price > 100">

i am using symbols > in xsl file , which work but when i am using like <= it shows nothing.

can anybody tell me , whats wrong with it <= and which alternative should i use?

<xsl:if test="price < 100">
<xsl:if test="price > 100">

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

长梦不多时 2024-11-13 06:30:24

XSLT 样式表必须是格式正确的 XML 文档。这就是为什么 < 字符(以及 & 字符)不在 CDATA 节中时必须始终进行转义的原因。

使用其中之一

<xsl:if test="price <= 100"> 

或者,如果您不喜欢转义:

<xsl:if test="not(price > 100)"> 

An XSLT stylesheet must be a well-formed XML document. This is why the < character (and the & character) has to be escaped always when they are not in a CDATA section.

Use either:

<xsl:if test="price <= 100"> 

or, if you don't like escaping:

<xsl:if test="not(price > 100)"> 
莫多说 2024-11-13 06:30:24

W3C XML 规范 规定文字 <(> 即可):

属性值中直接或间接引用的任何实体的替换文本不得包含 <。

所以在test属性中,需要转义<。如果您的条件是 price <= 100 那么您可以将其写为:

<xsl:if test="price <= 100">

The W3C XML spec says that a literal < is not allowed in an attribute (> is OK):

The replacement text of any entity referred to directly or indirectly in an attribute value must not contain a <.

So in the test attribute, you need to escape <. If your condition is price <= 100 then you would write it as:

<xsl:if test="price <= 100">
有深☉意 2024-11-13 06:30:24

您应该将 < 转义为 <,如第一个代码示例中所示。

> 转义符是 >

您应该转义在 XML 中具有特殊含义的字符 - 这些是 <>"'&

尽管在属性中,使用 > 也可以。

请参阅 这个所以问题和答案。

You should escape < to <, as you have in your first code example.

The > escape is >.

You should escape characters that have special meaning in XML - these are <>"'&.

Though in attributes, using > is fine.

See this SO question and answers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文