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

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

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

ВСхнология XSLT

ΠŸΠΎΡΠ²ΡΡ‰Π°Π΅Ρ‚ΡΡ ΠΌΠΎΠ΅ΠΉ ΠΆΠ΅Π½Π΅

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅

О Ρ‡Π΅ΠΌ эта ΠΊΠ½ΠΈΠ³Π°?

Π‘Π»ΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ влияниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π° послСднюю ΠΏΠ°Ρ€Ρƒ-Ρ‚Ρ€ΠΎΠΉΠΊΡƒ Π»Π΅Ρ‚ ΠΎΠΊΠ°Π·Π°Π»ΠΎ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ появлСниС ΠΈ распространСниС Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠ³ΠΎ языка Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ XML (ΠΎΡ‚ Π°Π½Π³Π». extensible Markup Language). XML-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ нашли ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ мноТСствС областСй ΠΈ стали Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌΠΈ инструмСнтами для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

ВмСстС с Ρ‚Π΅ΠΌ, сам язык XML β€” это Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…. XML Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особого смысла Π²Π½Π΅ практичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сила XML β€” ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… тСхнологиях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны с этим языком.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° посвящСна ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, языку XSLT. XSLT β€” это Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ язык стилСй для ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ (ΠΎΡ‚ Π°Π½Π³Π». extensible Stylesheet Language for Transformations), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ структуры Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². XSLT позволяСт Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ простыми Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ» прСобразования.

Одной ΠΈΠ· ΡΠΈΠ»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… сторон языка XML являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΈΡ… прСдставлСния, Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² простом ΠΈ понятном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, стандарт ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ†Π΅Π»Ρ‹ΠΉ ряд достоинств: ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, сниТСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ стоимости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ систСм, ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠ΅ использованиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.

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

Другая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, которая часто сопутствуСт использованию языка XML, являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° нСсоотвСтствия логичСских схСм. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈ создании XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π°Π²Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ изобрСсти свой собствСнный язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ языками. БоотвСтствСнно, эти Ρ€Π°Π·Π½Ρ‹Π΅ логичСскиС схСмы Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŽ.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ эти Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд Π·Π°Π΄Π°Ρ‡ΠΈ β€” прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ конвСртация Π₯МL-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… логичСских схСм β€” ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ. Π’ ΠΎΠ±ΠΎΠΈΡ… случаях для достиТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС ΠΈΠ· исходного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTML). Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ схСма соотвСтствовала схСмС Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

ВмСстС с Ρ‚Π΅ΠΌ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎ структурированных XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… языков программирования (Ρ‚Π°ΠΊΠΈΡ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Java, Π‘ ΠΈΠ»ΠΈ Pascal) являСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π’Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈ, слоТны ΠΈ дорогостоящи Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ малСйшим измСнСниям Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

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

