This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Urgent:Concat values of two eleemnt Nodes


Hi,

I'm pretty new to the XML/XSL area.  I have an input looks like this:



<?xml version="1.0" encoding="UTF-8"?>
<?xml stylesheet type="text/xsl" href="MeasDataCollection.xsl" ?>
<?DOCTYPE MeasDataCollection SYSTEM "MeasDataCollection.dtd">
<mdc xmlns:HTML="http://www.w3.org/TR/REC-xml";>
<mfh>
<ffv>1</ffv>
<cbt>20010725191502</cbt>
</mfh>
<md>
<neid>
</neid>
<mi>
<mst>20010725191502</mst>
<gp>900</gp>
<mt>networkInd</mt>
<mt>signallingPointCode</mt>
<mt>testPatternSltm</mt>
<mv>
<moid>ManagedElement=1,TransportNetwork=1,Mtp3bSp=MeenaMO</moid>
<r>1</r>
<r>777</r>
<r>A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5</r>
</mv>
</mi>
</md>
<md>
<neid>
</neid>
<mi>
<mst>20010725191502</mst>
<gp>900</gp>
<mt>networkInd</mt>
<mt>signallingPointCode</mt>
<mt>testPatternSltm</mt>
<mv>
<moid>ManagedElement=1,TransportNetwork=1,Mtp3bSp=MeenaMO</moid>
<r>1</r>
<r>777</r>
<r>A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5</r>
</mv>
</mi>
</md>
<md>
<neid>
</neid>
<mi>
<mst>20010725191502</mst>
<gp>900</gp>
<mt>pm_1</mt>
<mt>pm_2</mt>
<mt>pm_3</mt>
<mv>
<moid>ManagedElement=1,Test=1</moid>
<r>10</r>
<r>20</r>
<r>30</r>
</mv>
</mi>
</md>
<md>
<neid>
</neid>
<mi>
<mst>20010725191502</mst>
<gp>900</gp>
<mt>pm_1</mt>
<mt>pm_2</mt>
<mt>pm_3</mt>
<mv>
<moid>ManagedElement=1,Test=1</moid>
<r>10</r>
<r>20</r>
<r>30</r>
</mv>
</mi>
</md>
<mff>20010725191548</mff>
</mdc>

I'm trying to trannsform the input to a text-formatted output.  In the
following xsl file, it seems that I'm not getting the tree right?  How
do I:

1.  Get the value of the <mff> node element display in the output right
after the value of <mst> or <cbt> node?  Use the ../../ path?

2. concat the <r> value to <mt> value?

Here is the xsl file; thanks!

<?xml version="1.0"?>
<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Kim G. -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
 <xsl:output method="xml" indent="yes"/>
 <xsl:preserve-space elements="&#x9;"/>


 <xsl:template match="mdc">
  <xsl:apply-templates select="mfh"/>
  <xsl:apply-templates select="md"/>
  <xsl:apply-templates select="mff"/>
 </xsl:template>

 <!--
=============================================================================
-->

 <xsl:template match="mfh">
  <xsl:apply-templates select="ffv"/>
  <xsl:apply-templates select="cbt"/>
 </xsl:template>
 <xsl:template match="ffv">
File Version                          : <xsl:text/>
  <xsl:value-of select="."/>
 </xsl:template>
 <xsl:template match="cbt">
Collection Begin Time           : <xsl:text/>
  <xsl:value-of select="."/>

&#xA;======================================================================

    </xsl:template>

 <!--
=============================================================================
-->

 <xsl:template match="md">
  <xsl:apply-templates select="mi"/>
 </xsl:template>
 <xsl:template match="mi">

  <xsl:apply-templates select="mt"/>
  <xsl:apply-templates select="mst"/>
 </xsl:template>
 <xsl:template match="mst">
End of Granularity Period       : <xsl:text/>
  <xsl:value-of select="."/>

