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)
Use of before and after string
(3)
How do I substitute element ty...
(1)
How does one add working days ...
(4)
Help, I have existing XLT and...
(1)
Need help on XSLT issue -
(2)
EDI to XML Conversion
(7)
XML To JSON Conversion using X...
(1)
Formatting Paragraphs to same ...
(2)
Grouping of records
(1)
Problems with xsd 1.1
(4)
XML to HL7 mapping
(3)
XSLT 3 and Iterate
(2)
XSL-FO to PDF preview
(3)
java.lang.RuntimeException: Er...
(2)
Create Acroforms with Stylus X...
(2)
How to change XSLT parameter s...
(3)
how to change format of the da...
(2)
Search "Next 8 Results " doesn...
(2)
Support for Git
(1)
newbee
(8)
[1-20]
[21-40]
[41-60]
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.