Ошибка XSD с тегом аннотации во время проверки - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь включить аннотации в схему, и кажется, что это вызывает проблемы во время проверки. Я получаю сообщение об ошибке:

"Проверка [построение схемы по исключению формата]: s4s-elt-must-match.1: содержание> Amount должно совпадать (annotation ?, (simpleType | complexType) ?,> (unique | key | keyref) ) *)). Обнаружена проблема, начиная с: annotation. "

Насколько я могу судить, моя схема правильная, как и XML. Я проверил, что оба они правильно сформированы, и в Visual Studio, и в онлайн-проверках Схемы оба правильно сформированы и действительны.

Я использую небольшую программу, основанную на Java.

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

Я включил XML и XSD ниже. Это короткие примеры, представляющие фактические XML и XSD, которые являются собственностью и содержат PHI.

XML:

<?xml version="1.0" encoding="UTF-8"?>
<ns2:Root xmlns:ns2="http://tempuri.org/XMLSchema.xsd">
    <ns2:Fruit>Apple</ns2:Fruit>
    <ns2:Amount>3</ns2:Amount>
</ns2:Root>

XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/XMLSchema.xsd"
    xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:element name="Root">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Fruit" type="Fruit_Type"/>
        <xs:element name="Amount" type="xs:int">
          <xs:annotation>
            <xs:documentation>
              Amount of Fruit
            </xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:simpleType name="Fruit_Type">
    <xs:annotation>
      <xs:documentation>Testing
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value = "Apple"/>
      <xs:enumeration value = "Banana"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
...