This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Schema for Validating XSLT-Stylesheets
- To: "Sebastian Thoene" <sthoene at sundn dot de>
- Subject: Re: [xsl] Schema for Validating XSLT-Stylesheets
- From: Jeni Tennison <jeni at jenitennison dot com>
- Date: Thu, 11 Oct 2001 18:29:34 +0100
- CC: xsl-list at lists dot mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <00dc01c15267$23d75bf0$c9020a0a@hw0273>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Sebastian,
> Is there any XML-Schema conforming with the latest XML-Schema
> Specification (ideally 2001), we could use to validate the
> stylesheet? Or does anybody know another method to validate a
> stylesheet with Xerces (or Xalan)?
Searching for "XML Schema for XSLT" on Google produced the following
article, which contains a link to an XML Schema for XSLT
http://www.xmlhack.com/read.php?item=1143
Usually running an XSLT stylesheet against any document (even itself)
using an XSLT processor (e.g. Xalan) will tell you if anything's
syntactically wrong with the stylesheet, which is all that a schema
will really be able to tell you anyway.
> Our special problem is that we want to validate an XML-Document, in
> which we have embedded some XSL-Tags. The parser cannot validate the
> whole document, if it cannot validate the XSL-part, can it?
This is really a schema question, but often it can. What you need to
do is to add an xs:import element to the schema to reference a
(non-existant) XSLT schema:
<xs:import namespace="http://www.w3.org/1999/XSL/Transform" />
Then, whenever there's somewhere that XSLT elements might go, you can
use the xs:any element to represent XSLT elements. Tell the schema
validator not to bother validating them by adding a processContents
attribute with a value of 'skip':
<xs:any namespace="http://www.w3.org/1999/XSL/Transform"
maxOccurs="unbounded"
processContents="skip" />
or if there are specific XSLT elements that need to be incorporated,
I *think* you can include references to them and because you haven't
actually provided a schema for them, it will skip over them:
<xs:element ref="xsl:value-of" />
But you'd be better off asking about this on xmlschema-dev@w3.org.
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list