 		return dashes
 	}
 
+	fileprivate func getTag(_ element: XMLElement) -> [String] {
+		let id = element.attributes["id"]
+		return id != nil ? [id!] : []
+	}
+
 	fileprivate func getOpacity(_ styleParts: [String: String]) -> Double {
 		if let opacityAttr = styleParts["opacity"] {
 			return Double(opacityAttr.replacingOccurrences(of: " ", with: "")) ?? 1

			return .none
		}
		let position = pos.move(dx: getDoubleValue(element, attribute: "x") ?? 0, dy: getDoubleValue(element, attribute: "y") ?? 0)
		return Image(src: link, w: getIntValue(element, attribute: "width") ?? 0, h: getIntValue(element, attribute: "height") ?? 0, place: position)
	}

	fileprivate func parseText(_ text: XMLIndexer, fill: Fill?, opacity: Double, fontName: String?, fontSize: Int?,

					let tspans = (elementString as NSString).substring(with: match.rangeAt(1))
					return Group(contents: collectTspans(tspans, fill: fill, opacity: opacity, fontName: fontName, fontSize: fontSize,
						bounds: Rect(x: getDoubleValue(element, attribute: "x") ?? 0, y: getDoubleValue(element, attribute: "y") ?? 0)),
						place: pos, tag: getTag(element))
				}
			}
			return .none
