私はここで3つのことをしようとしています。私は。。をしようとしています:
1) テキストを削除/置換します。2) XML を最大 26 回コピーします。3) XML の日付を変更して、14 日ずつ 26 回増やします。
これが私が始めていることです:
<?xml version='1.0' encoding='UTF-8'?>
<BB:Report_Data xmlns:BB="urn:com.playdate.report/Bi-Weekly_Outbound">
<BB:Report_Entry>
<BB:projectedBalanceTotal.employeeId>1234567</BB:projectedBalanceTotal.employeeId> <BB:projectedBalanceTotal.principalId>4573945975</BB:projectedBalanceTotal.principalId>
<BB:All_Eligible_Time_Off_Plans_for_Worker> <BB:projected_balance_accrual_amount_for_the_pay_period>0</BB:projected_balance_accrual_amount_for_the_pay_period>
<BB:projectedBalanceTotal.effectiveDate>07072012</BB:projectedBalanceTotal.effectiveDate>
<BB:projectedBalanceTotal.planCodeId>VA</BB:projectedBalanceTotal.planCodeId>
<BB:leaveBalanceTotal.leaveDescription>VA</BB:leaveBalanceTotal.leaveDescription>
</BB:All_Eligible_Time_Off_Plans_for_Worker>
<BB:All_Eligible_Time_Off_Plans_for_Worker> <BB:projected_balance_accrual_amount_for_the_pay_period>0</BB:projected_balance_accrual_amount_for_the_pay_period> <BB:projectedBalanceTotal.effectiveDate>07072012</BB:projectedBalanceTotal.effectiveDate>
<BB:projectedBalanceTotal.planCodeId>WR</BB:projectedBalanceTotal.planCodeId>
<BB:leaveBalanceTotal.leaveDescription>WR</BB:leaveBalanceTotal.leaveDescription>
</BB:All_Eligible_Time_Off_Plans_for_Worker>
<BB:All_Eligible_Time_Off_Plans_for_Worker>
<BB:projected_balance_accrual_amount_for_the_pay_period>3.323</BB:projected_balance_accrual_amount_for_the_pay_period> <BB:projectedBalanceTotal.effectiveDate>07072012</BB:projectedBalanceTotal.effectiveDate>
<BB:projectedBalanceTotal.planCodeId>SS</BB:projectedBalanceTotal.planCodeId>
<BB:leaveBalanceTotal.leaveDescription>SS</BB:leaveBalanceTotal.leaveDescription>
</BB:All_Eligible_Time_Off_Plans_for_Worker>
</BB:Report_Entry>
</BB:Report_Data>
これは、最終的に必要な方法です。
<BB:Report_Data xmlns:wd="urn:com.playdate.report/Bi-Weekly_Outbound">
<leaveBalanceTotal>
<projectedBalanceTotal.employeeId>1234567</projectedBalanceTotal.employeeId>
<projectedBalanceTotal.principalId>4573945975</projectedBalanceTotal.principalId>
<projected_balance_accrual_amount_for_the_pay_period>0</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>07072012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>VA</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>VA</leaveBalanceTotal.leaveDescription>
<projected_balance_accrual_amount_for_the_pay_period>0</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>07072012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>WR</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>WR</leaveBalanceTotal.leaveDescription>
<projected_balance_accrual_amount_for_the_pay_period>3.323</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>07072012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>SS</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>SS</leaveBalanceTotal.leaveDescription>
</leaveBalanceTotal>
<leaveBalanceTotal>
<projectedBalanceTotal.employeeId>1234567</projectedBalanceTotal.employeeId>
<projectedBalanceTotal.principalId>4573945975</projectedBalanceTotal.principalId>
<projected_balance_accrual_amount_for_the_pay_period>0</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>07212012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>VA</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>VA</leaveBalanceTotal.leaveDescription>
<projected_balance_accrual_amount_for_the_pay_period>0</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>07212012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>WR</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>WR</leaveBalanceTotal.leaveDescription>
<projected_balance_accrual_amount_for_the_pay_period>3.323</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>07212012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>SS</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>SS</leaveBalanceTotal.leaveDescription>
</leaveBalanceTotal>
<leaveBalanceTotal>
<projectedBalanceTotal.employeeId>1234567</projectedBalanceTotal.employeeId>
<projectedBalanceTotal.principalId>4573945975</projectedBalanceTotal.principalId>
<projected_balance_accrual_amount_for_the_pay_period>0</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>08042012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>VA</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>VA</leaveBalanceTotal.leaveDescription>
<projected_balance_accrual_amount_for_the_pay_period>0</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>08042012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>WR</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>WR</leaveBalanceTotal.leaveDescription>
<projected_balance_accrual_amount_for_the_pay_period>3.323</projected_balance_accrual_amount_for_the_pay_period>
<projectedBalanceTotal.effectiveDate>08042012</projectedBalanceTotal.effectiveDate>
<projectedBalanceTotal.planCodeId>SS</projectedBalanceTotal.planCodeId>
<leaveBalanceTotal.leaveDescription>SS</leaveBalanceTotal.leaveDescription>
</leaveBalanceTotal>
</BB:Report_Data>
.....などなど 26 に達するまで
削除/置換要件を正常に処理する xslt が既にあります。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bb="urn:com.workday.report/CR-INT486-Kuali_Trojan_Time-Absence_Balances__University_Bi-Weekly_-Outbound"
exclude-result-prefixes="bb">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="comment()|processing-instruction()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="node()|@*"/>
</xsl:element>
</xsl:template>
<xsl:template match="bb:All_Eligible_Time_Off_Plans_for_Worker">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="bb:Report_Data">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="bb:Report_Entry">
<leaveBalanceTotal>
<xsl:apply-templates select="node()|@*"/>
</leaveBalanceTotal>
</xsl:template>
</xsl:stylesheet>
上記のように、xml を 26 回コピーし、各データを 14 日ずつインクリメントするコードの上に、その変換を配置する必要があります。どんな助けでも大歓迎です!