Bonjour,
je développe un parser de DTD. Je veux parser quelque chose du type :
mais pour typage plus fort, voilà ce que je cherche à parser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <!ELEMENT Point EMPTY> <!ATTLIST Point x CDATA #REQUIRED y CDATA #REQUIRED>
Le soucis arrive au moment de parser la dernière ligne. D'après la norme,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <!ENTITY % xcoord "CDATA"> <!ENTITY % ycoord "CDATA"> <!ELEMENT Point EMPTY> <!ATTLIST Point x %xcoord; #REQUIRED y %ycoord; #REQUIRED>
XML1.1, rien n'est prévu pour faire une référence à une entité (PEReference) dans la liste des attributs AttDef.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3[52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>' [53] AttDef ::= S Name S AttType S DefaultDecl [54] AttType ::= StringType | TokenizedType | EnumeratedType
Ma déclaration des attributs pour un Point ne serait-elle pas standard ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part [69] PEReference ::= '%' Name ';'
Partager