This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
No Subject
- To: xsl-list at mulberrytech dot com
- From: Dave Pawson <daveP at dpawson dot freeserve dot co dot uk>
- Date: Fri, 25 Aug 2000 21:13:28 +0100
- Reply-To: xsl-list at mulberrytech dot com
Yet another use of XSLT?
This from xml-dev.
I thought it might trigger some
interest on xsl-list.
Regards DaveP
>Justin Lipton asked about generating a simple, repetitive DTD structure
>automagically (see his post at the end).
>
>Simple - stick with xml and use an xslt stylesheet!. It's about as easy as
>programming it, possibly easier. Of course, you do have to create the xml
>file...
>
>Here's the input xml file:
>
><things>
> <thing>Mammal</thing>
> <thing>Fish</thing>
> <thing>Bird</thing>
></things>
>
>Here's the stylesheet (the mailer will break the lines at awkward places so
>I am also attaching it):
>
><?xml version="1.0"?>
>
><xsl:stylesheet version="1.0"
>xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
><xsl:output method='text' disable-output-escaping='yes'/>
> <xsl:template match="/things"><xsl:apply-templates/></xsl:template>
>
> <xsl:template match='thing'>
><xsl:variable name='name' select='text()'/>
><!ELEMENT <xsl:value-of select='$name'/> (<xsl:value-of
>select='$name'/>Name, <xsl:value-of select='$name'/>Type)>
><!ATTLIST <xsl:value-of select='$name'/>Name (latin|common) "common">
><!ELEMENT <xsl:value-of select='$name'/>Type (#PCDATA)>
> </xsl:template>
>
></xsl:stylesheet>
>
>Here's the output, just what you asked for:
>
>D:>xt things.xml things.xsl
>
>
><!ELEMENT Mammal (MammalName, MammalType)>
><!ATTLIST MammalName (latin|common) "common">
><!ELEMENT MammalType (#PCDATA)>
>
>
><!ELEMENT Fish (FishName, FishType)>
><!ATTLIST FishName (latin|common) "common">
><!ELEMENT FishType (#PCDATA)>
>
>
><!ELEMENT Bird (BirdName, BirdType)>
><!ATTLIST BirdName (latin|common) "common">
><!ELEMENT BirdType (#PCDATA)>
>
>Cheers,
>
>Tom Passin
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list