&#xA;======================================================================

    </xsl:template>

 <!--
=============================================================================
-->

 <xsl:template match="mv">
  <xsl:apply-templates select="moid"/>
  <xsl:apply-templates select="r"/>
 </xsl:template>
 <xsl:template match="moid">
MO Instance                    : <xsl:text/>
  <xsl:value-of select="."/>
</xsl:template>

 <!-- r = attr vals -->
 <xsl:template match="r">
&#x9;&#x9;&#x9;ATTR_VALUE[n]&#x9;&#x9;&#x9;:&#x9;<xsl:text/>
  <xsl:value-of select="."/>
  <xsl:if test="position()=last()">-&#xA;</xsl:if>
 </xsl:template>

 <!--
=============================================================================
-->

 <!-- mt = attr names -->

 <xsl:template match="mt">-&#x9;&#x9;&#x9;<xsl:text/>
  <xsl:value-of select="."/>&#x9;:&#x9;FIXME_PUT_IN_ATTR_VALUE[n]
       </xsl:template>

 <!--
=============================================================================
-->

 <xsl:template match="mff">
End of Overall Collection      :  <xsl:text/>
  <xsl:value-of select="."/>
 </xsl:template>

 <!--
=============================================================================
-->




The current output looks like this:



<?xml version="1.0" encoding="UTF-8"?>

        File Version                          : 1
        Collection Begin Time           : 20010725191502
        MO Instance         :
ManagedElement=1,TransportNetwork=1,Mtp3bSp=MeenaMO
        FIXME KEEP THIS ATTR VAL : 1
        FIXME KEEP THIS ATTR VAL : 777
        FIXME KEEP THIS ATTR VAL :
A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5networkInd        :  FIXME VALUE
    signallingPointCode        :  FIXME VALUE
    testPatternSltm        :  FIXME VALUE

        End of Granularity Period          : 20010725191502


======================================================================


        MO Instance         :
ManagedElement=1,TransportNetwork=1,Mtp3bSp=MeenaMO
        FIXME KEEP THIS ATTR VAL : 1
        FIXME KEEP THIS ATTR VAL : 777
        FIXME KEEP THIS ATTR VAL :
A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5networkInd        :  FIXME VALUE
    signallingPointCode        :  FIXME VALUE
    testPatternSltm        :  FIXME VALUE

        End of Granularity Period          : 20010725191502


======================================================================
  ;;;;;[ snip]
;;;;;;;;;

        Log Filter Info         :
        MO Instance         : ManagedElement=1,Test=1
        Attribute Count    :  FIXME COUNT VALUE
        Attribute Info   :

        FIXME KEEP THIS ATTR VAL : 10
        FIXME KEEP THIS ATTR VAL : 20
        FIXME KEEP THIS ATTR VAL : 30pm_1        :  FIXME VALUE
    pm_2        :  FIXME VALUE
    pm_3        :  FIXME VALUE

        End of Granularity Period          : 20010725191502


======================================================================



        End of Overall Collection    :  20010725191548




 This is the output I would like to have:

File Version                          : 1
        Collection Begin Time: 20010725191502
        Collection End Time  :  20010725191548
        MO Instance         :
ManagedElement=1,TransportNetwork=1,Mtp3bSp=MeenaMO
        networkInd: 1
        signallingPointCode:  777
        testPatternSltm: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5

        End of Granularity Period          : 20010725191502


======================================================================


        MO Instance         :
ManagedElement=1,TransportNetwork=1,Mtp3bSp=MeenaMO

        networkInd:1
        signallingPointCode: 777
        testPatternSltm:  A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5

        End of Granularity Period          : 20010725191502


======================================================================
  ;;;;;[ snip]
;;;;;;;;;

        MO Instance         : ManagedElement=1,Test=1
       30pm_1: 10
        pm_2 :  20
        pm_3: null

        End of Granularity Period          : 20010725191502


======================================================================







....
....





 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]