2016-11-23 8 views
1

Мне нужно выполнить условие if else в моей схеме xsd. Конкретно узел шаблона. Как я могу это сделать?Условие XSD if-else

<s:complexType name="parent"> 
    <s:sequence> 
     <s:element name="elem1" type="s:string"/> 
     <s:element name="elem2"> 
      <s:simpleType> 
       <s:restriction base="s:string"> 
        <s:pattern value="if (elem1 == 3) //todo 
             else //todo"/> 
       </s:restriction> 
      </s:simpleType> 
     </s:element> 
    </s:sequence> 
</s:complexType name="parent"> 

ответ

3

Нет, вы не можете использовать if в xs:pattern/@value.

Нет, вы не можете ссылаться на другой элемент в пределах xs:pattern/@value.

Что вы можете сделать:

  • XSD 1,0: реорганизовать дизайн XML и использовать при моделировании основного содержания конструкций.
  • XSD 1.1: Условное назначение типа может помочь.
  • XSD 1.1: Утверждения могут помочь.

Более конкретные указания, чем это возможно только с более конкретным вопросом, который показывает XML, что должно и не должно быть действительным, что объясняет //todo и т.д.

+0

Понял, спасибо –