[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: is there a way to extract the text from a tag?
Use the function local-name, for example <xsl:value-of select="local-name(.)"/> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Catherine Winston [mailto:cwinston@xxxxxxxxxxx] > Sent: 16 April 2009 20:04 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: is there a way to extract the text from a tag? > > My overall question: Is there a way to extract CREATOR from > the <dc:creator> tag, using xsl? > > I am trying to produce a csv document from an existing xml > file (Sample > 1 below); using my xsl (Sample 2 below) I have been able to > display the information as a csv file (Sample 3 below), but > now I am noticing that I do not have the first line of > information that I need (the field names) > - and that that information is living within the tags of the xml file. > > Sample 1 (from my xml file): > <?xml version="1.0" > encoding="UTF=16"?><digital_entity><pid>261315</pid> > <record xmlns=.................> > <dc:title>Olymic Zone</dc:title> > <dc:title>exterior; The Athlete (life-size; high relief > in concrete and stone); outside Stadium</dc:title> > <dc:title></dc:title> > <dc:creator>Gregotti, Vittorio</dc:creator> > <dc:creator>birth: 1927</dc:creator> > ............. > > Sample 2 (from my xsl file): > <?xml verison="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" xmlns:..................> > <xsl:output method="text" encoding="UTF-8" indent="no" /> > <xsl:template match="/"> > <record> > <pid> > <text>"</text><xsl:value-of > select="//pid"/><text>","</text> > </pid> > <xsl:for-each select="//dc:title"> > <dc:title> > <xsl:value-of > select="."/><text>","</text> > </dc:title> > </xsl:for-each> > <xsl:for-each select="//dc:creator"> > <dc:creator> > <xsl:value-of > select="."/><text>","</text> > </xsl:for-each> > .................. > > Sample 3 (from my csv file): (this is the very beginning of > the first line of text within my csv file) "261315","Olympic > Zone","exterior; The Athelete (life-size; high relief in > concrete and stone); outside Stadium","","Gregotti, > Vittorio","birth:1927",.................... > > I have now fathomed that I need to have - > pid,title,title,title,creator,creator,........... as my first > line of text. > > Another 'problem' is that each record that I am going to be > working with will not have the same tags or the same number > of the same tags (e.g. > one record may have three <dc:creator> tags but another may > have only one <dc:creator> tag, or none at all) - so if I > could extract the 'text' > from the tags themselves in the process of creating each csv > file - that would solve my problem. > > Any help would be greatly appreciated! > Katie
|
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
|