ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Java EE

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ программирования Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² срСдствами Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java EE 6 с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ стандартной срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Netbeans ΠΈ Π²Π΅Π±-сСрвСра GlassFish, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Tamahawk, Sedna ΠΈ XQJ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для манипулирвания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°ΠΌΠΈ Π½ΡƒΠΆΠ½ΠΎΠΉ массовым ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Java EE (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… областях ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, стали для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ стандартом хранСния, ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΡ… Π²Ρ‹ΡΠΎΠΊΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ ΠΈΠΌ Ρ‡Π΅Ρ€Ρ‚Ρ‹ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

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

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠ°ΠΊ рСляционная Ρ‚Π°Π±Π»ΠΈΡ†Π° с ΠΏΠΎΠ»ΡΠΌΠΈ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈ ΠΏΠΎΠ»Π΅ΠΌ Ρ‚ΠΈΠΏΠ° XML ΠΈΠ»ΠΈ Text для хранСния самого Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΡ€ΠΈ этом слСдуСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ удастся ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ исполнСниС запросов Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ XQuery. Π’Π°ΠΊΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π‘Π£Π‘Π” Sedna XML Database, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ встроСнный процСссор исполнСния запросов Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ XQuery ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс для Π΅Π³ΠΎ использования Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Java. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π‘Π£Π‘Π” Sedna являСтся ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡ‹Ρ… простым ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΈ ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², поэтому цСлСсообразно ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π‘Π£Π‘Π” PostgreSQL, Π° ΡΠ°ΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² Sedna, имСя ссылку Π½Π° Π½ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ строку символов — имя записи Π² Sedna.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° производится ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ консоли ΠΈΠ»ΠΈ ΠΈΠ· Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ массива bytesd Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ API Java:

Π’Π΅Π±-интСрфСйс для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ свободной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Tomahawk for JSF 2.0 ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π° выглядит Ρ‚Π°ΠΊ. Π’ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ web. xml Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ описания Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запросов Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ XQuery.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ для извлСчСния Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ инструмСнтом являСтся язык XQuery. XQuery являСтся языком запросов, ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² XML. Π€Π°ΠΉΠ» index. xhtml:

Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° doUpload Π±ΠΈΠ½Π° ldr:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ запроса являСтся:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ for ΠΈ let ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ ΠΏΠ°Ρ€Ρƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи item Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ items. xml ΠΈ books.xml. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Π΅ пСрСмСнная $i связана с ΠΊΠ½ΠΈΠ³ΠΎΠΉ, Π° $b — с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, содСрТащСй всС ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ для этой ΠΊΠ½ΠΈΠ³ΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ where ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… $b содСрТит Π±ΠΎΠ»Π΅Π΅ дСсяти записСй. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ return для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡ‚ΠΈΡ… ΠΏΠ°Ρ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ элСмСнт, содСрТащий Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ½ΠΈΠ³ΠΈ, описаниС ΠΈ Ρ‡ΠΈΡΠ»ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆ.

Для формирования ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ запроса ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свободноС ΠŸΠž процСссоров XQuery. Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… процСссоров являСтся Xqilla version 2.3.0 Ρ„ΠΈΡ€ΠΌΡ‹ Oracle.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ выраТСния XQuery ΠΈ XPath 2 ΠΈΠ· Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache License, Version 2.0. XQilla — Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ (ASL2.0) для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ XQuery с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ XQuery Update Facility — Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ языка XQuery. XQilla написана Π½Π° C++ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ для исполнСния запросов ΠΊ XML-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ развиваСтся ΠΈ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Oracle, Berkeley DB XML.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ процСссор Zorba XQuery Engine, Version: 2.2.0 распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache License Version 2.0. УстанавливаСтся ΠΈΠ· Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ория ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. НапримСр, для ΠžΠ‘ Linux Fedora 16 процСссор Zorba устанавливаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ yum install zorba. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ XQuery вСрсии 3.0.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ упомянутых процСссоров являСтся ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΡ… ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠ°ΠΊ ΠΈ ΡΠ°ΠΌΠΈΡ… запросов. Π­Ρ‚ΠΈ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ процСссоров Π² Π²Π΅Π±-прилоТСния, исполняСмыС Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ сСрвСра. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… запросами, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€ ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² прилоТСния, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ сСрвСра. ΠŸΡƒΡΡ‚ΡŒ xmlinstance. getNameDoc содСрТит имя Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π‘Π” Sedna, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ запросом XQuery, Π° xmlquery. getquery — тСкст запроса. Π’Ρ‹Π±ΠΎΡ€ экзСмпляров ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… сущностСй Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²ΠΈΠ΄Π°:

Π“Π΄Π΅ свойства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ:

Π’ ΡΡ‚ΠΎΠΌ смыслС Π±ΠΎΠ»Π΅Π΅ подходящим инструмСнтом являСтся встроСнный Π² API Sedna процСссор ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов XQuery, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΌΠΈ Π² ΡΡ‚ΠΎΠΉ ΠΆΠ΅ Π‘Π£Π‘Π”. Для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SR-225 XQuery API for Java. XQJ API for Sedna — позволяСт с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ исходный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ для Π°Π½Π°Π»ΠΈΠ·Π°, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ настраиваСмыС Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ рСпозитория Π² Π‘Π£Π‘Π” PostgreSQL.

Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² программирования ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ выполнСния запросов Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

ВСкст запроса Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΡ‚ΠΎΠΌ случаС Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ объявлСниС внСшнСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΈΠΌΠ΅Π½Π΅ΠΌ $docname ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π·Π°ΠΏΡ€ΠΎΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π°, Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния запроса.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ программирования Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² срСдствами Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java EE 6 с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ стандартной срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Netbeans ΠΈ Π²Π΅Π±-сСрвСра GlassFish, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Tamahawk, Sedna ΠΈ XQJ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для манипулирвания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°ΠΌΠΈ Π½ΡƒΠΆΠ½ΠΎΠΉ массовым ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ языка запросов Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ XQuery, ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ возмоТностям Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΌ язык SQL для рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

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

  • 1. ΠžΡΠ½ΠΎΠ²Ρ‹ использования XML-схСм для опрСдСлСния элСмСнтов (Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс). элСктронный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»
  • 2. XQuery: язык запросов XML (Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс).
  • 3. XML Schema (XML схСма) — описаниС структуры XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅).
  • 4. The Java EE 6 Tutorial, Volume II Advanced Topics (Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс) Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95 054 U.S.A. Part No: 820−7628−10 December 2009, 21.11.2012.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