![](/img/trans.png)
[英]Java XML and XSLT transformation error: Namespace for prefix 'm' has not been declared
[英]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.