Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

I. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎΠ± XMLΒΆ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² XMLΒΆ

XML ( Π°Π½Π³Π». eXtensible Markup Language) β€” Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ XML состоит ΠΈΠ· элСмСнтов (elements). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ начинаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Ρ‚Π΅Π³ΠΎΠΌ (start-tag) Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобках, Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ΄Π΅Ρ‚ содСрТимоС (content) элСмСнта, послС Π½Π΅Π³ΠΎ записываСтся Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³ (end-teg) Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобках.

НСкоторыС элСмСнты, Π½Π΅ содСрТащиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, допустимо Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π±Π΅Π· Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅Π³Π°. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС символ / ставится Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅Π³Π°:

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° XMLΒΆ

XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт. Π­Ρ‚ΠΎΡ‚ элСмСнт являСтся Β«Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΒ» для всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов.

ВсС элСмСнты Π² XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ иСрархичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ. Π­Ρ‚ΠΎ Π΄Π΅Ρ€Π΅Π²ΠΎ начинаСтся с ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ элСмСнта ΠΈ развСтвляСтся Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ элСмСнтов.

ВсС элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ подэлСмСнты (Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты):

ΠŸΡ€Π°Π²ΠΈΠ»Π° синтаксиса (Π’Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ)ΒΆ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° синтаксиса XML:

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ рСгистрС:

Бущности¢

НСкоторыС символы Π² XML ΠΈΠΌΠ΅ΡŽΡ‚ особыС значСния ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ слуТСбными. Если Π²Ρ‹ помСститС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, символ Π²Π½ΡƒΡ‚Ρ€ΠΈ XML элСмСнта, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрирована ошибка, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ парсСр ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Π»ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта.

Π’Π°ΠΊΠΆΠ΅ ошибка Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрирована ΠΈ Π² ΡΠ»ΡƒΠ΄ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ссли Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π·ΡΡ‚ΡŒ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (английскиС Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅):

Π§Ρ‚ΠΎΠ±Ρ‹ ошибки Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ символ Π½Π° Π΅Π³ΠΎ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ. Π’ XML сущСствуСт 5 ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… сущностСй:

Π’Π°Π±Π»ΠΈΡ†Π° I.1 β€” Бущности ΒΆ

Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΠ‘ΠΈΠΌΠ²ΠΎΠ»Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
мСньшС, Ρ‡Π΅ΠΌ
>>большС, Ρ‡Π΅ΠΌ
&&ампСрсанд
апостроф
««ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ

