[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Ordering in XSL:Apply-Templates
Subject: Re: Ordering in XSL:Apply-Templates
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Mon, 25 Oct 2010 11:04:51 +0100
|
Use
<xsl:template match="name">
<xsl:apply-templates select="given-name, surname"/>
</xsl:template>
Michael Kay
Saxonica
On 25/10/2010 10:18, Ramkumar.V wrote:
Hi, List
I am using xslt2.0 with saxon processor for my xml to xml
transformation. I like to ordering the element while applying the
template, as shown below.
For example: Input XML element order <surname>, <given-names>. But I
want <given-names>, <surname>. here order of the other elements should
retains as it appear in input.
Note: In input XML, before and after the name element may come any
element. How we can achieve this using xslt2.0?
Input XML:
========
<?xml version="1.0" encoding="UTF-8"?>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Carlisle</surname><given-names>Suzanna
K.</given-names></name>
<degrees>RN, BSN, CCRP</degrees>
</contrib>
<contrib contrib-type="author">
<name><surname>Vargas</surname><given-names>Perla A.</given-names></name>
<degrees>PhD</degrees>
</contrib>
<contrib contrib-type="author">
<name><surname>Jones</surname><given-names>Stacie M.</given-names></name>
<degrees>MD</degrees>
</contrib>
</contrib-group>
XSLT :
=====
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output encoding="us-ascii" indent="yes" method="xml"/>
<xsl:template
match="contrib-group"><aug><xsl:apply-templates/></aug></xsl:template>
<xsl:template
match="contrib"><au><xsl:apply-templates/></au></xsl:template>
<xsl:template
match="surname"><surname><xsl:apply-templates/></surname></xsl:template>
<xsl:template
match="given-names"><forename><xsl:apply-templates/></forename></xsl:template>
<xsl:template
match="degrees"><qualifications><xsl:apply-templates/></qualifications></xsl:template>
</xsl:stylesheet>
Output XML:
=========
<?xml version="1.0" encoding="us-ascii"?>
<aug>
<au><surname>Carlisle</surname><forename>Suzanna
K.</forename><qualifications>RN, BSN, CCRP</qualifications></au>
<au><surname>Vargas</surname><forename>Perla
A.</forename><qualifications>PhD</qualifications></au>
<au><surname>Jones</surname><forename>Stacie
M.</forename><qualifications>MD</qualifications></au>
</aug>
Expected Output:
============
<?xml version="1.0" encoding="us-ascii"?>
<aug>
<au><forename>Suzanna
K.</forename><surname>Carlisle</surname><qualifications>RN, BSN,
CCRP</qualifications></au>
<au><forename>Perla
A.</forename><surname>Vargas</surname><qualifications>PhD</qualifications></au>
<au><forename>Stacie
M.</forename><surname>Jones</surname><qualifications>MD</qualifications></au>
</aug>
===========================================================
***Disclaimer***
This email, and any attachments ("this email"), is confidential. If
you are not the addressee please tell the sender immediately, and
destroy this email without using, sending or storing it. Any opinions,
express or implied, in this email, are those of the sender, and are
not necessarily approved by the company. Except as expressly stated,
this e-mail should not be regarded as an offer, solicitation,
recommendation or agreement to buy or sell products or services, or to
enter into any contract. E-mail transmissions are not secure and may
suffer errors, viruses, delay, interception and amendment. The company
does not accept liability for damage caused by any of the foregoing.
ALL INCOMING AND OUTGOING MAILS MAY BE MONITORED BY THE COMPANY.
============================================================
Current Thread |
Michael Kay - 25 Oct 2010 10:05:07 -0000 <=
|
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|