23 lines
612 B
Swift
23 lines
612 B
Swift
/**
|
|
* Extended XML tree node for namespace start/end nodes.
|
|
* Appears `header.headerSize` bytes after a `XmlNode`.
|
|
*/
|
|
/// Header size: `ChunkHeader` (8B) + `XmlNode` (8B) + `8 Bytes`
|
|
public struct XmlNamespace: XmlNode {
|
|
let header: ChunkHeader
|
|
|
|
/// The prefix of the namespace.
|
|
public let prefix: StringPoolRef // UInt32
|
|
/// The URI of the namespace.
|
|
public let uri: StringPoolRef // UInt32
|
|
|
|
init(_ chunk: ChunkHeader) {
|
|
header = chunk
|
|
var br = header.byteReader(at: .startOfData) // skips XmlNode header
|
|
prefix = br.read32()
|
|
uri = br.read32()
|
|
}
|
|
}
|
|
|
|
// NOTE: start and end nodes are identical
|