AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.0" />

.NET API 1,171,968 bytes

 CssNamespaceRule

Represents an @namespace rule.
using AngleSharp.Extensions; namespace AngleSharp.Dom.Css { internal sealed class CssNamespaceRule : CssRule, ICssNamespaceRule, ICssRule { private string _namespaceURI; private string _prefix; public string NamespaceUri { get { return _namespaceURI; } set { CheckValidity(); _namespaceURI = (value ?? string.Empty); } } public string Prefix { get { return _prefix; } set { CheckValidity(); _prefix = (value ?? string.Empty); } } internal CssNamespaceRule() : base(CssRuleType.Namespace) { } protected override void ReplaceWith(ICssRule rule) { CssNamespaceRule cssNamespaceRule = rule as CssNamespaceRule; _namespaceURI = cssNamespaceRule._namespaceURI; _prefix = cssNamespaceRule._prefix; } private void CheckValidity() { ICssRuleList cssRuleList = base.Owner?.Rules; if (cssRuleList != null) { foreach (ICssRule item in cssRuleList) { if (item.Type != CssRuleType.Charset && item.Type != CssRuleType.Import && item.Type != CssRuleType.Namespace) throw new DomException(ErrorCode.InvalidState); } } } protected override string ToCss() { string str = string.IsNullOrEmpty(_prefix) ? string.Empty : (_prefix + " "); return "@namespace " + str + _namespaceURI.CssUrl() + ";"; } } }