[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] xsl elements in template not being interpreted by outp
Hi all, Sorry in advance if I'm overlooking the obvious, but I'm stuck here. I've got an xsl file in which I created some templates. These templates are called allright but the xsl elements inside of them aren't being executed, but the xsl code is simply output to screen (I'm using Kernow to test, final display preferably possible in IE for redistribution purposes). The xsl should be called from an 'entrypoint' xsd file that will have links to xml files (link:linkbaseRef, see below) and/or to xsd files (xsd:import, see below) that in turn have their own xml files linked (again, with link:linkbaseRef). From these xml files we'll go even further exploring other (xsd) files, but I'm definitely not getting there yet. XSL file: ----- <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- snip: global variables --> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <!-- snip: html and css tags --> Entrypoint <xsl:value-of select="substring-after(xsd:schema/@targetNamespace, concat($baseAddress, 'entrypoints/'))" /> </p> <p class="formsetHeader">Linkbases:<br/> <xsl:apply-templates select="/xsd:schema/xsd:annotation/xsd:appinfo/link:linkbaseRef" /></p> <p class="formsetHeader">Schemas:<br/> <xsl:apply-templates select="/xsd:schema/xsd:import[starts-with(@namespace, concat($baseAddress, 'report/'))]" /></p> </body> </html> </xsl:template> <xsl:template match="xsd:import"> I'm in: import-template <xsl:variable name="schemaLocation" select="@schemaLocation" /> <xsd:value-of select="$schemaLocation" /> <!-- should produce a value, right? --> <xsl:variable name="formsetschema" select="document($schemaLocation)" /> <xsd:value-of select="$formsetschema/xsd:schema/xsd:annotation/xsd:appinfo/link:linkba seRef/@xlink:href" /> <!-- another debug line --> <xsd:apply-templates select="$formsetschema/xsd:schema/xsd:annotation/xsd:appinfo/link:linkba seRef" /> </xsl:template> <xsl:template match="link:linkbaseRef"> I'm in: linkbaseRef-template <!-- never gets here... --> <xsl:variable name="href" select="@xlink:href" /> <xsl:variable name="linkbase" select="document($href)" /> <xsl:variable name="roleRef" select="document(substring-before($linkbase/link:linkbase/link:roleRef/@ xlink:href, '#'))" /> <p class="formsetHeader"> <xsl:value-of select="substring-after($linkbase/link:linkbase/link:roleRef/@xlink:href , '#')" />: <xsl:value-of select="$roleRef/xsd:schema/xsd:annotation/xsd:appinfo/link:roleType[@id =substring-after($linkbase/link:linkbase/link:roleRef/@xlink:href, '#')]/link:definition" /> </p> </xsl:template> </xsl:stylesheet> ----- Now, instead of my expected output (main template linking to import-template (which in turn links to linkbase-template) as well as the linkbase-template if applicable) I see that the import-template is correctly called, but nothing is interpreted, instead it shows the xsl code as below: ----- Warning: at xsl:stylesheet on line 2 column 215 of displayEntrypoint.xsl: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor <?xml version="1.0" encoding="UTF-8"?><html xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <!-- snip: html/css --> Entrypoint x (...) I'm in: import-template <xsd:value-of select="$schemaLocation"/><xsd:value-of select="$formsetschema/xsd:schema/xsd:annotation/xsd:appinfo/link:linkba seRef/@xlink:href"/><xsd:apply-templates select="$formsetschema/xsd:schema/xsd:annotation/xsd:appinfo/link:linkba seRef"/> I'm in: import-template <xsd:value-of select="$schemaLocation"/><xsd:value-of select="$formsetschema/xsd:schema/xsd:annotation/xsd:appinfo/link:linkba seRef/@xlink:href"/><xsd:apply-templates select="$formsetschema/xsd:schema/xsd:annotation/xsd:appinfo/link:linkba seRef"/> I'm in: import-template <xsd:value-of select="$schemaLocation"/><xsd:value-of select="$formsetschema/xsd:schema/xsd:annotation/xsd:appinfo/link:linkba seRef/@xlink:href"/><xsd:apply-templates select="$formsetschema/xsd:schema/xsd:annotation/xsd:appinfo/link:linkba seRef"/></p></body></html> ----- Some sample lines taken from input files: ----- Entrypoint xsd: <xsd:import namespace="xyz" schemaLocation="../myfile.xsd"></xsd:import> Imported xsd: <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="linkbase.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:title="Presentation Links, all" xlink:type="simple"/> ----- Any help most appreciated! Thanks in advance, Chris
|
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
|