确定在XSLT我经常看到:使用`<`而不是简单地用<<来在XSLT中进行比较有什么大不了的?
<xsl:if test="a > b">
有啥大不了的呢?
我的意思是我把它改为<xsl:if test="a > b">
,它的工作正常..为什么不使用这个?
确定在XSLT我经常看到:使用`<`而不是简单地用<<来在XSLT中进行比较有什么大不了的?
<xsl:if test="a > b">
有啥大不了的呢?
我的意思是我把它改为<xsl:if test="a > b">
,它的工作正常..为什么不使用这个?
XSLT文件也是XML文件; XML Spec says not to use '<' and '&' literally except in certain contexts。所以这是在XSLT文件中保存格式良好的XML的问题。
heys我刚刚读过这个链接,它表示可以在处理指令中使用它们。我想知道如果我们的代码是''xsl:if test =“string-length($ pText)> 0”>'部分''字符串长度($ pText)> 0“'是否符合处理指令? – Pacerier 2011-06-12 14:01:30
因为<>是标签分隔符 - 因此我们需要将其作为实体逃脱& l t;或者&#x 3 e;作为序列
活的例子证明你说的是错的:Go http://stackoverflow.com/questions/6282417/i-would-like-to-implement-a-split-function- template-which-take-as-input-a-stri/6317062并搜索'
无关,与XSLT,除了一个事实,即它的XML和XML属性值中不允许<
(但不是>
):
$ cat > a.xml
<elm a=">"/>
$ xmllint a.xml
<?xml version="1.0"?>
<elm a=">"/>
$ cat > b.xml
<elm b="<"/>
$ xmllint b.xml
b.xml:1: parser error : Unescaped '<' not allowed in attributes values
<elm b="<"/>
^
b.xml:1: parser error : attributes construct error
<elm b="<"/>
^
b.xml:1: parser error : Couldn't find end of Start Tag elm line 1
<elm b="<"/>
^
b.xml:1: parser error : Extra content at the end of the document
<elm b="<"/>
^
我的意思是我改成了
<xsl:if test="a < b">
及其工作罚款.. 为什么不只是使用这个?
如果这是真的,你所谓的“XSLT处理器”不是一个。任何XSLT样式表必须是格式良好的XML文档。任何格式正确的XML文档都不能在属性值中包含字符"<"
。
因此,请更正您的问题中的不真实陈述。
哦,讽刺... – joelittlejohn 2011-06-12 13:16:00