XSD |
Формальное описание форматов и типов данных в XML-документах (XML Schema Definition).
Например, вам нужно договориться с партнёром о формате обмена данными. Вы хотите передать запрос вашему партнёру и ожидаете от него ответ. Допустим, вы договорились с вашим партнёром, что вы передадите ему файлы в XML-формате, а партнёр вам отдаст ответ. В данной ситуации идеальным способом передать информацию друг другу о формате обмена является обмен XSD-спецификациями.
Например, описание вашего XML это: есть корневой элемент, он должен быть из такого-то namespace и называться так-то, в него должен быть вложен такой-то элемент, в котором должны быть указаны такие-то атрибуты, у которых могут быть такие-то дети в таком-то количестве.
XSD -- это аналогичное описание, но формальное и машиночитаемое.
В любом XML-документе может быть указана его схема (XSD).
С помощью IntelliJ IDEA очень удобно работать с XML-документами, особенно если для IDEA будет доступна его схема. Тогда проверка валидации XML, подсказки и авто-подстановки от IDEA -- очень помогут.
Удобно работать и знать, что не ошибаешься в порядке элементов, их форматах и множестве, содержимом атрибута или тексте элемента, который может быть провалидирован, согласно XSD-описанию, например:
<xsd:simpleType name="SSN"> <xsd:restriction base="xsd:token"> <xsd:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{4}"/> </xsd:restriction> </xsd:simpleType>
Элемент "SSN" имеет шаблон "[0-9]{3}-[0-9]{2}-[0-9]{4}" = только в этом шаблоне можно указать значение "SSN" и валидатор это подскажет.
Если в XML-документе не указана его схема (XSD), но она есть в виде XSD-файла, то IntelliJ IDEA всё равно может помочь в работе с таким XML, если указать связь между namespace и XSD в настройках: File --> Settings --> Schemas and DTDs, где URI это Namespace и Location это файл, где он расположен.
Например, для документа URI http://abc.ru/333 указан файл схемы .xsd
В этом файле (schema_1.xsd) определены элементы нэймспэйса, их типы, взаимосвязи.
Если создать XML-документ, в котором первым корневым элементом указать "documents" (IDEA подскажет все варианты заранее)
и проставится namespace и IDEA также добавит содержимое -- появится набор вложенных элементов: (в примере один вложенный элемент)
Если в XSD описано ограничение на значения, то при указании значения в XML-документе сработает валидация на это ограничение, например, [0-9]{9}:
Текст команды Validate выводится при нажатии на Validate из контекстного меню:
|