[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: RE: [xsl] Hello, some problems with XSL-FO
Subject: RE: RE: [xsl] Hello, some problems with XSL-FO From: cknell@xxxxxxxxxx Date: Mon, 22 Dec 2003 11:32:08 -0500 |
I have looked at a course catalogue a time or two in my life. Here's what I think you want, please correct me if I am mistaken. For each <course_group> element in "courses_codes.xml" you want to gather all <course> elements in the "courses.xml" document with a <course_group> element whose value matches the value of the <course_group>. For example, if you had passed "ANTH" as the value of the "group" parameter to your stylesheet, you want an output like this: Anthropology and Archaeology The Archaeology of the American Southwest ............................ 2 [Here would be other course titles taken from the <course> elements in "courses.xml", all with "ANTH" as the value of the <course_group> element sorted alphabetically on the <title> element.] On page 2 (I'm assuming that the "2" at the end of the leader dots is a page number), you want to have all sections of this course (sorted by title) listed for the those <course> element with an "acad_year" attribute whose value matches the value of the "year" parameter you passed to the stylesheet. I fear that sending you to the explanation of Meunchian grouping may have been a waste of your time. After re-reading your post, I recognize now that the groupings are defined in the file "courses.xml" and that you don't have to synthesize them from the "courses_codes.xml" file. I don't have my XSL-FO reference books at hand so this sample stylesheet will need work. Let me know if it satisfies the basic need for the table of contents. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:output method="xml" indent="yes" encoding="UTF-8" /> <xsl:param name="group" select="'ANTH'" /> <xsl:param name="year" select="'2003'" /> <xsl:variable name="look-up" select="document('courses.xml')" /> <xsl:template match="/dce_courses"> <xsl:text> </xsl:text> <xsl:value-of select="$look-up/courses_codes/course_groups/course_group[@code=$group]/@name " /> <xsl:text> </xsl:text> <fo:block> <xsl:for-each select="course[@acad_year=$year and course_group=$group]"> <xsl:sort select="title" /> <fo:block text-align-last="justify"> <fo:basic-link> <xsl:attribute name="internal-destination"> <xsl:value-of select="generate-id()" /> </xsl:attribute> <xsl:value-of select="title" /> <fo:leader leader-pattern="dots" /> <fo:page-number-citation> <xsl:attribute name="ref-id"> <xsl:value-of select="generate-id()" /> </xsl:attribute> </fo:page-number-citation> </fo:basic-link> </fo:block> </xsl:for-each> </fo:block> </xsl:template> </xsl:stylesheet> -- Charles Knell cknell@xxxxxxxxxx - email XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Hello, some problems with, luis montealbaran | Thread | [xsl] two predicates and position, Geoff Howard |
Re: [xsl] combining 2 or more xml f, james walker | Date | Re: [xsl] output CDATA in xml using, Mukul Gandhi |
Month |