Documentation
¶
Overview ¶
Package preprocessor loads schema documents and resolves include/import directives. It guarantees deterministic merge order and stable origin tracking.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
FS fs.FS
Resolver Resolver
Merger loadmerge.SchemaMerger
DocumentPool *xmltree.DocumentPool
SchemaParseOptions []xmlstream.Option
AllowMissingImportLocations bool
}
Config holds configuration for the schema loader
type FSResolver ¶
type FSResolver struct {
// contains filtered or unexported fields
}
FSResolver resolves schema documents from an fs.FS with strict path validation.
func NewFSResolver ¶
func NewFSResolver(fsys fs.FS) *FSResolver
NewFSResolver creates a resolver backed by the provided filesystem.
func (*FSResolver) Resolve ¶
func (r *FSResolver) Resolve(req ResolveRequest) (io.ReadCloser, string, error)
Resolve implements Resolver.
type Loader ¶
type Loader struct {
// contains filtered or unexported fields
}
Loader loads XML schemas with import/include resolution. It is not safe for concurrent use.
type ResolveKind ¶
type ResolveKind uint8
ResolveKind identifies the kind of schema resolution request.
const ( ResolveInclude ResolveKind = iota ResolveImport )
type ResolveRequest ¶
type ResolveRequest struct {
BaseSystemID string
SchemaLocation string
ImportNS []byte
Kind ResolveKind
}
ResolveRequest describes a schema resolution request.
type Resolver ¶
type Resolver interface {
Resolve(req ResolveRequest) (doc io.ReadCloser, systemID string, err error)
}
Resolver resolves schema documents into readers and canonical system IDs.
Source Files
¶
- directive_merge_plan.go
- doc.go
- import_metadata.go
- include_order.go
- load_session.go
- load_session_directives_flow.go
- load_session_directives_import.go
- load_session_directives_include.go
- load_session_directives_resolve.go
- load_session_io.go
- load_session_rollback.go
- load_session_state_helpers.go
- loader_entry.go
- loader_failure.go
- loader_flow.go
- loader_import_tracker.go
- loader_io_errors.go
- loader_merge_resolve.go
- loader_namespace_compat.go
- loader_parsed.go
- loader_state_entries.go
- loader_types.go
- origins.go
- pending_resolution_apply.go
- pending_resolution_defer.go
- pending_resolution_orchestrate.go
- pending_resolution_resolve.go
- pending_resolution_stage.go
- pending_state_helpers.go
- resolver_fs.go
- resolver_path.go
- resolver_types.go
- state_journal.go