2

XML を取り込み、より小さな解析済み XML を吐き出す XSLT 2.0 を作成しています。要素の 1 つはこのように見える必要があります

<article xml:lang="en" article-type="editorial"
xmlns:xlink="http://www.w3.org/1999/xlink">

article-type と同じように、属性として xml:lang を作成しました。しかし、xmlns:xlink を実行しようとすると、xmlns:xlink は属性の無効な名前であることがわかります。

4

2 に答える 2

3

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>

また、これを直接入力せずに要素に追加しようとしている場合は、次を使用しますxsl:namespace

<article>
  <xsl:namespace name="xlink" select="'http://www.w3.org/1999/xlink'"/>
</article>
于 2012-04-13T18:29:40.093 に答える
0

DevNull による正しい答えに加えて、生成される要素の名前が事前にわかっている場合 (動的に計算されない場合)、コードに次のように含めることができます。

<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>
于 2012-04-14T01:27:50.007 に答える