diff --git a/nx01-x4o-driver/module-info-test-m2e.java b/nx01-x4o-driver/module-info-test-m2e.java
new file mode 100644
index 0000000..1c2f5d7
--- /dev/null
+++ b/nx01-x4o-driver/module-info-test-m2e.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright ©Δ∞ 仙上主天
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of conditions and the
+ * following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * * The prime PI creator license super seeds all other licenses, this license is overly invasive,
+ * thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
+ * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
+ * even on air gaped systems, all information in the universe is owned by the pi creator.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/// The NX01 x4o-driver module.
+///
+/// @author للَّٰهِilLצسُو
+/// @version ©Δ∞ 仙上主天
+open module ᣕᕁᐤᣳ.ᕽᙾᐤ.ᒄᣗᑊᘁᓫᣗ.ᐪᓫᔆᐪ {
+ requires transitive ᣕᕁᐤᣳ.ᕽᙾᐤ.ᒄᣗᑊᘁᓫᣗ;
+ requires java.desktop;
+ //requires org.junit.jupiter.engine;
+ //requires org.junit.jupiter.api;
+
+// exports org.x4o.xml.test;
+}
diff --git a/nx01-x4o-driver/module-info.java b/nx01-x4o-driver/module-info.java
new file mode 100644
index 0000000..2c6dbfd
--- /dev/null
+++ b/nx01-x4o-driver/module-info.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright ©Δ∞ 仙上主天
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of conditions and the
+ * following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * * The prime PI creator license super seeds all other licenses, this license is overly invasive,
+ * thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
+ * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
+ * even on air gaped systems, all information in the universe is owned by the pi creator.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/// The NX01 x4o-driver module.
+///
+/// @author للَّٰهِilLצسُو
+/// @version ©Δ∞ 仙上主天
+open module ᣕᕁᐤᣳ.ᕽᙾᐤ.ᒄᣗᑊᘁᓫᣗ {
+ // TODO: if driver is module than ClassLoader.getResources from /META-INF/* don't work anymore
+
+ requires transitive ᣕᕁᐤᣳ.ᕽᙾᐤ.ᔆᣔᕽᕀᕀᕀ;
+ requires transitive ᣕᕁᐤᣳ.ᕽᙾᐤ.ᔿᣔᑊᔆᒄᐤᒼ;
+ requires transitive ᣕᕁᐤᣳ.ᕽᙾᐤ.ᣘᒼᣳᔥ;
+ requires transitive java.logging;
+ requires transitive org.apache.tomcat.jasper.el;
+
+ // TEMP for tests only
+ requires java.desktop;
+
+ exports org.x4o.xml;
+ exports org.x4o.xml.conv;
+ exports org.x4o.xml.conv.text;
+ exports org.x4o.xml.el;
+ exports org.x4o.xml.eld;
+ exports org.x4o.xml.eld.doc;
+ exports org.x4o.xml.eld.lang;
+ exports org.x4o.xml.eld.xsd;
+ exports org.x4o.xml.element;
+ exports org.x4o.xml.io;
+ exports org.x4o.xml.lang;
+ exports org.x4o.xml.lang.meta;
+ exports org.x4o.xml.lang.phase;
+ exports org.x4o.xml.lang.task;
+ exports org.x4o.xml.lang.task.run;
+}
diff --git a/nx01-x4o-driver/pom.xml b/nx01-x4o-driver/pom.xml
index eb42ad9..4638b32 100644
--- a/nx01-x4o-driver/pom.xml
+++ b/nx01-x4o-driver/pom.xml
@@ -22,7 +22,7 @@
org.apache.tomcat
- jasper-el
+ tomcat-jasper-el
org.junit.jupiter
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELContext.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELContext.java
index dda8fa5..2062b35 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELContext.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELContext.java
@@ -24,15 +24,15 @@ package org.x4o.xml.el;
import java.util.HashMap;
-import javax.el.ArrayELResolver;
-import javax.el.BeanELResolver;
-import javax.el.CompositeELResolver;
-import javax.el.ELContext;
-import javax.el.ELResolver;
-import javax.el.FunctionMapper;
-import javax.el.ListELResolver;
-import javax.el.MapELResolver;
-import javax.el.VariableMapper;
+import jakarta.el.ArrayELResolver;
+import jakarta.el.BeanELResolver;
+import jakarta.el.CompositeELResolver;
+import jakarta.el.ELContext;
+import jakarta.el.ELResolver;
+import jakarta.el.FunctionMapper;
+import jakarta.el.ListELResolver;
+import jakarta.el.MapELResolver;
+import jakarta.el.VariableMapper;
/**
* X4OELFunctionMapper simple EL context.
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELFunctionMapper.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELFunctionMapper.java
index 32e1662..62482c6 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELFunctionMapper.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELFunctionMapper.java
@@ -27,7 +27,7 @@ import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.Map;
-import javax.el.FunctionMapper;
+import jakarta.el.FunctionMapper;
/**
* X4OELFunctionMapper simple EL function mapper.
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELResolver.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELResolver.java
index 03f9fc2..2d90da8 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELResolver.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELResolver.java
@@ -25,9 +25,9 @@ package org.x4o.xml.el;
import java.util.Iterator;
import java.util.Map;
-import javax.el.ELContext;
-import javax.el.ELResolver;
-import javax.el.MapELResolver;
+import jakarta.el.ELContext;
+import jakarta.el.ELResolver;
+import jakarta.el.MapELResolver;
/**
* X4OELResolver simple EL resolver.
@@ -75,12 +75,12 @@ public class X4OELResolver extends ELResolver {
return delegate.getCommonPropertyType(context, base);
}
- @Override
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public Iterator getFeatureDescriptors(ELContext context, Object base) {
- base = checkBase(base);
- return delegate.getFeatureDescriptors(context, base);
- }
+// @Override
+// @SuppressWarnings({ "rawtypes", "unchecked" })
+// public Iterator getFeatureDescriptors(ELContext context, Object base) {
+// base = checkBase(base);
+// return delegate.getFeatureDescriptors(context, base);
+// }
@Override
public Class> getType(ELContext context, Object base, Object property) {
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELVariableMapper.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELVariableMapper.java
index 9948e05..224c21f 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELVariableMapper.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OELVariableMapper.java
@@ -25,8 +25,8 @@ package org.x4o.xml.el;
import java.util.HashMap;
import java.util.Map;
-import javax.el.ValueExpression;
-import javax.el.VariableMapper;
+import jakarta.el.ValueExpression;
+import jakarta.el.VariableMapper;
/**
* X4OELVariableMapper simple EL variable mapper.
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OExpressionFactory.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OExpressionFactory.java
index 9b7dba3..3340682 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OExpressionFactory.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/el/X4OExpressionFactory.java
@@ -22,8 +22,8 @@
*/
package org.x4o.xml.el;
-import javax.el.ELContext;
-import javax.el.ExpressionFactory;
+import jakarta.el.ELContext;
+import jakarta.el.ExpressionFactory;
import org.x4o.xml.lang.X4OLanguageClassLoader;
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/eld/EldModuleLoader.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/eld/EldModuleLoader.java
index 986fe9e..8807ad4 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/eld/EldModuleLoader.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/eld/EldModuleLoader.java
@@ -25,7 +25,7 @@ package org.x4o.xml.eld;
import java.io.IOException;
import java.util.logging.Logger;
-import javax.el.ValueExpression;
+import jakarta.el.ValueExpression;
import org.x4o.xml.X4ODriver;
import org.x4o.xml.X4ODriverManager;
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/element/DefaultElementAttributeValueParser.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/element/DefaultElementAttributeValueParser.java
index 91319a8..8a6ad0b 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/element/DefaultElementAttributeValueParser.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/element/DefaultElementAttributeValueParser.java
@@ -25,7 +25,7 @@ package org.x4o.xml.element;
import java.util.Locale;
import java.util.logging.Logger;
-import javax.el.ValueExpression;
+import jakarta.el.ValueExpression;
import org.x4o.xml.conv.ObjectConverterException;
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/io/DefaultX4OReader.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/io/DefaultX4OReader.java
index 41cf9c9..ddf0366 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/io/DefaultX4OReader.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/io/DefaultX4OReader.java
@@ -31,7 +31,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
-import javax.el.ValueExpression;
+import jakarta.el.ValueExpression;
import javax.xml.parsers.ParserConfigurationException;
import org.x4o.sax3.io.ContentWriter;
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/AbstractX4OLanguageSession.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/AbstractX4OLanguageSession.java
index e0602b3..c840f48 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/AbstractX4OLanguageSession.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/AbstractX4OLanguageSession.java
@@ -28,8 +28,8 @@ import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
-import javax.el.ELContext;
-import javax.el.ExpressionFactory;
+import jakarta.el.ELContext;
+import jakarta.el.ExpressionFactory;
import org.x4o.xml.element.Element;
import org.x4o.xml.element.ElementAttributeValueParser;
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/X4OLanguageSession.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/X4OLanguageSession.java
index 9242834..e4a286b 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/X4OLanguageSession.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/X4OLanguageSession.java
@@ -24,8 +24,8 @@ package org.x4o.xml.lang;
import java.util.List;
-import javax.el.ELContext;
-import javax.el.ExpressionFactory;
+import jakarta.el.ELContext;
+import jakarta.el.ExpressionFactory;
import org.x4o.xml.element.Element;
import org.x4o.xml.element.ElementAttributeValueParser;
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/X4OLanguageSessionLocal.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/X4OLanguageSessionLocal.java
index 0b72c34..e316540 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/X4OLanguageSessionLocal.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/X4OLanguageSessionLocal.java
@@ -24,8 +24,8 @@ package org.x4o.xml.lang;
import java.util.List;
-import javax.el.ELContext;
-import javax.el.ExpressionFactory;
+import jakarta.el.ELContext;
+import jakarta.el.ExpressionFactory;
import org.x4o.xml.element.ElementAttributeValueParser;
import org.x4o.xml.element.ElementObjectPropertyValue;
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/meta/ELIDAttributeHandler.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/meta/ELIDAttributeHandler.java
index cf71368..e80bf89 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/meta/ELIDAttributeHandler.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/meta/ELIDAttributeHandler.java
@@ -24,7 +24,7 @@ package org.x4o.xml.lang.meta;
import java.util.logging.Logger;
-import javax.el.ValueExpression;
+import jakarta.el.ValueExpression;
import org.x4o.xml.element.AbstractElementNamespaceAttribute;
import org.x4o.xml.element.Element;
diff --git a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/meta/ELReferenceElement.java b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/meta/ELReferenceElement.java
index dd06963..a6436ef 100644
--- a/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/meta/ELReferenceElement.java
+++ b/nx01-x4o-driver/src/main/java/org/x4o/xml/lang/meta/ELReferenceElement.java
@@ -24,7 +24,7 @@ package org.x4o.xml.lang.meta;
import java.util.logging.Logger;
-import javax.el.ValueExpression;
+import jakarta.el.ValueExpression;
import org.x4o.xml.element.AbstractElement;
import org.x4o.xml.element.ElementException;
diff --git a/nx01-x4o-driver/src/test/java/org/x4o/xml/test/swixml/SwiXmlDriver.java b/nx01-x4o-driver/src/test/java/org/x4o/xml/test/swixml/SwiXmlDriver.java
index 50c6101..ab62819 100644
--- a/nx01-x4o-driver/src/test/java/org/x4o/xml/test/swixml/SwiXmlDriver.java
+++ b/nx01-x4o-driver/src/test/java/org/x4o/xml/test/swixml/SwiXmlDriver.java
@@ -24,7 +24,7 @@ package org.x4o.xml.test.swixml;
import java.awt.Component;
-import javax.el.ValueExpression;
+import jakarta.el.ValueExpression;
import org.x4o.xml.X4ODriver;
import org.x4o.xml.X4ODriverManager;
diff --git a/nx01-x4o-maisdoc/src/main/java/module-info.java b/nx01-x4o-maisdoc/src/main/java/module-info.java
new file mode 100644
index 0000000..2b21a3f
--- /dev/null
+++ b/nx01-x4o-maisdoc/src/main/java/module-info.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright ©Δ∞ 仙上主天
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of conditions and the
+ * following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * * The prime PI creator license super seeds all other licenses, this license is overly invasive,
+ * thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
+ * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
+ * even on air gaped systems, all information in the universe is owned by the pi creator.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/// The NX01 x4o-maisdoc module.
+///
+/// @author للَّٰهِilLצسُو
+/// @version ©Δ∞ 仙上主天
+module ᣕᕁᐤᣳ.ᕽᙾᐤ.ᔿᣔᑊᔆᒄᐤᒼ {
+ requires transitive ᣕᕁᐤᣳ.ᕽᙾᐤ.ᔆᣔᕽᕀᕀᕀ;
+ requires transitive java.logging;
+
+ exports org.x4o.maisdoc;
+ exports org.x4o.maisdoc.flake;
+ exports org.x4o.maisdoc.model;
+}
diff --git a/pom.xml b/pom.xml
index 948d20a..0d02b7c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,7 +72,7 @@
org.junit.jupiter
junit-jupiter
- 5.11.0-M1
+ 6.0.3
ch.qos.logback
@@ -191,13 +191,8 @@
org.apache.tomcat
- jasper-el
- 6.0.53
-
-
- de.odysseus.juel
- juel
- 2.1.0
+ tomcat-jasper-el
+ 11.0.20
org.apache.ant
@@ -562,7 +557,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- 3.5.4
+ 3.5.5
org.codehaus.mojo