Search in sources :

Example 1 with Schema

use of org.whole.lang.xsd.model.Schema in project whole by wholeplatform.

the class AttributesPreprocessor method processNoNamespaceSchemaLocation.

protected void processNoNamespaceSchemaLocation(String schemaLocationUrl) {
    String targetNamespace = calculateInternalNamespace(true);
    Schema schema = SchemaUtils.load(targetNamespace, schemaLocationUrl, getFolderLocation(), getLSResourceResolver());
    // add the generated default namespace to the schema
    final XsdEntityFactory xef = XsdEntityFactory.instance;
    NamespaceDecl namespaceDecl = xef.createNamespaceDecl();
    namespaceDecl.setUri(xef.createAnyURI(targetNamespace));
    schema.getNamespaces().add(namespaceDecl);
    schema.setTargetNamespace(xef.createAnyURI(targetNamespace));
    if (XsdDeployStrategies.shouldDeploy(bindings, targetNamespace))
        SchemaUtils.deploy(schema, BindingManagerFactory.instance.createArguments());
    redefineDefaultNamespace(namespaces, targetNamespace);
}
Also used : Schema(org.whole.lang.xsd.model.Schema) NamespaceDecl(org.whole.lang.xsd.model.NamespaceDecl) XsdEntityFactory(org.whole.lang.xsd.factories.XsdEntityFactory)

Example 2 with Schema

use of org.whole.lang.xsd.model.Schema in project whole by wholeplatform.

the class XsdModelBuilderTest method testBuilderAPI.

@Category(KnownFailingTests.class)
@Test
public void testBuilderAPI() throws Exception {
    Schema xsdFromInputStream = (Schema) XsdPersistenceKit.instance().readModel(new StreamPersistenceProvider(getInputStream("datatypes.xsd")));
    Document document = (Document) XmlSourcePersistenceKit.instance().readModel(new StreamPersistenceProvider(getInputStream("datatypes.xsd")));
    IBindingManager bm = BindingManagerFactory.instance.createBindingManager();
    bm.wDefValue("mergeCDataSect", true);
    XsdDeployStrategies.setDeployStrategy(bm, XsdDeployStrategies.ALL);
    ModelBuilderOperation mop = new ModelBuilderOperation();
    IBuilderOperation xsdBuilderOperation = new XmlSpecific2XsdBuilderAdapterOperation(mop, bm);
    XmlNormalizerBuilderOperation normalizerOp = new XmlNormalizerBuilderOperation(xsdBuilderOperation, bm);
    ModelTemplate template = new ModelTemplate(document);
    template.apply(new XmlGenericBuilderAdapter((IXmlBuilder) normalizerOp.wGetBuilder(XmlLanguageKit.URI)));
    Schema xsdFromXmlModel = (Schema) mop.wGetResult();
    Assert.assertTrue(Matcher.match(xsdFromInputStream, xsdFromXmlModel));
}
Also used : ModelBuilderOperation(org.whole.lang.builders.ModelBuilderOperation) ModelTemplate(org.whole.lang.templates.ModelTemplate) IBuilderOperation(org.whole.lang.builders.IBuilderOperation) XmlNormalizerBuilderOperation(org.whole.lang.xml.codebase.XmlNormalizerBuilderOperation) XmlGenericBuilderAdapter(org.whole.lang.xml.builders.XmlGenericBuilderAdapter) Schema(org.whole.lang.xsd.model.Schema) IBindingManager(org.whole.lang.bindings.IBindingManager) IXmlBuilder(org.whole.lang.xml.builders.IXmlBuilder) StreamPersistenceProvider(org.whole.lang.codebase.StreamPersistenceProvider) Document(org.whole.lang.xml.model.Document) Category(org.junit.experimental.categories.Category) Test(org.junit.Test)

Example 3 with Schema

use of org.whole.lang.xsd.model.Schema in project whole by wholeplatform.

the class XsdLanguageTest method testXsdNormalization.

