这很好用
<xsl:element name="title">
<xsl:value-of select="@title"/>
</xsl:element>
然而,这不是
<xsl:element name="image:title">
<xsl:value-of select="@title"/>
</xsl:element>
请有人可以提供建议吗?当我说它不起作用时,分页符。不幸的是由于系统的性质,我看不到错误
页面顶部如下所示
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:udf="http://www.virtualfestivals.com/udf">
<xsl:output method="html" omit-xml-declaration="no" />
答案 0 :(得分:1)
您获得的错误可能与Undeclared namespace prefix {image}
相符。 &#34;图像&#34;你的元素名称的一部分实际上是&#34;名称空间前缀&#34;,就像所有xslt元素的前缀是&#34; xsl:&#34;。
要解决此问题,您需要为&#34;图像&#34;添加声明。在XSLT中的某处添加前缀
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:image="my:image"
xmlns:udf="http://www.virtualfestivals.com/udf">
当然,URI是您的&#34;图像&#34;取决于您首先需要添加前缀。 (编辑:根据您的评论,您需要将其设置为http://www.google.com/schemas/sitemap-image/1.1
)
请注意,您实际上并不需要在此处使用 xsl:element 。如果元素名称是静态的,只需写出这样的元素......
<image:title>
<xsl:value-of select="@title"/>
</image:title>
例如,在http://www.xml.com/pub/a/2001/04/04/trxml/读取名称空间。