CodeSynthesis XSD で生成されたファイル (.cxx/.hxx) を介して XML ドキュメントから読み取ろうとすると、次のコードが表示されます。
1-> char* xmlFile = "C:\\Work\\MPRawDataExample.xml";
2-> auto_ptr<MPRawDataFile> f = MPRawDataFile_(xmlFile);
3-> cout << f->MPRawDataFileMeta().PatientID() << endl;
2 行目で次のエラーが発生します。
unterminated entity reference "D"
から投げたxsd::cxx::tree::error_handler<C>
ファイルは実際にそこに存在します。これもチェックアウトしましたが、役に立ちませんでした
XMLファイルから読み取る方法または別の方法の解決策を誰かが持っていますか?
->解決済み。XSD ファイルは xml ファイルで正しく参照されていませんでしたが、現在は以下のようになっています。
更新:
XML ファイルの間違った部分:
<AdditionalInformation>
<Info name="Ag" value="225.0/220.5"></Info>
<Info name="Vel" value="24.0/22.1"></Info>
<Info name="CC" value="0.999"></Info>
<Info name="AUC" value="1026/1159"></Info>
<Info name="Abbr. from mean" value="1.987"></Info>
<Info name="Base" value="1484/1501"></Info>
<Info name="End" value="1787/1795"></Info>
</AdditionalInformation>
xsd からの制限:
<xs:simpleType name="ST_Info">
<xs:restriction base="xs:string">
<xs:enumeration value="0.999"/>
<xs:enumeration value="1.987"/>
<xs:enumeration value="1026/1159"/>
<xs:enumeration value="1484/1501"/>
<xs:enumeration value="1787/1795"/>
<xs:enumeration value="225.0/220.5 "/>
<xs:enumeration value="24.0/22.1"/>
</xs:restriction>
</xs:simpleType>
それぞれ<Info>
今、私はエラーを取得しますvalue "" not in enumeration
しかし、XML にある値は制限列挙にありますか? または私は何かを誤解していますか?