2016-04-15 3 views
-1

Как построить XSD так, чтоXSD элемент содержит только simpleType

<foo> 
    <bar>abc</bar> 
    <foobar>def</foobar> 
</foo> 

действует, но

<foo> 
    <bar> 
     <foobar>abc</foobar> 
    </bar> 
</foo> 

нет. Другими словами, как определить элемент foo в XSD, чтобы он мог содержать только простые эльфы типа независимо от их имен? Имя дочернего элемента foo не определено (это может быть любое имя).

+0

Можете ли вы использовать версию 1.1 языка схемы? –

+0

Пожалуйста, примените только соответствующие теги. Для этого вопроса также не используются теги: xslt] и [tag: xquery]. –

ответ

0

Используя версию 1.1 языка схемы Я думаю, что

<xs:element name="foo"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:any maxOccurs="unbounded" processContents="lax"/> 
     </xs:sequence> 
     <xs:assert id="simpleType-children" test="not(*/*)"/> 
    </xs:complexType> 
</xs:element> 

утверждает, что нет внуков.

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