私はJavaで固定長のフラットファイルを解析するために 'beanio'というツールキットを使用しています。このツールキットでは、ファイル形式をXML文書で定義する必要があります。私はbeanioウェブサイト上のスキーマの場所を参照することができますが、私はむしろローカルコピーを使用します。その理由は、サイトに何か問題が発生した場合に備え、私は働くプログラムを持っていることを確認したいからです。Bean-IO、XML Doctype、およびXSDに関する問題
私の問題は、xsdファイルをローカルで参照しようとすると、SAXエンジンが不正なXML /定義に関するエラーをスローすることです。以下は動作します:
<beanio xmlns="http://www.beanio.org/2012/03"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.beanio.org/2012/03 http://www.beanio.org/2012/03/mapping.xsd">
しかし、以下ではないでしょう。
<!DOCTYPE beanio SYSTEM "resources/formatting/mapping.xsd">
<beanio>
ローカルまたはインターネット上で参照するかどうかをこれらのファイル、mapping.xsdは、まったく同じあります。次のように
スローエラーは次のとおりです。
Caused by: org.xml.sax.SAXParseException; systemId: file:///C:/workspace/LookupsFileProcessor/resources/formatting/mapping.xsd; lineNumber: 2; columnNumber: 2; The markup declarations contained or pointed to by the document type declaration must be well-formed.
は、これは非常にイライラされています。 Java用のフラットファイル解析のためのツールキットは非常に古く、時代遅れです。私はそれらのうち4つを試しましたが、使用可能なAPIを持っていないものもあれば、外部のDTD/XSD定義に依存しているため、これと同じ問題に遭遇するものもあります。
私はXMLを十分に理解していると思いますが、ここで何が問題なのかよくわかりません。