公式アカウントからの投稿が始まります

お世話になります。

下記のようなXMLがある場合に<ID>項目で同じのがある場合
エラーを出す仕組みにしたいと考えております。

XMLをIEで開く→エラーです。という形でも結構ですので、
プライマリキー的な扱いにしたいのですが、
どのようにすればよいのでしょうか?

-------------test.xml※この場合は1が重なっているのでエラー-
<Top>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>1</ID>
</Top>
--------------------------


お手数ですが宜しくお願い致します。

A 回答 (1件)

おそらく無理。



メモ:

●一応XML Schemaにはそれっぽい仕組みがあるようだ。XML SchemaもRELAX NGも勉強してないので自信はない。
試しに、https://cid-b89cb784f5346675.office.live.com/bro …
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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!