2016-07-20 6 views
1

私は、XMLファイルを検証XSDファイルをしていますが、私は例外の下に取得しています:例外:CVC-複雑-type.2.1:要素「日付」は文字または要素情報項目を持っていてはいけない[子供]

例外: cvc-complex-type.2.1:要素 ' 'のコンテンツタイプが空であるため、 'Date'要素には文字または要素情報アイテム[children]がなくてはなりません。

は基本的に私のXMLファイルにDate要素が空である

マイXML日付要素:

<Date> </Date> 

生成されたXSDファイル:私はXSDファイルを作成してこれに基づいて

<xs:element name="Date"> 
    <xs:complexType/> 
</xs:element> 

それを検証して例外を超えてしまいます

しかし、私は日付要素の間にスペースを入れなかった。

例:

<Date></Date> 

はその後、それが正常に動作しています。空の空間をどうすれば処理できますか?

答えて

0

私は、すべてが動作するように見えます。スキーマで空のコンテンツを持つ要素が定義されている場合、空白の内容は許可されません。空白を許可する場合は、空のコンテンツモデルを定義しないでください。たとえば、空白のみを許可するパターンで制限されたxs:stringの単純な型で定義することができます。

0

ジェネレータが間違っている:

<Date> </Date> 

<Date></Date> 

は等価ではありません。 、両方を受け入れる代わりに、Dateのための次の定義を使用するには

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="Date"> 
    <xs:simpleType> 
     <xs:restriction base="xs:string"> 
     <xs:whiteSpace value="collapse"/> 
     <xs:pattern value=""/> 
     </xs:restriction> 
    </xs:simpleType> 
    </xs:element> 
</xs:schema> 

はおそらく、あなたはそれが生成に向けて案内することができることを、このようなDateに空白を無視するように発電機ないを指示することができます設定があります上記の定義は自動的に;それ以外の場合は、手動で置き換える必要があります。

あなたもあなたのDate要素で実際に可能な日数に興味があるなら、Allow XSD date element to be empty stringを参照してください。

関連する問題