|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: DTD/Schemas with repeated structure
John F. Schlesinger found an error in my suggested stylesheet - this was for generating a DTD with a highly repetitive structure - Looks like I misremembered where the disable-output-escaping attribute can go. XT liked it anyway, though. Just move the attribute to the xsl:value-of statements that create the declarations and everything should be OK. Sorry to confuse you. Tom > Tom, > I tried your stylesheet and got a message (from the 'conforming' MS parser) > "Attribute 'disable-output-escaping' is invalid on 'xsl:output'." > > So I looked up the specification at http://www.w3.org/TR/xslt and found: > > "An xsl:value-of or xsl:text element may have a disable-output-escaping > attribute; the allowed values are yes or no; the default is no; if the value > is yes, then a text node generated by instantiating the xsl:value-of or > xsl:text element should be output without any escaping." > > The specification for xsl:output doesn't mention the disable-output-escaping > attribute. Am I doing something wrong? > > Yours, > John F Schlesinger > SysCore Solutions > 212 619 5200 x 219 > 917 886 5895 Mobile > > -----Original Message----- > From: tpassin@h... [mailto:tpassin@h...] > Sent: Thursday, August 24, 2000 7:16 PM > To: Xml-Dev (E-mail 2) > Subject: Re: DTD/Schemas with repeated structure > > > 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 > > > ============================================================== > > I was wondering if anyone has come across this problem. > > We are currently using a DTD that has the following structure. > > Ignore the actual names used here as they are purely for illustrative > > purposes but assume that there is no choice but to use such a structure: > > > > <!ELEMENT Mammal (MammalName, MammalType)> > > <!ELEMENT MammalName (#PCDATA)> > > <!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)> > > > > Image dozens of elements like this! > > > > Is there a way (either with a Schema or a DTD) to generalise this type of > > structure such that: > > <!ELEMENT * (*Name, *Type)> > > <!ATTLIST *Name (latin|common) "common"> > > <!ELEMENT *Type (#PCDATA)> > > > >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