Волько символы ΠΈ & строго Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ Π² XML. Π‘ΠΈΠΌΠ²ΠΎΠ» > допустим, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΅Π³ΠΎ всСгда Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ записСй:

Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ английскиС Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° французскиС ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (Β«Ρ‘Π»ΠΎΡ‡ΠΊΠΈΒ»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ слуТСбными символами.

Поиск ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² XML Ρ„Π°ΠΉΠ»Π°Ρ… (XPath)ΒΆ

XPath ( Π°Π½Π³Π». XML Path Language) β€” язык запросов ΠΊ элСмСнтам XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. XPath Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с XML.

XML ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡƒΡŽ структуру. Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ всСгда имССтся ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт (инструкция version=”1.0”?> ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚). Π£ элСмСнта Π΄Π΅Ρ€Π΅Π²Π° всСгда ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΠΊΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ элСмСнта, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠΎΠ² Π½Π΅Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΡƒΠΏΠΈΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов (Π»ΠΈΡΡ‚ΡŒΠ΅Π² Π΄Π΅Ρ€Π΅Π²Π°), Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π΄Π΅Ρ€Π΅Π²Π° находится Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ влоТСнности (Π΄Π°Π»Π΅Π΅ β€” Β«ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒΒ»). Π£ элСмСнтов Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты.

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, ΠΈ строки XPath, фактичСски, β€” ΠΏΡƒΡ‚ΠΈ ΠΊ Β«Ρ„Π°ΠΉΠ»Π°ΠΌΒ» β€” элСмСнтам. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ списка ΠΊΠ½ΠΈΠ³:

XPath запрос /bookstore/book/price Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запрос //book[title[@lang=»it»]] Π²Π΅Ρ€Π½Π΅Ρ‚:

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ прСдставлСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выраТСния XPath ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹:

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈΒΆ

И Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стоит Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ β€” ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. БущСствуСт мноТСство ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, ΠΎ Π½ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Набор символов.

Π’ XML Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π² Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ:

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

Π’Π°Π±Π»ΠΈΡ†Π° I.3 β€” Π‘ΠΌΠ΅Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΒΆ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°
Notepad++Β«Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ β†’ ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Β»
GeanyΒ«Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ β†’ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒΒ»
FirefoxΒ«Π’ΠΈΠ΄ β†’ ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Β»
Chrome«Настройка β†’ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты β†’ ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Β»

Если Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½.

XSD схСма¢

XML Schema β€” язык описания структуры XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ XSD. Как Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков описания XML, XML Schema Π±Ρ‹Π»Π° Π·Π°Π΄ΡƒΠΌΠ°Π½Π° для опрСдСлСния ΠΏΡ€Π°Π²ΠΈΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡ‚ΡŒΡΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Но, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, XML Schema Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² XML.

ПослС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° соотвСтствиС XML Schema Ρ‡ΠΈΡ‚Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ модСль Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² этой ΠΌΠΎΠ΄Π΅Π»ΠΈ ассоциируСтся с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, позволяя ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² памяти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ структурС XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π―Π·Ρ‹ΠΊΠ°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ‡Π΅ΠΌ с тСкстовым Ρ„Π°ΠΉΠ»ΠΎΠΌ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± XSD смотритС:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования XSD cΡ…Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ элСктронная ΠΎΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ XML

ЛогичСская Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

Когда ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ Π² ΠœΠ°Ρ€ΠΊΠ΄Π°ΡƒΠ½Π΅, Ρ‚ΠΎ Ρ‚Π°ΠΌ смысл Π±Ρ‹Π» Ρ‚Π°ΠΊΠΎΠΉ: Π΅ΡΡ‚ΡŒ тСкст, Π° ΠΌΡ‹ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‡Π°Π΅ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ выглядСл. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ Π½Π° этап Π²Ρ‹ΡˆΠ΅ β€” Π±ΡƒΠ΄Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π»ΠΎΠ³ΠΈΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XML.

👉 XML Π½ΡƒΠΆΠ΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСхничСским тСкстом, Π³Π΄Π΅ всё строго, упорядочСнно ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ. Π•Π³ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ ΠΊ худоТСствСнному тСксту, Π½ΠΎ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ сСбС.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ XML

XML β€” это сокращСниС ΠΎΡ‚ eXtensible Markup Language, Π° пСрСводится это ΠΊΠ°ΠΊ Β«Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈΒ». Бмысл XML Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊ Ρ‡Π΅ΠΌΡƒ относится ΠΈ ΠΊΠ°ΠΊ всё связано ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ прСдставлСны Π΄Π°Π½Π½Ρ‹Π΅.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XML ΠΌΠΎΠΆΠ½ΠΎ:

И ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Π³Π΄Π΅ Π½ΡƒΠΆΠ΅Π½ порядок, структура ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π‘ΠΈΠ»Π° XML

Π‘ΠΈΠ»Π° XML Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ здСсь ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст, Ρ€Π°Π·ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³Π°ΠΌΠΈ (ΠΊΠ°ΠΊ Π² HTML). НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ оргструктуру ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π² XML, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ схСму Π² графичСском Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, достаточно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ тСкст с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ долТностями. Π€Π°ΠΉΠ»ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ малСнькими, ΠΈΠ· Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

И Π΅Ρ‰Ρ‘ сила XML Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. НапримСр, Ссли ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ Π΅ΠΌΡƒ оргструктуру ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΠΎΠΉΠΌΡ‘Ρ‚ Π΅Ρ‘: ΠΊΡ‚ΠΎ ΠΊΠΎΠΌΡƒ подчиняСтся, Ρ‡Ρ‚ΠΎ ΠΊΡƒΠ΄Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ Ρ‚. Π΄. Для сравнСния: Ссли ΡΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ схСму, Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Π½Π½ΡƒΡŽ Π² графичСском Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, ΠΎΠ½ Π΅Ρ‘ Π½Π΅ ΠΏΠΎΠΉΠΌΡ‘Ρ‚.

Если XML Ρ…ΠΎΡ€ΠΎΡˆΠΎ составлСн, Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

Как устроСн XML

Π’Π½Π΅ΡˆΠ½Π΅ XML ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° HTML β€” Π² Π½Ρ‘ΠΌ Ρ‚ΠΎΠΆΠ΅ всё ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобках, Π΅ΡΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Π³ΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: Π°Π½Π°Π»ΠΎΠ³ΠΈ классов ΠΈ стилСй. Но, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ HTML, здСсь Π½Π΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π³ΠΎΠ² ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. Объясним, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ тСкст, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚:

«По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 21 октября 2021 ΠΆΡƒΡ€Π½Π°Π» Код Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π² Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π³Π»Π°Π²Ρ€Π΅Π΄ Максим Π˜Π»ΡŒΡΡ…ΠΎΠ² ΠΈ Π°Π²Ρ‚ΠΎΡ€ ΠœΠΈΡ…Π°ΠΈΠ» Полянин»

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ XML:

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ XML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°. Π˜Π½Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ β€” Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ HTML ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ просто тСкст?

Π’Π½ΡƒΡ‚Ρ€ΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° всСгда Π΅ΡΡ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт β€” Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Π»Π΅ΠΆΠΈΡ‚ всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² XML ΠΌΡ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ названия для Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ сами, Ρ‚ΠΎ ΠΏΡƒΡΡ‚ΡŒ этот элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ actual (это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ):

👉 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² XML Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² HTML.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ содСрТимоС. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, β€” это Π΄Π°Ρ‚Π°, поэтому ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» со статусом издания. Π’ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Active (ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚) ΠΈ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° β€” Π΄Π°Ρ‚Π° послСднСй ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ статус этой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π‘Π°ΠΌ элСмСнт ΠΌΡ‹ Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ status:

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° стили ΠΈ классы Π² HTML, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ½Π°Ρ‡Π΅: ΠΌΡ‹ просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ ΠΈΡ… значСния, Π° Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ внСшниС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ пишСм Π΄Π°Ρ‚Ρƒ Π² нСстандартном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°). Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ: Ссли ΠΌΡ‹ ΠΏΠΎΡ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ этого XML, ΠΌΡ‹ смоТСм Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚Ρ‹.

