0

xsd からクラスを生成しようとしましたが、2 行目で問題が発生しました

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:saqcc="urn:saq:cct:cct-3.5.xsd" xmlns:flx="urn:saq:mtl:grey:flux:04489:rep-1.0.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:saq:mtl:grey:flux:04489:rep-1.0.xsd"  elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1">

...

私はこのエラーを受け取りました:

[エラー] プロローグではコンテンツを使用できません。xjc はスキーマに問題があるようです

このxsdにはインポートがあり、このインポートには別のインポートがあります...したがって、xjcがそれを管理できる場合、エラーがいつ削除されるかわかりません...

4

2 に答える 2

4

私はこの問題を抱えていましたが、エンコーディングが問題であることが判明しました:

<?xml version="1.0" encoding="utf-8"?>

動作しますが

<?xml version="1.0" encoding="utf-16"?>

しません (少なくとも私の Windows7/64 ビット OS では)。

于 2011-08-23T17:00:54.053 に答える
2

あらゆる種類の XML ドキュメントでこのエラーが発生した場合、通常は<?xml. より具体的には、これは一部の編集者によって追加された BOM (バイト オーダー マーク) によるものです。私の場合、主にこの BOM が原因でした。

ファイルにそのようなコンテンツがあるかどうかを確認してください。その場合は、削除してください。XML ファイルは、次のようにプロローグでエンコーディングを正式に指定できるため、BOM は必要ありません。

<?xml version="1.0" encoding="utf-8"?>

UPDATE : プロローグは、ここで w3c によって定義されているように、整形式の XML の最初の部分でなければなりません:

http://www.w3.org/TR/2008/REC-xml-20081126/#sec-整形式

于 2011-07-22T08:17:29.217 に答える