Skip to content
File

Blob: docs/parser-spike.md

Markdown24 lines

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.