簡體   English   中英

錯誤:尚未聲明命名空間前綴“ og:image”:XSLT

[英]Error: Namespace prefix “og:image” has not been declared: XSLT

我正在嘗試通過使用XSLT將XML文件轉換為另一個XML文件。 這是我的XML(Input.xml)的一部分

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

這是我在標簽og:image上使用的XSLT的一部分:

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

我希望我的輸出看起來像這樣(Output.xml)

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

但是,當我運行XSLT時,出現此錯誤。

XPST0081: Namespace prefix 'og' has not been declared

我可能會缺少一些東西。 在使用XSLT和XML之前,我還沒有使用過XSLT。 任何幫助,將不勝感激

如果您在路徑表達式或模式中使用名稱空間前綴,例如

select="/extension/og:image"

那么您必須在某些包含元素的名稱空間聲明中聲明前綴,例如

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

其中xxxxxxx與源文檔中使用的名稱空間URI匹配(未顯示)。 請注意,源文檔和樣式表可以使用不同的前綴,唯一重要的是它們被綁定到相同的名稱空間URI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM