2017-01-11 11 views
1

私はグループ化、ソート、および複数の変換の実行に必要なかなり大きい(270mb)XMLファイルを持っています。XSLT 1.0のxsl:keyの値に基づいて出力を変更します。

入力XML:

<!-- language: lang-xml --> 
<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<EligibilityRecords xmlns="http://Eligibility_LSDD"> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID></PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>VALLE</PT_LST_NM> 
    <PT_FRST_NM>FRANKIE</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID></DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID></DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP></DP_RELATIONSHIP> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>123456</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>BULLOCK</PT_LST_NM> 
    <PT_FRST_NM>SANDRA</PT_FRST_NM> 
    <EN_PLAN_NAME></EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID></DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID></DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP></DP_RELATIONSHIP> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>DOE</PT_LST_NM> 
    <PT_FRST_NM>JANE</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID></DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID></DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP></DP_RELATIONSHIP> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>610051908</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>JACKSON</PT_LST_NM> 
    <PT_FRST_NM>MICHAEL</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID>610051908</DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID>NC110015202761</DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP>Spouse</DP_RELATIONSHIP> 
    <DP_LST_NM>JACKSON</DP_LST_NM> 
    <DP_FRST_NM>MELISSA</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>561859010</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>MCLEOD</PT_LST_NM> 
    <PT_FRST_NM>CONOR</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID>561859010</DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID>SC000018241906</DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
    <DP_LST_NM>MCLEOD</DP_LST_NM> 
    <DP_FRST_NM>DUNCAN</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>573794953</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>GABRIEL</PT_LST_NM> 
    <PT_FRST_NM>PETER</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID></DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID></DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP></DP_RELATIONSHIP> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>DOE</PT_LST_NM> 
    <PT_FRST_NM>JANE</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID>NC110012077673</DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP>Spouse</DP_RELATIONSHIP> 
    <DP_LST_NM>DOE</DP_LST_NM> 
    <DP_FRST_NM>JOHN</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>DOE</PT_LST_NM> 
    <PT_FRST_NM>JANE</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID>NC110012077680</DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
    <DP_LST_NM>DOE</DP_LST_NM> 
    <DP_FRST_NM>JIMMY</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>DOE</PT_LST_NM> 
    <PT_FRST_NM>JANE</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
    <DP_DEPENDENT_FILE_IMP_ID>NC110012077681</DP_DEPENDENT_FILE_IMP_ID> 
    <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
    <DP_LST_NM>DOE</DP_LST_NM> 
    <DP_FRST_NM>JESSICA</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
</EligibilityRecords> 

私は、次の要件があります

  1. ストリップを空白PT_PARTICIPANT_FILE_IMP_IDとEN_PLAN_NAMEノードを持つすべてのEligibility_Detail_Recordsは "健康償還アレンジメント" ではありませんか"健康管理勘定"
  2. 子Recorである新しいDependent_Recordを作成する
    • 「インディアナ」何の扶養家族が見つからない場合は
    • ":読み込み「健康償還アレンジメント」のEN_PLAN_NAMEを持っている各レコードのEN_PLAN_TYPEフィールドを追加しますPT_PARTICIPANT_FILE_IMP_ID
    • に一致する各DP_PARTICIPANT_FILE_IMP_IDについてEligibility_Detail_RecordのD IndSpouse」もし配偶者の
    • DP_RELATIONSHIPを持ち、唯一の依存 『IndChildを』 IF依存
    • のDP_RELATIONSHIPあり、唯一の依存 『』家族の場合、複数の依存
  3. 読み取る「医療貯蓄口座」のEN_PLAN_NAME備わっている各レコードのEN_HDHP_COVERAGE_LEVELフィールドを追加します。
    • を「インディアナ」は、一つ以上の扶養家族が発見された場合は何も扶養家族が
    • 「家族」を見つからない場合XML出力期待

