[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] How to read Schema XSD in stylesheet XSL!


Subject: Re: [xsl] How to read Schema XSD in stylesheet XSL!
From: Kamal Bhatt <kbhatt@xxxxxxxxx>
Date: Wed, 28 Nov 2007 18:16:06 +1100

wiky wrote:
Hi All,
I need urgent help on a task which is
1. to write a stylesheet XSL which will process a document XML: it will also be given a schema XSD, which will be specified by a stylesheet parameter.

2. It will produce text output, which will either be the word yes or the word no, depending whether the document conforms to the schema or not.

3. The schemata will be very simple: they will be built up from xsd:element, xsd:complexType, xsd:sequence, and xsd:choice. There will be no text content, no restriction types, and no attributes.

4. The stylesheet should work for any document and any schema made of the above elements. Note that you can write the same schema in many alternative forms (using named types and anonymous types), and your

stylesheet should work for all possible forms.
To be perfectly honest, I don't consider that a simple schema.
The probelm is I don't know how can i access NAMES of ELEMENTS and their ATTRIBUTES from SCHEMA document using XSL.
This question suggests that you don't know how to use XSD or XSLT. I assume that is not what you are asking. Can you rephrase your question?
How to pass XSD as parameter in XSL? How can I access XSD document using XS?.
If you have an xsl:param at the start of your stylesheet, then it should be picked up. How to pass it into your stylesheet depends on your processor and how you are using it..

Eg:

<xsl:stylesheet>
 <xsl:param name="external_param"/>
 ....
</xsl:stylesheet>

To access the schema you can use the document() function. eg:

document("test.xsd")/...

What you are asking is far from simple. I would think you could achieve this would be simpler using JAXP or something similar. This is really an abuse of XSLT.


-- Kamal Bhatt


Current Thread
Keywords