[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: xsl elements in template not being interpreted by

Subject: Re: xsl elements in template not being interpreted by output as-is
From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx>
Date: Thu, 31 Mar 2011 13:08:26 +0200
Re:  xsl elements in template not being interpreted by
Some of your namespace prefixes for stylesheet elements are xsl:, but
a few are xsd:

-W


On 31 March 2011 12:58, Christian Schouten <C.Schouten@xxxxxxxxxx> wrote:
>
> 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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.