public interface OracleNodeTypeManager extends NodeTypeManager
For the XML DB Content Connector, OracleNodeTypeManager also allows XML schemas to be registered for use in JCR. Doing so creates JCR node types corresponding to the schema types and global element declarations defined by the XML schema. Schema-based content and metadata will then be exposed as JCR nodes of these node types, instead of the nt:unstructured node type.
Before a schema is registered for use in JCR, it should be registered for use in the database using the DBMS_XMLSCHEMA.registerschema
PL/SQL procedure. Only globally-registered schemas can be used in JCR.
The list of registered XML schemas is cached by the OracleNodeTypeManager object. The cache is automatically refreshed each time registerXMLSchema
or unregisterXMLSchema
is called on the OracleNodeTypeManager object. Call refresh
to explicitly refresh the cache.
Refer to XDBRepositoryConfiguration for further information on how the list of registered XML schemas is stored by the XML DB Content Connector.
Modifier and Type | Method and Description |
---|---|
void |
refresh()
Invalidates the in-memory copy of the node type registry and reloads it from the content repository.
|
void |
registerXMLSchema(java.lang.String schemaLocation, java.lang.String jcrNodeTypeNamespace)
Registers the XML Schema having the specified schema location URL.
|
void |
unregisterXMLSchema(java.lang.String schemaLocation)
Unregisters the XML Schema having the specified schema location URL.
|
getAllNodeTypes, getMixinNodeTypes, getNodeType, getPrimaryNodeTypes
void refresh() throws RepositoryException
RepositoryException
- if the operation failsvoid registerXMLSchema(java.lang.String schemaLocation, java.lang.String jcrNodeTypeNamespace) throws AccessDeniedException, RepositoryException
If the schema is already registered, the JCR node type namespace is updated to the value specified.
schemaLocation
- the schema location; requiredjcrNodeTypeNamespace
- the namespace into which to create JCR node types, or null to use the target namespace of the schemaAccessDeniedException
- if the session does not have sufficient privileges to perform the operationRepositoryException
- if the operation otherwise failsvoid unregisterXMLSchema(java.lang.String schemaLocation) throws AccessDeniedException, RepositoryException
schemaLocation
- the schema location; requiredAccessDeniedException
- if the session does not have sufficient privileges to perform the operationRepositoryException
- if the operation otherwise fails