Π­Ρ‚ΠΎ история ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ XML β€” это просто ΠΏΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ раскладываСм Π΄Π°Π½Π½Ρ‹Π΅. КакиС Ρ‚Π°ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ β€” Π΅ΠΌΡƒ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΈΠΆΠ΅ свСдСния ΠΏΡ€ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π°:

Новый элСмСнт ΠΌΡ‹ Π½Π°Π·Π²Π°Π»ΠΈ media β€” Ρ‚Π°ΠΊ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ всё Ρ€Π°Π²Π½ΠΎ.

ПослСднСС β€” Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ составС Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ появилась влоТСнная структура: Π²Π½ΡƒΡ‚Ρ€ΠΈ элСмСнта person Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнта: name, lastname ΠΈ role. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ относятся ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ элСмСнту, Π° Π½Π΅ ΠΆΠΈΠ²ΡƒΡ‚ сами ΠΏΠΎ сСбС:

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

Π“Π΄Π΅ Π½ΡƒΠΆΠ΅Π½ XML

XML ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ логичСскоС содСрТимоС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ XML-Ρ„Π°ΠΉΠ» с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈ характСристиками Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ сСрвСр ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ: Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΈΠ»ΠΈ простым тСкстом, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ Ρ†Π΅Π½Π°, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Ρ€Π°Ρ‚ΡŒ описаниС ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ отнСсти этот Ρ‚ΠΎΠ²Π°Ρ€.

Π•Ρ‰Ρ‘ XML ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π² API, ΠΊΠΎΠ³Π΄Π° ΠΈΠ΄Ρ‘Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ сСрвСра Π² Π²ΠΈΠ΄Π΅ XML-Ρ„Π°ΠΉΠ»ΠΎΠ².

Π§Ρ‚ΠΎ дальшС

Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π΅ΠΌ свой XML-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ Π½Π°ΡƒΡ‡ΠΈΠΌ сСрвСр с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

XML Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Много языков Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° XML; НСкоторыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: XHTML, MathML, SVG, XUL, XBL, RSS, ΠΈ RDF. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой.

«ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ» XML (ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сформированный)

ΠŸΡ€Π°Π²ΠΈΠ»Π° оформлСния

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Π‘ΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ всС синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° XML.

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСмантичСским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ языка (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ Π² схСмС XML ΠΈΠ»ΠΈ DTD (Π°Π½Π³Π». Document Type Definition)).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с Ρ‚Π΅Π³ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ сам сСбя ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅Π³Π° (это Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹ΠΉ XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚).

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ этого Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°:

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² встроСн Π΄Π΅Π±Π°Π³Π³Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎ написанный XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

Бущности

HTML ΠΈ XML ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ сущности) для обращСния ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ символам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† Ρ‚Π΅Π³Π°). БущСствуСт ΠΏΡΡ‚ΡŒ сущностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ:

Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΠ‘ΠΈΠΌΠ²ΠΎΠ»ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
>Π—Π½Π°ΠΊ большС (ΠΎΠ΄Π½Π° ΠΈΠ· ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобок)
&&АмпСрсанд
««Π”войная ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°
ΠžΠ΄ΠΈΠ½Π°Ρ€Π½Π°Ρ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° (апостроф)

НС смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ создано всСго ΠΏΡΡ‚ΡŒ сущностСй, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ свои сущности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Document Type Definition. НапримСр, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ &warning; ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ XML

Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² отобраТСния XML, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, XSLT(Π°Π½Π³Π». Extensible Stylesheet Language Transformations), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ XML Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ HTML. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ XML ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ являСтся ΠΎΡ‡Π΅Π½ΡŒ малСньким Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² XML, с ΠΎΡ‡Π΅Π½ΡŒ малСньким количСством ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ ссылок для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этим языком. Π§Ρ‚ΠΎΠ±Ρ‹ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ XML, Π²Π°ΠΌ придётся ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅ HTML (Π°Π½Π³Π». HyperText Markup Language), Π·Π½Π°Π½ΠΈΠ΅ HTML ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ XML.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ XML

Если Π²Ρ‹ тСстируСтС API, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Π΄Π²Π° основных Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…:

XML, Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с Π°Π½Π³Π» eXtensible Markup Language β€” Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² API, Π½ΠΎ ΠΈ Π² ΠΊΠΎΠ΄Π΅.

