[xsl] Help on XSL to tranform simple flat xml sequentially

Subject: [xsl] Help on XSL to tranform simple flat xml sequentially
From: Christian Oshiro <chris_oshiro@xxxxxxxxx>
Date: Sun, 30 Aug 2009 09:07:30 -0700 (PDT)
This seems like a pretty simple thing to do, but I usually rely on nested xml. How can I tranform xml that looks like this:

<para role=title>main title1</para>
<para role=subtitle>subtitle1</para>
<para>This is the body of the paragraph. 1</para>
<list>some stuff 1</list>
<para role=title>main title2</para>
<para role=subtitle>subtitle2</para>
<para>This is the body of the paragraph. 2</para>
<list>some stuff 2</list>
<para role=title>main title3</para>
<para role=subtitle>subtitle3</para>
<para>This is the body of the paragraph. 3</para>
<list>some stuff 3</list>

I'd like to transform this using xlst to something like this:

<paragraph>
  <title>main title1</title>

<subtitle>subtitle1</subtitle>

<body>This is the body of the paragraph. 1</body>

<list>some stuff 1</list>
</paragraph>
<paragraph>
  <title>main title2</title>
  <subtitle>subtitle2</subtitle>
  <body>This is the body of the paragraph. 2</body>
  <list>some stuff 2</list>
</paragraph>
<paragraph>
  <title>main title3</title>
  <subtitle>subtitle3</subtitle>
  <body>This is the body of the paragraph. 3</body>
  <list>some stuff 3</list>
</paragraph>

So i need to go node by node and test when role=title shows up. Thanks for the insight.

Current Thread