Load Modules

The default language loader of x4o loads all 'META-INF/language/language-modules.xml' resources found in the classpath.

So every extension library has its own modules definition file. All options are allowed in multiple forms and order.

The xsd file can be found in the x4o-core project classpath 'META-INF/language/modules-1.0.xsd'.

<?xml version="1.0" encoding="UTF-8"?>
<modules version="1.0"
        xmlns="http://language.x4o.org/xml/ns/modules"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://language.x4o.org/xml/ns/modules http://language.x4o.org/xml/ns/modules-1.0.xsd"
        >
        <language version="1.0">
                <eld-resource>foobar-lang.eld</eld-resource>
                <eld-resource>foobar-backend-default.eld</eld-resource>
                <eld-resource>foobar-backend-old.eld</eld-resource>
                <module-loader>org.foo.bar.x4o.FooCustomModuleLoader</module-loader>
                <module-loader>org.foo.bar.x4o.BarCustomModuleLoader</module-loader>
                <sibling-loader>org.x4o.xml.meta.MetaLanguageSiblingLoader</sibling-loader>
                <sibling-loader>org.foo.bar.x4o.HelloWorldQueryLanguageSiblingLoader</sibling-loader>
        </language>
        <language version="2.0">
                <eld-resource>foobar-lang-2.0.eld</eld-resource>
        </language>
</modules>
  • eld-resource

    The eld-resource tag loads the eld resource relative from the modules xml resource.

  • module-loader

    The module-loader lets you define module extensions and namespaces in code.

  • sibling-loader

    The sibling-loader lets you load other languages into the language used.