XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + sort by variable (11)
-> + [XSLT Recursive Template Help]... (2)
-> + Adding values with document() ... (7)
-> + merging xml files in to single... (2)
-> + Limit description characters i... (2)
-> + problem parsing xml as text in... (2)
-> + Summarize/Distinct (5)
-> + unix epoch seconds to date str... (3)
-> + xml, xslt question (5)
-> + LGCL XSLT transformation (3)
-> + Dynamic include (3)
-> + .rdbxml as XML within Stylus ... (3)
-> + Array of Values From XSL (2)
-> + Problem Saving output (2)
-> + Base 64 encoded data embedded ... (2)
-> + XML-XML Mapping (2)
-> - Parameterized 'Document()' ...... (1)
-> - Newbie prob - Elements with sa... (3)
-> ->Newbie prob - Elements wi...
-> ->Newbie prob - Elements wi...
-> - .net 1.1 incorrectly processin... (1)
-> + xs:key and xs:keyref question (5)
-> + pass xsl-variable to javascrip... (2)
-- Previous [1321-1340] [1341-1360] [1361-1380] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
eg bertSubject: Newbie prob - Elements with same name as parent...
Author: eg bert
Date: 26 Sep 2006 10:37 AM
Hi

I'm reading through a 'todo' list generated by an app. called ToDoList

The 'basic' format of the file is: -

<?xml version="1.0" encoding="UTF-8"?>
<todolist>
<task id="1" title="Task 1">
<task id="1a" title="Task 1a"/>
<task id="1b" title="Task 1b"/>
</task>
<task id="2" title="Task 2">
<task id="2a" title="Task 2a"/>
</task>
</todolist>

So each <task> can have multiple sub tasks

I want to read through the file and output all tasks along with their attributes

I have got this far..


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2004/07/xpath-functions" xmlns:xdt="http://www.w3.org/2004/07/xpath-datatypes">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/todolist">
<xsl:for-each select="task">
<xsl:sort order="ascending" select="@title"/>
<BR />Top:
<xsl:value-of select="@title"/>
(<xsl:value-of select="@id"/>)
<BR />
<xsl:value-of select="@comments"/>
<xsl:apply-templates select="task"/>
</xsl:for-each>
</xsl:template>
<xsl:template match="task">
<BR />Sub:
<xsl:value-of select="@title"/>
(<xsl:value-of select="@id"/>)
<BR />
<xsl:value-of select="@comments"/>
</xsl:template>
</xsl:stylesheet>


Output: -


Top: Task 1 (1)

Sub: Task 1a (1a)

Sub: Task 1b (1b)

Top: Task 2 (2)

Sub: Task 2a (2a)


but there must be a better way of doing this without repeating myself

Any help is greatly appreciated

Thanks, Eg.

Postnext
James DurningSubject: Newbie prob - Elements with same name as parent...
Author: James Durning
Date: 26 Sep 2006 10:48 AM
Add one line to this template:
<xsl:template match="task">
...
...
<xsl:apply-template match="task"/>
</xsl:template>

Posttop
eg bertSubject: Newbie prob - Elements with same name as parent...
Author: eg bert
Date: 26 Sep 2006 04:45 PM
Thanks very much James, that has picked up all the missing <tasks>.

Is it possible achieve this without outputting the attributes in the first template

<xsl:template match="/todolist">
<xsl:for-each select="task">
<xsl:sort order="ascending" select="@title"/>

+++ This block +++
<BR />Top:
<xsl:value-of select="@title"/>
(<xsl:value-of select="@id"/>)
<BR />
<xsl:value-of select="@comments"/>
--- This block ---
<xsl:apply-templates select="task"/>
</xsl:for-each>
</xsl:template>

so the 'task' templates does all the work?
Thanks Eg.

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.