<!-- language: lang-xml --> 
<?xml version="1.0" encoding="UTF-8"?> 
<EligibilityRecords xmlns="http://Eligibility_LSDD"> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>DOE</PT_LST_NM> 
    <PT_FRST_NM>JANE</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_PLAN_TYPE>Family</EN_PLAN_TYPE> 
    <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
    <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077673</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Spouse</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JOHN</DP_FRST_NM> 
    </Dependent_Record> 
    <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077680</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JIMMY</DP_FRST_NM> 
    </Dependent_Record> 
    <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077681</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JESSICA</DP_FRST_NM> 
    </Dependent_Record> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>610051908</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>JACKSON</PT_LST_NM> 
    <PT_FRST_NM>MICHAEL</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_PLAN_TYPE>IndSpouse</EN_PLAN_TYPE> 
    <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
    <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>610051908</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110015202761</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Spouse</DP_RELATIONSHIP> 
     <DP_LST_NM>JACKSON</DP_LST_NM> 
     <DP_FRST_NM>MELISSA</DP_FRST_NM> 
    </Dependent_Record> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>561859010</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>MCLEOD</PT_LST_NM> 
    <PT_FRST_NM>CONOR</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_PLAN_TYPE>IndChild</EN_PLAN_TYPE> 
    <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>561859010</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>SC000018241906</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>MCLEOD</DP_LST_NM> 
     <DP_FRST_NM>DUNCAN</DP_FRST_NM> 
    </Dependent_Record> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>573794953</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>GABRIEL</PT_LST_NM> 
    <PT_FRST_NM>PETER</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
    <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    <EN_PLAN_TYPE>Ind</EN_PLAN_TYPE> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
    <PT_PARTICIPANT_FILE_IMP_ID>561859457</PT_PARTICIPANT_FILE_IMP_ID> 
    <PT_LST_NM>BUGLE</PT_LST_NM> 
    <PT_FRST_NM>MAN</PT_FRST_NM> 
    <EN_PLAN_NAME>Health Savings Account</EN_PLAN_NAME> 
    <EN_HDHP_COVERAGE_LEVEL>Family</EN_HDHP_COVERAGE_LEVEL> 
    <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
    <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
    <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>561859457</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>SC000018241906</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>BUGLE</DP_LST_NM> 
     <DP_FRST_NM>BOY</DP_FRST_NM> 
    </Dependent_Record> 
    </Eligibility_Detail_Record> 
</EligibilityRecords> 

XSLT:

