2013-09-25 1 views
5

Как я работаю над этим проектом, я получаю сообщение об ошибке сказав:Элемент не должны иметь характер или элемент информационного элемента [детей], потому что тип содержимого типа является пустой

Элемента «Клиент» не должны иметь характер или элемент информации элемента [children], так как тип содержимого типа пуст.

Я не знаю, почему это не работает, видящий я следовал заметок и это выглядит следующим образом:

<xs:element name="Customer" type="xs:string"> 
    <xs:complexType> 
    <xs:attribute name="id" type="xs:integer" use="required"/> 
    </xs:complexType> 
</xs:element> 

Я знаю, что сказать, что я не могу иметь type="xs:string" в там, но тогда как Я заставляю его иметь строку?

ответ

9

Вам нужно исправить определение вашего XSD по Customer: Использование xs:simpleContent с xs:complexType, а не xsl:element/@type в своем определении (customer.xsd):

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      version="1.0"> 
    <xs:element name="Customer"> 
    <xs:complexType> 
     <xs:simpleContent> 
     <xs:extension base="xs:string"> 
      <xs:attribute name="id" type="xs:integer" use="required"/> 
     </xs:extension> 
     </xs:simpleContent> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

выше XSD будет рассматривать содержимое, например, следующее действует:

<Customer id="123">This is a string.</Customer>