private static XamlMember CreateXamlMember(XElement element, XamlNamespaces namespaces, XamlNamespaces ignorableNamespaces, Uri sourceUri) { XamlName name = new XamlName(element.Name.LocalName, element.Name.NamespaceName.IsNullOrEmpty() ? namespaces.GetDefaultNamespace() : element.Name.NamespaceName); if (element.Attributes().Any(attribute => !IsIgnorable(attribute.Name, ignorableNamespaces))) { throw new Granular.Exception("Member \"{0}\" cannot contain attributes", element.Name); } if (element.Elements().Any(child => !IsIgnorable(child.Name, ignorableNamespaces) && IsMemberName(child.Name))) { throw new Granular.Exception("Member \"{0}\" cannot contain member elements", element.Name); } return(new XamlMember(name, namespaces, sourceUri, CreateValues(element, namespaces, ignorableNamespaces, sourceUri))); }
private static XamlMember CreateXamlMember(XAttribute attribute, XamlNamespaces namespaces, XamlNamespaces ignorableNamespaces, Uri sourceUri) { XamlName name = new XamlName(attribute.Name.LocalName, attribute.Name.NamespaceName.IsNullOrEmpty() ? namespaces.GetDefaultNamespace() : attribute.Name.NamespaceName); object value = MarkupExtensionParser.Parse(attribute.Value, namespaces, sourceUri); return(new XamlMember(name, namespaces, sourceUri, value)); }