Solved

Namespace 'http://www.w3.org/2001/XMLSchema' does not contain any functions.

Posted on 2007-11-20
4
1,815 Views
Last Modified: 2013-11-18
I don't unnderstand how I should use these xslt version 2.0 functions. I have this very simple piece of xslt code and all namespaces correctly defined. But still I get this error:

Namespace 'http://www.w3.org/2001/XMLSchema' does not contain any functions.

What i'm doing wrong? And actually that error comes already when trying just use only datetime function.
<xsl:stylesheet version="2.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:fn="http://www.w3.org/2004/07/xpath-functions"
	xmlns:xdt="http://www.w3.org/2004/07/xpath-datatypes">
 
...
 
Year is: <xsl:value-of select="fn:year-from-dateTime(xs:dateTime('2007-11-31T19:20:00'))" />

Open in new window

0
Comment
Question by:j_lainio
  • 2
  • 2
4 Comments
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 20326103
prefixing XPath functions was necessary in an old draft of the XSLT2 spec
and is no longer required
just drop the namespaces

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xsl:template match="/">
        Year is: <xsl:value-of select="year-from-dateTime(xs:dateTime('2007-11-30T19:20:00'))" />
    </xsl:template>
</xsl:stylesheet>

will work

note that I changed the date... 2007-11-31 is an invalid date

cheers

Geert
0
 

Author Comment

by:j_lainio
ID: 20326387
No, that still won't work...? I'm getting frustrated because of this error:
Namespace 'http://www.w3.org/2001/XMLSchema' does not contain any functions.

I have tested my xml file with IE 7 and Firefox 2.0.07. I do my testing by opening Xml-file with the browser. Can this be some browser related issue? I even left out the "year-from-dateTime" function call to see if "xs:dateTime" is working. But it isn't?!

See my attached code.
XSLT:
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xsl:template match="/">
        Test me: <xsl:value-of select="xs:dateTime('2007-11-30T19:20:00')" />
    </xsl:template>
</xsl:stylesheet>
 
XML:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<Root/>

Open in new window

0
 
LVL 60

Accepted Solution

by:
Geert Bormans earned 250 total points
ID: 20326437
> I have tested my xml file with IE 7 and Firefox 2.0.07

my friend, browsers don't support XSLT2
In a browser you only have access to XPath1.0 functions
0
 

Author Closing Comment

by:j_lainio
ID: 31410231
Okay, thank you very much about this lightening information.

So, working XSLT with only browser I can use NodeSet, String, Boolean and Number functions(XPath 1.0) but there is no smart way to deal with dates, right?
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Programatically edit Web.config 8 36
jQuery or Javascript animation question 6 70
site launch date and last modified date 3 99
Fulfillment API php code sample 1 58
There are two main kinds of selectors in CSS: One is base selector like h1, h2, body, table or any existing HTML tags.  For instance, the following rule sets all paragraphs (<p> elements) to red: (CODE) CSS also allows us to define our own custom …
This article covers the basics of the Sass, which is a CSS extension language. You will learn about variables, mixins, and nesting.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question