Π­Ρ‚ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΠΎΠΌ ВсСмирной ΠΏΠ°ΡƒΡ‚ΠΈΠ½Ρ‹ (W3C), поэтому ΠΎΠ½ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ API. Π’ SOAP API это Π²ΠΎΠΎΠ±Ρ‰Π΅ СдинствСнно Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…!

Π‘ΠΌ Ρ‚Π°ΠΊΠΆΠ΅:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ API β€” ΠΎΠ±Ρ‰Π΅Π΅ знакомство с API
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JSON β€” Π²Ρ‚ΠΎΡ€ΠΎΠΉ популярный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚
Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² SOAP ΠΈ REST: Ρ‡Ρ‚ΠΎ это ΠΈ с Ρ‡Π΅ΠΌ Сдят β€” Π²ΠΈΠ΄Π΅ΠΎ ΠΏΡ€ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ SOAP ΠΈ REST.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΊΠ°ΠΊ ΠΎΠ½ выглядит, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΈ ΠΊΠ°ΠΊ Π»ΠΎΠΌΠ°Ρ‚ΡŒ! Π”Π°-Π΄Π°, Π° ΠΊΡƒΠ΄Π° ΠΆΠ΅ Π±Π΅Π· этого? Надо вСдь Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΡ‚Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ систСма Π½Π° ΠΊΡ€ΠΈΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ присланных Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как устроСн XML

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ подсказок Π”Π°Π΄Π°Ρ‚Ρ‹ ΠΏΠΎ ЀИО:

И разбСрСмся, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ эта запись.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π’ XML ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Ρ‚Π΅Π³ΠΈ. Π’Π΅Π³ β€” это Π½Π΅ΠΊΠΈΠΉ тСкст, ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки:

ВСкст Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобок β€” Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°.
ВСга всСгда два:

Ой, Π½Ρƒ Π»Π°Π΄Π½ΠΎ, ΠΏΠΎΠ΄Π»ΠΎΠ²ΠΈΠ»ΠΈ! НС всСгда. Π‘Ρ‹Π²Π°ΡŽΡ‚ Π΅Ρ‰Π΅ пустыС элСмСнты, Ρƒ Π½ΠΈΡ… ΠΎΠ΄ΠΈΠ½ Ρ‚Π΅Π³ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Но ΠΎΠ± этом Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅!

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³ΠΎΠ² ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ систСмС Β«Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ начинаСтся элСмСнт, Π° Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ заканчиваСтся». Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Π΄ΠΎΡ€ΠΎΠΆΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ:

β€” На въСздС Π² Π³ΠΎΡ€ΠΎΠ΄ написано Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅: Москва
β€” На Π²Ρ‹Π΅Π·Π΄Π΅ написано Ρ‚ΠΎ ΠΆΠ΅ самоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎΠ΅: Москва*

* ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π΄ΠΎΡ€ΠΎΠΆΠ½Ρ‹ΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ я ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ Π΄Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»Π° Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ЯндСкса, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылку ΡƒΠΆΠ΅ Π½Π΅ помню. А ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт

Π’ любом XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Π΅ΡΡ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт. Π­Ρ‚ΠΎ Ρ‚Π΅Π³, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ начинаСтся, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ заканчиваСтся. Π’ случаС REST API Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ β€” это запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отправляСт систСма. Или ΠΎΡ‚Π²Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ этот запрос, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт. Π’ подсказках ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт β€” Β«reqΒ».

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Он ΠΌΠΎΠ³ Π±Ρ‹ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ:

Π”Π° ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Он ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† нашСго запроса, Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ. А Π²ΠΎΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΠΆΠ΅ ΠΈΠ΄Π΅Ρ‚ Ρ‚Π΅Π»ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° β€” сам запрос. Π’Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ внСшнСй систСмС. РазумССтся, ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π² Ρ‚Π΅Π³Π°Ρ…, Π½ΠΎ ΡƒΠΆΠ΅ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ…, Π° Π½Π΅ ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ….

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта хранится ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Ρ‚Π΅Π³Π°ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ число, строка, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Π³ΠΈ!

Π’ΠΎΡ‚ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Π΅Π³ Β«queryΒ». Он ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ отправляСм Π² подсказки.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π’Π½ΡƒΡ‚Ρ€ΠΈ β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ запроса.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΌΡ‹ Π²Π±ΠΈΠ»ΠΈ строку Β«Π’ΠΈΠΊΡ‚ΠΎΡ€ Иван» Π² GUI (графичСском интСрфСйсС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ):

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ лишняя обвязка Π½Π΅ Π½ΡƒΠΆΠ½Π°, Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½Π° красивая Ρ„ΠΎΡ€ΠΌΠΎΡ‡ΠΊΠ°. А Π²ΠΎΡ‚ систСмС Π½Π°Π΄ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Β«ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π» ΠΈΠΌΠ΅Π½Π½ΠΎ это». Как ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅ΠΉ, Π³Π΄Π΅ начинаСтся ΠΈ заканчиваСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅? Для этого ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅Π³ΠΈ.

