Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills ΠΠ°Ρ‡Π°Ρ‚ΡŒ
Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ
Администрация

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ XML? ПолноС руководство ΠΏΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠΌΡƒ языку Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ

XML (Extensible Markup Language) β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² соврСмСнных вычислСниях. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, создаётС Π»ΠΈ Π²Ρ‹ Π²Π΅Π±-сСрвисы, настраиваСтС сСрвСрноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ структурированными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями, XML ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ практичСски Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ тСхнологичСском стСкС. Π’ этом ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌ руководствС ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ XML, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π΅Π³ΠΎ основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ сцСнарии использования, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСимущСства ΠΈ ограничСния β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ обоснованныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

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

XML Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Extensible Markup Language β€” стандартизированный тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ структурирования Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ понятны Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ машиной.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ HTML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для отобраТСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, XML создан ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для прСдставлСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Он Π½Π΅ содСрТит ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ‚Π΅Π³ΠΎΠ²; вмСсто этого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ собствСнныС Ρ‚Π΅Π³ΠΈ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ XML Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ практичСски ΠΊ любой ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

XML Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ консорциумом World Wide Web (W3C) ΠΈ являСтся ΠΊΡ€Π°Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°ΠΌΠ½Π΅ΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с ΠΊΠΎΠ½Ρ†Π° 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ². Он ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… систСмах, API, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ конфигурациями, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности XML

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ, стоит ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ выдСляСт XML срСди Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

  • Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ: Π’Ρ‹ опрСдСляСтС собствСнныС Ρ‚Π΅Π³ΠΈ ΠΈ структуру Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Ѐиксированных элСмСнтов Π½Π΅Ρ‚ β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ адаптируСтся ΠΊ вашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ: XML-Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, Π½Π° любом языкС программирования ΠΈΠ»ΠΈ Π² любой срСдС выполнСния.
  • Π‘Π°ΠΌΠΎΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ: Π’Π΅Π³ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ смысл содСрТащихся Π² Π½ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ понятными Π±Π΅Π· нСобходимости ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ внСшнСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ схСмС.
  • Π‘Ρ‚Ρ€ΠΎΠ³ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ: XML Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ соблюдСния Тёсткого синтаксиса. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ сформирован (ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Π³ΠΈ, СдинствСнный ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ.
  • Широкая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°: ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ соврСмСнный язык программирования β€” Python, Java, PHP, JavaScript, C# ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π·Π±ΠΎΡ€Π° XML.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ XML?

XML структурируСт Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ элСмСнты. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ любого XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ тСкст, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты ΠΈΠ»ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="programming">
    <title>Learning XML</title>
    <author>John Doe</author>
    <price>29.99</price>
  </book>
  <book category="advanced">
    <title>Mastering XML</title>
    <author>Jane Smith</author>
    <price>39.99</price>
  </book>
</bookstore>

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΏΠΎ частям:

  • <?xml version="1.0" encoding="UTF-8"?> β€” ОбъявлСниС XML, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ символов.
  • <bookstore> β€” ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ вСсь Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.
  • <book category="programming"> β€” Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ (category).
  • <title>, <author>, <price> β€” ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ элСмСнты, содСрТащиС фактичСскиС значСния Π΄Π°Π½Π½Ρ‹Ρ….

Вакая иСрархичСская дрСвовидная структура Π΄Π΅Π»Π°Π΅Ρ‚ XML ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ для прСдставлСния слоТных Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

ПониманиС структуры XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ. Π’ΠΎΡ‚ ΠΏΡΡ‚ΡŒ основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

1. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основной структурной Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ XML. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт состоит ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅Π³Π°, содСрТимого ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅Π³Π°:

<price>29.99</price>

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π° для создания иСрархичСских структур Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пустыми:

<linebreak />

2. Атрибуты

Атрибуты ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± элСмСнтС ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ Ρ‚Π΅Π³Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

<book category="fiction" language="en">
  <title>1984</title>
  <author>George Orwell</author>
</book>

Атрибуты, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ‚ΠΎΡ‡Π½ΡΡŽΡ‚ ΠΈΠ»ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ сам элСмСнт, Π° Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

3. ОбъявлСниС XML

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с объявлСния, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π²Π΅Ρ€ΡΠΈΡŽ XML ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ символов:

<?xml version="1.0" encoding="UTF-8"?>

Π₯отя это объявлСниС Π½Π΅ являСтся строго ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ считаСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ символов.

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

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ сформированный XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт, содСрТащий всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с ΠΊΠ½ΠΈΠΆΠ½Ρ‹ΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠΌ <bookstore> являСтся ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ. Π‘Π΅Π· СдинствСнного ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ элСмСнта Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π½Π΅ являСтся Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ XML.

5. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

XML ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ встроСнныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ для докумСнтирования. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ XML-парсСрами ΠΈ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…:

<!-- This section defines the book inventory -->

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для аннотирования ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ слоТных структур Π΄Π°Π½Π½Ρ‹Ρ….

РаспространённыС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования XML Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅

Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ XML сдСлали Π΅Π³ΠΎ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ элСмСнтом Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… отраслях ΠΈ тСхничСских областях. Π’ΠΎΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённыС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ примСнСния:

1. ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами

XML являСтся lingua franca ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами. Когда Π΄Π²Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ β€” ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ созданныС Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ… ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах β€” Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ структурированными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, XML прСдоставляСт Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ, ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎ понятный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… срСдах, Π³Π΄Π΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ систСмы, соврСмСнныС API ΠΈ сторонниС сСрвисы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

2. Π’Π΅Π±-сСрвисы ΠΈ API (SOAP)

МногиС ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Π΅Π±-сСрвисы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ SOAP (Simple Object Access Protocol), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ опираСтся Π½Π° XML для структурирования сообщСний запросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ². Π₯отя REST API Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° JSON, SOAP остаётся Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Π² банковской сфСрС, Π·Π΄Ρ€Π°Π²ΠΎΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΈ государствСнных систСмах, Π³Π΄Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ строгиС ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ схСмы (WSDL).

3. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ сСрвСров ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

XML ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ спСктрС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния β€” ΠΎΡ‚ сСрвСров ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Apache Tomcat) Π΄ΠΎ инструмСнтов сборки (Maven, Ant) ΠΈ систСм управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ.

