Options.swift 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /**
  2. * https://github.com/tadija/AEXML
  3. * Copyright (c) Marko Tadić 2014-2019
  4. * Licensed under the MIT license. See LICENSE file.
  5. */
  6. import Foundation
  7. #if canImport(FoundationXML)
  8. import FoundationXML
  9. #endif
  10. /// Options used in `Document`
  11. public struct Options {
  12. /// Values used in XML Document header
  13. public struct DocumentHeader {
  14. /// Version value for XML Document header (defaults to 1.0).
  15. public var version = 1.0
  16. /// Encoding value for XML Document header (defaults to "utf-8").
  17. public var encoding = "utf-8"
  18. /// Standalone value for XML Document header (defaults to "no").
  19. public var standalone = "no"
  20. /// XML Document header
  21. public var xmlString: String {
  22. return "<?xml version=\"\(version)\" encoding=\"\(encoding)\" standalone=\"\(standalone)\"?>"
  23. }
  24. }
  25. /// Settings used by `Foundation.XMLParser`
  26. public struct ParserSettings {
  27. /// Parser reports the namespaces and qualified names of elements. (defaults to `false`)
  28. public var shouldProcessNamespaces = false
  29. /// Parser reports the prefixes indicating the scope of namespace declarations. (defaults to `false`)
  30. public var shouldReportNamespacePrefixes = false
  31. /// Parser reports declarations of external entities. (defaults to `false`)
  32. public var shouldResolveExternalEntities = false
  33. /// Parser should trim whitespace from text nodes. (defaults to `true`)
  34. public var shouldTrimWhitespace = true
  35. }
  36. /// Values used in XML Document header (defaults to `DocumentHeader()`)
  37. public var documentHeader = DocumentHeader()
  38. /// Settings used by `Foundation.XMLParser` (defaults to `ParserSettings()`)
  39. public var parserSettings = ParserSettings()
  40. /// Designated initializer - Creates and returns default `XMLOptions`.
  41. public init() {}
  42. }