<!-- language: lang-xml --> 
<?xml version="1.0" encoding="utf-16"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:var="http://schemas.microsoft.com/BizTalk/2003/var" exclude-result-prefixes="msxsl var" version="1.0" xmlns:ns0="http://Eligibility_LSDD" xmlns:set="http://exslt.org/sets"> 
    <xsl:output omit-xml-declaration="yes" method="xml" version="1.0" /> 
    <xsl:key name="ParticipantGroup" match="Eligibility_Detail_Record" use="PT_PARTICIPANT_FILE_IMP_ID" /> 
    <xsl:key name="DependentSearch" match="Eligibility_Detail_Record" use="DP_PARTICIPANT_FILE_IMP_ID" /> 
    <xsl:template match="/"> 
    <xsl:apply-templates select="/ns0:EligibilityRecords" /> 
    </xsl:template> 
    <xsl:template match="/ns0:EligibilityRecords"> 
    <ns0:EligibilityRecords> 
     <xsl:for-each select="set:distinct(Eligibility_Detail_Record/PT_PARTICIPANT_FILE_IMP_ID)/.."> 
     <xsl:if test="PT_PARTICIPANT_FILE_IMP_ID != '' and (EN_PLAN_NAME = 'Health Reimbursement Arrangement' or EN_PLAN_NAME = 'Health Savings Account')"> 
      <Eligibility_Detail_Record> 
      <PT_PARTICIPANT_FILE_IMP_ID> 
       <xsl:value-of select="PT_PARTICIPANT_FILE_IMP_ID/text()" /> 
      </PT_PARTICIPANT_FILE_IMP_ID> 
      <PT_LST_NM> 
       <xsl:value-of select="PT_LST_NM/text()" /> 
      </PT_LST_NM> 
      <PT_FRST_NM> 
       <xsl:value-of select="PT_FRST_NM/text()" /> 
      </PT_FRST_NM> 
      <EN_PLAN_NAME> 
       <xsl:value-of select="EN_PLAN_NAME/text()" /> 
      </EN_PLAN_NAME> 
      <xsl:choose> 
       <xsl:when test="EN_PLAN_NAME = 'Health Reimbursement Arrangement'"> 
       <xsl:choose> 
        <xsl:when test="key('DependentSearch',DP_PARTICIPANT_FILE_IMP_ID) != ''"> 
        <xsl:choose> 
         <xsl:when test="count(key('DependentSearch',DP_PARTICIPANT_FILE_IMP_ID)) &gt; 1"> 
         <EN_PLAN_TYPE>Family</EN_PLAN_TYPE> 
         </xsl:when> 
         <xsl:when test="count(key('DependentSearch',DP_PARTICIPANT_FILE_IMP_ID)) = 1"> 
         <xsl:choose> 
          <xsl:when test="DP_RELATIONSHIP = 'Spouse'"> 
          <EN_PLAN_TYPE>IndSpouse</EN_PLAN_TYPE> 
          </xsl:when> 
          <xsl:otherwise> 
          <EN_PLAN_TYPE>IndChild</EN_PLAN_TYPE> 
          </xsl:otherwise> 
         </xsl:choose> 
         </xsl:when> 
        </xsl:choose> 
        </xsl:when> 
        <xsl:otherwise> 
        <EN_PLAN_TYPE>Ind</EN_PLAN_TYPE> 
        </xsl:otherwise> 
       </xsl:choose> 
       </xsl:when> 
       <xsl:when test="EN_PLAN_NAME = 'Health Savings Account'"> 
       <xsl:choose> 
        <xsl:when test="count(key('DependentSearch',DP_PARTICIPANT_FILE_IMP_ID)) &gt; 0"> 
        <EN_HDHP_COVERAGE_LEVEL>Family</EN_HDHP_COVERAGE_LEVEL> 
        </xsl:when> 
        <xsl:otherwise> 
        <EN_HDHP_COVERAGE_LEVEL>Single</EN_HDHP_COVERAGE_LEVEL> 
        </xsl:otherwise> 
       </xsl:choose> 
       </xsl:when> 
      </xsl:choose> 
      <EN_MBRSHP_EFF_STRT_DT> 
       <xsl:value-of select="EN_MBRSHP_EFF_STRT_DT/text()" /> 
      </EN_MBRSHP_EFF_STRT_DT> 
      <EN_MBRSHP_EFF_END_DT> 
       <xsl:value-of select="EN_MBRSHP_EFF_END_DT/text()" /> 
      </EN_MBRSHP_EFF_END_DT> 
      <EN_PLAN_YEAR_STRT_DT> 
       <xsl:value-of select="EN_PLAN_YEAR_STRT_DT/text()" /> 
      </EN_PLAN_YEAR_STRT_DT> 
      <xsl:for-each select="key('ParticipantGroup',PT_PARTICIPANT_FILE_IMP_ID)"> 
       <xsl:if test="DP_DEPENDENT_FILE_IMP_ID/text()"> 
       <Dependent_Record> 
        <DP_PARTICIPANT_FILE_IMP_ID> 
        <xsl:value-of select="DP_PARTICIPANT_FILE_IMP_ID/text()" /> 
        </DP_PARTICIPANT_FILE_IMP_ID> 
        <DP_DEPENDENT_FILE_IMP_ID> 
        <xsl:value-of select="DP_DEPENDENT_FILE_IMP_ID/text()" /> 
        </DP_DEPENDENT_FILE_IMP_ID> 
        <DP_RELATIONSHIP> 
        <xsl:value-of select="DP_RELATIONSHIP/text()" /> 
        </DP_RELATIONSHIP> 
        <DP_LST_NM> 
        <xsl:value-of select="DP_LST_NM/text()" /> 
        </DP_LST_NM> 
        <DP_FRST_NM> 
        <xsl:value-of select="DP_FRST_NM/text()" /> 
        </DP_FRST_NM> 
       </Dependent_Record> 
       </xsl:if> 
      </xsl:for-each> 
      </Eligibility_Detail_Record> 
     </xsl:if> 
     </xsl:for-each> 
    </ns0:EligibilityRecords> 
    </xsl:template> 
</xsl:stylesheet> 

私はXMLでかなり緑ですが、私は、適切な親レコードの下に従属グループを作成するMuenchianのグループ化を使用していますし、その後のための別のキーを作成するためのアイデアを持っていましたDP_PARTICIPANT_FILE_IMP_IDを入力してから、そのキーが何回出現したかをカウントして、何が存在するかを判断してください。EN_PLAN_TYPEまたはEN_HDHP_COVERAGE_LEVEL

私の要件はすべて満たされており、すべてEN_PLAN_TYPEコードを除いて動作しています。それでもほとんど正常に動作します。

それはまだEN_PLAN_TYPEノードで家族を出力し、特定の親レコードには扶養家族が存在しない場合には、これらの基準が満たされたときに正しくIndSpouseIndChild、そして家族を出力しますが。