БистСма Π²ΠΈΠ΄ΠΈΡ‚ Ρ‚Π΅Π³ Β«queryΒ» ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ «строка, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ подсказки».

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ count = 7 ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, сколько подсказок Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅. Если Ρ‚Ρ‹ΠΊΠ°Ρ‚ΡŒ подсказки Π½Π° Π΄Π΅ΠΌΠΎ-Ρ„ΠΎΡ€ΠΌΠ΅ Π”Π°Π΄Π°Ρ‚Ρ‹, Π½Π°ΠΌ вСрнСтся 7 подсказок. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΠ΄Π° Π²ΡˆΠΈΡ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ count = 7. А Π²ΠΎΡ‚ Ссли ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, count ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΡ‚ 1 Π΄ΠΎ 20.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ консоль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· f12, Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Network, ΠΈ посмотритС, ΠΊΠ°ΠΊΠΎΠΉ запрос отправляСтся Π½Π° сСрвСр. Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ count = 7.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Атрибуты элСмСнта

Π£ элСмСнта ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько. Π˜Ρ… ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΡ‚Ρ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Ρ‚Π΅Π³Π° послС названия Ρ‚Π΅Π³Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π» Π² Π²ΠΈΠ΄Π΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π—Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ? Из Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ API-запрос систСма ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π΅ΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎ.

НапримСр, ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ поиск ΠΏΠΎ систСмС, ΠΈΡ‰Π΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² с ΠΈΠΌΠ΅Π½Π΅ΠΌ ОлСг. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ простой запрос:

А Π² ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ†Π΅Π»ΡƒΡŽ ΠΏΠ°Ρ‡ΠΊΡƒ ОлСгов! Π‘ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π΄Π°Ρ‚Π°ΠΌΠΈ роТдСния, Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Допустим, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска выглядит Ρ‚Π°ΠΊ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ эту запись. Π£ нас Π΅ΡΡ‚ΡŒ основной элСмСнт party.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ 3 Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°:

Π’Π½ΡƒΡ‚Ρ€ΠΈ party Π΅ΡΡ‚ΡŒ элСмСнты field.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π£ элСмСнтов field Π΅ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ name. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° β€” Π½Π°Π·Π²Π°Π½ΠΈΠ΅ поля: имя, Π΄Π°Ρ‚Π° роТдСния, Ρ‚ΠΈΠΏ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°. Π’Π°ΠΊ ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ скрываСтся ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ field.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ 10+ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠ². Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ свой Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ»Π΅ΠΉ: Ρƒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π² систСмС Π΅ΡΡ‚ΡŒ ИНН, Ρƒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π½Π΅Ρ‚Ρƒ, ΠΎΠ΄Π½ΠΎΠΌΡƒ Π²Π°ΠΆΠ½Π° Π΄Π°Ρ‚Π° роТдСния, Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Π½Π΅Ρ‚, ΠΈ Ρ‚.Π΄.

Но, нСсмотря Π½Π° Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Ρƒ всСх Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄Π½Π° XSD-схСма (которая описываСт запрос ΠΈ ΠΎΡ‚Π²Π΅Ρ‚):

β€” Π΅ΡΡ‚ΡŒ элСмСнт party;
β€” Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ элСмСнты field;
β€” Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта field Π΅ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ name, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится Π½Π°Π·Π²Π°Π½ΠΈΠ΅ поля.

А Π²ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ названия ΠΏΠΎΠ»Π΅ΠΉ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² XSD. Π˜Ρ… ΡƒΠΆΠ΅ «смотритС Π² Π’Π—Β». ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ПО для сСбя ΠΈΠ»ΠΈ Β«Π²ΠΎΠΎΠ±Ρ‰Π΅ для всСх», ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ «говорящиС» Ρ‚Π΅Π³ΠΈ. КакиС плюшки Ρƒ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

β€” ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ XSD сразу Π²ΠΈΠ΄Π½Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ поля. Π’Π— ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Ρ€Π΅Ρ‚ΡŒ, Π° ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½.
β€” Запрос Π»Π΅Π³ΠΊΠΎ Π΄Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² SOAP Ui β€” ΠΎΠ½ сразу создаст всС Π½ΡƒΠΆΠ½Ρ‹Π΅ поля, Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСниями Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ тСстировщику + Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚Π°ΠΊ тСстируСт, Π΅ΠΌΡƒ Ρ‚ΠΎΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, любой ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° сущСствованиС. Надо ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΠΌ. Π£ мСня Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ нСговорящиС названия элСмСнтов β€” всС ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ Π±ΡƒΠ΄ΡƒΡ‚ field. А Π²ΠΎΡ‚ ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅.

