bool IsDefaultSchemaNamespaceDefinedInPathsByNamespace(XmlNamespaceCollection namespaces, XmlSchemaCompletion defaultSchema) { if (defaultSchema != null) { return(namespaces.Contains(defaultSchema.Namespace)); } return(true); }
void FindNamespacesWithoutAssociatedPaths(XmlNamespaceCollection namespacesInScope) { foreach (XmlNamespace ns in namespacesInScope) { if (!HavePathForNamespace(ns)) { namespacesWithoutPaths.Add(ns); } } }
public XmlCompletionItemCollection GetRootElementCompletion(XmlNamespaceCollection namespaces) { XmlCompletionItemCollection items = new XmlCompletionItemCollection(); foreach (XmlNamespace ns in namespaces) { foreach (XmlSchemaCompletion schema in GetSchemas(ns.Name)) { items.AddRange(schema.GetRootElementCompletion(ns.Prefix)); } } return(items); }
public XmlCompletionItemCollection GetElementCompletion(XmlElementPathsByNamespace pathsByNamespace, XmlSchemaCompletion defaultSchema) { XmlCompletionItemCollection items = new XmlCompletionItemCollection(); foreach (XmlElementPath path in pathsByNamespace) { items.AddRange(GetChildElementCompletion(path, defaultSchema)); } XmlNamespaceCollection namespaceWithoutPaths = pathsByNamespace.NamespacesWithoutPaths; if (items.Count == 0) { if (!IsDefaultSchemaNamespaceDefinedInPathsByNamespace(namespaceWithoutPaths, defaultSchema)) { namespaceWithoutPaths.Add(defaultSchema.Namespace); } } items.AddRange(GetRootElementCompletion(namespaceWithoutPaths)); return(items); }