Blob: docs/parser-spike.md
Parser Compatibility Notes
XML
fast-xml-parser is used for DAV XML parsing and serialization. The compatibility
helper parses with preserveOrder, keeps qualified names and namespace
declarations, disables entity processing, rejects DOCTYPE and ENTITY
declarations before parsing, and stores dead-property XML as the original
fragment.
iCalendar and vCard
No additional iCalendar, recurrence, or vCard parser dependency is selected at the foundation stage. The npm ecosystem options reviewed during the compatibility check did not justify adding another protocol parser before the storage/report implementation.
Calendar and address book storage now use bounded local parsers for the v1
surface. The iCalendar parser accepts a single VCALENDAR with one VEVENT,
VTODO, or VJOURNAL, validates UID/component structure, normalizes UTF-8/CRLF,
and enforces configured recurrence bounds. The vCard parser accepts one VCARD,
requires UID and VERSION 3.0 or 4.0, normalizes UTF-8/CRLF, and keeps body storage
bounded by configuration.