[
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
|