Can';t添加xmlns:xlink作为属性。
我正在制作一个XSLT2.0,它接收xml并输出更小的解析xml。其中一个元素需要如下所示Can';t添加xmlns:xlink作为属性。,xml,xslt,xpath,xslt-2.0,Xml,Xslt,Xpath,Xslt 2.0,我正在制作一个XSLT2.0,它接收xml并输出更小的解析xml。其中一个元素需要如下所示 <article xml:lang="en" article-type="editorial" xmlns:xlink="http://www.w3.org/1999/xlink"> 我创建了xml:lang作为属性,与文章类型相同。但是当我尝试执行xmlns:xlink时,它告诉我xmlns:xlink对于属性是无效的名称。您需要添加名称空间(xmlns:xlink=”http://w
<article xml:lang="en" article-type="editorial"
xmlns:xlink="http://www.w3.org/1999/xlink">
我创建了xml:lang作为属性,与文章类型相同。但是当我尝试执行xmlns:xlink时,它告诉我xmlns:xlink对于属性是无效的名称。您需要添加名称空间(
xmlns:xlink=”http://www.w3.org/1999/xlink“
)添加到您的xsl:stylesheet
例如:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink">
...
</xsl:stylesheet>
除了DevNull给出的正确答案外,如果要生成的元素的名称在advanced中是已知的(不是动态计算的),那么您可以在代码中包含:
<article xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Create necessary attributes here -->
</article>
在这种情况下,如果预先知道属性名称,即使动态计算属性值,也可以简化属性的创建:
<article xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="{$vLang}"
article-type="{$vartType}" >
<!-- Generate any content here -->
</article>
<article xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="{$vLang}"
article-type="{$vartType}" >
<!-- Generate any content here -->
</article>