Skip to content

Commit 95b23f7

Browse files
committed
formatting
1 parent f99fb73 commit 95b23f7

File tree

1 file changed

+82
-82
lines changed

1 file changed

+82
-82
lines changed

SwiftDraw/XML.SAXParser.swift

Lines changed: 82 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -35,87 +35,87 @@ import FoundationXML
3535
#endif
3636

3737
extension XML {
38-
39-
final class SAXParser: NSObject, XMLParserDelegate {
40-
41-
#if canImport(FoundationXML)
42-
typealias FoundationXMLParser = FoundationXML.XMLParser
43-
#else
44-
typealias FoundationXMLParser = Foundation.XMLParser
45-
#endif
46-
47-
private let parser: FoundationXMLParser
48-
private let namespaceURI = "http://www.w3.org/2000/svg"
49-
50-
private var rootNode: Element?
51-
private var elements: [Element]
52-
53-
private var currentElement: Element {
54-
return elements.last!
55-
}
56-
57-
private init(data: Data) {
58-
self.parser = FoundationXMLParser(data: data)
59-
elements = [Element]()
60-
super.init()
61-
62-
self.parser.delegate = self
63-
self.parser.shouldProcessNamespaces = true
64-
}
65-
66-
static func parse(data: Data) throws -> Element {
67-
let parser = SAXParser(data: data)
68-
69-
guard
70-
parser.parser.parse(),
71-
72-
let rootNode = parser.rootNode else {
73-
throw XMLParser.Error.invalidDocument(error: parser.parser.parserError,
74-
element: parser.elements.last?.name,
75-
line: parser.parser.lineNumber,
76-
column: parser.parser.columnNumber)
77-
}
78-
79-
return rootNode
80-
}
81-
82-
static func parse(contentsOf url: URL) throws -> Element {
83-
let data = try Data(contentsOf: url)
84-
return try parse(data: data)
85-
}
86-
87-
func parser(_ parser: FoundationXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName _: String?, attributes attributeDict: [String: String] = [:]) {
88-
guard
89-
self.parser === parser,
90-
namespaceURI == self.namespaceURI else {
91-
return
92-
}
93-
94-
let element = Element(name: elementName, attributes: attributeDict)
95-
element.parsedLocation = (line: parser.lineNumber, column: parser.columnNumber)
96-
97-
elements.last?.children.append(element)
98-
elements.append(element)
99-
100-
if rootNode == nil {
101-
rootNode = element
102-
}
103-
}
104-
105-
func parser(_ parser: FoundationXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName _: String?) {
106-
guard
107-
namespaceURI == self.namespaceURI,
108-
currentElement.name == elementName else {
109-
return
110-
}
111-
112-
elements.removeLast()
113-
}
114-
115-
func parser(_ parser: FoundationXMLParser, foundCharacters string: String) {
116-
guard let element = elements.last else { return }
117-
let text = element.innerText.map { $0.appending(string) }
118-
element.innerText = text ?? string
38+
39+
final class SAXParser: NSObject, XMLParserDelegate {
40+
41+
#if canImport(FoundationXML)
42+
typealias FoundationXMLParser = FoundationXML.XMLParser
43+
#else
44+
typealias FoundationXMLParser = Foundation.XMLParser
45+
#endif
46+
47+
private let parser: FoundationXMLParser
48+
private let namespaceURI = "http://www.w3.org/2000/svg"
49+
50+
private var rootNode: Element?
51+
private var elements: [Element]
52+
53+
private var currentElement: Element {
54+
return elements.last!
55+
}
56+
57+
private init(data: Data) {
58+
self.parser = FoundationXMLParser(data: data)
59+
elements = [Element]()
60+
super.init()
61+
62+
self.parser.delegate = self
63+
self.parser.shouldProcessNamespaces = true
64+
}
65+
66+
static func parse(data: Data) throws -> Element {
67+
let parser = SAXParser(data: data)
68+
69+
guard
70+
parser.parser.parse(),
71+
72+
let rootNode = parser.rootNode else {
73+
throw XMLParser.Error.invalidDocument(error: parser.parser.parserError,
74+
element: parser.elements.last?.name,
75+
line: parser.parser.lineNumber,
76+
column: parser.parser.columnNumber)
77+
}
78+
79+
return rootNode
80+
}
81+
82+
static func parse(contentsOf url: URL) throws -> Element {
83+
let data = try Data(contentsOf: url)
84+
return try parse(data: data)
85+
}
86+
87+
func parser(_ parser: FoundationXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName _: String?, attributes attributeDict: [String: String] = [:]) {
88+
guard
89+
self.parser === parser,
90+
namespaceURI == self.namespaceURI else {
91+
return
92+
}
93+
94+
let element = Element(name: elementName, attributes: attributeDict)
95+
element.parsedLocation = (line: parser.lineNumber, column: parser.columnNumber)
96+
97+
elements.last?.children.append(element)
98+
elements.append(element)
99+
100+
if rootNode == nil {
101+
rootNode = element
102+
}
103+
}
104+
105+
func parser(_ parser: FoundationXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName _: String?) {
106+
guard
107+
namespaceURI == self.namespaceURI,
108+
currentElement.name == elementName else {
109+
return
110+
}
111+
112+
elements.removeLast()
113+
}
114+
115+
func parser(_ parser: FoundationXMLParser, foundCharacters string: String) {
116+
guard let element = elements.last else { return }
117+
let text = element.innerText.map { $0.appending(string) }
118+
element.innerText = text ?? string
119+
}
119120
}
120-
}
121121
}

0 commit comments

Comments
 (0)