Помимо элСмСнтов field Π² party Π΅ΡΡ‚ΡŒ элСмСнт attribute. НС ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ xml-Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ ΠΈ бизнСс-ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π£ элСмСнта attribute Π΅ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Вакая Π²ΠΎΡ‚ XML-ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ упрощСнная. Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… систСмах, Π³Π΄Π΅ хранятся Ρ„ΠΈΠ· Π»ΠΈΡ†Π°, Π΄Π°Π½Π½Ρ‹Ρ… сильно большС: ΡˆΡ‚ΡƒΠΊ 20 ΠΏΠΎΠ»Π΅ΠΉ самого Ρ„ΠΈΠ· Π»ΠΈΡ†Π°, нСсколько адрСсов, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ², Π΅ΠΌΠ΅ΠΉΠ»-адрСсов…

Но ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ XML Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π°, Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π³Π΄Π΅. И Ссли ΠΎΠ½Π° ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° β€” Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты сдвинуты Π²ΠΏΡ€Π°Π²ΠΎ, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Π‘Π΅Π· форматирования Π±ΡƒΠ΄Π΅Ρ‚ тяТСловато…

А Ρ‚Π°ΠΊ всё просто β€” Ρƒ нас Π΅ΡΡ‚ΡŒ элСмСнты, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Ρ‚Π΅Π³ΠΈ. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π³ΠΎΠ² β€” Π½Π°Π·Π²Π°Π½ΠΈΠ΅ элСмСнта. Если послС названия ΠΈΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»: это Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ элСмСнта.

XML ΠΏΡ€ΠΎΠ»ΠΎΠ³

Иногда Π²Π²Π΅Ρ€Ρ…Ρƒ XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅:

Π­Ρ‚Π° строка называСтся XML ΠΏΡ€ΠΎΠ»ΠΎΠ³ΠΎΠΌ. Она ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ XML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. ΠŸΡ€ΠΎΠ»ΠΎΠ³ нСобязатСлСн, Ссли Π΅Π³ΠΎ Π½Π΅Ρ‚ β€” это ΠΎΠΊ. Но Ссли ΠΎΠ½ Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ это Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ пСрвая строка XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

UTF-8 β€” ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

XSD-схСма

XSD (XML Schema Definition) β€” это описаниС вашСго XML. Как ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ? Π­Ρ‚ΠΎ Π’Π—, написанноС Π½Π° языкС ΠΌΠ°ΡˆΠΈΠ½Ρ‹ β€” вСдь схСму ΠΌΡ‹ ΠΏΠΈΡˆΠ΅ΠΌβ€¦ Π’ΠΎΠΆΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML! ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ XML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ XML.

Ѐишка Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠΎ схСмС ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ машинС. И Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ Ρ€Π°ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ. Достаточно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Β«Π²ΠΎΡ‚ схСма, провСряй ΠΏΠΎ Π½Π΅ΠΉΒ».

Если ΠΌΡ‹ создаСм SOAP-ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π² схСмС:

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π·Π°Ρ‡Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Ссли запрос Π·Π°Π²Π΅Π΄ΠΎΠΌ Β«ΠΏΠ»ΠΎΡ…ΠΎΠΉΒ»? И Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· 5 ΠΌΠΈΠ½ΡƒΡ‚, Π° Π½Π΅ сразу? Валидация ΠΏΠΎ схСмС ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро ΠΎΡ‚ΡΠ΅ΡΡ‚ΡŒ явно Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹Π΅ запросы, Π½Π΅ нагруТая систСму.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ставят ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запросов. НапримСр, SOAP Ui ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ваш запрос Π½Π° well formed xml, ΠΈ ΠΎΠ½ просто Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ Π΅Π³ΠΎ Π½Π° сСрвСр, Ссли Π²Ρ‹ облаТались. Π­ΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ врСмя Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠ»ΠΎΠ΄Π΅Ρ†!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

А простому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ вашСго SOAP API схСма ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ запрос. ΠšΡ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ «простой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΒ»?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π˜Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ схСма ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ SOAP API:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π·Π°ΠΏΡ€ΠΎΡΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ запрос
НСт ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ поля name
ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Ρ‚Π΅Π³Π° (mail вмСсто email)
..

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ схСму. Π’ запросС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ 3 элСмСнта (email, name, password) с Ρ‚ΠΈΠΏΠΎΠΌ Β«stringΒ» (строка). ПишСм:

А Π² WSDl сСрвиса ΠΎΠ½Π° записана Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅:

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² схСмС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строковыС элСмСнты. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ числа, Π΄Π°Ρ‚Ρ‹, boolean-значСния ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ свои Ρ‚ΠΈΠΏΡ‹:

А Π΅Ρ‰Π΅ Π² схСмС ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ схСму, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ написаниС ΠΊΠΎΠ΄Π° β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ схСмы для Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°: составляСм свой запрос

