2014-06-05 39 views
1

擁有科隆這工作得很好XSL創建元件,它在名稱

<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" /> 

回答

1

你所得到的錯誤可能是沿着Undeclared namespace prefix {image}線。元素名稱的「image」部分實際上是一個「名稱空間前綴」,就像所有xslt元素前綴爲「xsl:」一樣。

要解決這個問題,你需要在你的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是你的「形象」的地方添加聲明,爲「形象」前綴取決於你需要什麼首先添加前綴。 (編輯:按照您的評論正如,你需要將其設置爲http://www.google.com/schemas/sitemap-image/1.1

注意,你實際上並不需要使用的xsl:元素這裏。如果該元素的名稱是靜態的,只寫出來的元素,像這樣......

<image:title> 
    <xsl:value-of select="@title"/> 
</image:title> 

http://www.xml.com/pub/a/2001/04/04/trxml/例如閱讀上的命名空間。

+0

我正在嘗試創建Google圖片站點地圖 - https://support.google.com/webmasters/answer/178636?hl=zh_CN好的謝謝,會有一位屠夫 – pee2pee