简体   繁体   中英

How to place all output XML if condition of XSLT code in single line

I want to Keep All output XML (with xsl if condition) in a single line . I am using following XML and XSLT. please help with XSLT code How to place all Output xml in a single line.

Input XML

    <root>
    <row>
           <POC_ID>1</POC_ID>
           <POC_ACT_NO>212568898</POC_ACT_NO>                                                
           <POC_DBT_NO>2000</POC_DBT_NO>
           <POC_COURT_NAME>Detroit Municipal</POC_COURT_NAME>        
           <POC_PLAINTIFF>JohnJackson</POC_PLAINTIFF>
           <POC_DEFENDANT>Bob Golic</POC_DEFENDANT>
           <POC_DEFENDANT02>Teddy Newman</POC_DEFENDANT02>        
           <POC_DEFENDANT03></POC_DEFENDANT03>
           <POC_DEFENDANT04></POC_DEFENDANT04>
           <POC_CASE_NO>23-231501</POC_CASE_NO>         
           <POC_INT_RATE>3.5</POC_INT_RATE>
           <POC_INT_FRM_CMPLT>35.25</POC_INT_FRM_CMPLT>        
           <POC_INT_FRM_DOJ>0.00</POC_INT_FRM_DOJ>
           <POC_DWN_PMT>525.00</POC_DWN_PMT>
           <POC_PMT_DUE_DATE>7/19/2015</POC_PMT_DUE_DATE>        
           <POC_PERIODIC_AMT>75.00</POC_PERIODIC_AMT>
           <POC_PERIODIC_PMT_DUE_DATE>25</POC_PERIODIC_PMT_DUE_DATE>
           <POC_PMT_FREQ>BWK</POC_PMT_FREQ>
           <POC_DWNPMT>Y</POC_DWNPMT>
           <POC_INTCMP_FLG>Y</POC_INTCMP_FLG>
           <POC_INTDOJ_FLG>N</POC_INTDOJ_FLG>
           <POC_LANG_REMOVED>N</POC_LANG_REMOVED>
           <DAY_OF_THE_WEEK>4</DAY_OF_THE_WEEK>
           <NUMBER_OF_PAYMENTS>23</NUMBER_OF_PAYMENTS>
           <PAYMENT_REVIEW_DATE>08/02/2014</PAYMENT_REVIEW_DATE>
    </row>
  </root>

please help with XSLT code How to place all Output xml in a single line.

