БоврСмСнная интСграция ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· использования стандартизированных Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ экосистСмС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… инструмСнтов для этих Ρ†Π΅Π»Π΅ΠΉ являСтся тСхнология XDTO. Она позволяСт ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ структуру Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ XML-схСм, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ систСмами прСдсказуСмым ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ.

Когда Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ говорят ΠΎ нСобходимости Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ XDTO ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ процСсс рСгистрации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ дСйствиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΌΠΎΠ³Π»Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² XML ΠΈdeserialize ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, соблюдая строгиС ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ внСшнСй систСмС ΠΈΠ»ΠΈ стандартС отрасли.

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

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ этап ΠΈ Π°Π½Π°Π»ΠΈΠ· структуры ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ тСхничСским дСйствиям Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² схСм. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ поставщик ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ внСшнСй систСмы прСдоставляСт Π°Ρ€Ρ…ΠΈΠ², содСрТащий Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ .xsd. Π’Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС Ρ„Π°ΠΉΠ»Ρ‹ находятся Π² ΠΎΠ΄Π½ΠΎΠΉ логичСской структурС ΠΏΠ°ΠΏΠΎΠΊ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ пространствам ΠΈΠΌΠ΅Π½ (namespace).

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ XDTO, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ваша ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°. Π₯отя ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ достаточно стабилСн, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½ΡŽΠ°Π½ΡΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слоТных Ρ‚ΠΈΠΏΠΎΠ² ΠΈ наслСдования Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ…. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, потрСбуСтся ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ конвСртация схСм.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ исходныС Ρ„Π°ΠΉΠ»Ρ‹ .xsd Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… Π±Π΅Π· ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ нСобходимости. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ синтаксиса XML ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ пространств ΠΈΠΌΠ΅Π½ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ нСвозмоТности ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² 1Π‘.

Для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹ рСкомСндуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π½Π° локальном дискС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ скопированы всС Ρ„Π°ΠΉΠ»Ρ‹ схСм. Π­Ρ‚ΠΎ упростит процСсс обновлСния Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ: ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ внСшнСй систСмС Π²Π°ΠΌ достаточно Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² этой ΠΏΠ°ΠΏΠΊΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ систСмы контроля вСрсий (Git) для хранСния ΠΏΠ°ΠΏΠΊΠΈ с XDTO схСмами. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ быстро ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ вСрсии ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ.

Π˜ΠΌΠΏΠΎΡ€Ρ‚ XDTO ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€

Основной процСсс добавлСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² происходит Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π²Π΅Ρ‚ΠΊΡƒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΡƒΡŽ Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ XDTO. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½Π° располоТСна Π² ΠΊΠΎΡ€Π½Π΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅.

Алгоритм дСйствий ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ: Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ контСкстноС мСню Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ "ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ XDTO" ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ "Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°...". Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π³Π΄Π΅ Π»Π΅ΠΆΠ°Ρ‚ ваши схСмы. БистСма автоматичСски просканируСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π° зависимостСй. Если Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся Π½Π° Ρ‚ΠΈΠΏΡ‹ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, систСма ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈ эти зависимыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. ΠžΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ этого Π½Π΅ стоит, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ошибки компиляции ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ использования Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠΌ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ПослС Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² начнСтся процСсс парсинга XML ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘. Π’ зависимости ΠΎΡ‚ объСма схСм ΠΈ слоТности связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, эта опСрация ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСкунд Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΈΠ½ΡƒΡ‚. Π’ ΠΆΡƒΡ€Π½Π°Π»Π΅ рСгистрации ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ информация ΠΎ прСдупрСТдСниях, Ссли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ конструкции XDTO Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅.

Настройка пространств ΠΈΠΌΠ΅Π½ ΠΈ прСфиксов

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ послС ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° пространств ΠΈΠΌΠ΅Π½. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ Π² 1Π‘ соотвСтствуСт свой namespace, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ строго ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ targetNamespace исходных XSD Ρ„Π°ΠΉΠ»ΠΎΠ². НСсоотвСтствиС Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ внСшняя систСма ΠΎΡ‚Π²Π΅Ρ€Π³Π½Π΅Ρ‚ ваш XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

Для просмотра ΠΈ рСдактирования свойств ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ свойств Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ полю "Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ пространства ΠΈΠΌΠ΅Π½". Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ задаСтся прСфикс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ XML.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС ВлияниС Π½Π° ΠΎΠ±ΠΌΠ΅Π½
Namespace URI Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ XML
Prefix ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² XML ВлияСт Π½Π° Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°
Version ВСрсия схСмы Π΄Π°Π½Π½Ρ‹Ρ… Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для контроля совмСстимости
Root Type ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ Ρ‚ΠΈΠΏ сообщСния ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ структуру Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ прСфикс ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ соотвСтствовал соглашСниям, принятым Π² вашСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ дСлаСтся Π»Π΅Π³ΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· свойства ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ прСфикса Π½Π΅ мСняСт логичСскоС пространство ΠΈΠΌΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ОбмСн с сайтом (CommerceML)
Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ (ЧСстный Π—ΠΠΠš)
ОбмСн с банковскими систСмами
Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с государствСнными сСрвисами (Π“Π˜Π‘)

Π Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ коллСкциями

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

