<?xml version="1.0" encoding="UTF-8" ?>
<root>
<name event_no="0243584001" now_dept_name="眼科病区" pay_type="城镇职工基本医疗保险" fee_type="护理费" total_fee="0">单保钧</name> key('each_patient', '0243584001')[1]
<name event_no="0243584001" now_dept_name="眼科病区" pay_type="城镇职工基本医疗保险" fee_type="其它费" total_fee="0">单保钧</name> key('each_patient', '0243584001')[2]
<name event_no="0243584001" now_dept_name="眼科病区" pay_type="城镇职工基本医疗保险" fee_type="手术费" total_fee="0">单保钧</name> key('each_patient', '0243584001')[3]
<name event_no="0243584001" now_dept_name="眼科病区" pay_type="城镇职工基本医疗保险" fee_type="西药费" total_fee="0">单保钧</name> key('each_patient', '0243584001')[4]
<name event_no="0243584001" now_dept_name="眼科病区" pay_type="城镇职工基本医疗保险" fee_type="住院总费用" total_fee="0">单保钧</name> key('each_patient', '0243584001')[5]
<name event_no="0243593001" now_dept_name="儿科病区" pay_type="其他" fee_type="护理费" total_fee="0">额登齐美格</name>
<name event_no="0243593001" now_dept_name="儿科病区" pay_type="其他" fee_type="其它费" total_fee="0">额登齐美格</name>
<name event_no="0243593001" now_dept_name="儿科病区" pay_type="其他" fee_type="手术费" total_fee="0">额登齐美格</name>
<name event_no="0243593001" now_dept_name="儿科病区" pay_type="其他" fee_type="西药费" total_fee="0">额登齐美格</name>
<name event_no="0243593001" now_dept_name="儿科病区" pay_type="其他" fee_type="住院总费用" total_fee="0">额登齐美格</name>
<name event_no="0243589001" now_dept_name="胸外科病区" pay_type="城镇职工基本医疗保险" fee_type="护理费" total_fee="0">李举瑞</name>
<name event_no="0243589001" now_dept_name="胸外科病区" pay_type="城镇职工基本医疗保险" fee_type="其它费" total_fee="0">李举瑞</name>
<name event_no="0243589001" now_dept_name="胸外科病区" pay_type="城镇职工基本医疗保险" fee_type="手术费" total_fee="0">李举瑞</name>
<name event_no="0243589001" now_dept_name="胸外科病区" pay_type="城镇职工基本医疗保险" fee_type="西药费" total_fee="0">李举瑞</name>
<name event_no="0243589001" now_dept_name="胸外科病区" pay_type="城镇职工基本医疗保险" fee_type="住院总费用" total_fee="0">李举瑞</name>
<name event_no="0243589001" now_dept_name="胸外科病区" pay_type="城镇职工基本医疗保险" fee_type="自付金额" total_fee="1257">李举瑞</name>
<name event_no="0244306001" now_dept_name="妇科病区" pay_type="城镇职工基本医疗保险" fee_type="护理费" total_fee="0">罗小莲</name>
<name event_no="0244306001" now_dept_name="妇科病区" pay_type="城镇职工基本医疗保险" fee_type="其它费" total_fee="0">罗小莲</name>
<name event_no="0244306001" now_dept_name="妇科病区" pay_type="城镇职工基本医疗保险" fee_type="手术费" total_fee="0">罗小莲</name>
<name event_no="0244306001" now_dept_name="妇科病区" pay_type="城镇职工基本医疗保险" fee_type="西药费" total_fee="0">罗小莲</name>
<name event_no="0244306001" now_dept_name="妇科病区" pay_type="城镇职工基本医疗保险" fee_type="住院总费用" total_fee="6">罗小莲</name>
<name event_no="0244306001" now_dept_name="妇科病区" pay_type="城镇职工基本医疗保险" fee_type="自付金额" total_fee="6">罗小莲</name>
<name event_no="0243614001" now_dept_name="眼科病区" pay_type="城镇居民基本医疗保险" fee_type="护理费" total_fee="0">牛洪兰</name>
<name event_no="0243614001" now_dept_name="眼科病区" pay_type="城镇居民基本医疗保险" fee_type="其它费" total_fee="0">牛洪兰</name>
<name event_no="0243614001" now_dept_name="眼科病区" pay_type="城镇居民基本医疗保险" fee_type="手术费" total_fee="0">牛洪兰</name>
<name event_no="0243614001" now_dept_name="眼科病区" pay_type="城镇居民基本医疗保险" fee_type="西药费" total_fee="0">牛洪兰</name>
<name event_no="0243614001" now_dept_name="眼科病区" pay_type="城镇居民基本医疗保险" fee_type="住院总费用" total_fee="0">牛洪兰</name>
<name event_no="0243816001" now_dept_name="妇科病区" pay_type="贫困救助" fee_type="非手术治疗项目费" total_fee="178">赛因格拉·孟根其其格</name>
<name event_no="0243816001" now_dept_name="妇科病区" pay_type="贫困救助" fee_type="护理费" total_fee="0">赛因格拉·孟根其其格</name>
<name event_no="0243816001" now_dept_name="妇科病区" pay_type="贫困救助" fee_type="其它费" total_fee="0">赛因格拉·孟根其其格</name>
<name event_no="0243816001" now_dept_name="妇科病区" pay_type="贫困救助" fee_type="手术费" total_fee="0">赛因格拉·孟根其其格</name>
<name event_no="0243816001" now_dept_name="妇科病区" pay_type="贫困救助" fee_type="手术治疗费" total_fee="116">赛因格拉·孟根其其格</name>
<name event_no="0243816001" now_dept_name="妇科病区" pay_type="贫困救助" fee_type="西药费" total_fee="0">赛因格拉·孟根其其格</name>
<name event_no="0243816001" now_dept_name="妇科病区" pay_type="贫困救助" fee_type="住院总费用" total_fee="0">赛因格拉·孟根其其格</name>
<name event_no="0243816001" now_dept_name="妇科病区" pay_type="贫困救助" fee_type="自付金额" total_fee="5076.31">赛因格拉·孟根其其格</name>
<name event_no="0243578001" now_dept_name="心血管内科普通病区" pay_type="城镇职工基本医疗保险" fee_type="护理费" total_fee="0">涛玛</name>
<name event_no="0243578001" now_dept_name="心血管内科普通病区" pay_type="城镇职工基本医疗保险" fee_type="其它费" total_fee="0">涛玛</name>
<name event_no="0243578001" now_dept_name="心血管内科普通病区" pay_type="城镇职工基本医疗保险" fee_type="手术费" total_fee="0">涛玛</name>
<name event_no="0243578001" now_dept_name="心血管内科普通病区" pay_type="城镇职工基本医疗保险" fee_type="西药费" total_fee="0">涛玛</name>
<name event_no="0243578001" now_dept_name="心血管内科普通病区" pay_type="城镇职工基本医疗保险" fee_type="住院总费用" total_fee="0">涛玛</name>
<name event_no="0243578001" now_dept_name="心血管内科普通病区" pay_type="城镇职工基本医疗保险" fee_type="自付金额" total_fee="4.51">涛玛</name>
<name event_no="0243755001" now_dept_name="妇科病区" pay_type="城镇居民基本医疗保险" fee_type="非手术治疗项目费" total_fee="151">向梅</name>
<name event_no="0243755001" now_dept_name="妇科病区" pay_type="城镇居民基本医疗保险" fee_type="护理费" total_fee="0">向梅</name>
<name event_no="0243755001" now_dept_name="妇科病区" pay_type="城镇居民基本医疗保险" fee_type="其它费" total_fee="0">向梅</name>
<name event_no="0243755001" now_dept_name="妇科病区" pay_type="城镇居民基本医疗保险" fee_type="手术费" total_fee="0">向梅</name>
<name event_no="0243755001" now_dept_name="妇科病区" pay_type="城镇居民基本医疗保险" fee_type="手术治疗费" total_fee="126">向梅</name>
<name event_no="0243755001" now_dept_name="妇科病区" pay_type="城镇居民基本医疗保险" fee_type="西药费" total_fee="0">向梅</name>
<name event_no="0243755001" now_dept_name="妇科病区" pay_type="城镇居民基本医疗保险" fee_type="住院总费用" total_fee="4965.58">向梅</name>
<name event_no="0243755001" now_dept_name="妇科病区" pay_type="城镇居民基本医疗保险" fee_type="自付金额" total_fee="4965.58">向梅</name>
</root>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="gb2312" />
<xsl:output method="html" indent="yes" />
<xsl:key name='each_patient' match='name' use='@event_no'/>
<xsl:template match="root">
<html>
<table border="1">
<xsl:for-each select="name[generate-id(.)=generate-id(key('each_patient',@event_no)[1])]">
<TR>
<xsl:for-each select="key('each_patient', @event_no)">
<xsl:if test="position() = 1">
<td >
<xsl:attribute name="rowspan">
<xsl:value-of select="2"/>
</xsl:attribute>
<xsl:value-of select="."/>
</td>
<td >
<xsl:attribute name="rowspan">
<xsl:value-of select="2"/>
</xsl:attribute>
<xsl:value-of select="@now_dept_name"/>
</td>
<td >
<xsl:attribute name="rowspan">
<xsl:value-of select="2"/>
</xsl:attribute>
<xsl:value-of select="@pay_type"/>
</td>
</xsl:if>
<td >
<xsl:value-of select="@fee_type"/>
</td >
<xsl:if test="position() = last()">
<tr>
<xsl:for-each select="key('each_patient', @event_no)">
<td >
<xsl:value-of select="@total_fee"/>
</td >
</xsl:for-each>
</tr>
</xsl:if>
</xsl:for-each>
</TR>
</xsl:for-each>
</table>
</html>
<!--
name[1=1] 返回所有name节点
name[1=2] 返回空节点
<xsl:template match="name"/>匹配name节点的模版
<xsl:apply-templates/> 调用模版
<html>
<body bgColor="ece9d8">
<table border="1" cellSpacing="0" cellPadding="0" width="100%" align="center" >
<xsl:apply-templates select="name[generate-id(.)=generate-id(key('each_patient',@patient_id)[1])]"/>
依次提取一个分组
</table>
</body>
</html>-->
</xsl:template>
<xsl:template match="name">
<xsl:variable name="each_key" select="name[generate-id(.)=generate-id(key('each_patient',@patient_id)[1])]"></xsl:variable>
<tr attr ="{$each_key}" ></tr>
</xsl:template>
</xsl:stylesheet>
<!--
<xsl:key name='each_patient' match='name' use='@patient_id'/>
创建一个名为each_patient的key
匹配节点名为name的节点
用病人id来定位
key('each_patient',@patient_id)[1]
返回一个数组 以所指定patient_id为key
-->