<configuration>
  <database>
    <host>localhost</host>
    <port>3306</port>
    <username>admin</username>
    <password>securepassword</password>
  </database>
  <cache enabled="true" ttl="3600"/>
</configuration>

Если Π²Ρ‹ управляСтС срСдой VPS Π₯остинга, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° основС XML для Π²Π΅Π±-сСрвСров, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² развёртывания.

4. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ офисныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ офисных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² основаны Π½Π° XML. Π€Π°ΠΉΠ»Ρ‹ .docx Microsoft Word ΠΈ .xlsx Excel Π½Π° самом Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ZIP-Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ, содСрТащими XML-Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ содСрТимоС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, стили ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. Π€ΠΎΡ€ΠΌΠ°Ρ‚ OpenDocument (ODF), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ LibreOffice, Ρ‚Π°ΠΊΠΆΠ΅ основан Π½Π° XML.

5. RSS ΠΈ Atom-Π»Π΅Π½Ρ‚Ρ‹

RSS (Really Simple Syndication) ΠΈ Atom-Π»Π΅Π½Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ XML для синдикации ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈΠ· Π±Π»ΠΎΠ³ΠΎΠ², новостных сайтов ΠΈ подкастов. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° XML позволяСт Ρ€ΠΈΠ΄Π΅Ρ€Π°ΠΌ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€Π°ΠΌ Π»Π΅Π½Ρ‚ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ стандартизированным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

<rss version="2.0">
  <channel>
    <title>AlexHost Blog</title>
    <link>https://alexhost.com/blog</link>
    <description>Latest news and tutorials from AlexHost</description>
    <item>
      <title>What Is XML Format?</title>
      <link>https://alexhost.com/blog/xml-format</link>
    </item>
  </channel>
</rss>

6. SVG-Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

Scalable Vector Graphics (SVG) β€” стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для нСзависимой ΠΎΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Π΅Π±-Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ β€” являСтся языком Π½Π° основС XML. КаТдоС SVG-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ являСтся Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с использованиСм стандартных XML-инструмСнтов ΠΈ API.

7. Π€Π°ΠΉΠ»Ρ‹ Sitemap для SEO

ΠŸΠΎΠΈΡΠΊΠΎΠ²Ρ‹Π΅ систСмы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Google, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ XML-ΠΊΠ°Ρ€Ρ‚Ρ‹ сайта для обнаруТСния ΠΈ индСксирования Π²Π΅Π±-страниц. Π€Π°ΠΉΠ» sitemap.xml содСрТит список всСх URL вашСго сайта вмСстС с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π΄Π°Ρ‚Π° послСднСго измСнСния ΠΈ частота обновлСния. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ SEO-инструмСнт для любого сайта, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠžΠ±Ρ‰Π΅ΠΌ Π’Π΅Π±-Π₯остингС ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС.

