URLArtifactProcessorExtensionPoint documentProcessors = new DefaultURLArtifactProcessorExtensionPoint(new DefaultModelFactoryExtensionPoint());
documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors);
// Create Stax processors
DefaultStAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(new DefaultModelFactoryExtensionPoint());
ExtensibleStAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance());
staxProcessors.addArtifactProcessor(new CompositeProcessor(new DefaultContributionFactory(), factory, policyFactory, staxProcessor));
staxProcessors.addArtifactProcessor(new ComponentTypeProcessor(factory, policyFactory, staxProcessor));
staxProcessors.addArtifactProcessor(new ConstrainingTypeProcessor(factory, policyFactory, staxProcessor));
staxProcessors.addArtifactProcessor(new SCADefinitionsProcessor(policyFactory, staxProcessor, resolver));
staxProcessors.addArtifactProcessor(new SimpleIntentProcessor(policyFactory, staxProcessor));
staxProcessors.addArtifactProcessor(new ProfileIntentProcessor(policyFactory, staxProcessor));
staxProcessors.addArtifactProcessor(new QualifiedIntentProcessor(policyFactory, staxProcessor));
staxProcessors.addArtifactProcessor(new PolicySetProcessor(policyFactory, staxProcessor));
staxProcessors.addArtifactProcessor(new WSPolicyProcessor());
staxProcessors.addArtifactProcessor(new MockPolicyProcessor());
// Create document processors
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
documentProcessors.addArtifactProcessor(new CompositeDocumentProcessor(staxProcessor, inputFactory, scaDefnSink));
documentProcessors.addArtifactProcessor(new ComponentTypeDocumentProcessor(staxProcessor, inputFactory));