<aaa:element
xmlns:aaa="http://www.Π°Π°Π°.com"
xmlns:bbb="http://www.bbb.com"
xmlns:ccc="http://www.ccc.com">
<aaa:anotherelement/>
<ccc:element/>
<bbb:anotherelement/>
...
</aaa:element>
ΠΠ΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π² Π²ΠΈΠ΄Π΅
<ΡΠ»Π΅ΠΌΠ΅Π½Ρ xmlns="URI">
...
</ΡΠ»Π΅ΠΌΠ΅Π½Ρ>
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<element xmlns="http://www.aaa.com">
<anotherelement/>
<ΡΡΡ:element xmlns:ccc="http://www.ccc.com"/>
<anotherelement xmlns="http://www.bbb.com"/>
...
</element>
ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°ΡΡΠΈΠ±ΡΡΠ° xmlns Π² Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ .
ΠΡΠΈΠΌΠ΅ΡΠΠΎΠΊΡΠΌΠ΅Π½Ρ
<element xmlns="http://www.Π°Π°Π°.com">
<element/>
<element xmlns="http://www.bbb.com">
<element/>
<element xmlns="http://www.ccc.com"/>
</element>
</element>
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ
<aaa:element
xmlns:aaa="http://www.aaa.com"
xmlns:bbb="http://www.bbb.com"
xmlns:ccc="http://www.ccc.com">
<aaa:element/>
<bbb:element>
<bbb:element/>
<ccc:element/>
</bbb:element>
</aaa:element>
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ β ΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡ Π΅ΠΌΠ°ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠ΅ΡΠΌΠΈΠ½ "ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½" ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΡΡ "ΡΠ»Π΅ΠΌΠ΅Π½Ρ template ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΠ΅Π½ XSLT", ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ template ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΡΠ·ΡΠΊΠ΅ XSLT ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡ Π΅ΠΌΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½, Π·Π°Π΄Π°ΡΡΡΡ Π½Π΅ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ XML, Π° Π² Π΄ΡΡΠ³ΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ β Π² ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ "Namespaces in XML" (ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π² XML), ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://www.w3.org/TR/REC-xml-names. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΡΡΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ ΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° XML, ΠΌΡ Π±ΡΠ΄Π΅Ρ Π΄Π°Π²Π°ΡΡ ΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠ° Π²ΠΈΠ΄Π° [NS1], [NS2] ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠΎΠ΄ΡΠΊΡΠΈΡ NSAttName ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΎΠ², Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΡΡΡΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½:
[NS1] NSAttName ::= PrefixedAttName | DefaultAttName
[NS2] PrefixedAttName ::= 'xmlns:' NCName
[NS3] DefaultAttName ::= 'xmlns'
ΠΠΌΡ NCName, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»Π΅ PrefixedAttName, β ΡΡΠΎ ΠΈΠΌΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΠ΅Π½. ΠΡΠΎ ΠΈΠΌΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ Name ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ:
[NS4] NCName ::= (Letter | '_') (NCNameChar)*
[NS5] NCNameChar ::= Letter | Digit | '.' | '-' | '_'
| CombiningChar | Extender
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ www:template, xsl:template ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ template ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΡΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅Π³ΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ, Π° Π½Π΅ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅Π΅.
ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ Π³ΡΡΠΏΠΏΡ XML-ΡΠ·ΡΠΊΠΎΠ² Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ: Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΡ ΠΈΠΌΠ΅Π½ΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π±Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΠΈΠ΄Π°
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ, ΡΠ°ΡΡΠΈ stylesheet ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ http://www.w3.org/1999/XSL/Transform.
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ, Π΅ΡΠ»ΠΈ ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΠ°Π²Π½Ρ ΠΈ, ΠΏΡΠΈ ΡΡΠΎΠΌ, ΠΎΠ½ΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΠ΅Π½.
ΠΡΠ΅ΡΠΈΠΊΡ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΡΠ΅Π½. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π±ΡΠ΄Π΅Ρ Π»ΠΈΠ±ΠΎ Π²ΡΠ±ΡΠ°Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅), Π»ΠΈΠ±ΠΎ Π±ΡΠ΄Π΅Ρ Π½ΡΠ»Π΅Π²ΡΠΌ.
ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ QName:
[NS6] QName ::= (Prefix ':')? LocalPart
ΠΠ΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ Prefix ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΡΠ΅Π½ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π·Π° Π½ΠΈΠΌ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΠΈΠΌ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΠΌ, LocalPart ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΠΌΠ΅Π½ΠΈ.
[NS7] Prefix ::= NCName
[NS8] LocalPart ::= NCName
Π‘ΡΡΡΠΊΡΡΡΠ° XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
Π ΠΏΠΎΠ³ΠΎΠ½Π΅ Π·Π° Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΡΡ XML Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² β Π½ΡΠΆΠ½ΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΡΠ°ΠΆΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠ°ΠΆΠ°ΡΡ Π΅Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅, Π½ΠΎ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌΡΠ΅ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ·ΠΎΠ±ΡΠ΅ΡΠ°Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΌΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°Π΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π° ΠΊΠ°ΠΊΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ XML Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π½Π°Π±ΠΎΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ», Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ DTD β Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΠΏΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° (document type declaration). ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π² Π½Π°ΡΠ°Π»Π΅ ΠΌΠ°Ρ 2001 Π³ΠΎΠ΄Π° Π±ΡΠ»Π° ΠΏΡΠΈΠ½ΡΡΠ° Π½ΠΎΠ²Π°Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ XML-ΡΡ Π΅ΠΌΠ° (XML Schema), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π·Π°Π΄Π°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π₯ΠL-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ DTD.
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° (DTD)
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»-ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, DTD ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°:
β‘ ELEMENT β ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°;
β‘ ATTLIST β ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°;
β‘ ENTITY β ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ;
β‘ NOTATION β ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΡΠ°ΡΠΈΠΈ.
ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π΄Π°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ DOCTYPE Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅:
<!DOCTYPE advert [
<!-- ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ -->
<!-- ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ -->
ΠΈ Ρ.Π΄.
]>
ΠΡΡΠ³ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°:
<!DOCTYPE advert SYSTEM "advert.dtd">
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ:
<!DOCTYPE advert SYSTEM "advert.dtd" [
<!-- ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ -->
<!-- ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ -->
ΠΈ Ρ.Π΄.
]>
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ EBNF-ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ΅ΠΉ:
[28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
('[' (markupdecl | DeclSep)* ']' S?)? '>'
ΠΠΌΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ Name, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΠΎΠΌ Π·Π° ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ DOCTYPE, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠΌΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π₯ΠL-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² ΠΊΠΎΡΠ½Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ advert.
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (S ExternalID) ? ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°ΠΉΠ»Π΅), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ExternalID.
[75] ExternalID ::= 'SYSTEM' S SystemLiteral
| 'PUBLIC' S PubidLiteral S SystemLiteral
Π ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ("SYSTEM"), SystemLiteral ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ URI ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΠΊ ΡΡΠΎΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ PubidLiteral, ΡΠΎΠΎΠ±ΡΠ°ΡΡΠΈΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΡΡΡΡΠ΅. ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ DTD Π΄Π»Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ XHTML, Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΡΠ°ΠΊΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ, ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ XHTML, Π° Π·Π½Π°ΡΠΈΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π² ΠΊΡΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ XHTML, ΠΎΠ½Π° ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠ° ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd. ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ·ΡΠΊΠ°Ρ , ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΡΠΌΠ°Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΈ Π±Π΅Π· Π·Π°Π³ΡΡΠ·ΠΊΠΈ DTD.