Top Description Inners Fields Constructors Methods
com.ctc.wstx.msv

public Class W3CMultiSchemaFactory

extends Object
Class Inheritance
Imports
java.util.HashMap, .Map, .Set, .TreeSet, javax.xml.parsers.SAXParserFactory, javax.xml.stream.XMLStreamException, javax.xml.transform.Source, javax.xml.transform.dom.DOMSource, org.w3c.dom.Document, .Element, .Node, org.xml.sax.Locator, com.sun.msv.grammar.ExpressionPool, com.sun.msv.grammar.xmlschema.XMLSchemaGrammar, .XMLSchemaSchema, com.sun.msv.reader.GrammarReaderController, .State, com.sun.msv.reader.xmlschema.EmbeddedSchema, .MultiSchemaReader, .SchemaState, .WSDLGrammarReaderController, .XMLSchemaReader, org.codehaus.stax2.validation.XMLValidationSchema

This is a StAX2 schema factory that can parse and create schema instances for creating validators that validate documents to check their validity against specific W3C Schema instances. It requires Sun Multi-Schema Validator (http://www.sun.com/software/xml/developers/multischema/) to work (bundled by Woodstox, no need to add dependency separately, and acts as a quite thin wrapper layer, similar to how matching RelaxNG validator works.

Note

intentionally does NOT (claim to) implement org.codehaus.stax2.validation.XMLValidationSchemaFactory since interface (that is, W3CMultiSchemaFactory#createSchema(String, Map)) is not incompatible with that of other "standard" schema factories; means that usage must be explicit, direct and can not be triggered via Stax2 API.

Author
Daniel Kulp
Since
6.2

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class

Field Summary

Modifier and TypeField and Description
private final SAXParserFactory

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public XMLValidationSchema
createSchema(String
Base URI for resolving dependant schemas
baseURI
,
Map<String, Source>
Map of schemas, namespace to Source
schemaSources
)

Creates an XMLValidateSchema that can be used to validate XML instances against any of the schemas defined in the Map of schemaSources.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

parserFactoryback to summary
private final SAXParserFactory parserFactory

Constructor Detail

W3CMultiSchemaFactoryback to summary
public W3CMultiSchemaFactory()

Method Detail

createSchemaback to summary
public XMLValidationSchema createSchema(String baseURI, Map<String, Source> schemaSources) throws XMLStreamException

Creates an XMLValidateSchema that can be used to validate XML instances against any of the schemas defined in the Map of schemaSources.

Parameters
baseURI:String

Base URI for resolving dependant schemas

schemaSources:Map<String, Source>

Map of schemas, namespace to Source

com.ctc.wstx.msv back to summary

pack-priv Class W3CMultiSchemaFactory.RecursiveAllowedXMLSchemaReader

extends XMLSchemaReader
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv Set<String>
Inherited from com.sun.msv.reader.xmlschema.XMLSchemaReader:
attributeFormDefaultblockDefaultchameleonTargetNamespacecomplexUrTypecurrentSchemadoDuplicateDefinitionCheckelementFormDefaultERR_BAD_XPATHERR_DUPLICATE_ATTRIBUTE_DEFINITIONERR_DUPLICATE_ATTRIBUTE_GROUP_DEFINITIONERR_DUPLICATE_COMPLEXTYPE_DEFINITIONERR_DUPLICATE_ELEMENT_DEFINITIONERR_DUPLICATE_GROUP_DEFINITIONERR_DUPLICATE_IDENTITY_CONSTRAINT_DEFINITIONERR_DUPLICATE_SCHEMA_DEFINITIONERR_FIXED_AND_DEFAULTERR_IMPORTING_SAME_NAMESPACEERR_INCONSISTENT_TARGETNAMESPACEERR_INVALID_BASETYPE_FOR_SIMPLECONTENTERR_KEY_FIELD_NUMBER_MISMATCHERR_KEYREF_REFERRING_NON_KEYERR_MAXOCCURS_IS_NECESSARYERR_RECURSIVE_SUBSTITUTION_GROUPERR_REDEFINE_UNDEFINEDERR_UNDECLARED_PREFIXERR_UNDEFINED_ATTRIBUTE_DECLERR_UNDEFINED_ATTRIBUTE_GROUPERR_UNDEFINED_COMPLEX_OR_SIMPLE_TYPEERR_UNDEFINED_COMPLEX_TYPEERR_UNDEFINED_ELEMENT_DECLERR_UNDEFINED_ELEMENTTYPEERR_UNDEFINED_GROUPERR_UNDEFINED_KEYERR_UNDEFINED_OR_FORWARD_REFERENCED_TYPEERR_UNDEFINED_SCHEMAERR_UNDEFINED_SIMPLE_TYPEERR_UNIMPLEMENTED_FEATUREERR_UNRELATED_TYPES_IN_SUBSTITUTIONGROUPfinalDefaultgrammarparsedFilessfactoryWRN_IMPLICIT_URTYPE_FOR_ELEMENTWRN_OBSOLETED_NAMESPACEWRN_UNSUPPORTED_ANYELEMENTxmlSchema4XmlSchemaXMLSchemaNamespaceXMLSchemaNamespace_oldXMLSchemaSchemaLocationAttributesxsdSchemaxsiSchemaLocationExp

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
public void
switchSource(Source source, State newState)

Overrides com.sun.msv.reader.GrammarReader.switchSource.

Start reading input from a source defined by a javax.xml.transform source.

Inherited from com.sun.msv.reader.xmlschema.XMLSchemaReader:
createAttributeStatecreateExpressionChildStatecreateFacetStatecreateModelGroupStategetAdditionalNamespaceMapgetOrCreateSchemagetResultgetResultAsGrammargetXmlSchemaForXmlSchemainterceptExpressionisGrammarElementisSchemaDefinedisSchemaNamespacelocalizeMessagemarkSchemaAsDefinedparseparseparseprocessOccursprocessOccursresolveBuiltinDataTyperesolveBuiltinSimpleTyperesolveNamespaceOfAttributeDeclresolveNamespaceOfElementDeclresolveQNameRefresolveXSDatatypesetAdditionalNamespaceMapsplitQNameswitchSourcewrapUp

Field Detail

sysIdsback to summary
pack-priv Set<String> sysIds

Constructor Detail

RecursiveAllowedXMLSchemaReaderback to summary
pack-priv RecursiveAllowedXMLSchemaReader(GrammarReaderController controller, SAXParserFactory parserFactory)

Method Detail

setLocatorback to summary
public void setLocator(Locator locator)

Overrides com.sun.msv.reader.GrammarReader.setLocator.

Annotations
@Override
switchSourceback to summary
public void switchSource(Source source, State newState)

Overrides com.sun.msv.reader.GrammarReader.switchSource.

Doc from com.sun.msv.reader.GrammarReader.switchSource.

Start reading input from a source defined by a javax.xml.transform source.

Annotations
@Override