Xml 表单输入值属性中的XSLT单引号和双引号?
希望有一个快速的问题,我如何才能使它形成良好的格式,从而运行Xml 表单输入值属性中的XSLT单引号和双引号?,xml,xslt,Xml,Xslt,希望有一个快速的问题,我如何才能使它形成良好的格式,从而运行 <input type="rad" name="RadGroup" value="<xsl:value-of select="productOptionInfo"/>" /> 我基本上希望在属性值中放置一个值,但它们都需要双引号 有什么想法吗 非常感谢在XSLT中,有一个在属性中使用值的快捷方式: <input type="rad" name="RadGroup" value="{productOp
<input type="rad" name="RadGroup" value="<xsl:value-of select="productOptionInfo"/>" />
我基本上希望在属性值中放置一个值,但它们都需要双引号
有什么想法吗
非常感谢在XSLT中,有一个在属性中使用值的快捷方式:
<input type="rad" name="RadGroup" value="{productOptionInfo}" />
可以在内部使用单引号,在外部使用双引号,反之亦然 此外,XML规范说明: 要允许属性值同时包含单引号和双引号,撇号或单引号字符(
“
)可以表示为“”
”,双引号字符(“)可以表示为“”
”
使用花括号表示法:
<input type="rad" name="RadGroup" value="{productOptionInfo}" />
这是错误的:
<input type="rad" name="RadGroup"
value="<xsl:value-of select='productOptionInfo'/>" />
<input type="rad" name="RadGroup"
value='<xsl:value-of select="productOptionInfo"/>' />
<input type="rad" name="RadGroup" value="{productOptionInfo}"/>
<xsl:attribute name="input" select="productOptionInfo"/>
这也是错误的:
<input type="rad" name="RadGroup"
value="<xsl:value-of select='productOptionInfo'/>" />
<input type="rad" name="RadGroup"
value='<xsl:value-of select="productOptionInfo"/>' />
<input type="rad" name="RadGroup" value="{productOptionInfo}"/>
<xsl:attribute name="input" select="productOptionInfo"/>
在XML中,将(未缩放的)标记作为属性值是一个语法错误。请参阅W3XML规范--和
两种正确的方法是(称为AVT或):
和
<xsl:attribute name="input">
<xsl:value-of select="productOptionInfo"/>
</xsl:attribute>
在XSLT 2.0中,允许编写以下内容:
<input type="rad" name="RadGroup"
value="<xsl:value-of select='productOptionInfo'/>" />
<input type="rad" name="RadGroup"
value='<xsl:value-of select="productOptionInfo"/>' />
<input type="rad" name="RadGroup" value="{productOptionInfo}"/>
<xsl:attribute name="input" select="productOptionInfo"/>
当元素的名称是静态已知的(预先知道的)时,上面的第一种方法是最短、可读性最强的方法
当元素名不是静态已知时,必须使用第二种方法,并且必须使用
指令生成。@Mac-我添加了更多选项:)您的前两次尝试完全错误。属性不能包含未转换的标记。请通过实际运行来验证您的解决方案。我不是你提到的那个悲观的选民——我今天早上才醒来——但他可能只是对这些缺陷做出了反应。谢谢你让它起作用了,你和奥德德同时给了我正确的答案!好问题,+1。请参阅我的答案,以了解当前所选答案错误的原因,以及两个正确的XSLT 1.0解决方案和另一个XSLT 2.0解决方案。:)