XSL code:

 <xsl:template match="root">
        <root>
          <xsl:for-each select="row">
            <xsl:variable name="Pmt_freq" >
              <xsl:value-of select="POC_PMT_FREQ"/>
            </xsl:variable>
            <xsl:variable name="downPayment" >
              <xsl:value-of select="POC_DWNPMT"/>
            </xsl:variable>
            <xsl:variable name="cmpFlag" >
              <xsl:value-of select="POC_INTCMP_FLG"/>
            </xsl:variable>
            <xsl:variable name="dojFlag" >
              <xsl:value-of select="POC_INTDOJ_FLG"/>
            </xsl:variable>
            <xsl:variable name="pocLang" >
              <xsl:value-of select="POC_LANG_REMOVED"/>
            </xsl:variable>

            <row>

              <DefTitle>
                <xsl:value-of select="POC_DEFENDANT"/>
              </DefTitle>
              <TotalJudgement>
                <xsl:value-of select="POC_DWN_PMT +(POC_INT_FRM_CMPLT +  POC_INT_FRM_DOJ *  POC_INT_RATE)" />
              </TotalJudgement>

              <MICJEINT>
                <xsl:if  test="$Pmt_freq='MWD' and $downPayment='N'">
                  shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="DAY_OF_THE_WEEK"/>  of each month thereafter until this Judgment is paid in full.
                </xsl:if>
                <xsl:if  test="$Pmt_freq='BIW' and $downPayment='Y'">
                  shall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/> due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>  and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>  of every other week thereafter until this Judgment is paid in full
                </xsl:if>
                <xsl:if  test="$Pmt_freq='BIW' and $downPayment='N'">
                  shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/>  due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/> and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/>  on or before the  <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>  of every other week thereafter until this Judgment is paid in full
                </xsl:if>
                <xsl:if  test="$Pmt_freq='BMO' and $downPayment='Y'">
                  shall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/> due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>  and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>  of every month thereafter until this Judgment is paid in full
                </xsl:if>
                <xsl:if  test="$Pmt_freq='BMO' and $downPayment='N'">
                  shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>  and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/>  on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each month thereafter until this Judgment is paid in full
                </xsl:if> 
            <xsl:if  test="$Pmt_freq='BWK' and $downPayment='Y'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/> due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>  and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/>  on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each week thereafter until this Judgment is paid in full
            </xsl:if>
            <xsl:if  test="$Pmt_freq='BWK' and $downPayment='N'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/>  due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>  and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each week thereafter until this Judgment is paid in full
            </xsl:if>


            <xsl:if  test="$Pmt_freq='MON' and $downPayment='Y'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/> due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>  and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/>  on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each month thereafter until this Judgment is paid in full
            </xsl:if>
            <xsl:if  test="$Pmt_freq='MON' and $downPayment='N'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/> and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each month thereafter until this Judgment is paid in full
            </xsl:if>
            <xsl:if  test="$Pmt_freq='BIF' and $downPayment='Y'">
              shall pay the sum of <xsl:value-of select="POC_DWN_PMT"/> on or before<xsl:value-of select="POC_PMT_DUE_DATE"/>
            </xsl:if>
            <xsl:if  test="$Pmt_freq='BIF' and $downPayment='N'">
              shall pay the sum of <xsl:value-of select="POC_DWN_PMT"/> on or before<xsl:value-of select="POC_PMT_DUE_DATE"/>
            </xsl:if>
            <xsl:if  test="$Pmt_freq='MWD' and $downPayment='Y'">
              shall pay this Judgment  with the first payment of<xsl:value-of select="POC_DWN_PMT"/> due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the 4th day of each month thereafter until this Judgment is paid in full
            </xsl:if>
            <xsl:if  test="$Pmt_freq='SMU' and $downPayment='N'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_AMT"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the  <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each month thereafter until this Judgment is paid in full;
            </xsl:if>
            <xsl:if  test="$Pmt_freq='SMU' and $downPayment='Y'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/> due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/>  on or before the <xsl:value-of select="POC_PMT_DUE_DATE"/>  and <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>  of each month thereafter until this Judgment is paid in full;
            </xsl:if>
            <xsl:if  test="$Pmt_freq='WEK' and $downPayment='Y'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/> due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each week thereafter until this Judgment is paid in full
            </xsl:if>
            <xsl:if  test="$Pmt_freq='WEK' and $downPayment='N'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each week thereafter until this Judgment is paid in full
            </xsl:if>
            <xsl:if  test="$Pmt_freq='PAR' and $downPayment='Y'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/>  due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each month for <xsl:value-of select="NUMBER_OF_PAYMENTS"/>. On <xsl:value-of select="PAYMENT_REVIEW_DATE"/> Plaintiff will review for increase of said payments
            </xsl:if>
            <xsl:if  test="$Pmt_freq='PAR' and $downPayment='N'">
              shall pay this Judgment  with the first payment of<xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each month for <xsl:value-of select="NUMBER_OF_PAYMENTS"/>>. On <xsl:value-of select="PAYMENT_REVIEW_DATE"/> Plaintiff will review for increase of said payments
            </xsl:if>
            <xsl:if  test="Pmt_freq='QTR' and $downPayment='Y'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of every three (3) months there after until this judgment is paid in full
            </xsl:if>
            <xsl:if  test="$Pmt_freq='QTR' and $downPayment='N'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of every three (3) months there after until this judgment is paid in full
            </xsl:if>
            <xsl:if  test="$Pmt_freq='SET' and $downPayment='Y'">
              Shall pay the sum of <xsl:value-of select="POC_PERIODIC_AMT"/> on of before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>
            </xsl:if>
            <xsl:if  test="$Pmt_freq='SET' and $downPayment='N'">
              Shall pay the sum of <xsl:value-of select="POC_PERIODIC_AMT"/> on of before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>
            </xsl:if>
            <xsl:if  test="$Pmt_freq='SMO' and $downPayment='Y'">
              sshall pay this Judgment  with the first payment of <xsl:value-of select="POC_DWN_PMT"/>  due on or before <xsl:value-of select="POC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PMT_DUE_DATE"/> of each month On <xsl:value-of select="PAYMENT_REVIEW_DATE"/> Plaintiff will review for increase of said payments
            </xsl:if>
            <xsl:if  test="$Pmt_freq='SMO' and $downPayment='N'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> of each month. On <xsl:value-of select="PAYMENT_REVIEW_DATE"/> Plaintiff will review for increase of said payments
            </xsl:if>


          </MICJEINT>

          <MICJEINT01>
            <xsl:if  test="$cmpFlag='Y' and $dojFlag='N' and $pocLang='N'">
              plus interest accruing at <xsl:value-of select="POC_INT_RATE"/> % since the filing of Plaintiff’s Complaint pursuant to MCL §600.6013
            </xsl:if>
            <xsl:if  test="$cmpFlag='Y' and $dojFlag='N' and $pocLang='y'">
              plus interest accruing at <xsl:value-of select="POC_INT_RATE"/> % since the filing of Plaintiff’s Complaint pursuant to MCL §600.6013
            </xsl:if>
            <xsl:if  test="$cmpFlag='Y' and $dojFlag='y' and $pocLang='N'">
              plus interest accruing at <xsl:value-of select="POC_INT_RATE"/> % since the filing of Plaintiff’s Complaint pursuant to MCL §600.6013
            </xsl:if>
            <xsl:if  test="$cmpFlag='Y' and $dojFlag='y' and $pocLang='y'">
              plus interest accruing at <xsl:value-of select="POC_INT_RATE"/> % since the filing of Plaintiff’s Complaint pursuant to MCL §600.6013
            </xsl:if>
            <xsl:if  test="$cmpFlag='N' and $dojFlag='N' and $pocLang='N'">
              plus interest accruing at <xsl:value-of select="POC_INT_RATE"/> % since the filing of Plaintiff’s Complaint pursuant to MCL §600.6013
            </xsl:if>
            <xsl:if  test="$cmpFlag='N' and $dojFlag='N' and $pocLang='y'">
              plus interest accruing at <xsl:value-of select="POC_INT_RATE"/> % since the filing of Plaintiff’s Complaint pursuant to MCL §600.6013
            </xsl:if>
            <xsl:if  test="$cmpFlag='N' and $dojFlag='Y' and $pocLang='N'">
              plus interest accruing at <xsl:value-of select="POC_INT_RATE"/> % since the filing of Plaintiff’s Complaint pursuant to MCL §600.6013
            </xsl:if>
            <xsl:if  test="$cmpFlag='N' and $dojFlag='Y' and $pocLang='Y'">
              plus interest accruing at <xsl:value-of select="POC_INT_RATE"/> % since the filing of Plaintiff’s Complaint pursuant to MCL §600.6013
            </xsl:if>
          </MICJEINT01>
        </row>
      </xsl:for-each>
      <xsl:text>
      </xsl:text>
  </root>
  </xsl:template>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
