Проверка XSD для Visual Studio Intellisense - PullRequest
1 голос
/ 11 сентября 2009

Привет, ребята. У меня есть простой XML-файл с такой структурой

 ... ...
 <Fields>
  <Field name="MainJob.Id" value="t066_id">
    <Description nullable="false" type="System.Int32" />
  </Field>

На самом деле у меня есть это описание файла XSD:

              <xs:element minOccurs="0" maxOccurs="unbounded" name="Fields">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="Field">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
                        <xs:complexType>
                          <xs:attribute name="nullable" type="xs:string" use="required" />                              <xs:attribute name="type" type="xs:string" use="required" />
                          <xs:attribute name="minLength" type="xs:string" use="optional" />
                          <xs:attribute name="maxLength" type="xs:string" use="optional" />
                        </xs:complexType>
                      </xs:element>
                    </xs:sequence>
                    <xs:attribute name="name" type="xs:string" />
                    <xs:attribute name="value" type="xs:string" />
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>

Как я могу определить только два доступных значения для атрибута nullable, как 'true' и 'false'? Если я вложу SimpleType в атрибут, файл .XSD больше не будет действительным. спасибо

Ответы [ 2 ]

1 голос
/ 11 сентября 2009

Тип должен быть не xs:string, а xs:boolean для вашего примера или вы можете использовать перечисление ( пример ).

0 голосов
/ 11 сентября 2009

Вы можете добавить простой тип, например, так:

 <xs:simpleType name="TrueOrFalse">
    <xs:restriction base="xs:string">
      <xs:enumeration value="false"/>
      <xs:enumeration value="true"/>
    </xs:restriction>
  </xs:simpleType>

и затем измените свой nullable на:

<xs:attribute name="nullable" type="TrueOrFalse" use="required" />

Марк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...