|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: DTD Problems: newlines, indent and PSGML
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
|
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








