Ciao a tutti, vorrei sapere se è possibile fare queste due cose con i DTD:

1) mettere tra le enumerate di un attributo un valore che contenga &
esempio

<!ATTLIST aaa bbb ( CC | D&amp;D) #REQUIRED>

in questo modo non funziona, c'è un modo per fare ciò?

2)
sull'xml ho una cosa del tipo

<a>testo
foo
foo
<c>foo</c>
</a>

per fare ciò nel DTD servirebbe una cosa del tipo

<!ELEMENT a (#PCDATA, b+, c ) >

ma non è una espressione valida, l'unico modo che ho trovato per definirlo è:
<!ELEMENT a (#PCDATA | b | c )* >

ma naturalmente il significato è molto diverso...
sono limitazioni dei DTD o c'è un alternativa?

grazie in anticipo, ciao!