XML ΠΏΡ€ΠΎΡ‚ΠΈΠ² JSON: Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ?

Распространённый вопрос, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ XML ΠΈΠ»ΠΈ JSON. Π’ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ сравнСниС:

Π₯арактСристикаXMLJSON
Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒΠŸΠΎΠ½ΡΡ‚Π΅Π½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, Π½ΠΎ многословСнЛаконичСн ΠΈ Π»Π΅Π³ΠΊΠΎ читаСтся
Π’ΠΈΠΏΡ‹ данныхВсС значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (числа, Π±ΡƒΠ»Π΅Π²Ρ‹ значСния, массивы)
ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡΠΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ
Валидация схСмыXSD, DTDJSON Schema
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пространств имёнДаНСт
Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ сцСнарий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ систСмы, SOAP, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹REST API, Π²Π΅Π±-прилоТСния, Π»Ρ‘Π³ΠΊΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ·-Π·Π° многословных Ρ‚Π΅Π³ΠΎΠ²ΠœΠ΅Π½ΡŒΡˆΠ΅
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π±ΠΎΡ€Π°ΠœΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅Π‘Ρ‹ΡΡ‚Ρ€Π΅Π΅

Π˜Ρ‚ΠΎΠ³: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ XML, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° строгая валидация схСмы, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пространств ΠΈΠΌΡ‘Π½, Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΈΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ систСмами. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ JSON для Π»Ρ‘Π³ΠΊΠΈΡ…, соврСмСнных REST API ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ простота.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° XML

βœ… Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ

Π’Ρ‹ опрСдСляСтС собствСнныС Ρ‚Π΅Π³ΠΈ ΠΈ структуру. XML адаптируСтся ΠΊ любой ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΎΡ‚ простых ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… иСрархичСских Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

βœ… Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ кросс-платформСнная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

XML поддСрТиваСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ языком программирования ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ. Π€Π°ΠΉΠ», созданный Π½Π° Windows-сСрвСрС, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ Linux-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ прСобразования.

βœ… Π‘Π°ΠΌΠΎΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ структура

Π—Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ‚Π΅Π³ΠΎΠ² Π΄Π΅Π»Π°ΡŽΡ‚ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ самодокумСнтируСмыми. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠΉ XML-Ρ„Π°ΠΉΠ», ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ содСрТимоС Π±Π΅Π· нСобходимости ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ Π΄Π°Π½Π½Ρ‹Ρ….

βœ… НадёТная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ

XML ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ схСмы Ρ‡Π΅Ρ€Π΅Π· DTD (Document Type Definition) ΠΈ XSD (XML Schema Definition), позволяя ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ строгиС ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами.

βœ… ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пространств ΠΈΠΌΡ‘Π½

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π° ΠΈΠΌΡ‘Π½ XML ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ элСмСнты ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… XML-словарСй Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΡ‘Π½ β€” это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для слоТных ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ.

НСдостатки XML

❌ ΠœΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ

Бинтаксис XML Π½Π° основС Ρ‚Π΅Π³ΠΎΠ² ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³ΠΈ. Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… это Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ JSON ΠΈΠ»ΠΈ Protocol Buffers.

❌ НакладныС расходы Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ

Π Π°Π·Π±ΠΎΡ€ XML β€” особСнно Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² β€” Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС CPU ΠΈ памяти, Ρ‡Π΅ΠΌ Ρ€Π°Π·Π±ΠΎΡ€ JSON. DOM-парсСры XML Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ вСсь Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ для срСд с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ рСсурсами.

❌ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π’ XML всС значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ строки. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ чисСл, Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ массивов Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π»ΠΈΠ±ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ схСмы, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… соглашСний.

❌ Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для простых сцСнариСв использования

Для простого ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ соврСмСнными Π²Π΅Π±-прилоТСниями XML ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ излишнС слоТным. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ JSON Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ вытСснил XML Π² контСкстС REST API.