Ок, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Β«ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΒ» запрос для API-ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML. Но ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎ Π’Π—? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. И Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ я даю ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Π”Π°Π΄Π°Ρ‚Ρ‹ β€” Ρ‚Π°ΠΌ классная докумСнтация!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π§Ρ‚ΠΎ, Ссли я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ½Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ТСнскиС ЀИО, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° «Ан»? Π‘Π΅Ρ€Π΅ΠΌ наш исходный ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ мСняСм сам запрос. Π’Π΅ΠΏΠ΅Ρ€ΡŒ это ΡƒΠΆΠ΅ Π½Π΅ Β«Π’ΠΈΠΊΡ‚ΠΎΡ€ Иван», Π° «Ан»:

Π”Π°Π»Π΅Π΅ смотрим Π² Π’Π—. Как Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ТСнскиС подсказки? Π•ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” gender. НазваниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° β€” это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³ΠΎΠ². А Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΠΆΠ΅ ставим ΠΏΠΎΠ». «ЖСнский» ΠΏΠΎ английски Π±ΡƒΠ΄Π΅Ρ‚ FEMALE, Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅. Π˜Ρ‚ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ:

НСнуТноС ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Если нас Π½Π΅ Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚ количСство подсказок, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ count Π²Ρ‹ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅ΠΌ. Π’Π΅Π΄ΡŒ, согласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΎΠ½ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ запрос:

Π’ΠΎΡ‚ ΠΈ всС! Взяли Π·Π° основу ΠΏΡ€ΠΈΠΌΠ΅Ρ€, помСняли ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ, ΠΎΠ΄ΠΈΠ½ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ. НС Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ слоТно. ОсобСнно, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π’Π— ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ )))

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам!
ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ запрос для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° MagicSearch Π² Users. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ всСх Π˜Π²Π°Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ совпадСнию, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… висят Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Well Formed XML

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сам Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ XML Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, Π° ΠΊΠ°ΠΊΠΎΠΉ Π½Π΅Ρ‚. Но Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ. XML Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ well formed, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ синтаксичСски ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ XML Π½Π° синтаксис, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой XML Validator (Ρ‚Π°ΠΊ ΠΈ Π³ΡƒΠ³Π»ΠΈΡ‚Π΅). Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ сайт w3schools. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ сам Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ + описаниС Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

Π’ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ Π²Ρ‹ просто вставляСтС свой XML (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запрос для сСрвСра) ΠΈ смотритС, всё Π»ΠΈ с Π½ΠΈΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Но ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ сами. ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ синтаксиса ΠΈ посмотритС, слСдуСт Π»ΠΈ ΠΈΠΌ ваш запрос.

ΠŸΡ€Π°Π²ΠΈΠ»Π° well formed XML:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π”Π°Π²Π°ΠΉΡ‚Π΅ пройдСмся ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ ΠΈ обсудим, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… Π² тСстировании. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Β«Π»ΠΎΠΌΠ°Ρ‚ΡŒΒ» запрос, провСряя Π΅Π³ΠΎ Π½Π° well-formed xml. Π—Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ? ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ„ΠΈΠ΄Π±Π΅ΠΊ ΠΎΡ‚ систСмы. Π‘ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎ тСксту ошибки ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ облаТались?

1. Π•ΡΡ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт

НСльзя просто ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ€ΡΠ΄Ρ‹ΡˆΠΊΠΎΠΌ 2 XML ΠΈ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ «систСма сама разбСрСтся, Ρ‡Ρ‚ΠΎ это Π΄Π²Π° запроса, Π° Π½Π΅ ΠΎΠ΄ΠΈΠ½Β». НС разбСрСтся. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π°.

И Ссли Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ нСсколько Ρ‚Π΅Π³ΠΎΠ² подряд Π±Π΅Π· ΠΎΠ±Ρ‰Π΅Π³ΠΎ родитСля β€” это ΠΏΠ»ΠΎΡ…ΠΎΠΉ xml, Π½Π΅ well formed. ВсСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт:

НСтДа
Π•ΡΡ‚ΡŒ элСмСнты Β«testΒ» ΠΈ Β«devΒ», Π½ΠΎ ΠΎΠ½ΠΈ располоТСны рядом, Π° ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ всС Π»Π΅ΠΆΠΈΡ‚ β€” Π½Π΅Ρ‚Ρƒ. Π­Ρ‚ΠΎ скорСС ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° 2 XML докумСнтаА Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ элСмСнт credential, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ

Π§Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ для тСстирования этого условия? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, удаляСм ΠΈΠ· нашСго запроса ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Π΅ Ρ‚Π΅Π³ΠΈ!

2. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π΅ΡΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ Ρ‚Π΅Π³

Π’ΡƒΡ‚ всС просто β€” Ссли Ρ‚Π΅Π³ Π³Π΄Π΅-Ρ‚ΠΎ открылся, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π³Π΄Π΅-Ρ‚ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ. Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ? Π£Π΄Π°Π»ΠΈΡ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ Ρ‚Π΅Π³ любого элСмСнта.

Но Ρ‚ΡƒΡ‚ стоит Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Π³ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½. Если элСмСнт пустой, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΎΠ΄Π½ΠΈΠΌ Ρ‚Π΅Π³ΠΎΠΌ, Π·Π°ΠΊΡ€Ρ‹Π² Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ†Π΅:

