Files
2026-03-11 11:18:25 -05:00

71 lines
2.1 KiB
C#

using System.Xml;
using System.Xml.Linq;
namespace CRIF.ACTion.Common
{
public class CrifNamespaces
{
public static CrifNamespace App => new("App");
public static CrifNamespace Common => new("Common");
public static CrifNamespace Maint => new("Maint");
public static CrifNamespace Messages => new("msg", "Messages");
public static CrifNamespace QO => new("QO");
public static CrifNamespace Util => new("Util");
public static XNamespace Empty => "";
public static CrifNamespace XSI => new("xsi", "http://www.w3.org/2001/XMLSchema-instance");
public static XmlNamespaceManager GetNamespaceManager(XElement xElement)
{
var namespaceManager = new XmlNamespaceManager(xElement.CreateReader().NameTable);
namespaceManager.AddNamespace(Messages.Prefix, Messages.Namespace.ToString());
namespaceManager.AddNamespace(App.Prefix, App.Namespace.ToString());
namespaceManager.AddNamespace(Maint.Prefix, Maint.Namespace.ToString());
namespaceManager.AddNamespace(Util.Prefix, Util.Namespace.ToString());
namespaceManager.AddNamespace(Common.Prefix, Common.Namespace.ToString());
return namespaceManager;
}
}
public class CrifNamespace
{
public XNamespace Namespace { get; private set; }
public string Prefix { get; private set; }
public CrifNamespace(string prefix, XNamespace namespaceValue)
{
Prefix = prefix;
Namespace = namespaceValue;
}
public CrifNamespace(XNamespace namespaceValue)
{
Prefix = namespaceValue.ToString().ToLower();
Namespace = namespaceValue;
}
public override string ToString()
{
return Namespace.ToString();
}
public static implicit operator XNamespace(CrifNamespace crifNamespace)
{
return crifNamespace.Namespace;
}
public static XName operator +(CrifNamespace crifNamespace, string localName)
{
return crifNamespace.Namespace + localName;
}
}
}