Hi
I need to join tables to get employee data records.
document.xml
is
------------------------------------------
<document name="company">
<table name="A">
<r>
<ssn>1000</ssn>
<name>Peter</name>
<age>45</age>
</r>
<r>
<ssn>2000</ssn>
<name>Jacob</name>
<age>55</age>
</r>
</table>
<table name="B">
<r>
<jobid>1001</jobid>
<jobcd>Emp1</jobcd>
<title>Associat e</title>
</r>
<r>
<jobid>2001</jobid>
<jobcd>Emp2</jobcd>
<title>Manage r</title>
</r>
</table>
<table name="C">
<r>
<ssn>1000</ssn>
<jobid>1001</jobid>
<salgrade>A</salgrade>
</r>
<r>
<ssn>2000</ssn>
<jobid>2001</jobid>
<salgrade>M</salgrade>
</r>
</table>
</document>
------------------------------------------------
Expected output is for each ssn :
<ssn>1000</ssn>
<name>Peter</name>
<age>45</age>
<jobid>1001</jobid>
<jobcd>Emp1</jobcd>
<salgrade>A</salgrade>
<ssn>2000</ssn>
<name>Jacobr</name>
<age>55</age>
<jobid>2001</jobid>
<jobcd>Emp2</jobcd>
<salgrade>M</salgrade>
--------------------------------------------------------------------------
I have document.xsl stylesheet which is not working as to give above output
document.xsl
<?xml version="1.0" encoding="utf-8"?>
<xsl:styleshe et version="2.0"
xmlns:xsl="http ://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="documen t/table">
<xsl:text>
</xsl:text>
<ssn><xsl:val ue-of select="//r/ssn"/></ssn>
<xsl:text>
</xsl:text>
<name><xsl:valu e-of select="//r/name"/></name>
<xsl:text>
</xsl:text>
<age><xsl:val ue-of select="//r/age"/></age>
<xsl:text>
</xsl:text>
<jobid><xsl:val ue-of select="//r/jobid"/></jobid>
<xsl:text>
</xsl:text>
<jobcd><xsl:val ue-of select="//r/jobcd"/></jobcd>
<xsl:text>
</xsl:text>
<salgrade><xsl: value-of select="//r/salgrade"/></salgrade>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
-----------------------------------------------
I tried using
<xsl:if test="@name='A' > B or C
it just gives o/p for person ssn 1000 and does not display second record.
Can you please suggest something .
Thanks
I need to join tables to get employee data records.
document.xml
is
------------------------------------------
<document name="company">
<table name="A">
<r>
<ssn>1000</ssn>
<name>Peter</name>
<age>45</age>
</r>
<r>
<ssn>2000</ssn>
<name>Jacob</name>
<age>55</age>
</r>
</table>
<table name="B">
<r>
<jobid>1001</jobid>
<jobcd>Emp1</jobcd>
<title>Associat e</title>
</r>
<r>
<jobid>2001</jobid>
<jobcd>Emp2</jobcd>
<title>Manage r</title>
</r>
</table>
<table name="C">
<r>
<ssn>1000</ssn>
<jobid>1001</jobid>
<salgrade>A</salgrade>
</r>
<r>
<ssn>2000</ssn>
<jobid>2001</jobid>
<salgrade>M</salgrade>
</r>
</table>
</document>
------------------------------------------------
Expected output is for each ssn :
<ssn>1000</ssn>
<name>Peter</name>
<age>45</age>
<jobid>1001</jobid>
<jobcd>Emp1</jobcd>
<salgrade>A</salgrade>
<ssn>2000</ssn>
<name>Jacobr</name>
<age>55</age>
<jobid>2001</jobid>
<jobcd>Emp2</jobcd>
<salgrade>M</salgrade>
--------------------------------------------------------------------------
I have document.xsl stylesheet which is not working as to give above output
document.xsl
<?xml version="1.0" encoding="utf-8"?>
<xsl:styleshe et version="2.0"
xmlns:xsl="http ://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="documen t/table">
<xsl:text>
</xsl:text>
<ssn><xsl:val ue-of select="//r/ssn"/></ssn>
<xsl:text>
</xsl:text>
<name><xsl:valu e-of select="//r/name"/></name>
<xsl:text>
</xsl:text>
<age><xsl:val ue-of select="//r/age"/></age>
<xsl:text>
</xsl:text>
<jobid><xsl:val ue-of select="//r/jobid"/></jobid>
<xsl:text>
</xsl:text>
<jobcd><xsl:val ue-of select="//r/jobcd"/></jobcd>
<xsl:text>
</xsl:text>
<salgrade><xsl: value-of select="//r/salgrade"/></salgrade>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
-----------------------------------------------
I tried using
<xsl:if test="@name='A' > B or C
it just gives o/p for person ssn 1000 and does not display second record.
Can you please suggest something .
Thanks
Comment