Skip to content

Commit

Permalink
more fixes based on switlint
Browse files Browse the repository at this point in the history
  • Loading branch information
spilikin committed Jul 14, 2018
1 parent 28d0018 commit 77c1d77
Show file tree
Hide file tree
Showing 24 changed files with 131 additions and 155 deletions.
4 changes: 4 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
disabled_rules:
- trailing_comma
- trailing_whitespace
- line_length
1 change: 0 additions & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,3 @@ let package = Package(
dependencies: ["XMLTools"]),
]
)

8 changes: 3 additions & 5 deletions Sources/XMLTools/DOM+Traversal.swift
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,16 @@ public class DefaultDocumentHandler: DocumentHandler {

public func processingInstruction(_ instruction: ProcessingInstruction, from document: Document) throws {
}



}

extension Element {
internal func traverse(handler:DocumentHandler, document: Document) throws {
internal func traverse(handler: DocumentHandler, document: Document) throws {
try handler.startElement(self, from: document)
for node in childNodes {
switch node {
case let element as Element:
try element.traverse(handler:handler, document: document)
try element.traverse(handler: handler, document: document)
case let textNode as TextNode:
try handler.textNode(textNode, from: document)
case let cdata as CDATANode:
Expand All @@ -86,4 +85,3 @@ extension Element {
try handler.endElement(self, from: document)
}
}

62 changes: 30 additions & 32 deletions Sources/XMLTools/DOM.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class Node {

public func parentDocument() -> Document? {
var node: Node? = self
while (node != nil ) {
while node != nil {
if let doc = node as? Document {
return doc
}
Expand All @@ -25,15 +25,15 @@ public class Node {
}
}

public class NamedNode : Node {
let nodeName : QName
public class NamedNode: Node {
let nodeName: QName

internal init (name: QName) {
self.nodeName = name
super.init(parent: nil)
}

internal init (parent:Node, name: QName) {
internal init (parent: Node, name: QName) {
self.nodeName = name
super.init(parent: parent)
}
Expand All @@ -44,35 +44,34 @@ public class NamedNode : Node {

}

public class Attribute : NamedNode {
var value : String?;
public class Attribute: NamedNode {
var value: String?

override init (parent: Node, name:QName) {
override init (parent: Node, name: QName) {
super.init(parent: parent, name: name)
}
init (parent: Node, name:QName, value:String) {
init (parent: Node, name: QName, value: String) {
self.value = value
super.init(parent: parent, name: name)
}

}

public class Element: NamedNode {
public lazy var attributes = [QName:Attribute]()
public lazy var attributes = [QName: Attribute]()
// all `xmlns` declarations as parsed from the source document
internal var sourceNamespaceContext: NamespaceContext?
// namespace context of the current document
public var namespaceContext: NamespaceContext?



@discardableResult
public func appendElement(_ name: String) -> Element {
return appendElement(QName(name))
}

@discardableResult
public func appendElement(_ name: QName) -> Element {
let element = Element(parent: self, name: name);
let element = Element(parent: self, name: name)
childNodes.append(element)
return element
}
Expand All @@ -89,21 +88,21 @@ public class Element: NamedNode {

@discardableResult
public func appendAttribute(_ name: QName, withValue value: String) -> Attribute {
let attr = Attribute(parent: self, name: name, value:value)
let attr = Attribute(parent: self, name: name, value: value)
attributes[attr.nodeName] = attr
return attr
}

@discardableResult
public func appendText(_ text:String) -> TextNode {
public func appendText(_ text: String) -> TextNode {
let node = TextNode(parent: self, value: text)
childNodes.append(node)
return node
}

public func resolveURI(forPrefix prefix: String ) -> String? {
var element:Element? = self
while (element != nil) {
var element: Element? = self
while element != nil {
if let uri = element?.namespaceContext?[prefix] {
return uri
}
Expand All @@ -112,9 +111,9 @@ public class Element: NamedNode {
return nil
}

public func resolvePrefix(forURI uri:String) -> String? {
var element:Element? = self
while (element != nil) {
public func resolvePrefix(forURI uri: String) -> String? {
var element: Element? = self
while element != nil {
if let uri = element?.namespaceContext?.resolvePrefix(forURI: uri) {
return uri
}
Expand All @@ -124,8 +123,8 @@ public class Element: NamedNode {
}

func resolveURIFromSource(forPrefix prefix: String ) -> String? {
var element:Element? = self
while (element != nil) {
var element: Element? = self
while element != nil {
if let uri = element?.sourceNamespaceContext?[prefix] {
return uri
}
Expand All @@ -135,8 +134,8 @@ public class Element: NamedNode {
}

func resolvePrefixFromSource(forURI uri: String ) -> String? {
var element:Element? = self
while (element != nil) {
var element: Element? = self
while element != nil {
if let uri = element?.sourceNamespaceContext?.resolvePrefix(forURI: uri) {
return uri
}
Expand All @@ -147,7 +146,7 @@ public class Element: NamedNode {
}

public class TextNode: Node {
public let value : String
public let value: String

init (parent: Node, value: String) {
self.value = value
Expand All @@ -157,7 +156,7 @@ public class TextNode: Node {
}

public class CommentNode: Node {
public let value : String
public let value: String

init (parent: Node, value: String) {
self.value = value
Expand All @@ -166,15 +165,15 @@ public class CommentNode: Node {

}

public class CDATANode : TextNode {
public class CDATANode: TextNode {

}

public class ProcessingInstruction : Node {
public class ProcessingInstruction: Node {
let target: String
let data: String

init (parent: Node, target:String, data:String) {
init (parent: Node, target: String, data: String) {
self.target = target
self.data = data
super.init(parent: parent)
Expand All @@ -189,7 +188,7 @@ public class Document: Node {
// Document is not standalone by default
var standalone = false

var documentElement : Element?
var documentElement: Element?

public init () {
super.init(parent: nil)
Expand All @@ -202,15 +201,15 @@ public class Document: Node {

public func appendElement(_ name: QName) -> Element {
childNodes.removeAll()
let element = Element(parent: self, name: name);
let element = Element(parent: self, name: name)
element.namespaceContext = .defaultContext
childNodes.append(element)
documentElement = element
return element
}

// the namespace context of the document is the one of it's root element
public var namespaceContext : NamespaceContext {
public var namespaceContext: NamespaceContext {
get {
if let root = documentElement {
if root.namespaceContext == nil {
Expand All @@ -227,4 +226,3 @@ public class Document: Node {
}

}

2 changes: 1 addition & 1 deletion Sources/XMLTools/Infoset+Attributes.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ extension Infoset {
return Infoset(matches, from: document())
}

internal func attributeNodes() -> [Attribute]{
internal func attributeNodes() -> [Attribute] {
var attrs = [Attribute]()
for node in selectedNodes {
if let element = node as? Element {
Expand Down
2 changes: 1 addition & 1 deletion Sources/XMLTools/Infoset+Data.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import Foundation

extension Infoset {

public var base64Data:Data? {
public var base64Data: Data? {
get {
return Data(base64Encoded: text)
}
Expand Down
6 changes: 2 additions & 4 deletions Sources/XMLTools/Infoset+Descendant.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,8 @@ extension Infoset {
return Infoset.EMPTY
}

for node in selectedNodes {
if node as? XMLElement != nil {
matches.append(node)
}
for node in selectedNodes where node as? XMLElement != nil {
matches.append(node)
}
selection.append(contentsOf: matches)
let descendantSelection = selectNode().descendants()
Expand Down
4 changes: 2 additions & 2 deletions Sources/XMLTools/Infoset+Manipulation.swift
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,15 @@ extension Infoset {
Sets the value the attribute for every selected node
*/
@discardableResult
public func attr(_ name: String, setValue value:String) -> Infoset {
public func attr(_ name: String, setValue value: String) -> Infoset {
return attr(safeResolveQName(name), setValue: value)
}

/**
Sets the value the attribute for every selected node
*/
@discardableResult
public func attr(_ qname: QName, setValue value:String) -> Infoset {
public func attr(_ qname: QName, setValue value: String) -> Infoset {
for node in selectedNodes {
if let element = node as? Element {
element.appendAttribute(qname, withValue: value)
Expand Down
3 changes: 1 addition & 2 deletions Sources/XMLTools/Infoset+Number.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ extension Infoset {
print (formatter.maximumFractionDigits )
formatter.numberStyle = .decimal
return formatter
}
}


public var intValue: Int? {
get {
return Int(text)
Expand Down
2 changes: 1 addition & 1 deletion Sources/XMLTools/Infoset+QName.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Foundation

extension Infoset {

public var qnameValue:QName? {
public var qnameValue: QName? {
get {
guard let name = stringValue else {
return nil
Expand Down
6 changes: 3 additions & 3 deletions Sources/XMLTools/Infoset+Text.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import Foundation

extension Infoset {

public var text:String {
public var text: String {
get {
var result = ""
for node in selectedNodes {
Expand All @@ -22,9 +22,9 @@ extension Infoset {
}
}

public var stringValue:String? {
public var stringValue: String? {
get {
var result:String? = nil
var result: String? = nil
for node in selectedNodes {
let val = nodeToText(node)
if let val = val {
Expand Down
13 changes: 6 additions & 7 deletions Sources/XMLTools/Parser.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ public class Parser {
parser.shouldProcessNamespaces = true
parser.shouldReportNamespacePrefixes = true
parser.delegate = delegate
if (!parser.parse()) {
if !parser.parse() {
throw ParserError.parseError(lineNumber: delegate.errorLineNumber, columnNumber: delegate.errorColumnNumber, cause: delegate.parseError)
}

return Infoset(delegate.document)
}

public func parse(string: String, using encoding:String.Encoding = .utf8) throws -> Infoset {
public func parse(string: String, using encoding: String.Encoding = .utf8) throws -> Infoset {
guard let data = string.data(using: encoding) else {
throw ParserError.malformedString
}
Expand All @@ -57,22 +57,22 @@ public class Parser {

}

fileprivate class ParserDelegate:NSObject, XMLParserDelegate {
private class ParserDelegate: NSObject, XMLParserDelegate {
fileprivate var document: Document
private var currentElement: Element?
private var namespaceContext: NamespaceContext?
fileprivate var parseError: Error?
fileprivate var errorLineNumber = -1
fileprivate var errorColumnNumber = -1
private let options:Parser.Options
private let options: Parser.Options

init(options: Parser.Options) {
self.options = options
document = Document()
namespaceContext = .defaultContext
}

func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:]) {
func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String: String] = [:]) {
if let parent = currentElement {
currentElement = parent.appendElement(QName(elementName, uri: namespaceURI!))
} else {
Expand Down Expand Up @@ -102,7 +102,7 @@ fileprivate class ParserDelegate:NSObject, XMLParserDelegate {

private func resolveNamespaceURI(forPrefix prefix: String ) -> String? {
var element = currentElement
while (element != nil) {
while element != nil {
if let uri = element?.sourceNamespaceContext?[prefix] {
return uri
}
Expand Down Expand Up @@ -150,4 +150,3 @@ fileprivate class ParserDelegate:NSObject, XMLParserDelegate {
self.errorColumnNumber = parser.columnNumber
}
}

Loading

0 comments on commit 77c1d77

Please sign in to comment.