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

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

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

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Saxon ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ адрСсу http://saxon.sourceforge.net. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Windows ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ вСрсиСй Instant Saxon, Π°Ρ€Ρ…ΠΈΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ состоит ΠΈΠ· СдинствСнного Ρ„Π°ΠΉΠ»Π° saxon.exe. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Instant Saxon, слСдуСт Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

saxon -ΠΎ result.xml source.xml stylesheet.xsl,

Π³Π΄Π΅ result.xml β€” имя выходящСго Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, source.xml β€” имя входящСго Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, a stylesheet.xsl β€” имя Ρ„Π°ΠΉΠ»Π° прСобразования.

Бправочная информация ΠΊΠ½ΠΈΠ³ΠΈ сосрСдоточСна Π² Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² Π³Π»Π°Π²Π°Ρ… 6, 7 ΠΈ 8, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π² прилоТСниях 2 ΠΈ 3. Книга Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ глоссарий.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ½ΠΈΠ³ΠΈ

Книга состоит ΠΈΠ· Π΄Π²Π΅Π½Π°Π΄Ρ†Π°Ρ‚ΠΈ Π³Π»Π°Π² ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, содСрТаниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ опишСм Π½ΠΈΠΆΠ΅.

Π“Π»Π°Π²Π° 1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² XML

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

ΠœΡ‹ раздСляСм ΠΌΠ½Π΅Π½ΠΈΠ΅ мноТСства экспСртов ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ°Ρ докумСнтация ΠΏΠΎ XML β€” это спСцификация языка, снабТСнная внятными аннотациями, коммСнтариями ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Π°Ρ Π³Π»Π°Π²Π° описываСт синтаксис ΠΈ конструкции языка XML ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² тСхничСской Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΠ° W3, акцСнтируя Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π°ΠΆΠ½Ρ‹Ρ… с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния XSLT ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ….

Помимо синтаксиса ΠΈ физичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π₯МL-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π»Π°Π²Π΅ раскрываСтся концСпция XML, идСя, которая Π·Π° всСм этим стоит. ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ практичСских аспСктов использования XML ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ описаниями Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², основанных Π½Π° XML-тСхнологиях.

Π—Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π»Π°Π²Ρ‹ посвящСна истории языка XML.

Π“Π»Π°Π²Π° 2. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² XSLT

Вторая Π³Π»Π°Π²Π° содСрТит Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ языкС XSLT. Π’ Π½Π΅ΠΉ поясняСтся ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² прСобразованиях структурированных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², описываСтся Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, синтаксичСскиС ΠΈ сСмантичСскиС особСнности XSLT ΠΊΠ°ΠΊ языка.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся практичСскому использованию XSLT Π² составС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Π»Π°Π²Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ СстСствСнныС области примСнСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ XSLT.

Π“Π»Π°Π²Π° заканчиваСтся ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ справкой ΠΎΠ± истории языка XSLT.

Π“Π»Π°Π²Π° 3. ИдСя ΠΈ модСль языка XSLT

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

Π“Π»Π°Π²Π° 4. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° прСобразования

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

Π“Π»Π°Π²Π° 5. Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°

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

Π“Π»Π°Π²Π° 6. XPath-выраТСния

ШСстая Π³Π»Π°Π²Π° посвящСна языку XPath, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² XSLT для Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΈ вычислСний Π½Π° Π₯МL-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…. Π’ этой Π³Π»Π°Π²Π΅ рассматриваСтся синтаксис ΠΈ сСмантика XPath-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² XSLT ΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ XPath.

Π“Π»Π°Π²Π° 7. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ элСмСнты XSLT

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

Π“Π»Π°Π²Π° 8. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка XSLT

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

Π“Π»Π°Π²Π° 9. ИспользованиС XSLT совмСстно с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования

Π­Ρ‚Π° Π³Π»Π°Π²Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ шаги Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ XSLT совмСстно с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования. Π’ Π½Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ простыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Ρ‚Π°ΠΊΠΈΡ… языках программирования, ΠΊΠ°ΠΊ Object Pascal, C/C++, VBScript, JavaScript, Java ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π“Π»Π°Π²Π° 10. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка XSLT

ДСсятая Π³Π»Π°Π²Π° посвящСна вопросам создания ΠΈ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ элСмСнтов Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ. Π’ этой Π³Π»Π°Π²Π΅ разбираСтся процСсс написания ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ элСмСнтов Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ интСрфСйсов Ρ‚Π°ΠΊΠΈΡ… процСссоров, ΠΊΠ°ΠΊ Saxon, Xalan ΠΈ Oracle XSLT Processor, Π° Ρ‚Π°ΠΊΠΆΠ΅ вопросы, связанныС с обСспСчСниСм пСрСносимости ΠΈ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций Π² прСобразованиях, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.

Π“Π»Π°Π²Π° 11. Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠžΠ΄ΠΈΠ½Π½Π°Π΄Ρ†Π°Ρ‚Π°Ρ Π³Π»Π°Π²Π° написана для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ лишний Ρ€Π°Π· вСлосипСд. Π’ Π½Π΅ΠΉ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊ-Ρ‚ΠΎ: Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°, цикличСскиС ΠΈ рСкурсивныС вычислСния, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ мноТСствами ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π“Π»Π°Π²Π° 12. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

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

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. ΠžΠ±Π·ΠΎΡ€ XSLT-процСссоров

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΎΠ±Π·ΠΎΡ€ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных XSLT- процСссоров с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий инструмСнт. Помимо этого, Π² Π½Π°Ρ‡Π°Π»Π΅ прилоТСния приводятся статистичСскиС свСдСния ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ популярности Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… XSLT-процСссоров.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ справочник элСмСнтов ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² XSLT

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ содСрТит ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± элСмСнтах ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… языка XSLT. Π’ ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ свСдСны синтаксис элСмСнтов ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΈΡ… сСмантики.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3. ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ справочник Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ XSLT ΠΈ XPath

Π’Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ содСрТит ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ функциях Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ языка XPath ΠΈ функциях языка XSLT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 4. Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-рСсурсы, посвящСнныС XSLT

Π’ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ нСбольшой список ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-рСсурсов, Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ связанных с XSLT. Бюда относятся списки часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… вопросов, ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ XSLT, Π°Ρ€Ρ…ΠΈΠ²Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ инструмСнтов, ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ спСцификации ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΠ° W3 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

БоглашСния

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ эта ΠΊΠ½ΠΈΠ³Π° Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ посвящСна языку XSLT, Π² Π½Π΅ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ XML ΠΈ язык обращСния ΠΊ частям Π₯МL-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ XPath. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ описаниС этих языков Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Ρ‡Π΅Ρ‚ΠΊΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ синтаксичСских конструкций.

Для описания синтаксиса рассматриваСмых языков ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Бэкуса-Наура (РЀБН, ΠΈΠ»ΠΈ, ΠΏΠΎ-английски, Extended Backus-Naur Form, EBNF). EBNF β€” это соврСмСнная модификация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, которая Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±Ρ‹Π»Π° использована для описания языка программирования Алгол-60. Π—Π° ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ дСсятилСтия Ρ„ΠΎΡ€ΠΌΡ‹ Бэкуса-Наура Π±Ρ‹Π»ΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ мноТСством Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ сСйчас Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для описания ряда языков программирования Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ стСпСни слоТности. EBNF-нотация Ρ‚Π°ΠΊΠΆΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² тСхничСских рСкомСндациях ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΠ° W3, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ фактичСски ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ стандартами рассматриваСмых Π½Π°ΠΌΠΈ языков.