OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: Writing a DTD

[ Lists Home | Date Index | Thread Index ]
  • From: "Hanson, Jon" <jhanson@lehman.com>
  • To: 'Pramod Rao Pesara' <ppesara@cs.nmsu.edu>
  • Date: Fri, 03 Nov 2000 17:08:52 +0000

i'm not sure why or in what context you would want to do that. as far as i'm
aware the only place such characters might appear in a DTD is in the content
of an internal entity definition, e.g.:-

<!ENTITY copyright "(c) jon hanson 2000">

where they can appear as is since they are not special. if you really don't
want to write '(' or any other character literally you can use a character
reference - &#40; for '(' and &#41; for ')'. The only special chars in XML
are the following with their equivalent entity and character reference:-
&	&amp;	&#38;
<	&lt;	&#60;
>	&gt;	&#62;
'	&apos;	&#39;
"	&quot;	&#34;

e.g. some well-formed XML from the xml spec:-

<p>An ampersand (&#38;) may be escaped numerically (&#38;#38;) or with a
general entity (&amp;amp;).</p>

which might be rendered as:-

An ampersand (&) may be escaped numerically (&#38;) or with a general entity
(&amp;).

jon



> -----Original Message-----
> From:	Pramod Rao Pesara [SMTP:ppesara@cs.nmsu.edu]
> Sent:	Friday, November 03, 2000 4:44 PM
> To:	Hanson, Jon
> Cc:	xml-dev@lists.xml.org
> Subject:	RE: Writing a DTD
> 
> 
> thanks a lot. But is there a way to represent special characters like "(",
> ")" and "/" in a DTD?
> Pramod.
> 
> 
> 
>  
> 
> On Fri, 3 Nov 2000, Hanson, Jon wrote:
> 
> > assuming your grammar is BNF so valid sentences would be e.g.:-
> > 
> > (lambda fred xyz)
> > 
> > (lambda a234 adf)
> > etc
> > 
> > then such expressions would not be valid xml,  so you can't really write
> a
> > DTD for them.
> > an XML equivalent of what you appear to be attempting might be something
> > like:-
> > 
> > <lambda>
> > 	<name>fred</name>
> > 	<body>xyz</body>
> > </lambda>
> > 
> > for which the DTD would look like:-
> > 
> > <!ELEMENT lambda  (name , body )> 
> > <!ELEMENT name  (#PCDATA )> 
> > <!ELEMENT body  (#PCDATA )>  
> > 
> > jon
> > 
> > > -----Original Message-----
> > > From:	Pramod Rao Pesara [SMTP:ppesara@cs.nmsu.edu]
> > > Sent:	Friday, November 03, 2000 3:55 PM
> > > To:	xml-dev@lists.xml.org
> > > Subject:	Writing a DTD
> > > 
> > >  Hi,
> > >     I new to XMl and just learning to write DTDs. Could anyone please
> help
> > > 
> > > me in writing a DTD for the following Grammar. Here "lamda", "(" and
> > > ,")" are keywords and text1 and test2 can be any character data.
> > >     
> > >     Expression  ::=  "(" "lambda" text1 text2 ")"
> > >     
> > > Thank You.
> > > Pramod 
> > 




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS