Sign Up
Search
Options
search
Chat
Help
News
Log in
Not Logged in
Home
»
Boards
»
Stylus Studio Developer Network
»
XSLT Help and Discussion
»
Newbie prob - Elements with same name as parent...
Conferences
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
next
Subject:
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.
next
Subject:
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>
top
Subject:
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.
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 to Conference:
Select Conference
Stylus Studio Feature Requests
Stylus Studio Technical Forum
Website Feedback
XSLT Help and Discussion
XQuery Help and Discussion
Stylus Studio FAQs
Stylus Studio Code Samples & Utilities
Stylus Studio Announcements
go
Log In Options
Username:
Password:
Site Map
|
Privacy Policy
|
Terms of Use
|
Trademarks
Stylus Scoop XML Newsletter:
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.