繁体   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