///|
fn pdf_metadata_xml_skip_processing_instruction(
data : BytesView,
start : Int,
) -> Int raise @core.PdfError {
let end = pdf_metadata_find_bytes_from(data, start + 2, b"?>")
guard end >= 0 else { raise BadText }
end + 2
}
///|
fn pdf_metadata_xml_skip_comment(
data : BytesView,
start : Int,
) -> Int raise @core.PdfError {
let end = pdf_metadata_find_bytes_from(data, start + 4, b"-->")
guard end >= 0 else { raise BadText }
end + 3
}
///|
fn pdf_metadata_xml_skip_misc(
data : BytesView,
start : Int,
) -> Int raise @core.PdfError {
let mut index = start
let mut done = false
while !done {
index = pdf_metadata_xml_skip_space(data, index)
if index + 1 < data.length() &&
pdf_metadata_view_matches_at(data, index, b"") {
index = pdf_metadata_xml_skip_processing_instruction(data, index)
} else if index + 3 < data.length() &&
pdf_metadata_view_matches_at(data, index, b"