Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
Can';t添加xmlns:xlink作为属性。_Xml_Xslt_Xpath_Xslt 2.0 - Fatal编程技术网

Can';t添加xmlns:xlink作为属性。

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

我正在制作一个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://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>