[解決済み] cvc-complex-type.2.4.a: 要素 'ProcessDesc' で始まる無効なコンテンツが見つかりました。ProcessNameのいずれかが期待されます。
2022-02-12 07:45:15
質問
Validatorクラスでjaxbオブジェクトを検証しています。下記はjaxbオブジェクトを検証するために使用しているコードです。しかし、検証中にこのエラーが発生しました。
jc = JAXBContext.newInstance(obj.getClass());
source = new JAXBSource(jc, obj);
Schema schema = schemaInjector.getSchema();
Validator validator = schema.newValidator();
validator.validate(source);
ERROR(SAXParseException): cvc-complex-type.2.4.a: 要素 'ProcessDesc' で始まる無効なコンテンツが見つかりました。ProcessName のいずれかが必要です。
私のxsdで何が間違っていて、このエラーを引き起こしているのか理解できません。私の xsd ファイルで定義されている要素は以下の通りですが、この要素に対してエラーが発生します。
<xs:schema xmlns:cc="http://www.ms.com/cm.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ms.com/cm.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="Process">
<xs:sequence>
<xs:element name="ProcessId" type="xs:int" />
<xs:element name="ProcessName" type="xs:string" />
<xs:element name="ProcessDesc" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
よろしくお願いします。ありがとうございます。
どのように解決するのですか?
XML スキーマのコード
<xs:complexType name="Process">
<xs:sequence>
<xs:element name="ProcessId" type="xs:int" />
<xs:element name="ProcessName" type="xs:string" />
<xs:element name="ProcessDesc" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
は、次のようなXMLを記述しています。
<proc> <!-- of type Process -->
<ProcessId>123</ProcessId>
<ProcessName>procA</ProcessName>
<ProcessDesc>A funny process</ProcessDesc> <!-- this could be omitted -->
<proc>
しかし、あなたのXMLデータは次のようになります。
<proc> <!-- of type Process -->
<ProcessId>123</ProcessId>
<ProcessDesc>A funny process</ProcessDesc>
<!-- ... don't know what follows -->
Id、Name、Descの順番を気にしないのであれば、XMLスキーマを変更する必要があります。そうでなければ、XMLを修正する必要があります(これはより簡単です)。
要素の順序を問わないということであれば、quot;any order of elements"を使用します。
<xs:complexType name="Process">
<xs:all>
<xs:element name="ProcessId" type="xs:int" />
<xs:element name="ProcessName" type="xs:string" />
<xs:element name="ProcessDesc" type="xs:string" minOccurs="0" />
</xs:all>
</xs:complexType>
関連
-
[解決済み] XML: 後続のセクションでコンテンツが許可されていない
-
[解決済み] 複数の条件を含むXPath
-
[解決済み] なぜ、"StartTag. "というエラーが発生するのでしょうか?このXMLファイルをDTDでパースすると、"Invalid element name "というエラーが発生します。
-
[解決済み] XSLTのposition()関数を理解する
-
[解決済み] ノード名の XPath ワイルドカード
-
[解決済み] 複数のタグを選択するXPath
-
[解決済み] elementFormDefault は XSD で何をするのですか?
-
[解決済み] exclude-result-prefixesが機能しない
-
[解決済み】XMLで"&"をエスケープするにはどうしたらいいですか?重複
-
[解決済み】フリーのXMLフォーマットツール【終了しました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] xslt での配列の作成
-
[解決済み] XMLファイルを別のXMLファイルに取り込むことはできますか?
-
[解決済み] XML本文の二重引用符/一重引用符を置換する必要がありますか?
-
[解決済み] 大きなファイルのXML分割
-
[解決済み] XPathにおける要素の数
-
[解決済み] xlsxのエラーです。"レコードを削除しました。エラーを解決しようとすると、「/xl/workbook.xml 部分から名前付き範囲が削除されました」。
-
[解決済み] XMLとXSDの違いは何ですか?
-
[解決済み】JSONとXMLの比較【クローズド
-
[解決済み】XMLで無効な文字とは?
-
[解決済み】XML属性とXML要素