That works great guys. However, I have another problem. I need to replace
the other with mixed content. I read that you can't use mixed content in a
sequence and that mixed content must end with ')*'. How do I go about
creating something like ((#PCDATA | other)*, (form, (#PCDATA | other)*)?).

Thanks,
Callista

P.S: Is there a good page that specifies the rules for building xml/dtd
entities and elements? Most of the ones I've seen only mention the basics
of how to write them but nothing much about things such as
deterministic/non-deterministic, rules of mixed contents, etc...

On Wed Apr 04 01:54:08 2001 MYT, you wrote:
> Hey, you are exactly right Henry.  I think I have a brain block when it
> comes to the use of anonymous groups (what I call the part in parenthesis

> (form,other*)?).  Never thought to use one.
> 
> Remind me to tell you some day about how we invented our own path syntax
to
> access these specific types elements of a document using the DTD as a
road
> map.  And XSLT/XPath have NOTHING to do with it I can assure you...
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, April 03, 2001 12:59 PM
> To: [EMAIL PROTECTED]
> Subject: RE: Need help with DTD
> 
> 
> 
> 
> Hello,
> 
>      I agree with what Bill Mason says about the model being
> non-deterministic.  Although Xerces-J appears to handle it correctly,
it's
> best not to write it in this form.
> 
>    <!ELEMENT page (other*,form?,other*)>
> 
> However, I believe the following is equivalent and is deterministic.
> 
>    <!ELEMENT page (other*,(form,other*)?)>
> 
> Thanks,
> 
> Henry
> ------------------------------------------------------------------------
> Henry Zongaro      XML Parsers development
> IBM SWS Toronto Lab   Tie Line 778-6044;  Phone (416) 448-6044
> mailto:[EMAIL PROTECTED]
> 
> 
> Bil Mason <[EMAIL PROTECTED]> on 2001/04/03 10:59:45 AM
> 
> Please respond to [EMAIL PROTECTED]
> 
> To:   [EMAIL PROTECTED]
> cc:
> Subject:  RE: Need help with DTD
> 
> 
> <!ELEMENT page (other*|form|other*)>
> 
> will ONLY validate examples 3 & 4.
> 
> <!ELEMENT page (other*,form,other*)>
> 
> is what you probably meant but it will NOT validate examples 2 and 3
> (no required form elements). By the way,
> 
> <!ELEMENT page (other*|form?|other*)>
> 
> will not work either but
> 
> <!ELEMENT page (other*,form?,other*)>
> 
> will.  I'm sure that's what E. de Haan meant in the first place.
> 
> 
> At any rate, the modified E. model is definitely non-deterministic.
> Given an initial other element (or series of other elements), it is
> not possible for the parser to determine which one(s) you are
> referring to without looking to see if a form element exists.
> 
> It gets REALLY interesting when you start listing all of the
> possible ways you could interpret this document:
> 
> <page>
>            <other>A</other>
>            <other>Z</other>
> </page>
> 
> For example:
> 
> 1) the first other element (A) and the second other element (Z) are part
> of a single group represented by the first other* in the first definition

> of page.
> 
> 2) A is a member of the first other* and Z is a member of the second
> other*.
> 
> 3) A and Z are both members of the second other*.
> 
> 
> Sadly, this is just the nature of XML DTDs.  This is the only way to
> represent the content model in question but according to the spec., it is

> the wrong way!
> 
> However, if you read the spec. closely, you will notice that although "it

> is required that content models in element type declarations be
> deterministic" (Extensible Markup Language (XML) 1.0 (Second Edition),
> Appendix E), it is NOT required that a parser report non-deterministic
> models as an error.
> 
> Could it be that someone from the original design group actually realized

> that DTDs were NOT going to be able to represent this scenario?  Perhaps
> by "ignoring" the problem, they could allow parser writers to pick up the

> slack?
> 
> NOTE: Xerces-J handles <!ELEMENT page (other*,form?,other*)> just fine.
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> 
> 
> ======================= Confidentiality Statement =======================

> The information contained in this message and any attachments is 
> intended only for the use of the individual or entity to which it is 
> addressed, and may contain information that is PRIVILEGED, CONFIDENTIAL 
> and exempt from disclosure under applicable law.  If you have received 
> this message in error, you are prohibited from copying, distributing, or 

> using the information.  Please contact the sender immediately by return 
> e-mail and delete the original message from your system. 
> ===================== End Confidentiality Statement =====================
 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to