- ベストアンサー
同じ値がある時にエラーを出したい
お世話になります。 下記のようなXMLがある場合に<ID>項目で同じのがある場合 エラーを出す仕組みにしたいと考えております。 XMLをIEで開く→エラーです。という形でも結構ですので、 プライマリキー的な扱いにしたいのですが、 どのようにすればよいのでしょうか? -------------test.xml※この場合は1が重なっているのでエラー- <Top> <ID>1</ID> <ID>2</ID> <ID>3</ID> <ID>1</ID> </Top> -------------------------- お手数ですが宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
おそらく無理。 メモ: ●一応XML Schemaにはそれっぽい仕組みがあるようだ。XML SchemaもRELAX NGも勉強してないので自信はない。 試しに、https://cid-b89cb784f5346675.office.live.com/browse.aspx/TestCase/Q6480799 XML Schemaにschema.xsd,XML Instanceにvalid.xmlを指定して、結果を見るとValidと言われ、XML Instanceにinvalid.xmlを指定すると、「Duplicate unique value [1] declared for identity constraint of element "Top".」と言われるからチェックされているように思う。 http://tools.decisionsoft.com/schemaValidate/ ●無理な理由は簡単。IEはDTDの妥当性検証を行うことはあっても、XML Schemaの妥当性検証は行わないorz