Vous êtes sur la page 1sur 2

extParsedEnt ::= xmlDecl?

content
>External Parsed Entity
xmlDecl$ ::= '<?xml' versionInfo? encodingDecl S? '?>'
>XML Declaration (<?xml...?>)
versionInfo$ ::= S 'version' Eq ( ( '"' VersionNum '"' ) | ( "'" VersionNum
"'" ) ) >Version Info (version="1.0")
VersionNum ::= ([a-zA-Z0-9_.:] | '-')+
>Version Number (1.0)
encodingDecl$ ::= S 'encoding' Eq ( ( '"' EncName '"' ) | ( "'" EncName "'" ) )
>Encoding Declaration (encoding="...")
EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
>Encoding Name (UTF-8, ISO-8859-1, etc)
content$ ::= ( element | cdSect | pi | comment | TextData | S? )*
>Element Content (Element | CData | PI | Comment | Text )
element ::= emptyElemTag | realElemTag
>Element (<Element>...)
realElemTag$ ::= sTag content eTag { ElementName = ElementNameEnd }
>Element (<Element>...)
sTag ::= '<' ElementName (S attribute)* S? '>'
>Element Start Tag (<Element>)
attribute$ ::= AttName Eq attQValue
>Attribute (attribute="value")
Eq! ::= S? '=' S?
>Equal sign ('=')
eTag ::= '</' ElementNameEnd S? '>'
>Element End Tag (</Element>)
TextData ::= S* ( CharNoWhite | Reference ) ( CharData | Reference )*
>Text Data
emptyElemTag$ ::= '<' ElementName (S attribute)* S? '/>'
>Empty Element (<Element/>)
ElementName ::= Name
>Element Name
ElementNameEnd ::= Name
>closing element name
Reference ::= EntityRef | CharRef
>Reference (Entity-Reference | Character-Reference)
CharRef ::= ('&#' [0-9]+ ';') | ('&#x' [0-9a-fA-F]+ ';')
>Character-Reference (&#217; or &#xEA;)
EntityRef ::= '&' Name ';'
>Entity-Reference (&Entity;)
S! ::= (#x20 | #x09 | #x0D | #x0A)+
>Whitespace (Blank, Tab, CR, LF)
AttName ::= Name
>Attribute Name
Name ::= (Letter | '_' | ':') (NameChar)*
>Name ( (Letter | '_' | ':') (Name-Character)* )
NameChar ::= Letter | Digit | '.' | '-' | '_' | ':'
>Name-Character (Letter | Digit | '.' | '-' | '_' | ':')
attQValue ::= ('"' AttValue1 '"') | ("'" AttValue2 "'")
>Quoted Attribute Value ("value" | 'value')
AttValue1 ::= ([^<&"] | Reference)*
>Attribute Value
AttValue2 ::= ([^<&'] | Reference)*
>Attribute Value
CharData ::= [^<&]* / ']]>'
>Character Data
CharNoWhite! ::= [^<&#x20#x09#x0D#x0A]
>Character (may not contain Whitespaces)
comment ::= '<!--' CommentText '-->'
>Comment (<!-- Text -->)
CommentText ::= (CharNoDash | ('-' CharNoDash))*
>Comment Text (may not contain '--')
CharNoDash! ::= #x09 | #x0A | #x0D | [#x20-#x2C] | [#x2E-#xFF]
>Character (no dash)
pi$ ::= '<?' PITarget (S PIData)? '?>'
>Processing Instruction (<?pi...?>)
PITarget ::= Name - 'xml'
>Processing Instruction Name (may not be 'xml')
PIData ::= Char* / '?>'
>Processing Instruction Data
Char! ::= #x09 | #x0A | #x0D | [#x20-#xFF]
>Character
cdSect$ ::= CDStart CData? CDEnd
>CData Section (<![CDATA[...]]>)
CDStart! ::= '<![CDATA['
>'<!CDATA['
CData ::= Char* / ']]>'
>Character Data
CDEnd! ::= ']]>'
>']]>'
Digit! ::= [#x30-#x39]
>Digit ([0-9])
Letter! ::= [#x41-#x5A] | [#x61-#x7A] | [#xC0-#xD6] | [#xD8-#xF6]
| [#xF8-#xFF] >Letter ([a-zA-Z], etc)

Vous aimerez peut-être aussi