Перейти к содержанию

XML


Extensible Markup Language - используется как програмно/платформо независимый инстурумент для передачи данных между приложениями/частями приложения.

Правилом хорошего тона считается начинать каждый XML документ с XML Prolog - части в которой описывается версия и кодировка.

Каждый XML документ обязательно должен содержать корневой элемент.

XML имеет поддержку валидации структуры документа. Для этого используются XML Schema и Document Type Definition (DTD).

DTD позволяет определить структуру, элементы и атрибуты этих жлементов путем описания сущностей:

DTD описание XML
<!DOCTYPE note [ 
    <!ELEMENT note (to,from,heading,body)> 
    <!ELEMENT to (#PCDATA)> 
    <!ELEMENT from (#PCDATA)> 
    <!ELEMENT heading (#PCDATA)> 
    <!ELEMENT body (#PCDATA)> 
    ]
>

!DOCTYPE note - Определяет корневой элемент

!ELEMENT note - Определяет, что элемент note должен содержать следующие элементы: to, from, heading, body

!ELEMENT to - Определяет, что элемент to должен быть типа #PCDATA (т.е. данные поддающиеся парсингу) и так далее

XML документ реализующий вышеуказанное DTD описание
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
    <to>falcon</to>
    <from>feast</from>
    <heading>hacking</heading>
    <body>XXE attack</body>
</note>