[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
I have a book in a TEI-influenced flavor of XML. It contains many footnotes, which may themselves contain additional footnotes. These footnotes are coded inline in the originating text, directly following their reference:
/publication/chapter/section/div/
<p>Some text here and here<ref type="footnote" target="someid">*</ref>
<note type="footnote" id="someid">
<label id="lsomelabelid">* </label>
<p>Some note text<ref type="footnote" target="anotherid">†</ ref>
<note type="footnote" id="anotherid">
<label id="anotherlabel">† </label>
<p>A sub note for further reference</p>
</note>
goes here and here and here.
</p>
</note>
. And even more regular text here.
</p>
Side note: I am already using a multi-stage transform on this XML to convert it to XHTML, so if I need to add another stage, that's just fine.
What I would like to do is un-nest the notes, such that my output XML would look more like this:
(where asterisks denote formerly nested sub-notes)
Each note would then contain all of its text, refs, and any other content, but no child notes.
Further complicating this process is the fact that the publication/ chapter/section part of this program cannot be guaranteed -- divs can live at any level below publication and don't require any sort of parent besides that.
Can anyone recommend a flexible way to extract these notes and make them all one level?
Thanks in advance,
Walter
[xsl] flattening and re-ordering nested notes
Subject: [xsl] flattening and re-ordering nested notes From: Walter Lee Davis <waltd@xxxxxxxxxxxx> Date: Mon, 18 Aug 2008 09:21:06 -0400 |
I have a book in a TEI-influenced flavor of XML. It contains many footnotes, which may themselves contain additional footnotes. These footnotes are coded inline in the originating text, directly following their reference:
/publication/chapter/section/div/
<p>Some text here and here<ref type="footnote" target="someid">*</ref>
<note type="footnote" id="someid">
<label id="lsomelabelid">* </label>
<p>Some note text<ref type="footnote" target="anotherid">†</ ref>
<note type="footnote" id="anotherid">
<label id="anotherlabel">† </label>
<p>A sub note for further reference</p>
</note>
goes here and here and here.
</p>
</note>
. And even more regular text here.
</p>
Side note: I am already using a multi-stage transform on this XML to convert it to XHTML, so if I need to add another stage, that's just fine.
What I would like to do is un-nest the notes, such that my output XML would look more like this:
/publication/chapter/section/ div div div note note note note* note*
(where asterisks denote formerly nested sub-notes)
Each note would then contain all of its text, refs, and any other content, but no child notes.
Further complicating this process is the fact that the publication/ chapter/section part of this program cannot be guaranteed -- divs can live at any level below publication and don't require any sort of parent besides that.
Can anyone recommend a flexible way to extract these notes and make them all one level?
Thanks in advance,
Walter
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSLT problem, Martin Honnen | Thread | RE: [xsl] flattening and re-orderin, Houghton,Andrew |
[xsl] XSLT problem, Houman Khorasani | Date | Re: [xsl] copy of specific elements, henry human |
Month |