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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: DTD Problems: newlines, indent and PSGML

[ Lists Home | Date Index | Thread Index ]
  • From: Rob Lugt <roblugt@elcel.com>
  • To: Stefan Kamphausen <kamphausen@novelscience.com>, xml-dev@lists.xml.org
  • Date: Tue, 21 Nov 2000 11:31:05 +0000

Stefan Kamphausen wrote:-
>
> In my DTD I define an entity "Inline" that should be used wherever the
'usual
> text' appears:
>
> <!ENTITY % text        "(tabelle | liste | bild | nsi |
>                         link | publikation)"                         >
> <!ENTITY % Inline      "(#PCDATA | %text; )"                         >
>
> Later this is used:
> <!ELEMENT  ainhalt      (%Inline;)*                          >
>
> But I can't use a multiline content within <ainhalt> .. </ainhalt>
> because PSGML doesn't indent this. Where's the error? I don't think
> it's with PSGML because with good DTD written by professionals it
> works just fine.

I haven't used PSGML/Emacs, but I can see that your DTD is invalid.  The
Mixed Content model is defined as:-
[51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*'   |   '(' S?
'#PCDATA' S ')'

In particular, the mixed content model does not allow bracketed
sub-sequences.  When your DTD is expanded, your
"ainhalt" content model would look like this:
<!ELEMENT ainhalt ((#PCDATA | (tabelle | liste | bild | nsi | link |
publikation)))* >
This is not a legal, what you need is it to be resolved to this:-
<!ELEMENT ainhalt (#PCDATA | tabelle | liste | bild | nsi | link |
publikation)* >
So you need to adjust your parameter entities accordingly.

Hope this helps,
Rob Lugt
ElCel Technology





 

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

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