Google基础XML的XSLT转换

时间:2014-06-13 08:56:36

标签: xml xslt

我正在尝试转换以下Google Base XML:

http://feeds.omgeu.com/data/xslt/savingsdirect.xml

使用此XSLT:

http://feeds.omgeu.com/data/xslt/savingsdirect.xslt

我正在努力让这个工作正常。我已经声明了g:名称空间,但我似乎无法取得更多进展。任何帮助表示赞赏。

由于

1 个答案:

答案 0 :(得分:1)

您正在解析的Feed是Atom。请参阅document元素中的定义:

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">

但是你的xslt缺少那个命名空间。您必须在XSLT中定义它:

<xsl:stylesheet 
   version="2.0" 
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
   xmlns:xs="http://www.w3.org/2001/XMLSchema" 
   xmlns:fn="http://www.w3.org/2005/xpath-functions" 
   xmlns:omg="http://feeds.omgadmin.co.uk/feeds/ns/1.0/" 
   xmlns:rss="http://feeds.omgeu.com/ns/1.0/" 
   xmlns:g="http://base.google.com/ns/1.0"
   xmlns:atom="http://www.w3.org/2005/Atom">

并使用它从XML中获取Atom节点。

<xsl:template name="itemTemplate" match="atom:entry">