Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt xsl检查颜色是名称还是十六进制_Xslt_Xslt 1.0 - Fatal编程技术网

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