Subject: Re: [xsl] Recursively traversing an outline with level gaps From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Wed, 24 Mar 2010 12:03:45 -0700 |
Nobody needs the copyrighted files. I was asking for sample files. This is a *class of problems* and many sample files (not only the copyrighted ones exist). Or are you attempting to copyright all xml files that are appropriate samples for this problem? :) Please, do understand that by not providing well-defined problem, you are severely decreasing the chances of somebody willing to spend their time guessworking. On Wed, Mar 24, 2010 at 11:58 AM, Martynas Jusevicius <martynas.jusevicius@xxxxxxxxx> wrote: > These are copyrighted texts, so I'm unfortunately not able to provide them.. > > On Wed, Mar 24, 2010 at 7:55 PM, Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote: >> Where are the sample Xhtml and xml documents? >> >> On Wed, Mar 24, 2010 at 11:51 AM, Martynas Jusevicius >> <martynas.jusevicius@xxxxxxxxx> wrote: >>> Hey list, >>> >>> I want to create a nested list (ToC) from a XHTML source, which >>> contains @class attributes on elements. >>> A separate document, styles.xml, contains information about styles and >>> which outline level they belong to. @style:name matches @class in >>> XHTML. >>> >>> The tricky part is, that not all styles are necessarily used in XHTML. >>> And if they are, the outline hierarchy is not necessarily maintained >>> -- for example, only styles with level 1, 3 and 5 can be used. >>> >>> How would you traverse such a structure? My approach is to do it >>> recursively, by finding all styles for the current level, and all >>> elements of these styles (simplified): >>> >>> <xsl:template match="h:*"> >>> B <xsl:param name="level" select="1"/> >>> B <xsl:variable name="level-classes" select="key('style-by-level', >>> $level, $styles-doc)//@style:name >>> B <xsl:variable name="level-elements" select="key('element-by-class', >>> $level-classes)"/> >>> B <li> >>> B B <xsl:value-of select="."/> >>> B B <ol> >>> B B B <xsl:apply-templates="$level-elements"> >>> B B B B <xsl:with-param name="level" select="$level + 1"/> >>> B B B </xsl:apply-templates> >>> B B </ol> >>> B </li> >>> </xsl:template> >>> >>> But this gives problems since levels are not necessarily consecutive. >>> The first level can be 2, for example. >>> I also tried iterating only through actually used levels like (1, 3, >>> 5), but it's not a full solution either, because the level hierarchy >>> can differ in each branch. >>> >>> Help appreciated. >>> >>> Martynas >>> odt2epub.com >>> >>> >> >> >> >> -- >> Cheers, >> Dimitre Novatchev >> --------------------------------------- >> Truly great madness cannot be achieved without significant intelligence. >> --------------------------------------- >> To invent, you need a good imagination and a pile of junk >> ------------------------------------- >> Never fight an inanimate object >> ------------------------------------- >> You've achieved success in your field when you don't know whether what >> you're doing is work or play >> ------------------------------------- >> I enjoy the massacre of ads. This sentence will slaughter ads without >> a messy bloodbath. > > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- I enjoy the massacre of ads. This sentence will slaughter ads without a messy bloodbath.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Recursively traversing an, Martynas Jusevicius | Thread | Re: [xsl] Recursively traversing an, Martynas Jusevicius |
Re: [xsl] Recursively traversing an, Martynas Jusevicius | Date | Re: [xsl] Evaluating XML inside att, Jacobus Reyneke |
Month |