2015-05-26 2 views
3

Мой вопрос связан с определением документа XSD. Моя конкретная проблема заключается в том, как определить XSD, чтобы при генерации XML элемент имел тип = «массив».Определение XSD, так что элемент XML будет type = "array"

Желаемый результат был бы что-то вроде:

<names type="array"> 
    <name> 
    ...... 
    </name> 
</names> 

Я экспериментировал с использованием методов, рекомендованных на нескольких форумах, но от я нашел, что мне кажется, что там не может быть даже типа для массива, который сбивает с толку так как результирующий элемент XML может иметь тип массива.

ответ

1

Есть инструменты, которые будут принимать XSD и сгенерировать образец XML-документа, который придерживается XSD, но вы должны понимать, что основная цель XSD заключается в проверять XML-документ.

Этот XSD будет проверять ваш XML-документ:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="names"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="name" maxOccurs="unbounded"/> 
     </xs:sequence> 
     <xs:attribute name="type"/> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

Отметим также, что с помощью пары в type="array" значение атрибута является нетрадиционным в XML в качестве информации о типе передается в XSD в модели содержимого для names и needn 'явно повторяться в документе XML.

Смежные вопросы