</head> <body> <xsl:apply-templates select="./DialogRecord"> <xsl:sort select="./te | ./ti" order="ascending"/> </xsl:apply-templates> </body> </html> </xsl:template> <!-- XSLT for file 654 --> <xsl:template match="DialogRecord[@DbaseName='654']"> <p class="Heading 1"> <xsl:for-each select="./ti"> <xsl:value-of select="."/> (USPTO)<br/> </xsl:for-each> </p> <br/> <b>Patent Information:</b> <table border="2" cellspacing="0" width="70%"> <tr> <th align="left"> </th> <th>Number</th> <th>Kind</th> <th>Date</th> </tr> <tr> <th align="left">Main Patent</th> <td align="left"> <xsl:value-of select="./pn[@subtag='MP']/sf1/sf2[1]"/> </td> <td align="center"> <xsl:value-of select="./pn[@subtag='MP']/sf1/sf2[2]"/> </td> <td align="justify"> <xsl:value-of select="./pn[@subtag='MP']/sf1/sf2[3]"/> </td> </tr> <tr> <th align="left">Application</th> <td align="left"> <xsl:value-of select="./pn[@subtag='MP']/sf1/sf2[4]"/> </td> <td align="center"> - </td> <td align="justify"> <xsl:value-of select="./pn[@subtag='MP']/sf1/sf2[5]"/> </td> </tr> <xsl:if test="string-length(./pr/sf1) > 0"> <xsl:for-each select="./pr/sf1"> <tr> <th align="left">Priority</th> <td align="left"> <xsl:value-of select="./sf2[1]"/> </td> <xsl:choose> <xsl:when test="./sf2[3]"> <!-- if there are 3 <sf2> elements --> <td align="center"> <xsl:value-of select="./sf2[2]"/> </td> <td align="left"> <xsl:value-of select="./sf2[3]"/> </td> </xsl:when> <xsl:otherwise> <td align="center"> - </td> <td align="left"> <xsl:value-of select="./sf2[2]"/> </td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </xsl:if> </table> <br/> <xsl:if test="string-length(./pa/sf1) > 0"> <!-- if not present at all --> <b>Patent Assignee: </b> <xsl:value-of select="./pa/sf1/sf2[1]/sf3[1]"/> <xsl:if test="string-length(./pa/sf1/sf2[2]/sf3[2]) > 0"> <xsl:text>; </xsl:text> <xsl:value-of select="./pa/sf1/sf2[2]/sf3[2]"/> </xsl:if> <xsl:if test="string-length(./pa/sf1/sf2[2]/sf3[3]) > 0"> <xsl:text>, </xsl:text> <xsl:value-of select="./pa/sf1/sf2[2]/sf3[3]"/> </xsl:if> <br/> </xsl:if> <br/> <b>Inventors:</b> <br/> <xsl:for-each select="./iv/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:for-each select="./sf2/sf3"> <xsl:choose> <xsl:when test="position()=1"> <xsl:value-of select="."/> <xsl:text>; </xsl:text> </xsl:when> <xsl:when test="position()=last()"> <xsl:if test="not(string-length(.) = 0)"> <xsl:value-of select="."/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:if test="not(string-length(.) = 0)"> <xsl:value-of select="."/> <xsl:text>, </xsl:text> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:for-each> <br/> </xsl:for-each> <br/> <xsl:choose> <xsl:when test="string-length(./lr/sf1/sf2/sf3) > 0"> <b>Correspondence Address: </b> <xsl:for-each select="./lr/sf1/sf2/sf3"> <xsl:choose> <xsl:when test="position() = 1"> <xsl:value-of select="."/> </xsl:when> <xsl:when test="position() = last()"> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:when> <xsl:otherwise> <b>Legal Representative: </b> <xsl:for-each select="./lr/sf1/sf2"> <xsl:choose> <xsl:when test="position() = 1"> <xsl:value-of select="."/> </xsl:when> <xsl:when test="position() = last()"> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:otherwise> </xsl:choose> <br/> <br/> <b>U.S. Classification: </b> <xsl:for-each select="./cl/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:choose> <xsl:when test="position() = 1"> <xsl:value-of select="."/> </xsl:when> <xsl:when test="position() = last()"> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:for-each> <br/> <b>International Classification: </b> <xsl:for-each select="./ic/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:choose> <xsl:when test="position() = 1"> <xsl:value-of select="."/> </xsl:when> <xsl:when test="position() = last()"> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:for-each> <br/> <xsl:if test="string-length(./ab/sf1/sf2) > 0"> <br/> <b>Abstract: </b> <xsl:value-of select="./ab/sf1/sf2"/> </xsl:if> <xsl:if test="string-length(./ab/sf1/sf2) = 0"> <br/> </xsl:if> <br/> <br/> <xsl:for-each select="./fn"> <xsl:value-of select="."/> <xsl:text>; </xsl:text> </xsl:for-each> <xsl:for-each select="./cz"> <xsl:value-of select="."/> <xsl:text>; </xsl:text> </xsl:for-each> Dialog Accession Number: <xsl:for-each select="./az"> <xsl:value-of select="."/> </xsl:for-each> </xsl:template> <!-- XSLT for file 348 --> <xsl:template match="DialogRecord[@DbaseName='348']"> <p class="Heading 1"> <xsl:for-each select="./ti[@subtag='ENGLISH']"> <xsl:if test="not(string-length(.) = 0)"> <xsl:value-of select="."/> <xsl:text> (EPO) </xsl:text> </xsl:if> </xsl:for-each> </p> <xsl:for-each select="./ti[@subtag='GERMAN']"> <xsl:if test="not(string-length(.) = 0)"> <xsl:value-of select="."/> <xsl:text> (German Title) </xsl:text> </xsl:if> </xsl:for-each> <br/> <xsl:for-each select="./ti[@subtag='FRENCH']"> <xsl:if test="not(string-length(.) = 0)"> <xsl:value-of select="."/> <xsl:text> (French Title) </xsl:text> </xsl:if> </xsl:for-each> <br/> <p class="Normal"/> <br/> <b>Patent Information:</b> <table border="2" cellspacing="0" width="70%"> <tr> <th align="left"> </th> <th>Number</th> <th>Kind</th> <th>Date</th> </tr> <xsl:choose> <xsl:when test="string-length(./pn[@subtag='BASIC PN'])=0 "> <!-- test if present --> <tr> <th align="left">Main Patent</th> <td align="left">Pending</td> <td align="center"> - </td> <td align="center"> - </td> </tr> </xsl:when> <xsl:otherwise> <tr> <th align="left">Main Patent</th> <td align="left"> <xsl:value-of select="./pn[@subtag='BASIC PN']"/> </td> <td align="center"> <xsl:value-of select="./pn[@subtag='BASIC KIND']"/> </td> <td align="justify"> <xsl:choose> <!-- better served by template for adding "19" and "20" --> <xsl:when test="string-length(./pn[@subtag='BASIC DATE'])>6"> <xsl:value-of select="./pn[@subtag='BASIC DATE']"/> </xsl:when> <xsl:when test="starts-with(./pn[@subtag='BASIC DATE'],'0')"> 20<xsl:value-of select="./pn[@subtag='BASIC DATE']"/> </xsl:when> <xsl:otherwise> 19<xsl:value-of select="./pn[@subtag='BASIC DATE']"/> </xsl:otherwise> </xsl:choose> </td> </tr> <xsl:for-each select="./pn[@subtag='PN']"> <!-- pn/@subtag='PN' has to be present before a table row is created. --> <tr> <th align="left">Patent</th> <td align="left"> <xsl:value-of select="."/> </td> <td align="center"> <xsl:value-of select="following-sibling::pn[1]"/> </td> <td align="left"> <xsl:choose> <!-- better served by template for adding "19" and "20" --> <xsl:when test="string-length(following-sibling::pn[2])>6"> <xsl:value-of select="following-sibling::pn[2]"/> </xsl:when> <xsl:when test="starts-with(following-sibling::pn[2],'0')"> 20<xsl:value-of select="following-sibling::pn[2]"/> </xsl:when> <xsl:otherwise> 19<xsl:value-of select="following-sibling::pn[2]"/> </xsl:otherwise> </xsl:choose> </td> </tr> </xsl:for-each> </xsl:otherwise> </xsl:choose> <tr> <th align="left">Application</th> <td align="left"> <xsl:value-of select="./an"/> </td> <td align="center"> - </td> <td align="justify"> <xsl:choose> <!-- better served by template for adding "19" and "20" --> <xsl:when test="string-length(./ad)>6"> <xsl:value-of select="./ad"/> </xsl:when> <xsl:when test="starts-with(./ad,'0')"> 20<xsl:value-of select="./ad"/> </xsl:when> <xsl:otherwise> 19<xsl:value-of select="./ad"/> </xsl:otherwise> </xsl:choose> </td> </tr> <xsl:if test="string-length(./pn[@subtag='PCT']) > 0"> <!-- test if present --> <tr> <th align="left">PCT Publication</th> <td align="left"> <xsl:value-of select="./pn[@subtag='PCT']"/> </td> <td align="center"> - </td> <td align="justify"> <xsl:choose> <!-- better served by template for adding "19" and "20" --> <xsl:when test="string-length(./pd[@subtag='PCT'])>6"> <xsl:value-of select="./pd[@subtag='PCT']"/> </xsl:when> <xsl:when test="starts-with(./pd[@subtag='PCT'],'0')"> 20<xsl:value-of select="./pd[@subtag='PCT']"/> </xsl:when> <xsl:otherwise> 19<xsl:value-of select="./pd[@subtag='PCT']"/> </xsl:otherwise> </xsl:choose> </td> </tr> </xsl:if> <xsl:if test="string-length(./an[@subtag='PCT']) > 0"> <!-- test if present --> <tr> <th align="left">PCT Application</th> <td align="left"> <xsl:value-of select="./an[@subtag='PCT']"/> </td> <td align="center"> - </td> <td align="justify"> <xsl:choose> <!-- better served by template for adding "19" and "20" --> <xsl:when test="string-length(./ad[@subtag='PCT'])>6"> <xsl:value-of select="./ad[@subtag='PCT']"/> </xsl:when> <xsl:when test="starts-with(./ad[@subtag='PCT'],'0')"> 20<xsl:value-of select="./ad[@subtag='PCT']"/> </xsl:when> <xsl:otherwise> 19<xsl:value-of select="./ad[@subtag='PCT']"/> </xsl:otherwise> </xsl:choose> </td> </tr> </xsl:if> <xsl:if test="string-length(./pr/sf1) > 0"> <xsl:for-each select="./pr/sf1"> <tr> <th align="left">Priority</th> <td align="left"> <xsl:value-of select="./sf2[1]"/> </td> <xsl:choose> <xsl:when test="./sf2[3]"> <!-- if there are 3 <sf2> elements --> <td align="center"> <xsl:value-of select="./sf2[2]"/> </td> <td align="left"> <xsl:choose> <!-- better served by template for adding "19" and "20" --> <xsl:when test="string-length(./sf2[3])>6"> <xsl:value-of select="./sf2[3]"/> </xsl:when> <xsl:when test="starts-with(./sf2[3],'0')"> 20<xsl:value-of select="./sf2[3]"/> </xsl:when> <xsl:otherwise> 19<xsl:value-of select="./sf2[3]"/> </xsl:otherwise> </xsl:choose> </td> </xsl:when> <xsl:otherwise> <td align="center"> - </td> <td align="left"> <xsl:choose> <!-- better served by template for adding "19" and "20" --> <xsl:when test="string-length(./sf2[2])>6"> <xsl:value-of select="./sf2[2]"/> </xsl:when> <xsl:when test="starts-with(./sf2[2],'0')"> 20<xsl:value-of select="./sf2[2]"/> </xsl:when> <xsl:otherwise> 19<xsl:value-of select="./sf2[2]"/> </xsl:otherwise> </xsl:choose> </td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </xsl:if> </table> <br/> <b>Designated States: </b> <br/> <xsl:for-each select="./ds/sf1"> <xsl:value-of select="."/> <xsl:text> </xsl:text> </xsl:for-each> <br/> <xsl:if test="string-length(./ds[@subtag='EXTENDED']/sf1) > 0"> <b>Extended States: </b> <xsl:for-each select="./ds[@subtag='EXTENDED']/sf1"> <xsl:value-of select="."/> <xsl:text> </xsl:text> </xsl:for-each> </xsl:if> <br/> <br/> <xsl:if test="string-length(./pa/sf1) > 0"> <!-- if not present at all --> <b>Patent Assignee/Applicant(s): </b> <br/> <xsl:for-each select="./pa/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:for-each select="./sf2"> <xsl:if test="position() = 1"> <xsl:value-of select="."/> </xsl:if> <xsl:if test="not(position() = 1) and not(position() = last()) and not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> <xsl:if test="position() =last()"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> <br/> </xsl:for-each> </xsl:if> <br/> <b>Inventor(s):</b> <br/> <xsl:for-each select="./iv/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:for-each select="./sf2"> <xsl:if test="position() = 1"> <xsl:value-of select="."/> </xsl:if> <xsl:if test="not(position() = 1) and not(position() = last()) and not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> <xsl:if test="position() =last()"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> <br/> </xsl:for-each> <br/> <b>Legal Representative: </b> <br/> <xsl:choose> <xsl:when test="string-length(/lr/sf1/sf2) > 0"> <xsl:for-each select="./lr/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:for-each select="./sf2"> <xsl:if test="position() = 1"> <xsl:value-of select="."/> </xsl:if> <xsl:if test="not(position() = 1) and not(position() = last()) and not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> <xsl:if test="position() =last()"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:when> <xsl:otherwise> <xsl:text>Not provided</xsl:text> </xsl:otherwise> </xsl:choose> <br/> <br/> <b>International Classification: </b> <xsl:for-each select="./ic/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:choose> <xsl:when test="position() = 1"> <xsl:value-of select="."/> </xsl:when> <xsl:when test="position() = last()"> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:for-each> <br/> <br/> <b>Abstract: </b> <xsl:choose> <xsl:when test="string-length(./ab/sf1[3]/sf2/sf3) = 0 and string-length(./nt/sf1/sf2)=0"> <!-- if not present at all --> <br/> <xsl:text>Not provided</xsl:text> </xsl:when> <xsl:when test="string-length(./ab/sf1[3]/sf2/sf3) > 0"> <!-- and string-length(./nt[subtag='FIGURE']/sf1/sf2) > 0" --> <br/> <xsl:for-each select="./ab/sf1[3]/sf2/sf3"> <xsl:value-of select="." /> </xsl:for-each> </xsl:when> <xsl:otherwise> <!--. /xsl:otherwise>when test="string-length(./nt/sf1/sf2) > 0" --> <xsl:value-of select="./nt/sf1/sf2"/> <!-- sl:otherwise> <xsl:value-of select="./nt[subtag='FIGURE']/sf1/sf2" /> <xsl:text> (Number of front page figure)</xsl:text --> </xsl:otherwise> <!-- xsl:when test="string-length(./ab/sf1/sf2/sf3[1])=0 --> <!-- xsl:when test="string-length(./nt[subtag='FIGURE']) > 0"> <xsl:text>Front page shows Figure: </xsl:text> <xsl:value-of select="./nt[subtag='FIGURE']/sf1/sf2"> </xsl:when> <xsl:otherwise> <xsl:if test="string-length(./ab/sf1/sf2/sf3[1]) = 0 and string-length(./nt[subtag='FIGURE']/sf1/sf2)=0" --> <!--br/> <xsl:value-of select="./nt/sf1/sf2"/ --> </xsl:choose> <br/> <br/> <xsl:for-each select="./fn"> <xsl:value-of select="."/> <xsl:text>; </xsl:text> </xsl:for-each> <xsl:for-each select="./cz"> <xsl:value-of select="."/> <xsl:text>; </xsl:text> </xsl:for-each> Dialog Accession Number: <xsl:for-each select="./az"> <xsl:value-of select="."/> </xsl:for-each> </xsl:template> <!-- XSLT for file 349 --> <xsl:template match="DialogRecord[@DbaseName='349']"> <p class="Heading 1"> <xsl:for-each select="./te"> <xsl:if test="not(string-length(.) = 0)"> <xsl:value-of select="."/> <xsl:text> (PCT/WIPO) </xsl:text> </xsl:if> </xsl:for-each> </p> <xsl:for-each select="./tf"> <xsl:if test="not(string-length(.) = 0)"> <xsl:value-of select="."/> <xsl:text> (French Title)</xsl:text> </xsl:if> </xsl:for-each> <br/> <br/> <p class="Normal"/> <br/> <b>Patent Information:</b> <table border="2" cellspacing="0" width="70%"> <tr> <th align="left"> </th> <th>Number</th> <th>Kind</th> <th>Date</th> </tr> <tr> <th align="left">Main Patent</th> <td align="left"> <xsl:value-of select="./pn"/> </td> <td align="center"> <xsl:value-of select="./pn[@subtag='Kind']"/> </td> <td align="justify"> <xsl:value-of select="./pd"/> </td> </tr> <tr> <th align="left">Application</th> <td align="left"> <xsl:value-of select="./an"/> </td> <td align="center"> - </td> <td align="left"> <xsl:value-of select="./ad"/> </td> </tr> <xsl:if test="string-length(./pi/sf1) > 0"> <xsl:for-each select="./pi[@subtag='PR']/sf1"> <tr> <th align="left">Priority</th> <td align="left"> <xsl:value-of select="./sf2[1]"/> </td> <xsl:choose> <xsl:when test="./sf2[3]"> <!-- if there are 3 <sf2> elements --> <td align="center"> <xsl:value-of select="./sf2[2]"/> </td> <td align="left"> <xsl:value-of select="./sf2[3]"/> </td> </xsl:when> <xsl:otherwise> <td align="center"> - </td> <td align="left"> <xsl:value-of select="./sf2[2]"/> </td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </xsl:if> </table> <br/> <b>Designated States: </b> <br/> <xsl:for-each select="./ds[1]/sf1/sf2"> <xsl:value-of select="."/> <xsl:text> </xsl:text> </xsl:for-each> <br/> <br/> <xsl:if test="string-length(./pa/sf1) > 0"> <!-- if not present at all --> <b>Patent Assignee(s)/Applicant(s): </b> <xsl:for-each select="./pa/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:for-each select="./sf2"> <xsl:if test="position() = 1"> <xsl:value-of select="."/> </xsl:if> <xsl:if test="not(position() = 1) and not(position() = last()) and not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> <xsl:if test="position() =last()"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> <br/> </xsl:for-each> </xsl:if> <br/> <b>Inventors:</b> <br/> <xsl:for-each select="./pa[@subtag='OR AU']/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:for-each select="./sf2"> <xsl:if test="position() = 1"> <xsl:value-of select="."/> </xsl:if> <xsl:if test="not(position() = 1) and not(position() = last()) and not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> <xsl:if test="position() =last()"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> <br/> </xsl:for-each> <xsl:for-each select="./au"> <xsl:for-each select="./sf1"> <xsl:if test="position() = 1"> <xsl:value-of select="."/> </xsl:if> <xsl:if test="not(position() = 1) and not(position() = last()) and not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> <xsl:if test="position() =last()"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> <br/> </xsl:for-each> <br/> <b>Legal Representative: </b> <br/> <xsl:if test="string-length(./lr) = 0"> <xsl:text>Not provided</xsl:text> </xsl:if> <xsl:for-each select="./lr/sf1"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:for-each select="./sf2"> <xsl:if test="position() = 1"> <xsl:value-of select="."/> </xsl:if> <xsl:if test="not(position() = 1) and not(position() = last()) and not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> <xsl:if test="position() =last()"> <xsl:text>, </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> </xsl:for-each> <br/> <br/> <b>International Classification: </b> <xsl:for-each select="./ic/sf1/sf2"> <!-- loops over every sf1 node that is a child of dialog record --> <xsl:choose> <xsl:when test="position() = 1"> <xsl:value-of select="."/> </xsl:when> <xsl:when test="position() = last()"> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:if test="not(string-length(.) = 0)"> <xsl:text>; </xsl:text> <xsl:value-of select="."/> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:for-each> <br/> <xsl:if test="string-length(./ab/sf1/sf2/sf3[1]) = 0"> <b>Abstract: </b> <br/> <xsl:value-of select="./nt/sf1/sf2"/> </xsl:if> <br/> <xsl:if test="string-length(./ab/sf1/sf2/sf3[1]) > 0"> <!-- if not present at all --> <b>Abstract: </b> <br/> <xsl:value-of select="./ab/sf1/sf2/sf3"/> </xsl:if> <br/> <br/> <!-- class allows setting a specific style --> <xsl:for-each select="./fn"> <xsl:value-of select="."/> <xsl:text>; </xsl:text> </xsl:for-each> <xsl:for-each select="./cz"> <xsl:value-of select="."/> <xsl:text>; </xsl:text> </xsl:for-each> Dialog Accession Number: <xsl:for-each select="./az"> <xsl:value-of select="."/> </xsl:for-each> </xsl:template> <!-- xsl:apply-templates select="*"/ --> </xsl:stylesheet>