Hi
I am really a beginner in xsl so please forgive me if
this is very obvios and esay problem. Please help me
to solve this problem. I couldnt find any such case
which can help me out.
I have this type of xml.
<Company>
<Person Manager="true" Degree="BA" >
<First>Dan</First>
<Last>McGre</Last>
<PhoneExt>21</PhoneExt>
<Email>pbhalesain</Email>
<Attribute Name="ECNType" type="List">
<List>
<ListMember type="string">1</ListMember>
<ListMember type="string">2</ListMember>
<ListMember type="string">3</ListMember>
<ListMember type="string">4</ListMember>
</List>
</Attribute>
<Attribute Name="ECNCode" type="List">
<List>
<ListMember type="string">5</ListMember>
<ListMember type="string">6</ListMember>
<ListMember type="string">7</ListMember>
<ListMember type="string">8</ListMember>
</List>
</Attribute>
<Attribute Name="RFQType" type="List">
<List>
<ListMember type="string">9</ListMember>
<ListMember type="string">10</ListMember>
<ListMember type="string">11</ListMember>
<ListMember type="string">12</ListMember>
</List>
</Attribute>
</Person>
</Company>
And I have to print it this way
First Last Ext. Email Manager Degree
Programmer ECN Type ECN Code RFQ Type
Dan | McGre | 21 | pbhal | true | BA
| false | 1 | 5 | 9
--- | --- | --- | --- | --- |--- | --- | 2 |
6 | 10
--- | --- | --- | --- | --- |--- | --- | 3 |
7 | 11
--- | --- | --- | --- | --- |--- | --- | 4 |
8 | 12
etc etc.
I appreciate if someone could please give some
pointers?
Thanks in Advance
Prashant
I have written this type of xsl.
<xsl:template match="my:Person">
<tr>
<xsl:for-each select="*">
<td><xsl:value-of select="."/></td>
</xsl:for-each>
<!-- <xsl:for-each select="@*">
<td><xsl:value-of select="."/></td>
</xsl:for-each> -->
<!--<xsl:apply-templates select="//my:Attribute" />-->
<xsl:variable name="ecncode"
select="my:Attribute[(_at_)Name='ECNCode']/my:List/my:ListMember[3]"
/>
<xsl:apply-templates
select="my:Attribute[(_at_)Name='ECNType']"/>
<!-- <xsl:apply-templates
select="my:Attribute[(_at_)Name='ECNCode']"/>-->
</tr>
</xsl:template>
<xsl:template match="my:Attribute">
<td>
<xsl:for-each select="my:List/my:ListMember">
<td><xsl:value-of select="."/></td>
</xsl:for-each>
</td>
</xsl:template>
<xsl:template match="my:Attribute[(_at_)Name='ECNType']">
<xsl:for-each select="my:List/my:ListMember">
<td>
<tr><td>---</td>
<td>---</td>
<td>---</td>
<td>---</td>
<td>---</td>
<td>---</td>
<td>---</td>
<td><xsl:value-of select="." /></td>
<Dont know what to do here?></Dont>
<!--<td><xsl:call-template name="ECNCode" >
<xsl:with-param name="count" select="position()" />
</xsl:call-template>-->
</td>
</tr>
</td>
</xsl:for-each>
</xsl:template>
<xsl:template name="ECNCode">
<xsl:apply-templates
select="my:Attribute[(_at_)Name='ECNCode']"/>
</xsl:template>
<xsl:template match="my:Attribute[(_at_)Name='ECNCode']">
<xsl:value-of select="$count"/>
<xsl:value-of select="my:List/my:ListMember[$count]"
/>
<!-- <xsl:for-each select="my:List/my:ListMember">
<td><xsl:value-of select=""/>
</xsl:for-each> -->
</xsl:template>
Thanks in advance.
Prashant
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--