/* Implementación de IParser */ /* función GetNamespaces() => IDictionary<string, XNamespace> * Representa mediante pares de nombres y espacios de nombres los namespaces del documento * Recupera dicha información de los atributos del elemento feed en los ficheros atom * @return : Diccionario con los pares de espacios de nombres * @ej : { {"cac" : XNamespace("urn:dgpe:names:draft:codice:schema:xsd:CommonAggregateComponents-2")}, ... } */ public IDictionary <string, XNamespace> GetNamespaces() { IDictionary <string, XNamespace> namespaces = new Dictionary <string, XNamespace>(); // Itera sobre los atributos del elemento raíz (feed) foreach (var attr in DocumentRoot.Attributes()) { // Construye un par a través del nombre del atributo y el namespace que representa su valor namespaces.Add(attr.Name.LocalName, XNamespace.Get(attr.Value)); _Log(this, $"Adding to namespace: {attr.Name.LocalName}", ELogLevel.DEBUG); } _Log(this, $"Loaded namespace with {namespaces.Count} elements", ELogLevel.DEBUG); return(namespaces); }