2017-02-09 7 views
1

В моем случае мой XSD должен иметь несколько групп под одной корневой тег, # XSD # Как объявить несколько групп в XSD?

<xs:group name="location"> 
    <xs:sequence> 
    <xs:element name="city" type="xs:string"/> 
    <xs:element name="flat_num" type="xs:string"/> 
    <xs:element name="landmark" type="xs:string"/> 
    <xs:element name="street" type="xs:string"/> 
    </xs:sequence> 
</xs:group> 

<xs:group name="student"> 
    <xs:sequence> 
    <xs:element name="firstname" type="xs:string"/> 
    <xs:element name="lastname" type="xs:string"/> 
    <xs:element name="mothername" type="xs:string"/> 
    <xs:element name="fathername" type="xs:string"/> 
    </xs:sequence> 
</xs:group> 

<xs:element name="Student_details" type="details"/> 

<xs:complexType name="details"> 
    <xs:group ref="location"/> 
    <xs:group ref="student"/> 
</xs:complexType> 
</xs:schema> 

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

ответ

1

Ваш отсутствует последовательность в сложном типе

<?xml version="1.0" encoding="utf-8" ?> 
<!--Created with Liquid Studio 2017 - Developer Bundle Edition (Trial) 15.0.0.7089 (https://www.liquid-technologies.com)--> 
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:group name="location"> 
     <xs:sequence> 
      <xs:element name="city" type="xs:string" /> 
      <xs:element name="flat_num" type="xs:string" /> 
      <xs:element name="landmark" type="xs:string" /> 
      <xs:element name="street" type="xs:string" /> 
     </xs:sequence> 
    </xs:group> 
    <xs:group name="student"> 
     <xs:sequence> 
      <xs:element name="firstname" type="xs:string" /> 
      <xs:element name="lastname" type="xs:string" /> 
      <xs:element name="mothername" type="xs:string" /> 
      <xs:element name="fathername" type="xs:string" /> 
     </xs:sequence> 
    </xs:group> 
    <xs:element name="Student_details" type="details" /> 
    <xs:complexType name="details"> 
     <xs:sequence> 
      <xs:group ref="location" /> 
      <xs:group ref="student" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:schema> 

enter image description here

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

<?xml version="1.0" encoding="utf-8"?> 
<!-- Created with Liquid Studio 2017 - Developer Bundle Edition (Trial) 15.0.0.7089 (https://www.liquid-technologies.com) --> 
<Student_details xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:noNamespaceSchemaLocation="Schema.xsd"> 
    <city>string</city> 
    <flat_num>string</flat_num> 
    <landmark>string</landmark> 
    <street>string</street> 
    <firstname>string</firstname> 
    <lastname>string</lastname> 
    <mothername>string</mothername> 
    <fathername>string</fathername> 
</Student_details> 
+0

В моем сценарии, как и в моем сценарии, в качестве обязательных элементов в качестве необязательных элементов задаются элементы группы местоположений как необязательные и студенческие группы. – Santhosh

+0

Sprotty