Вопросы бСзопасности XML

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ XML Π² сСрвСрных срСдах Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… уязвимостях бСзопасности:

  • XXE (XML External Entity) Π˜Π½ΡŠΠ΅ΠΊΡ†ΠΈΡ: Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ XML-парсСры, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ссылки Π½Π° внСшниС сущности, для чтСния Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², выполнСния SSRF-Π°Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΡ‚ΠΊΠ°Π·Π° Π² обслуТивании. ВсСгда ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²Π½Π΅ΡˆΠ½ΠΈΡ… сущностСй Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСго XML-парсСра.
  • XML Bomb (Π°Ρ‚Π°ΠΊΠ° Β«ΠœΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ смСхов»): ВрСдоносно созданный XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ссылки Π½Π° сущности, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ памяти, приводящСС ΠΊ сбою парсСра. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ парсСры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ограничСния Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ сущностСй.
  • XPath Π˜Π½ΡŠΠ΅ΠΊΡ†ΠΈΡ: Аналогично SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ, нСсанированный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ Π² XPath-запросах ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ бСзопасности сСрвСрной срСды ΠΈΠΌΠ΅Π΅Ρ‚ пСрвостСпСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, запускаСтС Π»ΠΈ Π²Ρ‹ API Π½Π° основС XML Π½Π° ΠΏΠ»Π°Π½Π΅ VPS Π₯остинга ΠΈΠ»ΠΈ Π½Π° Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π‘Π΅Ρ€Π²Π΅Ρ€Π΅, всСгда примСняйтС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ XML.

XML Π² хостингС ΠΈ сСрвСрных срСдах

XML Π³Π»ΡƒΠ±ΠΎΠΊΠΎ встроСн Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ инфраструктуру хостинга ΠΈ сСрвСров:

  • Apache ΠΈ Nginx ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ XML ΠΈΠ»ΠΈ смСТныС с XML Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java EE / Jakarta EE Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠΏΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° дСскрипторы развёртывания XML (web.xml, persistence.xml).
  • cPanel β€” доступный с VPS с cPanel β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ XML Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ для экспорта ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² API.
  • WordPress ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ XML для своСго Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° экспорта WXR (WordPress eXtended RSS), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ сайта.
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ управлСния SSL-сСртификатами часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° основС XML. Если Π²Ρ‹ управляСтС SSL-сСртификатами для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², скрипты Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° основС XML ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ этот процСсс.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы ΠΎΠ± XML

АктуалСн Π»ΠΈ XML Π² 2024 Π³ΠΎΠ΄Ρƒ?

БСзусловно. Π₯отя JSON вытСснил XML Π² REST API ΠΈ Π»Ρ‘Π³ΠΊΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, XML остаётся Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… систСмах, SOAP Π²Π΅Π±-сСрвисах, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (DOCX, XLSX, SVG), ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ конфигурациями ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚ сайта.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ сформированный XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚?

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ сформированный XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ соотвСтствуСт всСм синтаксичСским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ XML: ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт, всС Ρ‚Π΅Π³ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹, значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ΅ объявлСниС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ XML ΠΈ HTML?

HTML ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для отобраТСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ‚Π΅Π³ΠΈ. XML ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с использованиСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚Π΅Π³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ опрСдСляСтС сами. HTML ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° прСдставлСниС; XML ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅.

МоТно Π»ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ XML?

Π”Π°. XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎ DTD (Document Type Definition) ΠΈΠ»ΠΈ XSD (XML Schema Definition), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΠΈΡ… соотвСтствии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ структурС ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

КакиС инструмСнты ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с XML?

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ XML-инструмСнты Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ XMLSpy, Oxygen XML Editor ΠΈ VS Code с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ XML. Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠ°ΠΊ lxml (Python), JAXB (Java), SimpleXML (PHP) ΠΈ System.Xml (.NET).

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

XML (Extensible Markup Language) остаётся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² вычислСниях. Π‘ΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ читаСмости для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, строгой структуры, платформонСзависимости ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², управлСния конфигурациями ΠΈ обСспСчСния совмСстимости с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ систСмами.

Π₯отя JSON стал ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ для соврСмСнных REST API благодаря своСй лаконичности ΠΈ скорости, XML ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… систСм Π² банковской сфСрС, Π·Π΄Ρ€Π°Π²ΠΎΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ, государствСнном ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии. ПониманиС XML β€” Π΅Π³ΠΎ синтаксиса, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², сцСнариСв использования ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ β€” являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ для любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ систСмного администратора.

НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, настраиваСтС Π»ΠΈ Π²Ρ‹ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠžΠ±Ρ‰Π΅ΠΌ Π’Π΅Π±-Π₯остингС, управляСтС API Π½Π° основС XML Π² срСдС VPS Π₯остинга ΠΈΠ»ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ сСрвисы Π½Π° Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π‘Π΅Ρ€Π²Π΅Ρ€Π°Ρ…, Ρ‚Π²Ρ‘Ρ€Π΄ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ XML Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π²Π°ΠΌ Π½Π° протяТСнии всСй тСхничСской ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹.