我有一段XSLT代码:
<xsl:variable name="VulnerabilityURI">
http://web.nvd.nist.gov/view/vuln/detail?vulnId=
</xsl:variable>
<xsl:variable name="WeaknessURI">
http://cwe.mitre.org/data/definitionsn
</xsl:variable>
<xsl:variable name="CVEURI">
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=
</xsl:variable>
<xsl:variable name="cweID" select="substring(vuln:cwe/@id,5)" />
<xsl:template match="/*/*">
<xsl:variable name="cveID" select="vuln:cve-id" />
<xsl:element name="rdf:Description">
<xsl:attribute name="rdf:about">
<xsl:value-of select="concat($VulnerabilityURI, $cveID)" />
</xsl:attribute>
<aseg:cveID>
<xsl:value-of select="concat($CVEURI,$cveID)" />
</aseg:cveID>
输出如下:
<?xml version="1.0" encoding="UTF-8"?>
.....
.....
<rdf:Description rdf:about=" 		http://web.nvd.nist.gov/view/vuln/detail
vulnId= 	CVE-2010-2227">
<aseg:cveID>
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=
CVE-2010-2227</aseg:cveID>
正如您在结果的这一部分中所看到的,我想要的连接变量产生了未知字符
	
任何人都可以帮我解决问题吗?!!
答案 0 :(得分:5)
这些“噪音字符”是换行符和制表符。而不是
<xsl:variable name="VulnerabilityURI">
http://web.nvd.nist.gov/view/vuln/detail?vulnId=
</xsl:variable>
你可以写
<xsl:variable
name="VulnerabilityURI"
select="'http://web.nvd.nist.gov/view/vuln/detail?vulnId='" >
然后你就不会得到那些角色。
您还需要在设置CVE ID时执行类似操作。