Subject: Re: XML and XSLT From: Phil Lanch <phil@xxxxxxxxxxxxxxx> Date: Thu, 02 Mar 2000 21:13:29 +0000 |
Matt.Varney@xxxxxxxxx wrote: > > I would like to use XSTL to transform one XML doc (call it "A") into a new > XML doc (call it "B"): > > Here is "A": > > <?xml version="1.0"?> > <dsobjects> > <prop> > <title>President's Office Staff</title> > <summary>Financial Reports for President's Office > Staff</summary> > </prop> > <prop> > <title>VP of Finance</title> > <summary>Financial Reports for VP of Finance</summary> > </prop> > <title>VP of External Affairs</title> > <summary>Financial Reports for VP of External > Affairs</summary> > </prop> > <prop> > <title>VP of Internal Affairs</title> > <summary>Financial Reports for VP of Internal > Affairs</summary> > </prop> > ...etc........... > <dsobjects> > > And here is "B": > > <?xml version="1.0"?> > <dsobjects> > <dsobject type="Collection" handle="Collection-100"> > <prop> > <title>President's Office Staff</title> > <summary>Financial Reports for President's Office > Staff</summary> > </prop> > </dsobject> > <dsobject type="Collection" handle="Collection-101"> > <prop> > <title>VP of Finance</title> > <summary>Financial Reports for VP of > Finance</summary> > </prop> > </dsobject> > <dsobject type="Collection" handle="Collection-102"> > <prop> > <title>VP of External Affairs</title> > <summary>Financial Reports for VP of External > Affairs</summary> > </prop> > </dsobject> > <dsobject type="Collection" handle="Collection-103"> > <prop> > <title>VP of Internal Affairs</title> > <summary>Financial Reports for VP of Internal > Affairs</summary> > </prop> > </dsobject> > > ......etc...... > > </dsobjects> > > As you can see, the "B" sample adds a counting element to identify each > individual "dsobject type". There will be several hundred of these to tag > with a sequential number. > > Can anyone help suggest the syntax of the XSL doc to apply against XML Doc > "A" to produce XML doc "B"? <xsl:template match="dsobjects|title|summary"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="prop"> <dsobject type="Collection"> <xsl:attribute name="handle">Collection-<xsl:value-of select="100 + count(preceding-sibling::prop)"/></xsl:attribute> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </dsobject> </xsl:template> -- cheers phil "The smile Ulrich gave him in answer said: I don't know; let me wait and see what more you have to say." Musil XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
XML and XSLT, Matt . Varney | Thread | RE: XML and XSLT, Mike Brown |
RE: XML and XSLT, Mike Brown | Date | RE: XML and XSLT, Matt . Varney |
Month |