Avatar billede janegil Nybegynder
27. september 2002 - 01:49 Der er 1 kommentar og
1 løsning

DTD: blande tekstnoder med elementer

Hvordan skriver man en DTD som tillater å blande elementer og tekstnoder, som fx

<line>Å være <stagedir>hodeskalle</stagedir> eller ikke være</line>

Jeg har funnet en DTD som prøver med

<!ELEMENT line (#PCDATA | stagedir)+>

men Near&Far designer sier “#PCDATA in model group that does not have rep occurrence indicator”, og XML Spy virker ikke særlig fornøyd den heller.

DTD’en for XHTML tillater jo elementer blandet inn i teksten, så dette skal være mulig?

(Original DTD er http://www.turingmachine.org/~dmg/dsssl/tutorial/play.dtd, men den har flere problemer, N&F vil ikke godta bindestrekene som er brukt, så de måtte jeg fjerne. Det er vel heller ikke noen vits å deklarere &amp; i en XML-dtd.)
Avatar billede janegil Nybegynder
27. september 2002 - 10:20 #1
XHTMLs DTD lyder bl.a.:

<!ELEMENT p %Inline;>
<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">

så kanskje jeg skal prøve med '"':

<!ELEMENT line "(#PCDATA | stagedir)+">
Avatar billede janegil Nybegynder
27. september 2002 - 17:20 #2
Løsningen ligger i å åg omveien om en entitet, så blir både N&F og XMLSpy glade:

<!ENTITY % linecontent "#PCDATA | stagedir">
<!ELEMENT line (%linecontent;)* >
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester