2011-06-12 55 views

回答

4

XSLT文件也是XML文件; XML Spec says not to use '<' and '&' literally except in certain contexts。所以这是在XSLT文件中保存格式良好的XML的问题。

+0

heys我刚刚读过这个链接,它表示可以在处理指令中使用它们。我想知道如果我们的代码是''xsl:if test =“string-length($ pText)> 0”>'部分''字符串长度($ pText)> 0“'是否符合处理指令? – Pacerier 2011-06-12 14:01:30

0

因为<>是标签分隔符 - 因此我们需要将其作为实体逃脱& l t;或者&#x 3 e;作为序列

+0

活的例子证明你说的是错的:Go http://stackoverflow.com/questions/6282417/i-would-like-to-implement-a-split-function- template-which-take-as-input-a-stri/6317062并搜索' 0”> – Pacerier 2011-06-12 13:28:29

3

无关,与XSLT,除了一个事实,即它的XML和XML属性值中不允许<(但不是>):

$ cat > a.xml 
<elm a=">"/> 
$ xmllint a.xml 
<?xml version="1.0"?> 
<elm a="&gt;"/> 
$ 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="<"/> 
     ^
1

我的意思是我改成了<xsl:if test="a < b">及其工作罚款.. 为什么不只是使用这个?

如果这是真的,你所谓的“XSLT处理器”不是一个。任何XSLT样式表必须是格式良好的XML文档。任何格式正确的XML文档都不能在属性值中包含字符"<"

因此,请更正您的问题中的不真实陈述。

相关问题