diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs index 0a144792ccb442b556c992178fb3ad4566311877..38d9469ef253b93a2d5cd940bf64d8cda004fe30 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs @@ -131,7 +131,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML throw new VectoException("empty xml document!"); } - var documentType = XMLHelper.GetDocumentType(xmlDoc.DocumentElement.LocalName); + var documentType = XMLHelper.GetDocumentTypeFromRootElement(xmlDoc.DocumentElement.LocalName); if (documentType == null) { throw new VectoException("unknown xml file! {0}", xmlDoc.DocumentElement.LocalName); } diff --git a/VectoCore/VectoCore/Utils/XMLHelper.cs b/VectoCore/VectoCore/Utils/XMLHelper.cs index c1f32817cea422163b809fc09c54d71e8f1548b8..7cf8d867befbaf21c1364d816b183c5b90cc5c61 100644 --- a/VectoCore/VectoCore/Utils/XMLHelper.cs +++ b/VectoCore/VectoCore/Utils/XMLHelper.cs @@ -47,7 +47,7 @@ namespace TUGraz.VectoCore.Utils { public static class XMLHelper { - public static XmlDocumentType? GetDocumentType(string rootElement) + public static XmlDocumentType? GetDocumentTypeFromRootElement(string rootElement) { switch (rootElement) { case "VectoInputDeclaration": return XmlDocumentType.DeclarationJobData; @@ -60,17 +60,26 @@ namespace TUGraz.VectoCore.Utils return null; } - //internal static string GetSchemaVersion(XmlSchemaType type) - //{ - // return GetVersionFromNamespaceUri(type.QualifiedName.Namespace); - //} + public static XmlDocumentType? GetDocumentTypeFromFile(string filePath) + { + var xElement = new System.Xml.XmlDocument(); + xElement.Load(filePath); + return XMLHelper.GetDocumentTypeFromRootElement(xElement?.DocumentElement?.LocalName); + + } + + + //internal static string GetSchemaVersion(XmlSchemaType type) + //{ + // return GetVersionFromNamespaceUri(type.QualifiedName.Namespace); + //} - //public static string GetSchemaVersion(XmlElement node) - //{ - // return GetVersionFromNamespaceUri(node.NamespaceURI); - //} + //public static string GetSchemaVersion(XmlElement node) + //{ + // return GetVersionFromNamespaceUri(node.NamespaceURI); + //} - public static string GetVersionFromNamespaceUri(XNamespace namespaceUri) + public static string GetVersionFromNamespaceUri(this XNamespace namespaceUri) { const string versionPrefix = "v"; return namespaceUri.NamespaceName.Split(':').Last(x => x.StartsWith(versionPrefix))