我有一个来自我想使用 xslt 呈现的数据库的 XML 数据转储。对于我想要的布局,数据的结构不是“直截了当”的(我也将 XML 数据用于另一个报告)。
我想要的是对来自 A 级的数据进行一些计算,我需要对 C 级儿童进行分组。
我知道我可能可以再次将数据选择到一个 XML 文件中,该文件的结构对于我的报告来说是“简单的”,但这是我最后的手段,因为我觉得它也可以在 XSLT 本身中完成。很可能我需要一些“Muenchian”技巧来完成它,但由于我是一个“Muenchian Virgin”,所以我每次尝试都会陷入困境(我试图“偷窃”并改变......)。
有人知道 Muenchian 是否是前进的道路,有人可以帮助我走上正确的道路吗?我做了一些阅读(包括 Jeni Tennison 的),但据我所知,到目前为止我所看到的内容并没有涵盖我的问题......
下面是一个简化的 XML 结构,它(或多或少)代表了我的实际问题。
有任何想法吗?
亲切的问候,亨克
简化的 XML:
<data>
<a>
<a_id>A1</a_id>
<a_desc>A one</a_desc>
<a_val>1</a_val>
<b>
<c>
<c_id>C2</c_id>
<c_desc>C two</c_desc>
</c>
</b>
</a>
<a>
<a_id>A2</a_id>
<a_desc>A two</a_desc>
<a_val>2</a_val>
<b>
<c>
<c_id>C2</c_id>
<c_desc>C two</c_desc>
</c>
</b>
</a>
<a>
<a_id>A3</a_id>
<a_desc>A three</a_desc>
<a_val>3</a_val>
<b>
<c>
<c_id>C1</c_id>
<c_desc>C one</c_desc>
</c>
</b>
</a>
<a>
<a_id>A4</a_id>
<a_desc>A four</a_desc>
<a_val>7</a_val>
<b>
<c>
<c_id>C3</c_id>
<c_desc>C three</c_desc>
</c>
</b>
</a>
<a>
<a_id>A5</a_id>
<a_desc>A five</a_desc>
<a_val>11</a_val>
<b>
<c>
<c_id>C1</c_id>
<c_desc>C one</c_desc>
</c>
</b>
</a>
</data>
所需的输出应该是这样的:
C_desc Count() Sum(a_val) Avg(a_val)
------ ------- ---------- ----------
C one 3 15 5
C two 1 2 2
C three 1 7 7