Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ВСхнология XSLTΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 20

Автор АлСксСй Π’Π°Π»ΠΈΠΊΠΎΠ²

β–‘ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚;

β–‘ ΡΠ΅Ρ€Π²Π΅Ρ€ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ (ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚) этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚;

β–‘ ΡΠ΅Ρ€Π²Π΅Ρ€ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ (ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ассоциированноС с этим Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, ΠΈ примСняСт Π΅Π³ΠΎ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ;

β–‘ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ прСобразования возвращаСтся ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²ΠΈΠ΄Π΅ HTML-Ρ„Π°ΠΉΠ»Π°).

Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ систСмС ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° (рис. 2.7):

β–‘ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π½Π° основС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, хранящСйся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ просто Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π½Π° сСрвСрС;

β–‘ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ примСняСт прСобразования ΠΊ сгСнСрированному Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ;

β–‘ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΉ Ρ„ΠΈΠ·ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π΅ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° прСобразования.

Рис. 2.7. ДСкомпозиция систСмы Web-ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π’ Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ XSLT создаСт ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡŽ сСрвСрным скриптовым языкам Ρ‚ΠΈΠΏΠ° ASP, JSP, PHP, Python ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Web-систСмы, построСнныС Π½Π° XML ΠΈ XSLT, Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π³ΠΈΠ±Ρ‡Π΅ ΠΈ Π»Π΅Π³Ρ‡Π΅ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° ΠΈΡ… ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ нСльзя Π΄Π°ΠΆΠ΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ. Π’ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, тСкстовой вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ вСрсии "для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ") β€” это Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° сСрвСрС, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² систСмах, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… XSLT, β€” это всСго лишь Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ (рис. 2.8).

Рис. 2.8. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мноТСствСнных прСдставлСний с использованиСм XSLT

XSLT являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· основных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ систСм Web-ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Cocoon ΠΎΡ‚ Apache XML Project ΠΈ XSQL ΠΎΡ‚ Oracle. РСшСния Π½Π° основС. Cocoon ΠΈ XSQL ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ, Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈ простотой; оТидаСтся, Ρ‡Ρ‚ΠΎ систСмы этого класса Π·Π°ΠΉΠΌΡƒΡ‚ Π² скором Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

XSLT ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ обсудили прСимущСства примСнСния XML Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ: ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ XML-языка сниТаСт Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ систСмами. ΠŸΡ€ΠΈ этом экспорт Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ±Ρ‰Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ выполняСтся Π²Ρ€Π°ΠΏΠΏΠ΅Ρ€Π°ΠΌΠΈ β€” ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌΠΈ для стандартизации Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ.

ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ€Π°ΠΏΠΏΠ΅Ρ€ΠΎΠ² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ стандартны: ΠΎΡ‚ Π½ΠΈΡ… трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ экспорт ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ XML-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π²ΠΎ Π²Ρ€Π°ΠΏΠΏΠ΅Ρ€Π°Ρ… попросту ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚.

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ наши прилоТСния ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ XML-интСрфСйс (рис. 2.9):

Рис. 2.9. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с XML-интСрфСйсом

Под XML-интСрфСйсом Π² Π΄Π°Π½Π½ΠΎΠΌ случаС подразумСваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ XML-языкС (ΠΏΡƒΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ своСм для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ).

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ этого прилоТСния Π² ΠΎΠ±Ρ‰ΡƒΡŽ схСму потрСбуСтся лишь ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ "ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄" Π΄Π°Π½Π½Ρ‹Ρ… с XML-языка прилоТСния Π½Π° ΠΎΠ±Ρ‰ΠΈΠΉ XML-язык ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ (рис. 2.10).

Рис. 2.10. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ прилоТСния с XML-интСрфСйсом Π² ΠΎΠ±Ρ‰ΡƒΡŽ схСму

Упомянутая Π²Ρ‹ΡˆΠ΅ Π·Π°Π΄Π°Ρ‡Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°, ΠΈΠ»ΠΈ, ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, прСобразования, Π΅ΡΡ‚ΡŒ очСвидная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния языка XSLT. ΠžΠ±Ρ‰Π°Ρ схСма ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° основС XML ΠΈ XSLT ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° рис. 2.11.

