ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π΄Π°Π½Π½ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΊΡΠΎΠΌΠ΅ json xml
Tree β ΡΠ±ΠΈΠΉΡΠ° JSON, XML, YAML ΠΈ ΠΈΠΆΠ΅ Ρ Π½ΠΈΠΌΠΈ
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, ΠΌΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠΌΠΈΡΡΠΈΠΉ ΠΠ°ΡΠ»ΠΎΠ²ΡΠΊΠΈΠΉ ΠΈ Ρβ¦ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠΌΠ°Π». ΠΡΠΌΠ°Π» Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ XML ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π΅Π³ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠΌΠ΅Π½ΡΠ»ΠΈ, Π½Π° Π±Π΅ΡΡΠΎΠ»ΠΊΠΎΠ²ΡΠΉ JSON. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠΈΡ
ΠΈΠ·ΠΌΡΡΠ»Π΅Π½ΠΈΠΉ ΡΡΠ°Π» Π½ΠΎΠ²ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ±ΡΠ°Π» Π² ΡΠ΅Π±Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ XML, ΠΏΡΠΎΡΡΠΎΡΡ JSON ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΡ YAML.
Tree β Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
. ΠΠ΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ. ΠΡΠΎΡΡΠΎΠΉ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ, Π±ΡΡΡΡΡΠΉ, Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ. Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Ρ Π΅Π³ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ:
| ΠΠΎΠ»ΡΡΠ΅ β Π»ΡΡΡΠ΅ | JSON | XML | YAML | INI | Tree |
|---|---|---|---|---|---|
| Π§Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΏΠΎΠ½ΡΡΠ½ΠΎΡΡΡ | 3 | 1 | 4 | 5 | 5 |
| Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ | 3 | 1 | 4 | 5 | 5 |
| ΠΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½Π°Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ | 3 | 3 | 3 | 1 | 5 |
| ΠΡΠΎΡΡΠΎΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ | 3 | 2 | 1 | 5 | 5 |
| Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³Π°/ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ | 3 | 1 | 1 | 5 | 5 |
| Π Π°Π·ΠΌΠ΅Ρ Π² ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ | 3 | 1 | 4 | 5 | 5 |
| ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ | 0 | 0 | 5 | 5 | 5 |
| ΠΠΈΠ½Π°ΡΠ½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ | 3 | 0 | 0 | 0 | 5 |
| Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΡΡΡ | 5 | 5 | 3 | 3 | 0 |
| ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ | 5 | 5 | 3 | 5 | 1 |
| ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ | 5 | 5 | 3 | 5 | 1 |
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠΎΠ²
Π§Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΏΠΎΠ½ΡΡΠ½ΠΎΡΡΡ
JSON ΠΈ XML ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°ΠΌΠΈ ΡΡΡΠΎΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠ°ΡΡΠΎ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ (ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ β ΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΎΠ±ΡΡΠΌ, ΠΏΡΠΎΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ) ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΈ ΡΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, JSON Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ β ΠΎΠ½ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ² ΡΡΡΠΎΠΊ.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, XML ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½Π΅Π΄ΡΡΡΡ ΡΠ²ΠΎΠΈ ΡΡΠ³ΠΈ Π²Π½ΡΡΡΡ ΡΠ΅ΠΊΡΡΠ°, ΡΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠ° Β«Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΡΠ½ΡΠΌΒ», Π½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ° ΡΠΈΠΏΠ° Β«Π³ΠΈΠΏΠ΅ΡΡΡΡΠ»ΠΊΠ°Β» Π΄Π°ΡΡ ΡΠ΅Π·ΠΊΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ.
ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Β«ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΒ», ΡΠΎ ΠΈΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈ. Π XML ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈ ΠΈ Π½Π΅Π½Π°Π³Π»ΡΠ΄Π½Ρ. Π Π²ΠΎΡ Π² Tree, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎΠ²ΡΠ΅.
Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
JSON ΠΈ XML Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡΠΈΡ ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΡΠ°Π·Π½ΠΎΡΠ²Π΅ΡΠ½Π°Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° Π»Π΅ΠΊΡΠ΅ΠΌ. ΠΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ β Π°Π²ΡΠΎΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΡΡΠ½ΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΎΡΠΌΠ°ΡΠ°Ρ , ΠΊΡΠΎΠΌΠ΅ Tree, Π³Π΄Π΅ ΠΎΠ½ΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½Π°Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ
INI ΠΈΠΌΠ΅Π΅Ρ ΠΆΡΡΡΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ.
Π XML ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ·Π»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² β ΡΡΠΎ Π²ΡΠ½ΡΠΆΠ΄Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡΡΠΈΠ±ΡΡΠΎΠ², Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ.
JSON ΠΈ YAML Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Β«ΡΠΏΠΈΡΠΊΠΈΒ» ΠΈ Β«ΠΌΠ°ΠΏΠΊΠΈΒ». ΠΠ΅ Π²ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌΡ Ρ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ AST, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π° ΡΠ·Π»ΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ Π²Π°ΠΆΠ΅Π½.
Π Tree Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ ΡΠ·Π»ΠΎΠ² ΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠ·Π΅Π» ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΎΠ½ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ.
ΠΡΠΎΡΡΠΎΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°Ρ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° (30 ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ²), ΡΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ.
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° (90 ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ²), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ³Π»Π° Π±Ρ Π±ΡΡΡ ΠΊΡΠ΄Π° ΠΏΡΠΎΡΠ΅, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ sgml.
ΠΡΠ°ΠΉΠ½Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° (210 ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ²). ΠΡΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΠΏΠ΅Π»ΠΈΠ²ΡΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π½ΡΠ°Π½ΡΡ, ΠΈ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠ°ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡΠΎ Π²ΡΠ΅Ρ Π±Π°Π³ΠΎΠ².
ΠΡΠ°ΠΉΠ½Π΅ ΠΏΡΠΎΡΡΠ°Ρ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° (8 ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ²), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π»ΠΈΡΡ ΠΎΠ΄Π½Ρ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ (ΠΊΠ»ΡΡ-ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅).
ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° (10 ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ²), ΡΡΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ ΠΌΠ΅ΡΠ°Π΅Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ.
Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³Π°/ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΠ΅ Π²Π΄Π°Π²Π°ΡΡΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΎΡΠΌΡΠ°ΠΌΠΈ.
ΠΡΠ΅Π΄Π΅Π»ΡΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ YAML ΠΏΠ°ΡΡΠΈΡΡΡ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π΄ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ JSON, Π° XML ΠΏΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ Π³Π΄Π΅-ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.
Tree ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ Π΅ΡΡ ΠΎΠ΄Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
Π Π°Π·ΠΌΠ΅Ρ Π² ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ XML, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ. JSON Π² ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ YAML Π³Π΄Π΅-ΡΠΎ ΠΏΠΎ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅. Π ΡΠ°ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠ΅ β INI, Tree ΠΈ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ JSON.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΡΠΌΠ°ΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ», ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»Π΅ΠΈΠ²Π°Ρ ΠΈΡ Π² ΠΊΠΎΠ½Π΅Ρ. Π―ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π»ΠΎΠ³ΠΈ. Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ β Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠ°ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΈΠΌΠ΅Ρ Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ.
Π ΡΠ»ΡΡΠ°Π΅ XML ΠΈ JSON ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅Ρ β Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΠΎΠ±ΡΠ΅Π·Π°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠΎΠΌ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΡΠΌ.
ΠΠΈΠ½Π°ΡΠ½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π½Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ Π±ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Tree β Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, Ρ ΠΎΡΡ Π΅Π³ΠΎ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ unix-ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΡΡΠΎΠΊ, ΡΠ°Π±ΡΠ»ΡΡΠΈΡ Π΄Π»Ρ ΠΎΡΡΡΡΠΏΠΎΠ², ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅).
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΡΡΡ
XML Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π±ΡΠ» Π² ΡΡΠ΅Π½Π΄Π΅, ΡΠ°ΠΊ ΡΡΠΎ Π½Π°ΡΡΠ» ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΡ. Π‘Π΅ΠΉΡΠ°Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΌΠΏΠ°ΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Π½Π°Π±ΠΈΡΠ°Π΅Ρ JSON, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠ΅, Π½ΠΎ ΡΠ΅Π½ΠΎΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ. INI Π·Π° ΡΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΡΡ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ², Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π·Π°ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ. YAML ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½ΠΈΡΠ΅Π²ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π²Π²ΠΈΠ΄Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΎΠΆΠ½ΡΠ½Π½ΠΎΡΡΠΈ, Ρ ΠΎΡΡ ΠΈ ΡΠ½ΠΈΡΠΊΠ°Π» Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Ρ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ Β«ΠΏΠΈΡΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅, Π΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅, Π° ΠΏΠΎΡΠΎΠΌ Ρ ΠΎΡΡ ΡΡΠ°Π²Π° Π½Π΅ ΡΠ°ΡΡΠΈΒ». Tree ΠΏΠΎΠΊΠ° Π΅ΡΡ Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΡΡΠΈ ΠΈ Π½Π°Π΄Π΅ΡΡΡ Π½Π΅ Π² ΠΊΠΎΠ½ΡΠ΅.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ
XML ΠΈ JSON Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²Π΅Π·Π΄Π΅. ΠΠ°Π΄ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ YAML ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π²ΠΈΠ΄ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΠΈ Π·Π°ΠΌΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ. INI Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡ, ΡΡΠΎ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. Π‘ Tree Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΡΠ° ΠΆΠ΅ ΠΊΠ°ΡΡΠΈΠ½Π°, Π½ΠΎ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊ IDEA ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»Π΅Π΅.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π’ΡΡ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠ° ΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ, ΡΡΠΎ ΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ. Π Π°Π·Π²Π΅ ΡΡΠΎ Π΄Π»Ρ Tree Π΅ΡΡΡ Π΄Π²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ β Π½Π° ΡΠ·ΡΠΊΠ°Ρ D ΠΈ TypeScript/JavaScript.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Tree
Π£ΡΠΎΠ²Π½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
β’ Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Ρ Π² ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.
β’ Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠ·ΡΠΊΠ°. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΡΠ·Π»ΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡ
Π² ΠΎΡΠ»ΠΈΡΠ½ΡΡ
ΠΎΡ Tree ΡΠΎΡΠΌΠ°ΡΠ°Ρ
.
β’ Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ API Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄Π°Π½Π½ΡΡ
Tree.
ΠΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ
ΠΠΎΠ΄Π΅Π»Ρ Tree ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΡΠΎΡΡΠ° β Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ ΡΠ·Π»ΠΎΠ², ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΠΈΠΌΠ΅Π΅Ρ: ΠΈΠΌΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ
ΡΠ·Π»ΠΎΠ². ΠΠΌΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠΌΠΈ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎ Π²ΡΠ΅ ΡΠ·Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° 3 ΡΠΈΠΏΠ°:
β’ ΠΠΌΠ΅Π½Π° β ΡΠ·Π»Ρ Ρ Π½Π΅ΠΏΡΡΡΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΏΡΡΡΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠ΅Π²ΡΠ΅Π². Π ΠΈΠΌΠ΅Π½ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠ°Π²Π΅Π½ΡΡΠ²Π°.
β’ ΠΠ½Π°ΡΠ΅Π½ΠΈΡ β ΡΠ·Π»Ρ Ρ ΠΏΡΡΡΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ.
β’ ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ β ΡΠ·Π»Ρ Ρ ΠΏΡΡΡΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π½Π΅ ΠΏΡΡΡΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ
ΡΠ·Π»ΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ·Π»ΠΎΠ² ΠΊΠ°ΠΊ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ·Π»ΠΎΠΌ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΡΠ½Π΅Π²ΡΡ
ΡΠ·Π»ΠΎΠ².
Π Tree Π½Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ, Π·Π½Π°ΠΊΠΎΠΌΡΡ Π½Π°ΠΌ ΠΈΠ· XML. ΠΠ΅Ρ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ°ΠΏΠΎΠΊ ΠΈΠ· JSON ΠΈ YAML. ΠΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄Π»Ρ ΡΠ΅ΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊ Π² INI. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π²Π΅Π΄Π΅Π½Ρ Π² ΡΠ·ΡΠΊΠ°Ρ , ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠΎΡΠΌΠ°ΡΠ΅ Tree.
Π‘ΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
Tree-ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΡΡΡΠΎΠΊ, ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ (0x0D). ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΡ
ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΊΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ·Π»Π° Π² ΡΡΡΠΎΠΊΠ΅. Π Π΄Π°Π»Π΅Π΅ ΠΈΠ΄ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ·Π»ΠΎΠ² ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π΅ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ. Π£Π·Π»Ρ-ΠΈΠΌΠ΅Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π£Π·Π»Ρ-Π·Π½Π°ΡΠ΅Π½ΠΈΡ β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡΠ΅Π΄Π²Π°ΡΡΠ½Π½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°.
Π ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ·Π»ΠΎΠ²-ΠΈΠΌΡΠ½, Π½ΠΎ ΡΠ·Π΅Π»-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½, ΠΏΡΠΈΡΡΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π»ΡΠ±ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ. ΠΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ β ΠΈΡ
ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π΄ΠΎ ΡΠ°Π·Π±ΠΈΡΡ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·Π»ΠΎΠ²-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π ΠΏΡΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄Π΅ΡΠ΅Π²Π° ΠΊ ΡΡΡΠΎΠΊΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ·Π»Ρ Π±ΡΠ΄ΡΡ ΠΎΡΠ±ΡΠΎΡΠ΅Π½Ρ, Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ·Π»ΠΎΠ²-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄ΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠ°ΠΊ Π΅ΡΡΡ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π±ΡΠ΄ΡΡ Π²ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΡΡΠΎΠΊ.
ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ·Π΅Π» Π² ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ·Π΅Π» ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ ΡΠ°Π±ΡΠ»ΡΡΠΈΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Π½ΡΡΠ΅.
ΠΠΎ ΡΡΡ ΠΎΠΌΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΡ Π²Π°ΡΠΈΡΡ ΡΡΡΡ, ΡΠ°ΠΊ, ΡΡΠΎ Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΡΡ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΉβ¦
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Tree Π² ΡΠ°Π·Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ
ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ
Π₯ΠΎΡΡ ΡΠΎΡΠΌΠ°Ρ Tree ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ, Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° Π»Π΅ΠΊΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΠΎΠΆΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Tree:
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ»ΠΎΠ², Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π²Π½ΡΡΡΠΈ Π·Π°Π΄Π°Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΅ΠΌΡ ΡΠ°Π±Π»ΠΎΠ½.
ΠΡΠ΅Π΄ΠΈΠΊΠ°Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ. ΠΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ·Π΅Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ½ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
ΠΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ STATEMENT ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Β«Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΒ», Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» Β«ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉΒ».
octet
Π‘ΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΊΡΠ΅ΡΠΎΠΌ (8 Π±ΠΈΡ) Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π²Π½ΡΡΡΠΈ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π’ΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ SEMICOLON ΠΊΠ°ΠΊ ΠΎΠΊΡΠ΅Ρ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΡΠ΅Π½ΠΎ, ΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π»ΡΠ±ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
optional
ΠΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°.
Π‘ΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π»ΠΈΠ±ΠΎ Ρ Π΄Π²ΡΠΌΡ Π±Π°ΠΉΡΠ°ΠΌΠΈ: Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ. ΠΠΈΠ±ΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΡΡΡΠΎΠΊΠΈ.
any-of
Π‘ΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
list-of
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π· (Π½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ).
Π’ΡΡ DELIMITER ΡΠΎΠ²ΠΏΠ°Π΄ΡΡ Ρ Π½Π΅ ΠΏΡΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π³ΡΡΠΏΠΏΠΎΠΉ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ².
except
Π‘Π»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΈΠ· ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ Π»ΠΈΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π±Π°ΠΉΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ.
Π’ΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ EXPRESSION ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π°ΠΉΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉΒ».
Π ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΡΠΆΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄ΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π±Π°ΠΉΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Β«ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉΒ»), Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Ρ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΉ Β«ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉΒ».
with-delimiter
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΠΈΠ½ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ.
ΠΠ΄Π΅ΡΡ SCRIPT ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΡ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ.
ΠΠΎΠ³ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ
Π Π°ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π»ΠΎΠ³ΠΎΠ². ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ, Π·Π°ΡΠΎ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΈ ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΡΡΠΈΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΡΠ°ΠΊ ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ.
ΠΠΎΡΠΎΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΡΠ°ΡΠ΅
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ «—» Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΠΎΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΡΡΡΡΠΊΠ° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ DSL Π½Π° Π±Π°Π·Π΅ Tree ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ XML Π»ΡΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠ΅Ρ ΠΈΠ· xml.tree Π² xml ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ·Π»Ρ Β«@Β», Β«!Β» ΠΈ Β«?Β» ΡΠΎΡΠΌΠΈΡΡΡ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ.
Π‘ΡΡΡΠΊΡΡΡΠ½ΡΠ΅ ΡΠ·Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ QName β ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π£Π·Π»Ρ Π΄Π°Π½Π½ΡΡ β ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ·Π»Ρ.
ΠΡΡΠΈΠ±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ·Π»Ρ Ρ QName ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠΎΠΌΠ΅ΡΡΠ½Π½ΡΠ΅ Π² ΡΠ·Π»Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«@Β».
ΠΠ²ΠΎΠΈΡΠ½ΠΎΠ΅β βΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅β βΠ²ΠΌΠ΅ΡΡΠΎβ βJSON
ΠΠΎΡΠ΅ΠΌΡβ βΠΌΠ΅Π½Ρβ βΡΡΠΎβ βΠ΄ΠΎΠ»ΠΆΠ½ΠΎβ βΠ²ΠΎΠ»Π½ΠΎΠ²Π°ΡΡ β
Π’ΠΈΠΏΡβ βΡΠΎΡΠΌΠ°ΡΠΎΠ²β βΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡβ
β
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρβ βΠ΄Π²Π°β βΡΠΈΠΏΠ°β βΡΠΎΡΠΌΠ°ΡΠΎΠ²β βΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:β β
Π’Π΅ΠΊΡΡΠΎΠ²ΡΠ΅β βΡΠΎΡΠΌΠ°ΡΡβ
β
βΠ’Π΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΡ. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠΎΠ² β JSON, CSV ΠΈ XML. Π’Π΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΏΡΠΎΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
JSON-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΡΠΎΠ±Π΅Π»Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 82 Π±Π°ΠΉΡΠ°.
ΠΠ²ΠΎΠΈΡΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ ΡΠΎΡΠΌΠ°Ρ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ JSON ΠΌΠ΅Π½Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π΅Π½, ΡΠ΅ΠΌ XML, ΠΎΠ±Π° ΠΎΠ½ΠΈ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
Thrift ΠΈ Protocol Buffers
Thrift ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Facebook, Π° Protocol Buffers β Google. Π ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡ Π΅ΠΌΠ°. Π Thrift ΡΡ Π΅ΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (IDL).
ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° Π΄Π»Ρ Protocol Buffers:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π³Π° (1, 2 ΠΈ 3). Π£ Thrift Π΅ΡΡΡ Π΄Π²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ: BinaryProtocol ΠΈ CompactProtocol. ΠΠ²ΠΎΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠΎΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 59 Π±Π°ΠΉΡ Π΄Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅.
ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Thrift
ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌΡ, Π½ΠΎ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΡΠ΅Π³ΠΎ Π² 34 Π±Π°ΠΉΡΠ°. ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΠΈΠΏΠ° ΠΏΠΎΠ»Ρ ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΠΌΠ΅ΡΠΊΠΈ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ.
ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Thrift Compact
Protocol Buffers ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π² Thrift, ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡ 33 Π±Π°ΠΉΡΠ°.
ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Protocol Buffers
ΠΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π³ΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠ»ΡΡΠΈΡ ΡΡ Π΅ΠΌ Π² Thrift ΠΈ Protocol Buffers. ΠΡΠ»ΠΈ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡ Π΅ΠΌΠΎΠΉ, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»Ρ Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ΅Π³ΠΎΠ². ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΡΠ°ΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅, ΠΏΠΎΠΌΠ΅ΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ null Π΄Π»Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π³ΠΎΠ².
Avro ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Protocol Buffers ΠΈ Thrift. Avro ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡ Π΅ΠΌΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π‘Ρ Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ IDL Avro (ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ):
ΠΠ»ΠΈ JSON (Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ):
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Ρ ΠΏΠΎΠ»Π΅ΠΉ Π½Π΅Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΠΌΠ΅ΡΠΎΠΊ. Π’Π΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Avro, Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅Π³ΠΎ 32 Π±Π°ΠΉΡΠ°.
ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Avro.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π°ΠΉΡ, ΠΏΠΎΠ»Ρ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ (Π² Thrift ΠΈ Protocol Buffers Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ΅ΡΠΊΠΈ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ), ΡΠ°ΠΊΠΆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»Ρ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ. ΠΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΠΈ ΡΡΠΎ, ΡΡΠΎ Π»ΡΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡ Π΅ΠΌΡ ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅? ΠΠ»ΡΡΠ΅Π²Π°Ρ ΠΈΠ΄Π΅Ρ Avro Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡ Π΅ΠΌΠ° Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ. ΠΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Avro ΡΠ΅ΡΠ°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΎΠ±Π΅ ΡΡ Π΅ΠΌΡ ΠΈ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡ Π΅ΠΌΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΡΡ Π΅ΠΌΡ ΡΠΈΡΠ°ΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡ Π΅ΠΌΠΎΠΉ ΡΠΈΡΠ°ΡΡΠ΅Π³ΠΎ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ΠΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡΠ΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ·Π½Π°Π΅Ρ ΠΎ ΡΡ Π΅ΠΌΠ΅ ΠΏΠΈΡΡΡΠ΅Π³ΠΎ. ΠΡΠ΅ Π΄Π΅Π»ΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ 82 Π±Π°ΠΉΡΠ° Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ JSON, 33 Π±Π°ΠΉΡΠ° Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ Thrift ΠΈ Protocol Buffers, ΠΈ Π²ΡΠ΅Π³ΠΎ 32 Π±Π°ΠΉΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ Avro. ΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΡΠΏΠΎΡΠΈΠΌΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ JSON ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ.
Π Π΅ΡΡΡΡΡ
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ c ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π΄Π°Π½Π½ΡΡ , Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ ΠΠ°ΡΡΠΈΠ½Π° ΠΠ»Π΅ΠΏΠΏΠΌΠ°Π½Π° Β«Designing Data-Intensive ApplicationsΒ».
Π£Π·Π½Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡ Ρ Π½ΡΠ»Ρ ΠΈΠ»ΠΈ Level Up ΠΏΠΎ Π½Π°Π²ΡΠΊΠ°ΠΌ ΠΈ Π·Π°ΡΠΏΠ»Π°ΡΠ΅, ΠΏΡΠΎΠΉΠ΄Ρ ΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΡ SkillFactory:
Π―Π·ΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ. XML ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ
XML β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΡΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π»ΠΈΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² XML ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ Π΅ΠΌΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ .
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ XML?
XML β ΡΡΠΎ eXtensible Markup Language, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π·Π½Π°ΡΠΈΡ Β«ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈΒ». Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠ°Π΅ΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ XML:
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠ°Π½Π΄Π°ΡΡ XML ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Ρ ΡΡΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° Π±ΡΠ» Β«ΡΡΠ²ΠΎΠ»Β» β ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅, ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ. ΠΠ°ΠΊ ΠΈ Π² HTML-ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (Π°ΠΌΠΏΠ΅ΡΡΠ°Π½Π΄ Β«&Β», Π·Π½Π°ΠΊΠΈ Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΈ Π°ΠΏΠΎΡΡΡΠΎΡ) Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π²Π»ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ½ΠΎΡΡΠΈ β ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°ΠΌΠ΅Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΡΠ½ΠΎΡΡΠΈ (ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²) Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π° Β«&ΠΈΠΌΡ_ΡΡΡΠ½ΠΎΡΡΠΈ;Β» (Π±Π΅Π· ΠΊΠ°Π²ΡΡΠ΅ΠΊ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅). ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΡΠ»ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΡΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ Π½Π° ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΡΠ½ΠΎΡΡΡ, Ρ ΡΠ°Π½ΡΡΡΡΡΡ Π² DTD-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ DTD?
DTD (Π°Π½Π³Π». Document Type Definition β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°) β Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ° XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ DTD Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΄Π΅ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ: ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ β ΡΡΠΎ list, Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ β ΡΡΠΎ item. ΠΠ½Π°ΡΠΎΠΊ Β«*Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΎΡ 0 Π΄ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ item ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ par1 ΠΈ par2, ΠΏΡΠΈΡΡΠΌ Π·Π½Π°ΡΠΎΠΊ Π²ΠΎΠΏΡΠΎΡΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ par2 Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ DTD Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° XML Schema. ΠΠ±Π° ΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π² ΡΠ΅Π±Π΅ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΊΠ°ΠΊΠΈΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΡΠΈ ΡΠ°ΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ DTD ΠΈ Schema ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Schema ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Schema Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠ°ΠΌΡ XML-ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ (ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΡΠΌΠΎΡΡΠ΅ΡΡΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° ΠΈ Π΅ΡΡΡ).
JSON β ΠΏΠ΅ΡΠ²Π°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° XML
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ XML β ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ , ΠΎΠ½ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈ Π½Π΅ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌΡΠΌ Π² ΡΠ²ΠΎΡΠΌ ΡΠΎΠ΄Π΅. ΠΠ΄Π½Π° ΠΈΠ· Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠΎΡΠΌ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ JSON. Π Π°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ° Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΊΠ°ΠΊ JavaScript Object Notation β ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ Β«Π·Π°ΠΏΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ JavaScriptΒ». Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΡΠ΅ΠΌ XML. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΎ Π³ΠΎΠ»ΠΎΡΠ»ΠΎΠ²Π½ΡΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π² JSON-ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ:
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΠΎΡΠ΄Π΅Π»ΠΈΡΡ Π·ΡΡΠ½Π° ΠΎΡ ΠΏΠ»Π΅Π²Π΅Π», ΡΠ΅ΠΌ Π² ΡΠ»ΡΡΠ°Π΅ Ρ XML, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΡ ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΡ ΡΠ΅Π³ΠΎΠ². ΠΡΠΎ, ΠΊΡΡΠ°ΡΠΈ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π½Π° Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΈ ΡΠ΅Π³ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΡΠ½ΠΎ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ JSON Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ XML, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² AJAX. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π΅Π³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ β Π² ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ JSON-Π΄Π°Π½Π½ΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΡΠΎΡΠ°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°: YAML
YAML β ΡΡΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Β«YAML Ain’t Markup LanguageΒ» (ΠΏΠΎ-ΡΡΡΡΠΊΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π²ΡΡΠ°ΡΡ ΠΊΠ°ΠΊ Β«YAML Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈΒ»). Π§Π΅ΠΌ ΠΎΠ½ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΏΡΠ°Π²Π΄Π°, Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΡΡΠΎΡΠ½ΡΡΡ Π½Π΅ Π±Π΅ΡΡΡΡΡ, Π½ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Β«ΡΠ·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈΒ» Π±ΡΠ΄Π΅Ρ Π²ΡΡ-ΡΠ°ΠΊΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ. Π§Π΅ΠΌ YAML ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ XML? ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°. ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ YAML:
YAML-ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ° Π² Π±ΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΈΡ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π΄Π΅ΡΡ ΡΠ΅Π³ΠΈ Π½Π΅ Π·Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π°ΡΡ ΡΠΌΡΡΠ»ΠΎΠ²ΡΡ ΡΠ°ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. Π‘Π΅ΠΉΡΠ°Ρ YAML ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΡΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΅ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠΎΠ»ΠΎΠ΄Π°, Π° ΠΏΠΎΡΠΎΠΌΡ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π°.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ XML, JSON, YAML?
XML ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΡ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ. Π Π½Π° ΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΡΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ. Π‘Π΅ΠΉΡΠ°Ρ Π² ΠΌΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²Π΅Π»ΠΈΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ XML, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠ»ΡΡΠΎΠΌ XML ΠΈ ΠΏΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅. Π ΡΠΎΠΌΡ ΠΆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΡΠ±ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π½ΠΈΡ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΠΊΡΡ, ΡΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ: ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ, Π½Π°Π±ΠΈΡΠ°ΡΡ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π² Π±Π»ΠΎΠΊΠ½ΠΎΡΠ΅, Π° Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ΅ΡΠΈ ΡΠ°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ XML, ΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡ Π½Π°ΡΡΠ» Π²ΠΎ ΠΡΠ΅ΠΌΠΈΡΠ½ΠΎΠΉ ΠΏΠ°ΡΡΠΈΠ½Π΅. ΠΠ° Π±Π°Π·Π΅ XML ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ XSL, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ, Π² HTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. Π₯ΠΎΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ XSL Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΡΠ΅, ΠΈ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ. JSON ΠΈ YAML ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΎΠΊΠ° ΡΡΠΎ ΡΠ΅ΠΆΠ΅, Π½ΠΎ Ρ ΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π», ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ Web 2.0, ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡ, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ.