xsl:keyを作成すると、それぞれのキーと値のペアに空の値が設定され、正しくテストされているようですが、明らかに私はそうではないと思います。

私は、このコードをより読みやすく/効率的にする方法について、アドバイスをしています。テンプレートを使用して、xsl:ifを使用するのではなく、結果セットから不要なノードを削除するなど。しかし、私が今直面している大きな懸念は、EN_PLAN_TYPEノードに正しい出力が得られていることです。

私が使用しているエンジンは、実際のBizTalk 2010マッパーであると私は(私はすでにMuenchianグループ化のための使用を作っています)ESXLTへのアクセス権を持っている

+0

TL、DR。 「大きな懸念」がある場合は、それに集中し、サンプルコードをデモンストレーションするために必要なものだけを最小限に抑えてください - [mcve]を参照してください。その他の質問は別途ご相談ください。 –

+0

簡潔に編集されました。おかげで@ michael.hor257k – Ritley572

+0

質問を巻き戻したので、受け入れられた答えは将来の訪問者にとってより意味があります。 –

答えて

0

私の答えはあなたの元、より詳細に基づいており、要件:

  1. ストリップに空白PT_PARTICIPANT_FILE_IMP_IDとEN_PLAN_NAMEノードを持つすべてのEligibility_Detail_Recordsは「健康 償還アレンジメント」や「医療貯蓄口座」
  2. 作成ではありません無
    • 「インディアナ」の場合: 読み取り「健康償還アレンジメント」のEN_PLAN_NAMEを持っている各レコードのEN_PLAN_TYPEフィールドを追加しますPT_PARTICIPANT_FILE_IMP_ID
    • と一致していることを各DP_PARTICIPANT_FILE_IMP_IDについてEligibility_Detail_Recordの子レコードをあるEW Dependent_Record扶養家族は
    • 「IndSpouse」を発見された場合
    • 「IndChild」配偶者のDP_RELATIONSHIPを持ち、唯一の依存場合よりも多くの場合依存
    • 「家族」のDP_RELATIONSHIPを持っている、唯一の依存1依存
  3. 読み込む「医療貯蓄口座」のEN_PLAN_NAME備わっている各レコードのEN_HDHP_COVERAGE_LEVELフィールドを追加します。
    • 「インディアナ」何の扶養家族が見つからない場合は
    • 「家族」を1かあればより多くの扶養家族は、私はBREの編集前に、(元のXSLTを見て始め

発見されました私はそれが必要以上に複雑であると思って、EN_PLAN_TYPEを生成することで問題が何であるかを判断するのが難しくなりました。ここで

は、いくつかの提案です:

  • ただ、一緒にそれらすべてを結びつけるPT_PARTICIPANT_FILE_IMP_IDに基づいて、すべての参加者のための単一xsl:keyを使用しています。
  • 新しい要素を作成する代わりにxsl:value-ofを使用してtext()を出力する代わりに、ほとんどの要素の内容に変更を加えないので、xsl:copy-ofを使用して元の要素をコピーしてください。
  • EN_PLAN_TYPE/EN_HDHP_COVERAGE_LEVELを決定するような、より大きなロジックについては、呼び出すことができる名前付きテンプレートを作成します(またはテンプレートを適用することもできます)。

次に例を示します。​​のEN_HDHP_COVERAGE_LEVELの決定は、入力に例がないためテストされていません。

XML入力

<EligibilityRecords xmlns="http://Eligibility_LSDD"> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID></PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>VALLE</PT_LST_NM> 
     <PT_FRST_NM>FRANKIE</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID></DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID></DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP></DP_RELATIONSHIP> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>123456</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>BULLOCK</PT_LST_NM> 
     <PT_FRST_NM>SANDRA</PT_FRST_NM> 
     <EN_PLAN_NAME></EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID></DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID></DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP></DP_RELATIONSHIP> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>DOE</PT_LST_NM> 
     <PT_FRST_NM>JANE</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID></DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID></DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP></DP_RELATIONSHIP> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>610051908</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>JACKSON</PT_LST_NM> 
     <PT_FRST_NM>MICHAEL</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID>610051908</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110015202761</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Spouse</DP_RELATIONSHIP> 
     <DP_LST_NM>JACKSON</DP_LST_NM> 
     <DP_FRST_NM>MELISSA</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>561859010</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>MCLEOD</PT_LST_NM> 
     <PT_FRST_NM>CONOR</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID>561859010</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>SC000018241906</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>MCLEOD</DP_LST_NM> 
     <DP_FRST_NM>DUNCAN</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>573794953</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>GABRIEL</PT_LST_NM> 
     <PT_FRST_NM>PETER</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID></DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID></DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP></DP_RELATIONSHIP> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>DOE</PT_LST_NM> 
     <PT_FRST_NM>JANE</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077673</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Spouse</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JOHN</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>DOE</PT_LST_NM> 
     <PT_FRST_NM>JANE</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077680</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JIMMY</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>DOE</PT_LST_NM> 
     <PT_FRST_NM>JANE</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT></EN_MBRSHP_EFF_END_DT> 
     <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077681</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JESSICA</DP_FRST_NM> 
    </Eligibility_Detail_Record> 
</EligibilityRecords> 

XSLT 1.0(要件がコメントとして付加される)

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output indent="yes" omit-xml-declaration="yes"/> 
    <xsl:strip-space elements="*"/> 

    <xsl:key name="participants" match="Eligibility_Detail_Record" use="PT_PARTICIPANT_FILE_IMP_ID"/> 

    <xsl:template match="/*"> 
    <xsl:copy> 
     <!--Strip all Eligibility_Detail_Records that have a blank PT_PARTICIPANT_FILE_IMP_ID AND The EN_PLAN_NAME node is not "Health Reimbursement Arrangement" or "Health Savings Account"--> 
     <xsl:for-each select="Eligibility_Detail_Record[string(PT_PARTICIPANT_FILE_IMP_ID) and (EN_PLAN_NAME='Health Reimbursement Arrangement' or EN_PLAN_NAME='Health Savings Account')] 
     [count(.|key('participants',PT_PARTICIPANT_FILE_IMP_ID)[1])=1]"> 
     <xsl:variable name="participantCount" select="count(key('participants',PT_PARTICIPANT_FILE_IMP_ID))"/> 
     <Eligibility_Detail_Record> 
      <xsl:copy-of select="*[starts-with(name(),'PT_')]|EN_PLAN_NAME"/> 
      <xsl:choose> 
      <!--Add an EN_PLAN_TYPE field for each Record that has an EN_PLAN_NAME of "Health Reimbursement Arrangement" that reads:--> 
      <xsl:when test="EN_PLAN_NAME='Health Reimbursement Arrangement'"> 
       <xsl:call-template name="HRA"> 
       <xsl:with-param name="participantCount" select="$participantCount"/> 
       </xsl:call-template> 
      </xsl:when> 
      <!--Add an EN_HDHP_COVERAGE_LEVEL field for each Record that has en EN_PLAN_NAME of "Health Savings Account" that reads:--> 
      <xsl:when test="EN_PLAN_NAME='Health Savings Account'"> 
       <xsl:call-template name="HSA"> 
       <xsl:with-param name="participantCount" select="$participantCount"/> 
       </xsl:call-template> 
      </xsl:when> 
      </xsl:choose> 
      <xsl:copy-of select="*[not(self::EN_PLAN_NAME) and starts-with(name(),'EN_')]"/> 
      <!--Create a new Dependent_Record that is a child record of Eligibility_Detail_Record for each DP_PARTICIPANT_FILE_IMP_ID that matches a PT_PARTICIPANT_FILE_IMP_ID--> 
      <xsl:for-each select="key('participants',PT_PARTICIPANT_FILE_IMP_ID)[string(DP_PARTICIPANT_FILE_IMP_ID)]"> 
      <Dependent_Record> 
       <xsl:copy-of select="*[starts-with(name(),'DP_')]"/> 
      </Dependent_Record> 
      </xsl:for-each> 
     </Eligibility_Detail_Record> 
     </xsl:for-each> 
    </xsl:copy> 
    </xsl:template> 

    <xsl:template name="HRA"> 
    <xsl:param name="participantCount"/> 
    <EN_PLAN_TYPE> 
     <xsl:choose> 
     <!--"Family" if more than one dependent--> 
     <xsl:when test="$participantCount > 1">Family</xsl:when> 
     <!--"IndChild" if one and only one dependent that has DP_RELATIONSHIP of Dependent--> 
     <xsl:when test="$participantCount = 1 and DP_RELATIONSHIP = 'Dependent'">IndChild</xsl:when> 
     <!--"IndSpouse" if one and only one dependent that has DP_RELATIONSHIP of Spouse--> 
     <xsl:when test="$participantCount = 1 and DP_RELATIONSHIP = 'Spouse'">IndSpouse</xsl:when> 
     <!--"Ind" if no dependents are found--> 
     <xsl:when test="$participantCount = 1">Ind</xsl:when> 
     </xsl:choose> 
    </EN_PLAN_TYPE> 
    </xsl:template> 

    <xsl:template name="HSA"> 
    <xsl:param name="participantCount"/> 
    <EN_HDHP_COVERAGE_LEVEL> 
     <xsl:choose> 
     <!--"Family" if one or more dependents are found--> 
     <xsl:when test="$participantCount > 1 or 
      $participantCount = 1 and string(DP_RELATIONSHIP)">Family</xsl:when> 
     <!--"Ind" if no dependents are found--> 
     <xsl:when test="$participantCount = 1">Ind</xsl:when> 
     </xsl:choose> 
    </EN_HDHP_COVERAGE_LEVEL> 
    </xsl:template> 

</xsl:stylesheet> 

出力

<EligibilityRecords xmlns="http://Eligibility_LSDD"> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>553739837</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>DOE</PT_LST_NM> 
     <PT_FRST_NM>JANE</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_PLAN_TYPE>Family</EN_PLAN_TYPE> 
     <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT/> 
     <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
     <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077673</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Spouse</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JOHN</DP_FRST_NM> 
     </Dependent_Record> 
     <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077680</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JIMMY</DP_FRST_NM> 
     </Dependent_Record> 
     <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>553739837</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110012077681</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>DOE</DP_LST_NM> 
     <DP_FRST_NM>JESSICA</DP_FRST_NM> 
     </Dependent_Record> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>610051908</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>JACKSON</PT_LST_NM> 
     <PT_FRST_NM>MICHAEL</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_PLAN_TYPE>IndSpouse</EN_PLAN_TYPE> 
     <EN_MBRSHP_EFF_STRT_DT>01012017</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT/> 
     <EN_PLAN_YEAR_STRT_DT>01012017</EN_PLAN_YEAR_STRT_DT> 
     <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>610051908</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>NC110015202761</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Spouse</DP_RELATIONSHIP> 
     <DP_LST_NM>JACKSON</DP_LST_NM> 
     <DP_FRST_NM>MELISSA</DP_FRST_NM> 
     </Dependent_Record> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>561859010</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>MCLEOD</PT_LST_NM> 
     <PT_FRST_NM>CONOR</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_PLAN_TYPE>IndChild</EN_PLAN_TYPE> 
     <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT/> 
     <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
     <Dependent_Record> 
     <DP_PARTICIPANT_FILE_IMP_ID>561859010</DP_PARTICIPANT_FILE_IMP_ID> 
     <DP_DEPENDENT_FILE_IMP_ID>SC000018241906</DP_DEPENDENT_FILE_IMP_ID> 
     <DP_RELATIONSHIP>Dependent</DP_RELATIONSHIP> 
     <DP_LST_NM>MCLEOD</DP_LST_NM> 
     <DP_FRST_NM>DUNCAN</DP_FRST_NM> 
     </Dependent_Record> 
    </Eligibility_Detail_Record> 
    <Eligibility_Detail_Record xmlns=""> 
     <PT_PARTICIPANT_FILE_IMP_ID>573794953</PT_PARTICIPANT_FILE_IMP_ID> 
     <PT_LST_NM>GABRIEL</PT_LST_NM> 
     <PT_FRST_NM>PETER</PT_FRST_NM> 
     <EN_PLAN_NAME>Health Reimbursement Arrangement</EN_PLAN_NAME> 
     <EN_PLAN_TYPE>Ind</EN_PLAN_TYPE> 
     <EN_MBRSHP_EFF_STRT_DT>01012016</EN_MBRSHP_EFF_STRT_DT> 
     <EN_MBRSHP_EFF_END_DT/> 
     <EN_PLAN_YEAR_STRT_DT>01012016</EN_PLAN_YEAR_STRT_DT> 
    </Eligibility_Detail_Record> 
</EligibilityRecords> 
+1

素晴らしい作品です。あなたの答えが来る前に私はオリジナルの質問を編集しました。ありがとう! – Ritley572

+0

@ Ritley572 - 私は助けてくれると嬉しいです。あなたの質問を以前のバージョンに戻して、将来の訪問者にとって意味があるようにすることができます。 –

関連する問題