複数のスキーマを管理する最も良い方法は、XmlSchemaSetを使用することです。スキーマをXmlSchemaSetに追加してコンパイルします。これはあなたの「SOMを記憶に」答えるはずです。
コンパイル済みのXmlSchemaSetに対してLINQを使用する方法については、解決しようとしている問題の種類によって大きく異なります。たとえば、XML名前空間内のすべての要素を取得しようとしているとします。あなたはこのようなことを書いているかもしれません(私はC#でそれを表現していることを実感しています。
XmlSchemaSet xset = new XmlSchemaSet();
xset.Add(XmlSchema.Read(...);
xset.Compile();
var query = from XmlSchemaElement element in xset.GlobalElements.Values where element.QualifiedName.Namespace == "urn:tempuri-org:mine" select element;
foreach(XmlSchemaElement element in query) DoSomething();
別の例では、Distinct句を使用して、セットを構成する一連のXML名前空間を収集できます。私はこれらを願っています
List<string> query1 = (from XmlSchema schema in xset.Schemas() select schema.TargetNamespace).ToList();
IEnumerable<string> xmlns = query1.Distinct();
はあなたのアイデアを与える...