</xsl:stylesheet>

please help with XSLT code How to place all Output xml in a single line.

Well you seem to produce XML output so the first thing if you really want a single line is to make sure you have <xsl:output method="xml" indent="no"/> , and then of course you need to make sure you don't output any line breaks so you need to change the code doing

            <xsl:if  test="$Pmt_freq='MWD' and $downPayment='N'">
              shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="DAY_OF_THE_WEEK"/>  of each month thereafter until this Judgment is paid in full.
            </xsl:if>

to do

            <xsl:if  test="$Pmt_freq='MWD' and $downPayment='N'">shall pay this Judgment  with the first payment of <xsl:value-of select="POC_PERIODIC_AMT"/> due on or before <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/>, and subsequent payments of <xsl:value-of select="POC_PERIODIC_AMT"/> on or before the <xsl:value-of select="DAY_OF_THE_WEEK"/>  of each month thereafter until this Judgment is paid in full.</xsl:if>

And so on for all other result text nodes you have.

Hi finally i got my answer and it is like following:

 <xsl:if  test="$Pmt_freq='BWK' and $downPayment='Y'">
              <xsl:text>shall pay this Judgment  with the first payment of</xsl:text> 
              <xsl:value-of select="POC_DWN_PMT"/> 
              <xsl:text>due on or before</xsl:text> 
              <xsl:value-of select="POC_PMT_DUE_DATE"/>
              <xsl:text>and subsequent payments of</xsl:text> 
              <xsl:value-of select="POC_PERIODIC_AMT"/>  
              <xsl:text>on or before the </xsl:text>
              <xsl:value-of select="POC_PERIODIC_PMT_DUE_DATE"/> 
              <xsl:text> each week thereafter until this Judgment is paid in full </xsl:text>
            </xsl:if>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM