Eclipse 3.5.2はXMLスキーマ警告メッセージをスローしています:
No grammar constraints (DTD or XML schema) detected for the document.
Application.xmlファイル:
<?xml version="1.0" encoding="UTF-8"?>
<application
xmlns="http://Java.Sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Java.Sun.com/xml/ns/javaee
http://Java.Sun.com/xml/ns/javaee/application_5.xsd"
version="5">
</application>
警告を無効にしたくありません。 EclipseでXMLドキュメントを正しく検証するにはどうすればよいですか?
これを十分に解決したかどうかはわかりませんが、Eclipse 3.6でいくつかのSpring構成ファイルを操作しながら、今日この投稿に出くわしました。 問題を右クリックして削除になるまで、Eclipseの問題ビューでエラーを解消することはできませんでした。
私が再検証すれば戻ってくると思いましたが、実際には問題がありましたが、今のところはそうではありません。問題は、エラーを表示していなかったほぼ同一のSpring構成ファイルがあったことです。
時々、Eclipseで何かが動かなくなることがあります。理由はわかりませんが、これとファイルがエディターと同期しなくなり、強制的に更新する必要がある間は、それを受け入れる必要があると思います。
これを問題のあるファイルの先頭に置くとうまくいきます:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE project>
これは意図的に DTPまたはXSDがないXMLドキュメントの警告をオフにする別の方法です。
私は専門家ではなく、学習者です。この問題を解決する簡単で愚かな方法を偶然見つけました。必要なことは、次のとおりです。
押す ctrl + shift + F
(Eclipseでファイルをフォーマットするためのショートカットです)
これで問題が解決しない場合は、[〜#〜] tab [〜#〜]キーを押してこの特定の行の開始?xml version="1.0" encoding="UTF-8"?
and他のどこにもありません(理由はありませんが、これは動作します。
次に、ctrl + shift + F
そして保存します。
少なくとも私にとっては、警告は消えます。自分で試してみてください...
この警告が表示された場合、XML Validate関数(XMLインスタンスエディターとは異なります!)が適用するDTDまたはXSDを認識していなかったことを意味します。もちろんこれは、XMLインスタンスがスキーマに準拠しているかどうかを実際にチェックしなかったことも意味します。
したがって、これは有用な警告であり、オフにしないでください(Validateメニュー機能を使用して、何かを実行することを期待している場合)。
設定を使用して、スキーマを知らせることができます。
一部のパブリックidenditfiersとスキーマの場所は、「プラグイン指定のエントリ」に既に含まれています(特にWSTPがインストールされている場合)。これらのネームスペースについては、警告が表示されません(システムが提供するコピーを使用して検証するため)。
eclipseで「ドキュメントの文法制約(dtdまたはxmlスキーマ)が検出されないことを回避します。」を使用して、xsdスキーマファイルをxmlに追加します下のカタログ
「ウィンドウ\設定\ xml\xmlカタログ\ユーザー指定エントリ」。
右側の[追加]ボタンをクリックします。
例:
<?xml version="1.0" encoding="UTF-8"?>
<HolidayRequest xmlns="http://mycompany.com/hr/schemas">
<Holiday>
<StartDate>2006-07-03</StartDate>
<EndDate>2006-07-07</EndDate>
</Holiday>
<Employee>
<Number>42</Number>
<FirstName>Arjen</FirstName>
<LastName>Poutsma</LastName>
</Employee>
</HolidayRequest>
このxmlからxhomeを生成して保存しました:/home/my_user/xsd/my_xsd.xsd
場所として:/home/my_user/xsd/my_xsd.xsd
キータイプとして:名前空間名
キーとして: http://mycompany.com/hr/schemas
Xmlファイルを閉じて再度開き、スキーマに違反するいくつかの変更を行うと、通知が表示されます。
これをxmlファイルの最初に追加します。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE RelativeLayout>
RelativeLayoutを定義済みのルートレイアウトに変更し、左側のレイアウトフォルダーでxmlファイルを見つけ、右クリックして[検証]を選択します。
成功しました application.xsdのV1.4に戻ります 。 JavaEEバージョンが機能しない理由を説明できる人がいれば、感謝します。
<?xml version="1.0" encoding="UTF-8"?>
<application
xmlns="http://Java.Sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Java.Sun.com/xml/ns/j2ee
http://Java.Sun.com/xml/ns/j2ee/application_1_4.xsd"
version="1.4">
この問題の解決策は次のとおりです。
ステップ1:プロジェクトを右クリックして、プロパティに移動します
ステップ2:「ライブラリ」に移動して、プロジェクトの「JREシステムライブラリ」を削除します
ステップ3:「ライブラリの追加」->「JREシステムライブラリ」をクリックし、「ワークスペースのデフォルトJRE」を選択します
ステップ3:「注文とエクスポート」に進み、新しく追加された「JREシステムライブラリ」をマークします。
ステップ4:プロジェクトを更新してクリーンアップする
ユーレカ!それは働いています:)
これが私のために働いたものです。バージョン番号なしのスキーマ(たとえば、spring-beans.xsd
ではなくspring-beans-4.1.xsd
)を使用していましたが、おそらくアップストリームで更新されました。問題は、Eclipseが古いバージョンのダーティキャッシュを保持していたことだと思います。
修正:
1。 Window -> Preference -> Network Connection -> Cache
に移動します
2。キャッシュされたすべてのスキーマを削除します。
3。問題ビューでno grammar constraints
問題をすべて削除します。
4。プロジェクトを再検証します。
私にとっては、それをカット(ctrl a + ctrl-X)し、再び保存(ctrl-s)すると魅力のように機能しました! 「ドキュメントの文法制約(DTDまたはXMLスキーマ)が検出されませんでした」という警告はなくなりました!!
昨夜この問題が発生していました(Eclipse V.keplerを使用)。私はJavaとEclipseを初めて使用し、Androidアプリを作成する方法を学ぼうとしています。 .Android.comこれをmain_activity_actions.xmlファイルに入力しました:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<!-- Search should appear as an action button -->
<item Android:id="@+id/action_search"
Android:icon="@drawable/ic_action_search"
Android:title="@string/action_search"
Android:showAsAction="ifRoom"/>
</menu>
これにより、OPと同じエラーが発生しました。追加の提案に従ってみました
<!DOCTYPE project>
最初の行のすぐ下で問題を解決しました。
私のために働いたのは、ツリー内のxmlファイルを右クリックして(通常はEclipseの左側にある)、検証をクリックしたことです。それ以来、警告は戻ってきませんでした。
私が見つけたのは、schemaLocation属性を完全に削除し、アウトラインビューで右クリックして名前空間を編集し、結果のダイアログにスキーマの場所のヒントを追加することでした。
Eclipseのソリューション:
追加 <!DOCTYPE something>
問題のある各XMLの始まり、
xmlタグの後<?xml version="1.0" encoding="utf-8"?>
あなたはDoctypeのために何でも書くことができますが、基本的にそれは私が理解することからマニフェスト、アクティビティなどになるはずです