PhoenixmlDb.XQuery
PolicyEnforcingResolver
Wraps an and enforces rules before delegating to the inner resolver or a custom .
#PolicyEnforcingResolver
Namespace: PhoenixmlDb.XQuery.Security
Wraps an
and enforces
rules before delegating to the inner resolver or a custom
.
The inner resolver receives the URI the policy authorised (absolute, with a
file:
path canonicalised), never the raw argument, so what was checked is what is opened. Hosts may use it for their own resource reads;
is the underlying check.
#Constructors
##ctor(PhoenixmlDb.XQuery.IDocumentResolver,PhoenixmlDb.XQuery.Security.ResourcePolicy)
Creates a resolver enforcing
in front of
.
#Properties
| Name | Description |
|---|---|
Policy
|
The policy this resolver enforces. |
#Methods
#AuthorizeText(String,Uri)
Authorises a text read, returning the URI to open (see
).
#CheckWriteAccess(String)
Checks whether a write operation is allowed for the given href.
#IsDocumentAvailable(String)
#IsDocumentAvailable(String,PhoenixmlDb.XQuery.Security.ResourceCaller)
for a call a module makes.
#IsTextAvailable(String)
Checks text availability without loading.
#IsTextAvailable(String,PhoenixmlDb.XQuery.Security.ResourceCaller)
for a call a module makes.
#OpenResultDocument(String)
Opens a result document writer via the custom resolver, if available.
#RedirectCheck(PhoenixmlDb.XQuery.Security.ResourceAccessKind)
A redirect authoriser for
under this policy.
#ResolveCollection(String)
#ResolveDocument(String)
#ResolveDocument(String,PhoenixmlDb.XQuery.Security.ResourceCaller)
for a call a module makes: the host's resolver is told who asks.
#ResolveStylesheetModule(String,Uri)
Resolves a stylesheet module via the custom resolver, if available.
#ResolveText(String,String)
Resolves text content, enforcing policy. Used by unparsed-text() functions.
#UnderPolicy``1(Func<``0>)
Runs a load of the store with this resolver's policy in force for what the loaded document itself includes (xi:include, where the host has enabled it).