Рис. 2.11. Π‘Ρ…Π΅ΠΌΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° основС XML/XSLT

Π—Π΄Π΅ΡΡŒ XSLT исполняСт Ρ€ΠΎΠ»ΡŒ ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π²Π΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρƒ XML-интСрфСйсами ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Ρ‰ΠΈΠΌ XML-языком. Π­Ρ‚Π° схСма Π»Π΅Π³ΠΊΠ° Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ знания Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ), ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ° (Π·Π°Π΄Π°Ρ‡Π° добавлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ систСм Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ) ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ цСлостна (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ основана Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° XML-тСхнологиях).

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ XSLT

Одной ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ XML Π±Ρ‹Π»ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΈΡ… ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. XML прСкрасно справляСтся с этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, прСдоставляя ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для структурного оформлСния Π΄Π°Π½Π½Ρ‹Ρ… Π² тСкстовом Π²ΠΈΠ΄Π΅. ВмСстС с Ρ‚Π΅ΠΌ, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях просто Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Ρ‹Π»ΠΎ явно нСдостаточно, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠΌΠΈΠΌΠΎ машинной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ понятны Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, вспомним Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠ΅ объявлСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π»Π°Π²Π΅:

<advert>

 ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π’Π°ΡˆΠ΅ΠΌΡƒ вниманию Π½ΠΎΠ²Ρ‹ΠΉ <room>3</room>-x ΠΊΠ°ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ

 <product>Π₯олодильник</product>

 <product-title>"Горск"</product-title>

 ΠΎΠ±ΡŠΠ΅ΠΌΠΎΠΌ <volume>250 Π».</volume> ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ всСго <price>4500</price>

 Ρ€ΡƒΠ±Π»Π΅ΠΉ!

 <!-- И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ -->

</advert>

Π Π°Π·ΠΌΠ΅Ρ‚ΠΈΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΎΡ„ΠΎΡ€ΠΌΠΈΠ² сСмантичСски Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ элСмСнтов, ΠΌΡ‹ добились явного выдСлСния ΠΈΡ… структуры, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽΡΡ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…). Но это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π΄Π΅Π»Π°: ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… объявлСний, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ являСтся ΠΈΡ… прСзСнтация, вСдь Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ объявлСниС, Π° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΅ΠΌΡƒ структуру Π΄Π°Π½Π½Ρ‹Ρ….

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π½Π΅ всякого сомнСния, Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ зависят ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ устройства ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²Ρ‹Π²ΠΎΠ΄Π°. ЕдинствСнноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, принимая Π½Π° Π²Ρ…ΠΎΠ΄ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, смогут ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΈΠ»ΠΈ носитСлС. Если Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ с Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹ΠΌ объявлСниСм, Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ этого объявлСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML, Π½Π°ΠΌ потрСбуСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΏΠΎΠΉΠΌΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° объявлСния ΠΈ создаст для Π½Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ гипСртСкстовый Ρ„Π°ΠΉΠ».

ΠŸΡ€ΠΈ всСм ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ· Π½ΠΈΡ… вСсьма схоТи ΠΌΠ΅ΠΆΠ΄Ρƒ собой. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ этому ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠ»ΠΈ Π½Π° экранС.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² стандартной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² β€” Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ DSSSL (Document Style Semantics and Specification Language, язык сСмантики ΠΈ спСцификации стиля Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°), которая сущСствовала для SGML ΠΈΠ»ΠΈ CSS (Cascading Style Sheets β€” каскадныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй) для HTML. Π­Ρ‚Π° тСхнология ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ XSL (extensible Stylesheet Language β€” Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ язык стилСй), ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅ΠΉ обязан своим Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ΠΌ язык XSLT.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ ΠΎ создании ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ языка для ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π±Ρ‹Π»ΠΈ прСдставлСны Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ WWW'94, Π³Π΄Π΅ Π‘.М. Π¨ΠΏΠ΅Ρ€Π±Π΅Ρ€Π³-МакКвин ΠΈ Π ΠΎΠ±Π΅Ρ€Ρ‚ Π“ΠΎΠ»ΡŒΠ΄ΡˆΡ‚Π΅ΠΉΠ½ выступили с Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ ΠΎΠ± использовании возмоТностСй SGML Π²ΠΎ всСмирной ΠΏΠ°ΡƒΡ‚ΠΈΠ½Π΅. Π’ этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Π±Ρ‹Π»ΠΈ сформулированы основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ языка стилСй. ΠœΡ‹ пСрСчислим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

