private bool ConsumeStep() { Name = new XmlName(Step.LocalName, Node.LookupNamespaceUri(Step.Prefix)); Step = Step.PreviousNode; return(true); }
private static string GeneratePrefix(IXmlNode node) { for (var i = 0; ; i++) { var prefix = "p" + i; var namespaceUri = node.LookupNamespaceUri(prefix); if (string.IsNullOrEmpty(namespaceUri)) { return(prefix); } } }
private bool TryGetPreferredPrefix(IXmlNode node, string namespaceUri, out string prefix) { prefix = this.LookupPrefix(namespaceUri); if (string.IsNullOrEmpty(prefix)) { return(Try.Failure(out prefix)); // No preferred prefix } namespaceUri = node.LookupNamespaceUri(prefix); return(string.IsNullOrEmpty(namespaceUri) ? true // Can use preferred prefix : Try.Failure(out prefix)); // Preferred prefix already in use }
public static XmlName GetXsiType(this IXmlNode node) { var type = node.GetAttribute(Xsi.Type); if (type == null) { return(XmlName.Empty); } var xsiType = XmlName.ParseQName(type); if (xsiType.NamespaceUri != null) { var namespaceUri = node.LookupNamespaceUri(xsiType.NamespaceUri); xsiType = xsiType.WithNamespaceUri(namespaceUri); } return(xsiType); }
public string GetElementPrefix(IXmlNode node, string namespaceUri) { string prefix; if (namespaceUri == node.LookupNamespaceUri(string.Empty)) { return(string.Empty); } if (TryGetDefinedPrefix(node, namespaceUri, out prefix)) { return(prefix); } if (!TryGetPreferredPrefix(node, namespaceUri, out prefix)) { return(string.Empty); } if (!ShouldDefineOnRoot(prefix, namespaceUri)) { return(string.Empty); } node.DefineNamespace(prefix, namespaceUri, true); return(prefix); }
private static string GeneratePrefix(IXmlNode node) { for (var i = 0; ; i++) { var prefix = "p" + i; var namespaceUri = node.LookupNamespaceUri(prefix); if (string.IsNullOrEmpty(namespaceUri)) return prefix; } }
private bool TryGetPreferredPrefix(IXmlNode node, string namespaceUri, out string prefix) { prefix = this.LookupPrefix(namespaceUri); if (string.IsNullOrEmpty(prefix)) return Try.Failure(out prefix); // No preferred prefix namespaceUri = node.LookupNamespaceUri(prefix); return string.IsNullOrEmpty(namespaceUri) ? true // Can use preferred prefix : Try.Failure(out prefix); // Preferred prefix already in use }
public string GetElementPrefix(IXmlNode node, string namespaceUri) { string prefix; if (namespaceUri == node.LookupNamespaceUri(string.Empty)) return string.Empty; if (TryGetDefinedPrefix(node, namespaceUri, out prefix)) return prefix; if (!TryGetPreferredPrefix(node, namespaceUri, out prefix)) return string.Empty; if (!ShouldDefineOnRoot(prefix, namespaceUri)) return string.Empty; node.DefineNamespace(prefix, namespaceUri, true); return prefix; }
public string LookupNamespaceUri(string prefix) { return(node.LookupNamespaceUri(prefix)); }