2016-08-18 21 views
1

XSLTを使用してXMLファイルを別のXMLファイルに変換しようとしています。 これはこれは私がタグOGに使用しています私のXSLTの一部であり、私のXMLの一部(input.xmlに)エラー:名前空間接頭辞 "og:image"が宣言されていません:XSLT

... 
<extension> 
    <og:image>http://www.example.com/images/logos/logo-example-PNG.png</og:image> 
    <og:type>article</og:type> 
</extension> 
    ....... 
... 

です:イメージ:

.... 
<MT> 
<xsl:attribute name="N">og:image</xsl:attribute> 
<xsl:attribute name="V" select="/extension/og:image"/> 
</MT> 
... 

私は私の出力をしたいです

<MT N="og:image" V="http://www.example.com/images/logos/logo-example-PNG.png/> 

(のOutput.xml)このように見える。しかし、私は私のXSLTを実行すると、私はこのエラーを取得しています。

XPST0081: Namespace prefix 'og' has not been declared 

何か不足している可能性があります。私はそれらの間にコロンを持つXMLでXSLTを扱っていません。あなたは、あなたがいくつか含まれている要素の名前空間宣言で接頭辞を宣言する必要があります

select="/extension/og:image" 

のようなパス式またはパターンに名前空間接頭辞を使用する場合はすべてのヘルプは、たとえば、

答えて

1

をいただければ幸いです

<xsl:stylesheet .... 
    xmlns:og="xxxxxxx" 

ここで、xxxxxxxは、ソース文書で使用されている名前空間URI(これは表示されていません)と一致します。ソースドキュメントとスタイルシートは異なる接頭辞を使用できますが、重要な点は同じ名前空間URIにバインドされていることだけです。

+0

ありがとう、マイケル。 – Rose

関連する問題