st 1. 4. 2026 v 16:39 odesÃlatel Jim Jones <[email protected]> napsal:
> > > On 01.04.26 10:10, Pavel Stehule wrote: > > maybe it can be implemented just as an extension - we don't need DDL > > commands CREATE XMLSCHEMA - there can be some function. If I understand > > correctly, the SQL/XML knows just XMLVALIDATE command - and in the first > > step - this can be just a function too. > > Yeah, the spec does not dictate how the schemas are stored or how > identifiers are mapped to XSDs. The way I see it, in the current state > of this patch, we miss the option to add XSDs to an existing XMLSCHEMA > identifier (something like ALTER XMLSCHEMA .. ADD ...), or even the > option to pass multiple XSDs in CREATE XMLSCHEMA. > > It makes the implementation of CREATE XMLSCHEMA (or similar DDL) a bit > more challenging, as it must always resolve all root's dependencies to > ensure that XMLVALIDATE has all the necessary info to validate a given XML. > > > > > Theoretically there can be different access - we can introduce a generic > > XMLVALIDATE command, that can call some callback. This callback can be > > implemented in an extension. One extension can XML storage identified by > > relation identifier, another can implement some shared storage on the > > disc outside the database etc. So the organization of the patch can be > > different > > > > 1. creating API for extensions for implementing loading the schema from > > some sources. > > 2. implementation XMLVALIDATE that uses this API > > 3. creating an extension in contrib, that implements XML storage > > identified by relational API. > > > > Because we don't have an extensible parser, the XMLVALIDATE command > > should be in core, but other parts are not. > > > How would XMLVALIDATE without this contrib extension look like? > The API can be similar to PLpgSQL plugin API - and rendezvous variable Pavel > > Best, Jim >
