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
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
luciano greinerSubject: Complicated Indexes
Author: luciano greiner
Date: 19 Jul 2005 09:03 PM
Hello!

I am working on a XML Software Use Case Specification markup.
My idea is to create XSLT schemas to transform this XML to HTML and PDF.

I done a HTML version of a XML use case to see how i would like it be transformed, then i started to develop a XSLT. There is a situation, on Use Case Extensions that i am facing with complex indexes. An Extension refer to a step in main flow. Example:

Main Flow
1. The actor inputs its username and password.
2. The system processes user login.

Extensions (non-well written)
1a. Username doesn't exist
-1a1. The system notifies Actor ...
-1a2. The actor modifies username ...
1b. Password is invalid
-1b1. The actor informs password again
--1b1a. Password invalid again (A SUBEXTENSION)
---1b1a1. The system blocks user account
2a.
...

My XML representation for above scenario is:

<MainSuccessScenario>
<Step>The actor inputs its username and password.</Step>
<Step>The system processes user login.</Step>
</MainSuccessScenario>
<Extensions>
<Extension mainstep="1">
<Description>Username doesn't exist</Description>
<Step>The system notifies Actor ...</Step>
<Step>The actor modifies username ...</Step>
</Extension>
<Extension mainstep="1">
<Description>Password is invalid</Description>
<Step>
The actor informs password again
<Extension>
<Description>Password invalid again</Description>
<Step>The system blocks user account</Step>
</Extension>
</Step>
</Extension>
...
</Extensions>

The default is:
- Extension description index is mainstep attribute or parent index,
plus a sequential letter.
- Extension step index is description index, plus a sequential number.

Can XSLT generate these indexes for me? If so, how?
I am also opened for suggestions on xml markup to make things simpler.

Thank you


Unknownusecase(1).xml


Unknownusecase(1).xsl

Posttop
Ivan PedruzziSubject: Complicated Indexes
Author: Ivan Pedruzzi
Date: 21 Jul 2005 12:55 AM
Hi Luciano,

You need to use the position() function and a bit of creativity.
Here an example

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

<xsl:template match="Extensions">
<h2>Extensions:</h2>
<ul>

<xsl:for-each select="Extension">
<li><xsl:value-of select="concat(position(), ' ' ,Description)"/>
<ul>
<xsl:for-each select="Step">
<li><xsl:value-of select="concat(position(), ' ' ,.)"/></li>
</xsl:for-each>
</ul>
</li>

</xsl:for-each>
</ul>
</xsl:template>

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
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.