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.