Subject: From: Dave Pawson <daveP@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 25 Aug 2000 21:13:28 +0100 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Tools to create HTML documentation , Mike Van Riper | Thread | test please ignore, Yao, Di |
Re: illegal elements must go..., Jeni Tennison | Date | Re: xsl:template node set parameter, Jeni Tennison |
Month |