private bool HasNonRedundantInclusivePrefix(XmlAttribute attr) { int num; string namespacePrefix = Utils.GetNamespacePrefix(attr); return(this.m_inclusivePrefixSet.ContainsKey(namespacePrefix) && Utils.IsNonRedundantNamespaceDecl(attr, base.GetNearestRenderedNamespaceWithMatchingPrefix(namespacePrefix, out num))); }
private void GatherNamespaceToRender(string nsPrefix, SortedList nsListToRender, Hashtable nsLocallyDeclared) { int num; foreach (object obj2 in nsListToRender.GetKeyList()) { if (Utils.HasNamespacePrefix((XmlAttribute)obj2, nsPrefix)) { return; } } XmlAttribute a = (XmlAttribute)nsLocallyDeclared[nsPrefix]; XmlAttribute nearestRenderedNamespaceWithMatchingPrefix = base.GetNearestRenderedNamespaceWithMatchingPrefix(nsPrefix, out num); if (a != null) { if (Utils.IsNonRedundantNamespaceDecl(a, nearestRenderedNamespaceWithMatchingPrefix)) { nsLocallyDeclared.Remove(nsPrefix); nsListToRender.Add(a, null); } } else { int num2; XmlAttribute nearestUnrenderedNamespaceWithMatchingPrefix = base.GetNearestUnrenderedNamespaceWithMatchingPrefix(nsPrefix, out num2); if (((nearestUnrenderedNamespaceWithMatchingPrefix != null) && (num2 > num)) && Utils.IsNonRedundantNamespaceDecl(nearestUnrenderedNamespaceWithMatchingPrefix, nearestRenderedNamespaceWithMatchingPrefix)) { nsListToRender.Add(nearestUnrenderedNamespaceWithMatchingPrefix, null); } } }
private void GatherNamespaceToRender(string nsPrefix, SortedList nsListToRender, Hashtable nsLocallyDeclared) { foreach (object a in nsListToRender.GetKeyList()) { if (Utils.HasNamespacePrefix((XmlAttribute)a, nsPrefix)) { return; } } int rDepth; XmlAttribute local = (XmlAttribute)nsLocallyDeclared[nsPrefix]; XmlAttribute rAncestral = GetNearestRenderedNamespaceWithMatchingPrefix(nsPrefix, out rDepth); if (local != null) { if (Utils.IsNonRedundantNamespaceDecl(local, rAncestral)) { nsLocallyDeclared.Remove(nsPrefix); nsListToRender.Add(local, null); } } else { int uDepth; XmlAttribute uAncestral = GetNearestUnrenderedNamespaceWithMatchingPrefix(nsPrefix, out uDepth); if (uAncestral != null && uDepth > rDepth && Utils.IsNonRedundantNamespaceDecl(uAncestral, rAncestral)) { nsListToRender.Add(uAncestral, null); } } }
private bool HasNonRedundantInclusivePrefix(XmlAttribute attr) { string nsPrefix = Utils.GetNamespacePrefix(attr); return(_inclusivePrefixSet.ContainsKey(nsPrefix) && Utils.IsNonRedundantNamespaceDecl(attr, GetNearestRenderedNamespaceWithMatchingPrefix(nsPrefix, out _))); }
internal override void GetNamespacesToRender(XmlElement element, SortedList attrListToRender, SortedList nsListToRender, Hashtable nsLocallyDeclared) { XmlAttribute attrib = null; object[] attrs = new object[nsLocallyDeclared.Count]; nsLocallyDeclared.Values.CopyTo(attrs, 0); foreach (object a in attrs) { attrib = (XmlAttribute)a; int rDepth; XmlAttribute rAncestral = GetNearestRenderedNamespaceWithMatchingPrefix(Utils.GetNamespacePrefix(attrib), out rDepth); if (Utils.IsNonRedundantNamespaceDecl(attrib, rAncestral)) { nsLocallyDeclared.Remove(Utils.GetNamespacePrefix(attrib)); if (Utils.IsXmlNamespaceNode(attrib)) { attrListToRender.Add(attrib, null); } else { nsListToRender.Add(attrib, null); } } } for (int i = _ancestorStack.Count - 1; i >= 0; i--) { foreach (object a in GetScopeAt(i).GetUnrendered().Values) { attrib = (XmlAttribute)a; if (attrib != null) { GetNamespaceToRender(Utils.GetNamespacePrefix(attrib), attrListToRender, nsListToRender, nsLocallyDeclared); } } } }
internal override void GetNamespacesToRender(XmlElement element, SortedList attrListToRender, SortedList nsListToRender, Hashtable nsLocallyDeclared) { XmlAttribute a = null; object[] array = new object[nsLocallyDeclared.Count]; nsLocallyDeclared.Values.CopyTo(array, 0); foreach (object obj2 in array) { int num; a = (XmlAttribute)obj2; XmlAttribute nearestRenderedNamespaceWithMatchingPrefix = base.GetNearestRenderedNamespaceWithMatchingPrefix(Utils.GetNamespacePrefix(a), out num); if (Utils.IsNonRedundantNamespaceDecl(a, nearestRenderedNamespaceWithMatchingPrefix)) { nsLocallyDeclared.Remove(Utils.GetNamespacePrefix(a)); if (Utils.IsXmlNamespaceNode(a)) { attrListToRender.Add(a, null); } else { nsListToRender.Add(a, null); } } } for (int i = base.m_ancestorStack.Count - 1; i >= 0; i--) { foreach (object obj3 in base.GetScopeAt(i).GetUnrendered().Values) { a = (XmlAttribute)obj3; if (a != null) { this.GetNamespaceToRender(Utils.GetNamespacePrefix(a), attrListToRender, nsListToRender, nsLocallyDeclared); } } } }