Xslt xsl检查颜色是名称还是十六进制
下面,Xslt xsl检查颜色是名称还是十六进制,xslt,xslt-1.0,Xslt,Xslt 1.0,下面,@color可以是颜色名称或十六进制值。xslt中有没有办法在测试中区分它们?像某种内置的功能还是什么 <xsl:when test="/path/@color" /> 可以是red或ff0000 如果是十六进制值,我需要知道是否要连接#符号。我相信您可以使用: <xsl:if test="translate(/path/@color, '123456789abcdef', '000000000000000')='000000'"> 这是假设十六进制颜色
@color
可以是颜色名称或十六进制值。xslt中有没有办法在测试中区分它们?像某种内置的功能还是什么
<xsl:when test="/path/@color" />
可以是red
或ff0000
如果是十六进制值,我需要知道是否要连接
#
符号。我相信您可以使用:
<xsl:if test="translate(/path/@color, '123456789abcdef', '000000000000000')='000000'">
这是假设十六进制颜色为小写,并填充为6位数字
但是,仍然有很小的机会出现误报-例如,如果一种颜色恰好被命名为“facade”,则无法将其与
#facade
十六进制值区分开来。请提供两者的示例,并说明是否可以使用XSLT 2.0。我仅限于XSLT-1.0