2011-10-21 3 views
0

PHPStormによって登録されていないカスタムXML DOCTYPEで問題が発生しました。XML検査で宣言された要素が無視される

このように、私が得るのは、1トンの赤です。私は解決されていないDOCTYPE URIを取り除いたドキュメントでアドバイスされているように、 "ALT-ENTER - > Fetch DTD"メソッドを使用しました...しかし、要素はまだ有効とはみなされません。何か他に何かする必要がありますか?ここ

は、あなたが問題を再現したい場合は、スニペットです:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE ONIXmessage SYSTEM http://www.editeur.org/onix/2.1/short/onix-international.dtd> 
<ONIXmessage release="2.1"> 
    <header> 
     <m174>foo</m174> 
     <m182>bar</m182> 
    </header> 
</ONIXmessage> 
+0

あなたはあなたのシステム識別子を引用して、@jassoで答えをご覧ください。 –

+0

.dtdには、相対パスを持つ数十の.entファイルが含まれているようですが、そのうちのいくつかは、指定されたURIでアクセスできないものでした。 .dtd、.elt、.entファイルの完全なセットをダウンロードし、URIをローカルコピーへの参照に置き換えました。これで、検査は期待どおりに動作します。 – cjoy

答えて

1

迅速な検証は、ドキュメントが有効でないことを示しました。 <header>要素の後、これらの要素のうちの少なくとも一方が存在する必要がある:

  • <product>
  • <mainseriesrecord>
  • <subseriesrecord>
+0

これは確かに当てはまりますが、適切なサブ要素ではなく、要素の検査エラーだけを投げるべきです。努力ありがとう! – cjoy

関連する問題