Π’ этой ΠΊΠ½ΠΈΠ³Π΅ XSLT рассматриваСтся совмСстно с языком XPath (ΠΎΡ‚ Π°Π½Π³Π». XML Path Language β€” язык ΠΏΡƒΡ‚Π΅ΠΉ Π² XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обращСния ΠΊ частям XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². XPath ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π² XSLT ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, прСдоставляя срСдства для вычислСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, Π½ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ XSLT ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚Π°ΠΊΠΈΡ… XML-тСхнологиях, ΠΊΠ°ΠΊ XPointer ΠΈ XQuery.

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

ЕстСствСнно, ΡΡ‚ΠΎΠ»ΡŒ простой язык (Π° XSLT, бСзусловно, нСслоТный язык ΠΊΠ°ΠΊ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ Π² использовании) ΠΈΠΌΠ΅Π΅Ρ‚ свои Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. Π’ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XSLT Π»ΠΈΠ±ΠΎ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅, Π»ΠΈΠ±ΠΎ ΠΎΠ½ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹. Π’ этих случаях ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ±Π΅Π³Π½ΡƒΡ‚ΡŒ ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌ языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² XSLT-прСобразованиях ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… языках программирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Java ΠΈΠ»ΠΈ Π‘++.

ВсС это Π΄Π΅Π»Π°Π΅Ρ‚ XSLT простым, понятным, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ, Π½ΠΎ ΠΏΡ€ΠΈ этом Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΌ языком. Ко всСму этому Π°Π²Ρ‚ΠΎΡ€Ρƒ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с XSLT просто интСрСсно. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях люди, ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ²ΡˆΠΈΠ΅ΡΡ с XSLT, ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ энтузиастами ΠΈ профСссионалами этого языка.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° вопрос "ΠΎ Ρ‡Π΅ΠΌ эта ΠΊΠ½ΠΈΠ³Π°?" ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ: ΠΎΠ½Π° написана ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… XML-тСхнологиях прСобразования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π²Π°Π½Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ использованиС структурированных Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… прилоТСниях, открывая Π½ΠΎΠ²Ρ‹Π΅ возмоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ самого Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°. Π˜Π·ΡƒΡ‡Π°Ρ языки XSLT ΠΈ XPath, ΠΌΡ‹ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ XML-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ β€” просто, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ эффСктивно.

Для ΠΊΠΎΠ³ΠΎ эта ΠΊΠ½ΠΈΠ³Π°?

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

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ XSLT ΠΈ XPath ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ языками, ΠΌΠ°Π»ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ Π½Π° Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΅Ρ‰Π΅, Π·Π½Π°Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования для ΠΈΡ… изучСния, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ знакомство с основами Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ концСпциями программирования, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, привСтствуСтся.

Из ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… языков программирования XSLT Π±Π»ΠΈΠΆΠ΅ всСго ΠΊ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ языкам Ρ‚ΠΈΠΏΠ° Lisp ΠΈ Prolog. Как ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ‹Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования, Π²Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² тонкости XSLT Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Но это Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ XSLT β€” слоТный язык, доступный лишь ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹ΠΌ, совсСм Π½Π΅Ρ‚. Π‘ΠΊΠΎΡ€Π΅Π΅ Π΄Π°ΠΆΠ΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚: XSLT β€” это простой ΠΈ понятный язык, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΈ интСрСсно.

МногиС ΠΈΠ· ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° web-Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β€” Π² этих случаях Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ слуТбу ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π·Π½Π°Π½ΠΈΠ΅ основ web- Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ языка HTML Π² частности.

Одна ΠΈΠ· Π³Π»Π°Π² посвящСна вопросам использования XSLT совмСстно с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования. Π­Ρ‚Π° информация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° читатСлям, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с Ρ‚Π°ΠΊΠΈΠΌΠΈ языками программирования, ΠΊΠ°ΠΊ Object Pascal, Π‘ ΠΈΠ»ΠΈ Π‘++, Java, JavaScript, VBScript, Python ΠΈ PL/SQL.

Π’ дСсятой Π³Π»Π°Π²Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ создания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ языка XSLT. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ языком для создания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ являСтся Java, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ прСдставлСниС ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° этом языкС.

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠ½ΠΈΠ³ΠΎΠΉ?

Книга ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ являСтся практичСским руководством, созданным Π² ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌ языки XSLT ΠΈ XPath, ΠΈ справочником, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ особСнности ΠΈ Π½ΡŽΠ°Π½ΡΡ‹ этих языков.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΊΠ½ΠΈΠ³ΠΈ скомпонована ΠΏΠΎ Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΉ. ΠŸΠΎΠ²Π΅ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ начинаСтся с Ρ€Π°Π·Π±ΠΎΡ€Π° основных ΠΈΠ΄Π΅ΠΉ, стоящих Π·Π° XML ΠΈ XSLT, продолТаСтся рассказом ΠΎΠ± Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ элСмСнтах ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ заканчиваСтся Ρ‚Π°ΠΊΠΈΠΌΠΈ чисто практичСскими аспСктами, ΠΊΠ°ΠΊ использованиС XSLT Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, созданиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ основных классов Π·Π°Π΄Π°Ρ‡.

Как ΠΈ любая другая ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, эта ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· мноТСства ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ тСкст, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡ ΠΈ поясняя практичСский смысл сказанного. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎ адрСсу http://xpath.info ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1 содСрТит ΠΎΠ±Π·ΠΎΡ€ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных XSLT-процСссоров с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ пСрСчислСниСм ΠΈΡ… характСристик. Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π» ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π½Π° читатСля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ оказался ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ процСссора для практичСского примСнСния. Однако, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ XSLT ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΌΡ‹ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ процСссор Saxon ΠΈ Π΅Π³ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ для Windows β€” Instant Saxon.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½ Ρ‚ΠΎΠΌΡƒ нСсколько. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, этот процСссор, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ стандартным Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния спСцификации языка являСтся практичСски ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ. Вторая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° β€” ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Saxon написан Π½Π° Java, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½ Π½Π° Π»ΡŽΠ±Ρ‹Ρ… Java- совмСстимых ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. НаконСц, Saxon ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΠ΄Π΅Π°Π»Π΅Π½ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ.