ここで私の壁を打つ...
プライマリー従業員が複数の扶養家族を持っている可能性がある次のデータがあります。従業員のSSN(ab:SSN)をDependent_SSNと照合し、そのうちの1つが「配偶者」であるかどうかを判断する関数を作成する必要があります。その場合、「配偶者」の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>
アドバイスありがとうございます!