| |
? start(\%x) bringt einen gültigen Anfangsumbau für das Element \%x zurück ? end(\%x) bringt einen gültigen Endenumbau für das Element \%x zurück ? empty(\%x) bringt ein gültiges Empty tag für das Element \%x zurück start(ci) ::= "< Ci >" end(cn) ::=-"</cn >" empty(plus)::= "< plus/>" Der Grund für das Tun dies soll eine, Grammatik für alle Attribute zu schreiben vermeiden. Das Modell folgend ist nicht für komplett alle möglichen Attributwerte. beginnen Sie und beenden Sie Umbaufunktionen [ 5 ] _ start(\%x) ::= "< \%x" ( Putzfrau - '>')* ">" /* Rückkehr ein gültiger Anfangsumbau für * des Elements \%x,/ [ 6 ] _ end(\%x) ::= "< \%x-" Raum * ">" /* Rückkehr ein gültiger Endenumbau für * des Elements \%x,/ [ 7 ] _ empty(\%x)::= "< \%x" ( Putzfrau - '>')*"/> " /* Rückkehr ein gültiges Empty tag für * des Elements \%x,/ [ 8 ] _ sg(\%x) ::= S _ Anfang (\%x) /* Anfangsumbau vorangegangen von wahlweise freigestelltem whitespace*/ [ 9 ] _ eg(\%x) ::= _ Ende (\%x) S /* Endenumbau folgte von wahlweise freigestelltem whitespace*/ [ 10 ] _ ey(\%x) ::= S _ leeren Sie sich (\%x) S /* Empty tag vorangegangen und von wahlweise freigestelltem whitespace*/ gefolgt Semantik, Anmerkung, usw.. [ 11 ] Semantik ::= _ sg (Semantik) _ mmlarg _ annot * _ z.B. (Semantik) [ 12 ] Anmerkung ::= _ sg (Anmerkung) # PCDATA _ z.B. (Anmerkung) [ 13 ] Anmerkung-xml::= _ sg (Anmerkung xml) _ IRGENDWELCHE _ z.B. (Anmerkung xml) [ 14 ] _ IRGENDWELCHE ::= "AnyXML" /* placeholder für wellformed * des XML-Fragments (nicht Mischinhalt),/ [ 15 ] _ annot ::= Anmerkung | Anmerkung xml 309 |  |
|
| |
|
|