为什么我的XML不通过XSLT?

时间:2014-06-18 19:36:33

标签: xml xslt

我有一个ASP页面,它根据由较新产品生成的XML页面生成XML文件。 XML文件包含GreenButton数据(www.greenbutton.org)。这两个文件看起来在结构上是相同的,但它没有正确呈现。由于我无法附加文件,因此这里是指向XSLT和两个XML文件的链接:

XSLT:GreenButtonDataStyleSheet.xslt

使用XML:10210000-0_Jun_1-Jun_12_Electric.xml

XML失败:10006-0-20051101-20051201.xml

可以在此处测试XML:GreenButton.org Test Site

任何帮助都会受到赞赏,即使是指出我在这个问题上寻求帮助的适当位置。

1 个答案:

答案 0 :(得分:4)

您呈现的XML"已损坏"顶部有一组链接元素。

    <link rel="self" href="User/10006/UsagePoint/0"/>
<link rel="up" href="User/10006-0/UsagePoint/"/>
<link rel="related" href="User/10006-0/UsagePoint/0/MeterReading"/>
   <link rel="related" href="User/10006-0/UsagePoint/0/ElectricPowerUsageSummary"/>

如果检查XSL,它会使用href的值来查找相应的部分。

&#34; 10006-0&#34;在这些不存在。如果您将这些更改为&#34; 10006&#34;结果格式正确。也就是说,稍后在XML文件中查找,您将找不到&#34; User / 10006-0 / UsagePoint / 0 / MeterReading&#34;,您将找到&#34; User / 10006 / UsagePoint / 0 / MeterReading&# 34; (没有&#34; -0&#34;。所以,无论是产生还是添加这些&#34; -0&#34;在顶级链接中都会被破坏。结果什么也没找到,你什么都没渲染。下面是一个镜头通过删除这些顶级链接上的&#34; -0&#34;获得的页面。

enter image description here