[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

Subject: xsl elements in template not being interpreted by output as-is
From: "Christian Schouten" <C.Schouten@xxxxxxxxxx>
Date: Thu, 31 Mar 2011 12:58:37 +0200
 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

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.