|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: (newbie) DTD question
On Fri, 12 Jul 2002, Glen Mazza wrote:
> Hello,
>
> I thought this type of XML document (with two types of
> "name"s) was acceptable:
>
> <family>
> <person>
> <name>
> <firstname>John</firstname>
> <lastname>Smith</lastname>
> </name>
> </person>
> <pet>
> <name>Spot</name>
> </pet>
> </family>
>
> Creating a DTD for this appears to be failing on the
> "name" field.
>
> I define it once for people as:
> <!ELEMENT name (firstname, lastname)>
>
> and later for pets as
> <!ELEMENT name (#PCDATA)>
>
> But evidently I can only define "name" once, even
> though "name" is in different contexts ("person",
> "pet"). Can I scope "names" within the DTD, sort of
> like this following: (if so, what's the syntax?)
>
> <!ELEMENT person.name ....
> <!ELEMENT pet.name ....
>
> Thanks,
> Glen
>
>
You can't redefine an element in a DTD (i.e., make it context dependent).
However, it is easily possible in Relax NG:
<element name="person">
<element name="name">
<element name="firstname"><text/></element>
<element name="lastname"><text/></element>
</element>
</element>
<element name="pet">
<element name="name"><text/></element>
</element>
I suspect it's possible with XML Schema as well.
--
J. David Eisenberg http://catcode.com/
|
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








