Three XInclude gaps from the audit: - accept / accept-language / encoding are surfaced to the loader via a new XIncludeRequest and a process(_:base:loading:) overload, so a loader can honor content negotiation. The existing loadingURI form is kept. - Cycle detection tracks the visited (resolved-URI) set along the current inclusion chain and raises XIncludeError.cycle, instead of relying only on the depth backstop; a non-cyclic diamond include is not flagged. - parse="text" combined with an xpointer is rejected (XIncludeError.textWithFragment), since a fragment cannot select within unparsed text. xpointer range() inclusion still depends on the XPointer range() scheme (tracked in the XPointer issue). Part of #87 |
||
|---|---|---|
| .. | ||
| URIReference.swift | ||
| XIncludeError.swift | ||
| XIncludeProcessor.swift | ||
| XIncludeRequest.swift | ||