Особого внимания Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈ пСрСчислСния. Π’ XDTO ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΊΠ°ΠΊ массивы фиксированной Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ списки Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ 1Π‘ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ: ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ XDTO Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° этапС выполнСния.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² XDTO часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ спСцифичСскиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ стандартного прСдставлСния 1Π‘. НапримСр, врСмСнная ΠΌΠ΅Ρ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ указания часового пояса ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ISO 8601. ΠŸΡ€ΠΈ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 1Π‘ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ XDTO Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ².

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… XDTO ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми (immutable) Π² контСкстС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сСриализации. Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ свойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° послС Π΅Π³ΠΎ создания, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ измСнСния Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° записи Π² XML.

ИспользованиС пСрСчислСний (enums) позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ магичСских строк Π² ΠΊΠΎΠ΄Π΅. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ строку "StatusActive", Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ свойству пСрСчислСния XDTO ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ статусов Π²ΠΎ внСшнСй систСмС.

БСриализация ΠΈ дСсСриализация Π΄Π°Π½Π½Ρ‹Ρ…

Главная Ρ†Π΅Π»ΡŒ добавлСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ 1Π‘ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ XDTOSerializer ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ глобального контСкста, Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΡ€ΠΎΡ†Π΅ΡΡ прСвращСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° 1Π‘ Π² XML-строку называСтся сСриализациСй.

ΠŸΡ€ΠΈ сСриализации Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт. Если структура вашСго сообщСния слоТная ΠΈ содСрТит нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности, ошибка Π² ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π’Π½Π΅ΡˆΠ½ΡΡ систСма просто Π½Π΅ смоТСт Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ = Новый XDTOSerializer();

Π—Π°ΠΏΠΈΡΡŒXML = Новый Π—Π°ΠΏΠΈΡΡŒXML();

Π—Π°ΠΏΠΈΡΡŒXML.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ();

Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π—Π°ΠΏΠΈΡΡŒXML, ΠžΠ±ΡŠΠ΅ΠΊΡ‚XDTO);

XMLΠ‘Ρ‚Ρ€ΠΎΠΊΠ° = Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка сСриализации: " + ОписаниСОшибки());

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ процСсс β€” дСсСриализация β€” Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия схСмы Π² памяти ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Если Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ XML, структура ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ соотвСтствуСт Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌΡƒ XDTO ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ, систСма выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… (тысячи Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² час) созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ экзСмпляра Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹ΠΌ. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΠ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ экзСмпляры сСриализаторов, Ссли ΠΎΠ½ΠΈ потокобСзопасны Π² вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡ… устранСния

Π’ процСссС эксплуатации ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с рядом Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Бамая распространСнная ΠΈΠ· Π½ΠΈΡ… β€” ошибка "Π’ΠΈΠΏ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½". Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² XML-сообщСнии ΠΏΡ€ΠΈΡˆΠ΅Π» Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ описан Π² Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…, Π»ΠΈΠ±ΠΎ пространство ΠΈΠΌΠ΅Π½ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎ.

Другая частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ. XDTO ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ использованиС UTF-8. Если внСшняя систСма отправляСт Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Windows-1251, Π° ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½ΠΎΠ΅, русскиС Π±ΡƒΠΊΠ²Ρ‹ прСвратятся Π² "кракозябры". ВсСгда явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² чтСния ΠΈ записи XML.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с вСрсиями схСм. Если ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» свой API ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» структуру XSD (Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅), Π° Π²Ρ‹ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² 1Π‘, ΠΎΠ±ΠΌΠ΅Π½ прСрвСтся. РСгулярный ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ со стороны ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

πŸ’‘

90% ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с XDTO связаны Π½Π΅ с ΠΊΠΎΠ΄ΠΎΠΌ 1Π‘, Π° с нСсоотвСтствиСм структуры XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ схСмС. ВсСгда Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ входящий XML ΠΏΡ€ΠΎΡ‚ΠΈΠ² XSD ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ дСсСриализации.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС инструмСнты ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒXML() Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² XDTO позволяСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ выглядит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ. Бравнивая этот Π²Ρ‹Π²ΠΎΠ΄ с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ ΠΎΡ‚ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°, ΠΌΠΎΠΆΠ½ΠΎ быстро Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ расхоТдСния Π² структурС ΠΈΠ»ΠΈ значСниях ΠΏΠΎΠ»Π΅ΠΉ.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ XDTO ΠΏΠ°ΠΊΠ΅Ρ‚ Π±Π΅Π· остановки Π±Π°Π·Ρ‹ 1Π‘?

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Π°ΠΌ потрСбуСтся Π·Π°ΠΉΡ‚ΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ Π² монопольном Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Для высоконагруТСнных систСм это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ планирования ΠΎΠΊΠ½Π° обслуТивания.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли внСшняя систСма присылаСт XML Π±Π΅Π· указания пространства ΠΈΠΌΠ΅Π½?

Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ считаСтся Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ стандарта XDTO. Однако, Ссли Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° отправитСля, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ схСму с пустым namespace ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ чтСния XML Π±Π΅Π· строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ XDTO, хотя это ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ XML Ρ„Π°ΠΉΠ»Π° ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π² 1Π‘?

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сторонниС Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Ρ‹ XSD ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ простой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ попытаСтся ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XDTOSerializer Π² Π±Π»ΠΎΠΊΠ΅ "ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°-Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅". Если Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка, Ρ„Π°ΠΉΠ» Π½Π΅ соотвСтствуСт схСмС.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ 1Π‘ слоТныС Ρ‚ΠΈΠΏΡ‹ наслСдования Π² XDTO?

Π”Π°, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ наслСдования Ρ‚ΠΈΠΏΠΎΠ², описанныС Π² стандартС XML Schema. Однако ΠΏΡ€ΠΈ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π΅ Π½Π° Ρ‚ΠΈΠΏΡ‹ 1Π‘ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹ с ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.