[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Fwd: xsl:for-each in Corresp Tag
Yes Wendell, I have tried <xsl: Apply-templates/>. But double comma appearing after </institution>. How can I handle if 3 type of variations coming in XML file. Thank Byomokesh ---------- Forwarded message --------- From: Byomokesh Sahoo <sahoo.byomokesh@xxxxxxxxx> Date: Wed, 12 Feb, 2020, 10:35 PM Subject: xsl:for-each in Corresp Tag To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Hi, I am facing difficulty to get required output in different structure of <corres>. Find the below three types of tagging structure. Not getting exact output if apply <xsl:for-each> on below three type of scenario. XML <corresp><label>Correspondence to</label> Anne Marie Darling, <institution content-type="department">Department of Epidemiology</institution>, <institution>Boston University</institution>, <addr-line content-type="street">715 Albany Street</addr-line>, <country>USA</country>; <email>amdarlin@xxxxxx</email></corresp> <corresp><label>Correspondence to</label> Anne Marie Darling, <institution content-type="department">Department of Epidemiology</institution>, <addr-line content-type="postal-code">02118</addr-line>, <country>USA</country>; </corresp> <corresp>Joanne Lawrence, Association of British Neurologists, Ormond House, 27 Boswell Street, London WC1N 3JZ, UK; <email> joanne.lawrence@xxxxxxxxxx</email></corresp> My XSLT <xsl:template match="corresp"> <xsl:element name="corresp"> <xsl:for-each select="label"> <xsl:element name="x"> <xsl:value-of select="."/> </xsl:element> <xsl:text>, </xsl:text> </xsl:for-each> <institution> <xsl:for-each select="institution"> <xsl:choose> <xsl:when test="@content-type='department'"> <xsl:element name="department"> <xsl:apply-templates select="node()" mode="copy-no-namespaces"/> </xsl:element> <xsl:text>, </xsl:text> </xsl:when> <xsl:otherwise> <xsl:element name="institution-name"> <xsl:value-of select="."/> </xsl:element> </xsl:otherwise> </xsl:choose> </xsl:for-each> </institution> <xsl:text>, </xsl:text> <xsl:for-each select="addr-line"> <xsl:choose> <xsl:when test="@content-type='street'"> <xsl:element name="street"> <xsl:value-of select="."/> </xsl:element> <xsl:text>, </xsl:text> </xsl:when> <xsl:when test="@content-type='postal-code'"> <xsl:element name="postal-code"> <xsl:value-of select="."/> </xsl:element> <xsl:text>, </xsl:text> </xsl:when> </xsl:choose> </xsl:for-each> <xsl:for-each select="country"> <xsl:element name="country"> <xsl:value-of select="."/> </xsl:element> <xsl:text>; </xsl:text> </xsl:for-each> <xsl:for-each select="email"> <xsl:element name="email"> <xsl:value-of select="."/> </xsl:element> </xsl:for-each> </xsl:element> </xsl:template> Desired Output <corresp><x>Correspondence to</x> Anne Marie Darling, <institution><department>Department of Epidemiology</department>, <institution-name>Boston University</institution-name></institution>, <street>715 Albany Street</street>, <country>USA</country>; <email> amdarlin@xxxxxx</email></corresp> <corresp><x>Correspondence to</x> Anne Marie Darling, <institution><department>Department of Epidemiology</department>, <postal-code>02118</postal-code>, <country>USA</country>; <email> amdarlin@xxxxxx</email></corresp> <corresp>Joanne Lawrence, Association of British Neurologists, Ormond House, 27 Boswell Street, London WC1N 3JZ, UK; <email> joanne.lawrence@xxxxxxxxxx</email></corresp> Kindly suggest. thanks byomokesh
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|