130 uint16_t prior_count);
228 const char* terminator,
306 bool* saw_standalone);
Annotation-attribute framework macros for ra8-firmware.
#define RA8_INTERNAL
Marker that a function is intended to be static (file-local).
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Mutable cursor for one start event's attributes.
Source-order attribute view.
Pull-reader state; initialise before each pass.
Immutable byte span expressed relative to the source.
Bounded, caller-owned, no-heap XML pull reader.
static ra8_err_t internal_pi(xml_reader_t *reader)
Validate and skip a PI or leading XML declaration.
static bool internal_name_start(uint8_t c)
Test a supported ASCII NCName start byte.
static bool internal_xml_target(const uint8_t *source, size_t start, size_t end)
Test for the reserved case-insensitive PI target XML.
static ra8_err_t internal_markup_end(const uint8_t *source, size_t length, size_t start, size_t *out_end)
Locate a markup closing byte while respecting quotes.
static ra8_err_t internal_end(xml_reader_t *reader, size_t end, xml_event_t *event)
Parse one close element and update nesting.
static bool internal_space(uint8_t c)
Test whether one byte is XML spacing.
static ra8_err_t internal_comment(xml_reader_t *reader)
Validate and skip one XML comment.
static ra8_err_t internal_attr_parse(const uint8_t *source, size_t source_len, uint32_t end, xml_attr_cursor_t *cursor, xml_attribute_t *out)
Parse one attribute at a bounded tag cursor.
static ra8_err_t internal_terminator(const uint8_t *source, size_t length, size_t start, const char *terminator, size_t *out_start)
Locate a literal terminator in a bounded source.
static ra8_err_t internal_start(xml_reader_t *reader, size_t end, xml_event_t *event)
Parse one start element and update nesting.
static bool internal_ascii_letter(uint8_t c)
Test whether one byte is an ASCII letter.
static bool internal_attr_duplicate(const uint8_t *source, size_t source_len, const xml_event_t *event, const xml_attribute_t *current, uint16_t prior_count)
Detect a duplicate attribute name.
static ra8_err_t internal_cdata(xml_reader_t *reader, xml_event_t *event)
Validate and emit one CDATA payload.
static bool internal_declaration_attr(const uint8_t *source, size_t source_len, const xml_attribute_t *attribute, uint16_t ordinal, bool *saw_encoding, bool *saw_standalone)
Validate one ordered XML-declaration pseudo-attribute.
static ra8_err_t internal_text(xml_reader_t *reader, xml_event_t *event)
Validate and emit one text run.
static ra8_err_t internal_attributes(const uint8_t *source, size_t source_len, xml_event_t *event)
Count and validate one start tag's attributes.
static bool internal_name_continue(uint8_t c)
Test a supported later ASCII NCName byte.
static ra8_err_t internal_special(xml_reader_t *reader, xml_event_t *event, bool *out_emitted)
Dispatch comment, CDATA, DOCTYPE, or processing instruction.
static ra8_err_t internal_declaration(xml_reader_t *reader, size_t target_end, size_t term)
Validate and skip the leading XML declaration.
static bool internal_encoding(const uint8_t *source, xml_span_t value)
Validate an XML declaration encoding name.