[40] STag ::= '<' Name (S Attribute)* S? '>'
Π ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ΅Π³Π° ΠΌΠΎΠ³ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ.
ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠ³Π»ΠΎΠ²ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ ΡΠ΅Π³Π° ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ:
<Π°
href="http://www.xsltdev.ru"
>
Π Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌ ΡΠ΅Π³Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΡΠ°Ρ ΡΠ΅ΡΡΠ° ("/") ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠ³Π»ΠΎΠ²ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ:
[42] ETag ::= '</' Name S? '>'
ΠΠΌΠ΅Π½Π° Π² ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌ ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌ ΡΠ΅Π³Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (Π½Π΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π» element), ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ (Reference), ΡΠ΅ΠΊΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ (CDSect), ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ (PI) ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² (Comment), ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π½Π½ΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ (CharData):
[43] content ::= CharData?
((element
| Reference
| CDSect
| PI
| Comment) CharData?)*
ΠΡΡΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ΅ΠΉ EmptyElemTag Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
[44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'
Π’Π΅Π³ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ΅Π³ Π½Π΅ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΡΠΎΠΉ Π»ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΠ΅ΠΉ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠ³Π»ΠΎΠ²ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ ΡΡΠΎΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΡ ("/"). Π ΡΡΠΎΠΌ, ΠΊΡΡΠ°ΡΠΈ, ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΠΎΡΠ»ΠΈΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ·ΡΠΊΠ° XML ΠΎΡ HTML. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ <HR> Π² XML ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ <HR/>.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ HTML Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ XML, Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ·ΡΠΊ XHTML. ΠΡΠΎΡ ΡΠ·ΡΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ XML, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ XHTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² XML-ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π°Π±ΠΎΡ ΡΠ΅Π³ΠΎΠ² XHTML ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ Π½Π°Π±ΠΎΡΡ ΡΠ΅Π³ΠΎΠ² ΡΠ·ΡΠΊΠ° HTML. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ XHTML. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΠΏΡΡΡΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ (ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΌΠΈ ΡΠ΅Π³Π°ΠΌΠΈ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ HTML): Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π°ΠΏΠΈΡΡ Π²ΠΈΠ΄Π° <br/>. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π΅Π»Π°: Π·Π°ΠΏΠΈΡΡ Π²ΠΈΠ΄Π° <br />, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
ΠΡΡΠΈΠ±ΡΡ
Π ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΡΠΌΠΈ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΡΠΈΠ±ΡΡ Π·Π°Π΄Π°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
Π°ΡΡΠΈΠ±ΡΡ="Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅"
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π·Π°ΠΏΠΈΡΠΈ Π³ΠΈΠΏΠ΅ΡΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ
<Π° href="http://www.xsltdev.ru">ΠΠ°Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ Π½Π°ΠΌ!</Π°>
ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π° ΠΈΠΌΠ΅Π΅Ρ Π°ΡΡΠΈΠ±ΡΡ href, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ "http://www.xsltdev.ru".
Π ΡΠ·ΡΠΊΠ΅ XML Π°ΡΡΠΈΠ±ΡΡΡ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡΠΈΠ±ΡΡ selected Π² Π·Π°ΠΏΠΈΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
<option selected>
Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
</option>
Π±ΡΠ΄Π΅Ρ Π·Π°Π΄Π°Π½ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ XML Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅ΠΌΡ Π½Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π² HTML ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ. Π’Π°ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<option selected="selected">
Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
</option>
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ β ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
<option selected='selected'>
Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
</option>
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΊΠ°Π²ΡΡΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ²). Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ:
<auth login='"scott"' password="'tiger'"/>
ΠΡΡΠΈΠ±ΡΡΡ login ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ "scott" (Π²ΠΊΠ»ΡΡΠ°Ρ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ), Π°ΡΡΠΈΠ±ΡΡΡ password β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'tiger' (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ).
Π XML ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, Π° Π·Π°ΡΠ΅ΠΌ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ°:
[41] Attribute ::= Name Eq Attribute
[25] Eq ::= S? '=' S?
[10] AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ , ΠΏΡΠΈΡΠ΅ΠΌ ΠΎΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² '<' ΠΈ '&', ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² XML ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (< ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅Π³ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π° & β ΡΡΡΠ½ΠΎΡΡΡ). ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΡΠ½ΠΎΡΡΡ (Π½Π΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Reference) β ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅
Π XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π½Π΅ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
<?ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅?>
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ³Π»ΠΎΠ²ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠΎ Π·Π½Π°ΠΊΠ°ΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°. ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π²ΡΠΎΡΠ°Ρ ΡΠ°ΡΡΡ, Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ:
<?serv cache-document?>
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠΌΡ 'serv', Π° ΡΠ°ΠΌΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΠΊΡΡΠ΅. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΌΡΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ΠΈ Π°Π΄ΡΠ΅ΡΡΡΡΡΡ.
ΠΡΠΎΠ΄ΡΠΊΡΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
[16] PI ::= '<?' PITarget
(S (Char* - (Char* '?>' Char*)))? '?>'
Π ΡΡΠΎΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (S (Char* - (Char* '?>' Char*)))? ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π»ΡΠ±ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΡΠΎΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ '?>', ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ½Π΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
Π¦Π΅Π»Π΅Π²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ (ΠΊΡΠΎΠΌΠ΅ "xml" Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²). ΠΠΌΡ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ EBNF-ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ PITarget:
[17] PITarget ::= Name - (('X' | 'Ρ ') ('Π' | 'm') ('L' | 'l'))
Π XML ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΎΡΠΎΠ±Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ Π₯ΠL-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ΅ΠΉ (XML declaration). ΠΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄:
<?xml version="Π²Π΅ΡΡΠΈΡ" encoding="ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°" standalone="yes | no"/>
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ XML-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅, Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΠΎΠ½Π° ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠΎΠ³ΠΎ, ΡΠΎ ΡΠΌΡΡΠ» XML-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΌΡΡΠ»Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅: ΠΎΠ½Π° ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. XML-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ°ΡΡΠΈΠ±ΡΡΡ version, encoding ΠΈ standalone, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½ΠΈΠΆΠ΅.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², XML-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ, ΠΊΠ°ΠΊ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠΎΡΠΌΠ΅ ΠΈΠΌΡ="Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" β ΡΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ.
ΠΡΠ΅Π²Π΄ΠΎΠ°ΡΡΠΈΠ±ΡΡ version ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΠΈ XML, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ. Π’Π΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ·ΡΠΊΠ° XML ΡΠ²Π»ΡΠ΅ΡΡΡ 1.0, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ version="1.0".
ΠΡΠΈΠΌΠ΅Ρ<?xml version="1.0"?>
ΠΡΠ΅Π²Π΄ΠΎΠ°ΡΡΠΈΠ±ΡΡ encoding ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π½ Π΄Π°Π½Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π° Unicode-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° UTF-8 (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠΌ. "ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Unicode"), Π½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°, Π»ΠΈΡΡ Π±Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.
ΠΡΠΈΠΌΠ΅ΡΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ windows-1251 ΠΈ KOI8-R; XML-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
<?xml version="1.0" encoding="windows-1251"?>
ΠΈ
<?xml version="1.0" encoding="KOI8-R"?>
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΠΈΠΆΠ½ΠΈΠ΅ 127 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ASCII, ΡΠΎ Π΅ΡΡΡ, ΡΠΈΠΌΠ²ΠΎΠ»Ρ Ρ ΠΊΠΎΠ΄Π°ΠΌΠΈ, Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠΈΠΌΠΈ #x7F, ΠΏΡΠ΅Π²Π΄ΠΎΠ°ΡΡΠΈΠ±ΡΡ encoding ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° UTF-8 ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ASCII.
ΠΡΠ΅Π²Π΄ΠΎΠ°ΡΡΠΈΠ±ΡΡ standalone Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΠΈ ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ°ΠΊ ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅, XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ . ΠΠΏΡΠΈΡ standalone, ΠΈΠΌΠ΅ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ "yes", ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ, ΠΈ, Π·Π½Π°ΡΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ Π±Π΅Π· ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌ.
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ XML ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ XMLDecl, ΠΊΠΎΡΠΎΡΠ°Ρ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»:
[23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl?
SDDecl? S? '?>'
ΠΡΠΎΠ΄ΡΠΊΡΠΈΡ VersionInfo ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ°ΡΡΠΈΠ±ΡΡΠ° version:
[24] VersionInfo ::= S? 'version' Eq