[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Overlap (was: Grouping Text Nodes)
On 8/4/05, David Carlisle <davidc@xxxxxxxxx> wrote: > I was reading some reviews of extreme (chaired by the same folks who keep > this list in order:-) yesterday was all about overlapping markup, it > seems.. Yes, I would love to go to extreme one day, it always looks interesting, and I always seem to have friends and colleagues there. But speaking of overlap..... ;-) Does someone have an existing stylesheet which enables someone to easily switch between two (arbitrary?) overlapping hierarchies as the dominant hierarchy? eg: file1.xml : ---------- <div> <p><s>This is a paragraph and, oh look it has a page-break in the middle of <pb n="2"/> a sentence.</s> <s>But the paragraph goes on and on.</s></p> <p><s>And here we have another sentence in <note> yet another boring sentence</note> another paragraph.</s> <s>But luckily this time the page break is nicely between setences.</s><pb n="3"/><s>But it is not between paragraphs.</s></p> </div> ---------- file2.xml : parameters - milestone=pb (The stylesheet knows nothing about the elements and where things may or may not be nested, but is passed the currently milestone-like element which is going to become the dominant hierarchy.) ---------- <div> <page> <p xml:id="p1" eID="p2"/><s xml:id="s1" eID="s2">This is a paragraph and, oh look it has a page-break in the middle of </page> <page> a sentence.<s xml:id="s2" sID="s1"/> <s xml:id="s3" eID="s4"/>But the paragraph goes on and on.<s xml:id="s4" sID="s3"/><p xml:id="p2" sID="p1"/> <p xml:id="p3" eID="p4"/> <s xml:id="s5" eID="s6"/>And here we have another sentence in <note xml:id="n1" eID="n2"/> yet another boring sentence<note xml:id="n2" sID="n1"/> another paragraph.<s xml:id="s6" eID="s5"/> <s xml:id="s7" eID="s8"/>But luckily this time the page break is nicely between setences.<s xml:id="s8" sID="s7"/> </page> <page> <s xml:id="s9" eID="s10">But it is not between paragraphs.<s xml:id="s10" sID="s9"/> <p xml:id="p4" sID="p3"/> </div> ---------- Or even better it more intelligently doesn't milestone things which don't need to be: ---------- <div> <page> <p xml:id="p1" eID="p2"/><s xml:id="s1" eID="s2">This is a paragraph and, oh look it has a page-break in the middle of </page> <page> a sentence.<s xml:id="s2" sID="s1"/> <s>But the paragraph goes on and on.</s><p xml:id="p2" sID="p1"/> <p xml:id="p3" eID="p4"/> <s>And here we have another sentence in <note> yet another boring sentence</note> another paragraph.</s> <s>But luckily this time the page break is nicely between setences.</s> </page> <page> <s>But it is not between paragraphs.</s> <p xml:id="p4" sID="p3"/> </div> ----------- I'm assuming that the way to do this is in multiple passes, first milestone everything underneath the root element, then create the structure of the provided milestone (pb) and either simultaneously or on a third pass de-milestone anything that will still be well-formed. Or am I just bonkers? -James -- James Cummings, Cummings dot James at GMail dot com
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|