Я пытаюсь добиться подсчета записей в моем выводе из образца XML ниже через xsl.
Справочная информация: У каждого сотрудника есть несколько иждивенцев (ребенок, супруг) в зависимости от покрытия сотрудников мы заполняем результаты в выходном файле.
Если покрытие 'Employee_only', то у нас НЕ будет зависимостей в выводе. Если «Семейное покрытие», то в выходных данных у нас будут иждивенцы.
<root xmlns:wd="http://wd.com"> <!-- Added by edit -->
<wd:Report_Entry>
<wd:Employee_ID>Empl_001</wd:Employee_ID>
<wd:Benefits>
<wd:Coverage>Family</wd:Coverage>
</wd:Benefits>
<wd:Dependents>
<wd:Relationship1>Child</wd:Relationship1>
<wd:Dep_LastName>Child_A</wd:Dep_LastName>
</wd:Dependents>
<wd:Dependents>
<wd:Relationship1>Spouse</wd:Relationship1>
<wd:Dep_LastName>Spouse</wd:Dep_LastName>
</wd:Dependents>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:Employee_ID>Empl_002</wd:Employee_ID>
<wd:Benefits>
<wd:Coverage>Family</wd:Coverage>
</wd:Benefits>
<wd:Dependents>
<wd:Relationship1>Child</wd:Relationship1>
<wd:Dep_LastName>Child_A</wd:Dep_LastName>
</wd:Dependents>
<wd:Dependents>
<wd:Relationship1>Child</wd:Relationship1>
<wd:Dep_LastName>Child_B</wd:Dep_LastName>
</wd:Dependents>
<wd:Dependents>
<wd:Relationship1>Spouse</wd:Relationship1>
<wd:Dep_LastName>Spouse</wd:Dep_LastName>
</wd:Dependents>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:Employee_ID>Empl_003</wd:Employee_ID>
<wd:Benefits>
<wd:Coverage>Employee_Only</wd:Coverage>
</wd:Benefits>
<wd:Dependents>
<wd:Relationship1>Child</wd:Relationship1>
<wd:Dep_LastName>Child_A</wd:Dep_LastName>
</wd:Dependents>
<wd:Dependents>
<wd:Relationship1>Spouse</wd:Relationship1>
<wd:Dep_LastName>Spouse</wd:Dep_LastName>
</wd:Dependents>
</wd:Report_Entry>
</root> <!-- Added by edit -->
- Выходные данные будут примерно такими, как показано ниже:
Header
Empl_001
001_Child_A
001_Spouse
Empl_002
002_Child_A
002_Child_B
002_Spouse
Empl_003
Trailer - **8**
Ожидаемый счетчик этого XML результат будет 8 , а НЕ 10, потому что покрытие последнего сотрудника - «Employee_only», а не «Family».
Условия: Подсчитать сотрудников + иждивенцев [Для сотрудника, который имеет покрытие в качестве семьи].
Я использую ниже XSLT-код:
Ниже дает меня 3 в качестве подсчета, который составляет общее количество работников.
<xsl:value-of select="count(//wd:Report_Entry)"/>
Ниже приводится мне 7 в качестве подсчета, что составляет общее количество зависимых.
<xsl:value-of select="count(//wd:Report_Entry/wd:Dependents)"/>
Ниже приведено 2, поскольку общее число сотрудников, имеющих покрытие как «Семья».
<xsl:value-of select="count(//wd:Benefits[wd:Coverage ='Family']"/>
Мне нужно сопоставить общее количество # Сотрудник + Зависимые лица [Для Сотрудника, который имеет покрытие как «Семья»]
Эксперты, Пожалуйста, помогите, как считать в этом состоянии.