2011-09-15 8 views
2

技術的な経験がほとんどないか、まったくない他の部門の人々が、XML(と丁寧なDTDのセット)を学ばなければならないシステムで、膨大な量のレガシーコードを使用します。ドキュメントのデジタル化を行い、XMLを使用するように特別に設計された特定のデバイスに渡されます。XML DTDを使用してYAMLを検証する

マークアップ言語についての最初のことを本当に知らない人にとって、YAMLやJSON(または私が全く聞いたことがないもの)は、人間のオーサリングの終わりにはるかに簡単かもしれません。そこにはライブラリがあります(Visual Studioのために、Rubyのような簡単なものを使うのは避けてください).YAMLを大規模なXML DTDに対して検証することができますか、YAMLはまず何らかの形でXMLに変換する必要がありますそして/次に/ validated?

私は、YAMLでXMLを使って作業する手間を省くためのツールを社内のユーザーが使用しているために、すでに変換を経ています。

答えて

1

このようなツールが存在するかどうかはわかりませんが、たとえそれがあったとしても、ユーザに意味のあるエラーメッセージを出力するほど正確ではないようです。 XML、DTD、XSDのオーサリングがエラーメッセージを理解するのが難しい場合があります。

しかし、このようなツールを書くことはあまり難しくありません。それは、YAMLをXSDの規則で検証できるものに変換することです。これは、YAMLをXMLに変換してXMLを検証することで実現できますが、XSDまたはDTDをC#にコンパイルしてから、C#コードで期待されるオブジェクトツリーを構築することによっても行うことができます。

このようなツールがYAMLに関するメタデータ(行番号や文字番号など)を保持していた場合、多少意味のあるエラーメッセージがユーザーに返される可能性があります。これは、XSDやDTDが最初にC#に変換された場合に特に当てはまります。なぜなら、C#ではXML自体に依存することが少なく、検証をYAMLに適合したものに容易に拡張できるからです。

関連する問題