在这里撞到我的墙...
我有以下数据,其中主要员工可能有多个家属。我需要创建一个函数,将员工的 SSN (ab:SSN) 与 Dependent_SSN 进行匹配,并确定其中一个是否是“配偶”。如果是这样,那么我们将返回“配偶”的 Dependent_SSN。如果没有,我们将继续并返回下一个非“配偶”Dependent_SSN。
我正在尝试创建一个函数,因为我认为我会不止一次需要它。代码片段位于执行其他循环功能的现有模板中。
我已经尝试过了,但 Oxygen 返回错误:
<xsl:function name="ab:PQB">
<xsl:param name="EE_SSN">
</xsl:param>
<xsl:for-each select="/ab:Report_Data/ab:Report_Entry[ab:Employee_ID=$EE_SSN]/ab:Report_Data/ab:Report_Entry[ab:Employee_ID=$EE_SSN]ab:dependents/ab:Dependent_SSN">
</xsl:for-each>
返回的错误是:
“引擎名称:Saxon-PE 9.3.0.5 严重性:致命描述:意外的令牌名称“wd:dependents”超出了表达式的结尾”
我知道我需要测试更高级别的 SSN 以防止循环通过家属,但就像我说的“我靠墙”:)
数据在这里:
<ab:Report_Entry>
<ab:SSN>888881006</ab:SSN>
<ab:Last_Name>Smith</ab:Last_Name>
<ab:First_Name>Kimberly</ab:First_Name>
<ab:dependents>
<ab:Dependent_SSN>888881009</ab:Dependent_SSN>
<ab:Relation ab:Descriptor="Spouse">
</ab:Relation>
</ab:dependents>
<ab:dependents>
<ab:Dependent_SSN>888881004</ab:Dependent_SSN>
<ab:Relation ab:Descriptor="Child">
</ab:Relation>
</ab:dependents>
<ab:dependents>
<ab:Dependent_SSN>888881003</ab:Dependent_SSN>
<ab:Relation ab:Descriptor="Child">
<ab:ID ab:type="Related_Person_Relationship_ID">Child</ab:ID>
</ab:Relation>
</ab:dependents>
<ab:dependents>
<ab:Dependent_SSN>888881001</ab:Dependent_SSN>
<ab:Dependent_ID>1032D-4</ab:Dependent_ID>
<ab:Relation ab:Descriptor="Child">
<ab:ID ab:type="Related_Person_Relationship_ID">Child</ab:ID>
</ab:Relation>
</ab:dependents>
</ab:Report_Entry>
感谢您的任何建议!