[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: dynamically applying templates
On Sep 15, 2004, at 11:46 AM, Wendell Piez wrote:
Could you include a snippet of source (actually both sources) so we have a clue as to what the input looks like?
==== source ==== <doc> <!-- this would normally be docbook ng; but keep it simple for now --> <mods xmlns="http://www.loc.gov/mods/v3"> <name type="personal"> <namePart type="given">Jane</namePart> <namePart type="family">Doe</namePart> </name> <titleInfo> <title>Main Title</title> <subTitle>Subtitle</subTitle> </titleInfo> </mods> </doc> ==== xsl ==== <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:db="http://docbook.org/docbook-ng" xmlns:mods="http://www.loc.gov/mods/v3" xmlns="http://www.w3.org/1999/xhtml" xmlns:bib="http://xbiblio.sourceforge.net/xbib" xmlns:cs="http://xbiblio.sourceforge.net/xcs" exclude-result-prefixes="mods db bib xs cs"> <xsl:output method='xhtml' encoding='utf-8' indent='yes'/> <xsl:strip-space elements="*"/> <!-- read the external citation style file --> <xsl:param name="citation-style" required="yes" as="xs:string" /> <xsl:variable name="styles" as="document-node()" select="doc(concat($citation-style, '.csl'))" /> <xsl:variable name="style-biblio" select="$styles/cs:citationstyle/cs:content/cs:bibliography"/> <xsl:template match="/"> <xsl:param name="source"/> <html> <div> <xsl:apply-templates mode="bibliography"> <xsl:with-param name="source" select="$style-biblio"/> </xsl:apply-templates> </div> </html> </xsl:template> <xsl:template match="cs:entry/cs:reftype[@name='book']" mode="bibliography"> <xsl:param name="source"/> <test> <xsl:apply-templates> <xsl:with-param name="source" select="$source"/> </xsl:apply-templates> </test> </xsl:template> <xsl:template match="cs:title"> <xsl:param name="source"/> <xsl:apply-templates select="$source/mods:titleInfo" mode="full"/> </xsl:template> <xsl:template match="mods:titleInfo" mode="full"> <span class="title"> <xsl:apply-templates select="mods:title"/> <xsl:apply-templates select="mods:subTitle"/> </span> </xsl:template> <xsl:template match="cs:creator" mode="full"> <xsl:param name="source"/> <xsl:apply-templates select="$source/mods:name" mode="full"/> </xsl:template> <xsl:template match="mods:name" mode="full"> <span class="creator"> <xsl:apply-templates select="mods:namePart"/> </span> </xsl:template> </xsl:stylesheet>
|
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
|