β–‘ ΡΠ·Ρ‹ΠΊ стилСй Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ (Π° Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌ);

β–‘ ΡΠ·Ρ‹ΠΊ стилСй Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структурой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°;

β–‘ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚ация элСмСнта ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ располоТСния этого элСмСнта Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅;

β–‘ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° языка стилСй Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ слоТной Π΄Π°ΠΆΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ языкС программирования;

β–‘ ΡΠΈΠ½Ρ‚аксис языка Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±ΠΎΡ€ Π΅Π³ΠΎ грамматичСских конструкций Π½Π΅ составлял Ρ‚Ρ€ΡƒΠ΄Π°.

Бпустя Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌ W3 ΡƒΠΆΠ΅ Π²ΡΠ΅Ρ€ΡŒΠ΅Π· занялся ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ XML, эти ΠΈΠ΄Π΅ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅: Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° XSL, языка для ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π―Π·Ρ‹ΠΊ XSL видСлся Ρ‚ΠΎΠ³Π΄Π° Π±ΠΎΠ»Π΅Π΅ простым ΠΈ понятным, Ρ‡Π΅ΠΌ DSSSL ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ CSS. Π£ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ язык ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π΅ смоТСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· прСобразования ΠΈΡ… структуры, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ основан Π½Π° мноТСствС ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π’ ΠΌΠ°Π΅ 1998 Π³ΠΎΠ΄Π° трСбования ΠΊ XSL Π±Ρ‹Π»ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅. Помимо большого числа ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ опрСдСлСния Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, конструкций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволяли Π±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ, стандартных ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ язык опрСдСлялся ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ трСбования ΠΊ XSL Π±Ρ‹Π»ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, сформулированы, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° языка Π²Ρ‹Π»ΠΈΠ»Π°ΡΡŒ Π² созданиС Ρ†Π΅Π»ΠΎΠΉ сСрии Ρ‡Π΅Ρ€Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² (Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… W3C β€” working drafts, WD). Π­Ρ‚ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ сильно Ρ€Π°Π·Π»ΠΈΡ‡Π°Π»ΠΈΡΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, ΠΎΠ΄Π½Π°ΠΊΠΎ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ XSL соблюдались Π² Π½ΠΈΡ… Π½Π΅ΡƒΠΊΠΎΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π‘ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… вСрсий XSL стало понятно, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² состоит ΠΈΠ· Π΄Π²ΡƒΡ… Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡: ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ описаниС внСшнСго Π²ΠΈΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° этого прСобразования. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ это Π±Ρ‹Π»ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ‚ΠΊΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ XSL Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ нСзависимо Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π΄Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°: ДТСймс ΠšΠ»Π°Ρ€ΠΊ (James Clark) ΠΈ Π‘Ρ‚ΠΈΠ²Π΅Π½ Π”ΠΈΡ‡ (Stephen Deach). ΠšΠ»Π°Ρ€ΠΊ ΠΎΡ‚Π²Π΅Ρ‡Π°Π» Π·Π° прСобразования (Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсиях Π½Π°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ tree construction β€” конструированиС Π΄Π΅Ρ€Π΅Π²Π°), Π”ΠΈΡ‡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π» ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ XSL (ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Π²Π°Π»ΠΈ formatting objects β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹).