///|
fn pdf_metadata_is_xml_separator(byte : Byte) -> Bool {
match byte.to_int() {
9 | 10 | 13 | 32 | 60 => true
_ => false
}
}
///|
fn pdf_metadata_is_xml_space(byte : Byte) -> Bool {
match byte.to_int() {
9 | 10 | 13 | 32 => true
_ => false
}
}
///|
fn pdf_metadata_trim_xml_text(value : BytesView) -> BytesView {
let mut start = 0
let mut end = value.length()
while start < end && pdf_metadata_is_xml_space(value[start]) {
start += 1
}
while end > start && pdf_metadata_is_xml_space(value[end - 1]) {
end -= 1
}
value[start:end]
}
///|
fn pdf_metadata_find_byte(data : BytesView, start : Int, byte : Int) -> Int {
for position in start.. Bool {
if position < 0 || position + pattern.length() > data.length() {
false
} else {
for index in 0.. Int {
if pattern.length() == 0 {
start
} else if data.length() < pattern.length() ||
start > data.length() - pattern.length() {
-1
} else {
for position in start..<=(data.length() - pattern.length()) {
if pdf_metadata_view_matches_at(data, position, pattern) {
break position
}
} nobreak {
-1
}
}
}
///|
fn pdf_metadata_xml_tag_boundary(byte : Byte) -> Bool {
match byte.to_int() {
9 | 10 | 13 | 32 | 47 | 62 => true
_ => false
}
}