| File: MS\Internal\SystemXmlHelper.cs | Web Access |
| Project: src\wpf\src\Microsoft.DotNet.Wpf\src\PresentationFramework\PresentationFramework.csproj (PresentationFramework) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // // Description: Helper methods for code that uses types from System.Xml. // using System.Collections; using System.ComponentModel; using System.Globalization; using System.Windows; namespace MS.Internal { internal static class SystemXmlHelper { // return true if the item is an XmlNode internal static bool IsXmlNode(object item) { SystemXmlExtensionMethods extensions = AssemblyHelper.ExtensionsForSystemXml(); return (extensions != null) ? extensions.IsXmlNode(item) : false; } // return true if the item is an XmlNamespaceManager internal static bool IsXmlNamespaceManager(object item) { SystemXmlExtensionMethods extensions = AssemblyHelper.ExtensionsForSystemXml(); return (extensions != null) ? extensions.IsXmlNamespaceManager(item) : false; } // if the item is an XmlNode, get the value corresponding to the given name internal static bool TryGetValueFromXmlNode(object item, string name, out object value) { SystemXmlExtensionMethods extensions = AssemblyHelper.ExtensionsForSystemXml(); if (extensions != null) { return extensions.TryGetValueFromXmlNode(item, name, out value); } value = null; return false; } // create a comparer for an Xml collection (if applicable) internal static IComparer PrepareXmlComparer(IEnumerable collection, SortDescriptionCollection sort, CultureInfo culture) { SystemXmlExtensionMethods extensions = AssemblyHelper.ExtensionsForSystemXml(); if (extensions != null) { return extensions.PrepareXmlComparer(collection, sort, culture); } return null; } // return true if parent is an empty XmlDataCollection. internal static bool IsEmptyXmlDataCollection(object parent) { SystemXmlExtensionMethods extensions = AssemblyHelper.ExtensionsForSystemXml(); return (extensions != null) ? extensions.IsEmptyXmlDataCollection(parent) : false; } // when item is an XmlNode, get its tag name (using the target DO as context // for namespace lookups) internal static string GetXmlTagName(object item, DependencyObject target) { SystemXmlExtensionMethods extensions = AssemblyHelper.ExtensionsForSystemXml(); return extensions?.GetXmlTagName(item, target); } // find a node with the given string as its InnerText internal static object FindXmlNodeWithInnerText(IEnumerable items, object innerText, out int index) { index = -1; SystemXmlExtensionMethods extensions = AssemblyHelper.ExtensionsForSystemXml(); return (extensions != null) ? extensions.FindXmlNodeWithInnerText(items, innerText, out index) : DependencyProperty.UnsetValue; } // get the InnerText of the given node internal static object GetInnerText(object item) { SystemXmlExtensionMethods extensions = AssemblyHelper.ExtensionsForSystemXml(); return extensions?.GetInnerText(item); } } }