1 // =================================
 2 // Copyright (c) 2024 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 using System;
 7 using System.Collections;
 8 
 9 namespace System.Xml
10 {
11     [nodiscard]
12     public Result<UniquePtr<Document>> ParseXmlDocument(const string& xmlFilePathSystem.Lex.FileMap& fileMap)
13     {
14         DocumentHandler documentHandler;
15         auto result = ParseXmlFile(xmlFilePath&documentHandlerfileMap);
16         if (result.Error())
17         {
18             return Result<UniquePtr<Document>>(ErrorId(result.GetErrorId()));
19         }
20         return Result<UniquePtr<Document>>(UniquePtr<Document>(documentHandler.GetDocument()));
21     }
22 
23     [nodiscard]
24     public Result<UniquePtr<Document>> ParseXmlDocumentContent(const string& xmlContentconst string& systemIdSystem.Lex.FileMap& fileMap)
25     {
26         DocumentHandler documentHandler;
27         auto result = ParseXmlContent(xmlContentsystemId&documentHandlerfileMap);
28         if (result.Error())
29         {
30             return Result<UniquePtr<Document>>(ErrorId(result.GetErrorId()));
31         }
32         return Result<UniquePtr<Document>>(UniquePtr<Document>(documentHandler.GetDocument()));
33     }
34 }