71 lines
2.1 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|