Π­Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Аналогично сСрвСр ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π°ΠΌ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°. МоТно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ пустыС поля Π² Users Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ FullUpdateUser. И Π² запросС это допустимо (я ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»Π° пустым ΠΏΠΎΠ»Π΅ name1), ΠΈ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ SOAP Ui Π½Π°ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ ΠΈ отрисовываСт пустыС поля.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π˜Ρ‚ΠΎΠ³ΠΎ β€” Ссли Π΅ΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ Ρ‚Π΅Π³, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ. Π›ΠΈΠ±ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ‚Π΅Π³ со слСшом Π² ΠΊΠΎΠ½Ρ†Π΅.

Для тСстирования удаляСм Π² запросС любой Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ Ρ‚Π΅Π³.

3. Π’Π΅Π³ΠΈ рСгистрозависимы

Как написали ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ β€” Ρ‚Π°ΠΊΠΆΠ΅ пишСм ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ. ВОЧНО ВАК Π–Π•! А Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ.

А Π²ΠΎΡ‚ для тСстирования мСняСм рСгистр ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· частСй. Π’Π°ΠΊΠΎΠΉ XML Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ

4. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ элСмСнтов

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ΄Ρ‚ΠΈ Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Один элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Но Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π° элСмСнты НЕ ΠΌΠΎΠ³ΡƒΡ‚!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xml Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

5. Атрибуты ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…

Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ считаСтС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ числом, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…:

Для тСстирования ΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ:

Π˜Ρ‚ΠΎΠ³ΠΎ

XML (eXtensible Markup Language) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… β€” это запросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π² API-ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…. Если Π²Ρ‹ отправляСтС SOAP-запрос, Π²Ρ‹ Π°ΠΏΡ€ΠΈΠΎΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ с этим Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ SOAP ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² XML. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ REST, Ρ‚ΠΎ Ρ‚Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ β€” ΠΈΠ»ΠΈ XML, ΠΈΠ»ΠΈ JSON.

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… β€” это ΠΊΠΎΠ³Π΄Π° XML встрСчаСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π°. Π•Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ°ΠΊ машина, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Π’ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования XML Π² ΠΊΠΎΠ΄Π΅ open-source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° folks. Π― Π½Π΅ знаю, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ JacksonJsonProvider, Π½ΠΎ ΠΌΠΎΠ³Ρƒ Β«ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΒ» этот ΠΊΠΎΠ΄ β€” Π΅ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ (featuresToEnable), ΠΈ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½(featuresToDisable).

Π€ΠΎΡ€ΠΌΠ°Ρ‚ XML подчиняСтся стандартам. БинтаксичСски Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ запрос Π΄Π°ΠΆΠ΅ Π½Π° сСрвСр Π½Π΅ ΡƒΠΉΠ΄Π΅Ρ‚, Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΡ€Π΅ΠΆΠ΅Ρ‚. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° well formed, ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°.

ΠŸΡ€Π°Π²ΠΈΠ»Π° well formed XML:

Если Π²Ρ‹ тСстировщик, Ρ‚ΠΎ ΠΏΡ€ΠΈ тСстировании запросов Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ! Π”Π°, систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ошибки ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ΅ сообщСниС ΠΎΠ± ошибкС. Но Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда ΠΎΠ½Π° это Π΄Π΅Π»Π°Π΅Ρ‚.

А Ссли систСма публичная ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ пустой ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ запрос β€” это ΠΏΠ»ΠΎΡ…ΠΎ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы Π½Π°Π»Π°ΠΆΠ°Π΅Ρ‚ Π² запросС, Π° ΠΏΠΎ пустому ΠΎΡ‚Π²Π΅Ρ‚Ρƒ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠΉΠΌΠ΅Ρ‚, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ. И Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡ‚Π°Π²Π°Ρ‚ΡŒ ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅: Β«Π§Ρ‚ΠΎ ΠΆΠ΅ Ρƒ мСня Π½Π΅ Ρ‚Π°ΠΊ?Β», кидая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ кусочкам ΠΈ Π² Π²ΠΈΠ΄Π΅ скринов исходного ΠΊΠΎΠ΄Π°. Оно Π²Π°ΠΌ Π½Π°Π΄ΠΎ? НСт? Π’ΠΎΠ³Π΄Π° ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ систСма Π²Ρ‹Π΄Π°Π΅Ρ‚ понятноС сообщСниС ΠΎΠ± ошибкС!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JSON β€” Π²Ρ‚ΠΎΡ€ΠΎΠΉ популярный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

PS β€” большС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… статСй ΠΈΡ‰ΠΈΡ‚Π΅ Π² ΠΌΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΊΠ΅ Β«ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅Β». А ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Π΅ΠΎ β€” Π½Π° ΠΌΠΎΠ΅ΠΌ youtube-ΠΊΠ°Π½Π°Π»Π΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *