xsl-list
[Top] [All Lists]

RE: Translating XSD into an XSLT, experts approach needed

2004-02-26 02:23:05

- I am attempting to automatically generate an XSLT style 
sheet that will render all the elements in an XML document as 
HTML (The XML instance document has already been created and 
does not have to be generated by the system). The visual 
display format is not pre-defined, and the output does not 
have to look good, just display all the data in the XML 
document as HTML.

...but saying 'just display all the data in the xml as html' doesn't
mean anything.  You could just wrap any text content in a <div>:

<xsl:template match="text()">
  <div>
    <xsl:value-of select="."/>
  </div>
</xsl:template>

Or just wrap the entire text content in one <div>

<xsl:template match="/">
  <div>
    <xsl:value-of select="."/>
  </div>
</xsl:template>

Both will meet your requirements (as they stand) but both aren't really
what you mean, I think.

- Rather than automatically generating the XSLT from an XML 
instance document (which could potentially not contain every 
element defined in the schema i.e. if an element is optional) 
instead use the XSD as a reference to ensure every possible 
element has a template associated with it.

Yes, but you need to know how to *style* each element as well.  You need
both the XSD and a style guide to create a stylesheet.


- The generated XSLT can then be applied to any instance 
document to display the data contained within as HTML.

You don't need a schema/dtd to write a stylesheet that will do that.

The main question I have is if you had to preform this task 
(generate an XSLT to display all elements, using the schema 
as a reference), how what technique would you use? Would you 
systematically work your way through the XSD creating a 
template for each element, or would you first extract certain 
elements?

Well that depends on the output required / styleguide requirements.
Whether you 'push' or 'pull' depends on the structure of your input
*and* on the structure of your output, you can't decide these things on
the schema alone.

I was also looking for any comments on the viability of such 
a project, or general XSLT construction techniques or 
problems that you think would prove tricky for such a system.

Double click an xml file in windows and you will see a generic display
for xml.  Type 'res://msxml3.dll/DEFAULTSS.xsl' into your browser to
view this stylesheet, its probably what you are after.  This is a wd-xsl
stylesheet, someone has done an xslt version which of course is better
:)


cheers
andrew 

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>