@Test
public void testXsdNormalization() {
    try {
        Schema xsdNormalized1 = NormalizerOperation.normalize(loadXsd("schema-to-normalize.xsd"));
        Schema xsdNormalized2 = loadXsd("schema-normalized.xsd");
        Assert.assertTrue(OrderedMatcher.match(xsdNormalized2, xsdNormalized1, comparatorsMap));
    } catch (Exception e) {
        Assert.fail(e.getMessage());
    }
}
Also used : Schema(org.whole.lang.xsd.model.Schema) Test(org.junit.Test)

Example 4 with Schema

use of org.whole.lang.xsd.model.Schema in project whole by wholeplatform.

the class XsdLanguageTest method loadSchemaInstance.

private void loadSchemaInstance(String schemaFileName, String... instanceFileNames) throws Exception {
    IBindingManager bm = BindingManagerFactory.instance.createArguments();
    String folderLocation = new File("test/org/whole/lang/xsd/util").getAbsolutePath();
    bm.wDefValue("folderLocation", folderLocation);
    bm.wDefValue("packageName", "");
    Schema xsd = loadXsd(schemaFileName);
    InterpreterOperation.interpret(xsd, bm);
    for (String instanceFileName : instanceFileNames) XsiPersistenceKit.instance().readModel(new StreamPersistenceProvider(getInputStream(instanceFileName)));
}
Also used : Schema(org.whole.lang.xsd.model.Schema) IBindingManager(org.whole.lang.bindings.IBindingManager) StreamPersistenceProvider(org.whole.lang.codebase.StreamPersistenceProvider) File(java.io.File)

Example 5 with Schema

use of org.whole.lang.xsd.model.Schema in project whole by wholeplatform.

the class XsdRegistry method deploySchemaForSchema.

protected void deploySchemaForSchema() {
    String location = "XMLSchema.xsd";
    MappingStrategyRegistry.instance().putMappingModel(new SchemaMapping().create());
    // FIXME replace with real schema for schema model with annotations
    InputStream is = getClass().getResourceAsStream(location);
    Schema schemaForSchema = SchemaUtils.load(new InputStreamInput(is));
    putSchema(location, schemaForSchema, true);
}
Also used : InputStream(java.io.InputStream) SchemaMapping(org.whole.lang.xsd.codebase.SchemaMapping) Schema(org.whole.lang.xsd.model.Schema) InputStreamInput(org.whole.lang.xml.util.InputStreamInput)

Aggregations

Schema (org.whole.lang.xsd.model.Schema)7 IBindingManager (org.whole.lang.bindings.IBindingManager)3 InputStream (java.io.InputStream)2 Test (org.junit.Test)2 StreamPersistenceProvider (org.whole.lang.codebase.StreamPersistenceProvider)2 InputStreamInput (org.whole.lang.xml.util.InputStreamInput)2 File (java.io.File)1 ArrayList (java.util.ArrayList)1 Category (org.junit.experimental.categories.Category)1 IBuilderOperation (org.whole.lang.builders.IBuilderOperation)1 ModelBuilderOperation (org.whole.lang.builders.ModelBuilderOperation)1 IResource (org.whole.lang.resources.IResource)1 ModelTemplate (org.whole.lang.templates.ModelTemplate)1 IXmlBuilder (org.whole.lang.xml.builders.IXmlBuilder)1 XmlGenericBuilderAdapter (org.whole.lang.xml.builders.XmlGenericBuilderAdapter)1 XmlNormalizerBuilderOperation (org.whole.lang.xml.codebase.XmlNormalizerBuilderOperation)1 Document (org.whole.lang.xml.model.Document)1 SchemaMapping (org.whole.lang.xsd.codebase.SchemaMapping)1 XsdEntityFactory (org.whole.lang.xsd.factories.XsdEntityFactory)1 NamespaceDecl (org.whole.lang.xsd.model.NamespaceDecl)1