This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 9c99d892bb299c8338784ddf7121ddf94f345a4a
Author: Andy Seaborne <[email protected]>
AuthorDate: Sun Nov 9 17:10:33 2025 +0000

    Remove XSD datatypes that are not RDF-compatible
---
 .../org/apache/jena/datatypes/xsd/XSDDatatype.java | 83 ++++------------------
 1 file changed, 13 insertions(+), 70 deletions(-)

diff --git 
a/jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDatatype.java 
b/jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDatatype.java
index f0e34a2d11..eea5e01bd1 100644
--- a/jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDatatype.java
+++ b/jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDatatype.java
@@ -31,8 +31,6 @@ import org.apache.jena.ext.xerces.impl.dv.*;
 import org.apache.jena.ext.xerces.impl.dv.util.Base64;
 import org.apache.jena.ext.xerces.impl.dv.util.HexBin;
 import org.apache.jena.ext.xerces.impl.dv.xs.DecimalDV;
-import org.apache.jena.ext.xerces.impl.dv.xs.XSSimpleTypeDecl;
-import org.apache.jena.ext.xerces.util.SymbolHash;
 import org.apache.jena.ext.xerces.xs.XSConstants;
 import org.apache.jena.ext.xerces.xs.XSTypeDefinition;
 import org.apache.jena.graph.impl.LiteralLabel ;
@@ -107,62 +105,27 @@ public class XSDDatatype extends BaseDatatype {
     /** Datatype representing xsd:string */
     public static final XSDDatatype XSDstring = new 
XSDBaseStringType("string", String.class);
 
-    /** Datatype representing xsd:normalizedString */
-    public static final XSDDatatype XSDnormalizedString = new 
XSDBaseStringType("normalizedString", String.class);
-
     /** Datatype representing xsd:anyURI */
     public static final XSDDatatype XSDanyURI = new XSDPlainType("anyURI", 
URI.class);
 
-    /** Datatype representing xsd:token */
-    public static final XSDDatatype XSDtoken = new XSDBaseStringType("token");
-
-    /** Datatype representing xsd:Name */
-    public static final XSDDatatype XSDName = new XSDBaseStringType("Name");
-
-    /**
-     * Datatype representing xsd:QName
-     * @deprecated will be removed in Jena 6
-     */
-    @Deprecated(forRemoval = true)
-    public static final XSDDatatype XSDQName = new XSDPlainType("QName");
-
     /** Datatype representing xsd:language */
     public static final XSDDatatype XSDlanguage = new 
XSDBaseStringType("language");
 
+    /** Datatype representing xsd:normalizedString */
+    public static final XSDDatatype XSDnormalizedString = new 
XSDBaseStringType("normalizedString", String.class);
+
+    /** Datatype representing xsd:token */
+    public static final XSDDatatype XSDtoken = new XSDBaseStringType("token");
+
     /** Datatype representing xsd:NMTOKEN */
     public static final XSDDatatype XSDNMTOKEN = new 
XSDBaseStringType("NMTOKEN");
 
-    /**
-     * Datatype representing xsd:ENTITY
-     * @deprecated will be removed in Jena 6
-     */
-    @Deprecated(forRemoval = true)
-    public static final XSDDatatype XSDENTITY = new 
XSDBaseStringType("ENTITY");
-
-    /**
-     * Datatype representing xsd:ID
-     * @deprecated will be removed in Jena 6
-     */
-    @Deprecated(forRemoval = true)
-    public static final XSDDatatype XSDID = new XSDBaseStringType("ID");
+    /** Datatype representing xsd:Name */
+    public static final XSDDatatype XSDName = new XSDBaseStringType("Name");
 
     /** Datatype representing xsd:NCName */
     public static final XSDDatatype XSDNCName = new 
XSDBaseStringType("NCName");
 
-    /**
-     * Datatype representing xsd:IDREF
-     * @deprecated will be removed in Jena 6
-     */
-    @Deprecated(forRemoval = true)
-    public static final XSDDatatype XSDIDREF = new XSDPlainType("IDREF");
-
-    /**
-     * Datatype representing xsd:NOTATION
-     * @deprecated will be removed in Jena 6
-     */
-    @Deprecated(forRemoval = true)
-    public static final XSDDatatype XSDNOTATION = new XSDPlainType("NOTATION");
-
     /** Datatype representing xsd:hexBinary */
     public static final XSDDatatype XSDhexBinary = new 
XSDhexBinary("hexBinary");
 
@@ -470,7 +433,10 @@ public class XSDDatatype extends BaseDatatype {
      * type mapper registry.
      */
     public static void loadXSDSimpleTypes(TypeMapper tm) {
-        tm.registerDatatype(new XSDDatatype("anySimpleType"));
+
+        // There are 39 XSD atomic datatypes (RDF 1.2)
+        //   excluding xsd:precisionDecimal -- not part of XSD 1.1 datatypes, 
defined in a separate document
+        //   excluding xsd:anySimpleType and xsd:anyAtomicType -- "Special 
types"
 
         tm.registerDatatype(XSDdecimal);
         tm.registerDatatype(XSDinteger);
@@ -515,16 +481,9 @@ public class XSDDatatype extends BaseDatatype {
         tm.registerDatatype(XSDName);
         tm.registerDatatype(XSDlanguage);
 
-        // According to the RDF 1.1 spec, these datatypes SHOULD NOT be used 
in RDF.
-        // Jena will not do any special handling or validation of these 
datatypes.
-        tm.registerDatatype(XSDQName);
         tm.registerDatatype(XSDNMTOKEN);
-        tm.registerDatatype(XSDID);
-        tm.registerDatatype(XSDENTITY);
         tm.registerDatatype(XSDNCName);
-        tm.registerDatatype(XSDNOTATION);
-        tm.registerDatatype(XSDIDREF);
-    }
+        }
 
     /**
      * Generic XML Schema datatype (outside the xsd: namespace)
@@ -549,20 +508,4 @@ public class XSDDatatype extends BaseDatatype {
             super(xstype, namespace);
         }
     }
-
-    // Used to bootstrap the above initialization code
-    public static void main(String[] args) {
-        SymbolHash types = SchemaDVFactory.getInstance().getBuiltInTypes();
-        int len = types.getLength();
-        Object[] values = new Object[len];
-        types.getValues(values, 0);
-        for ( Object value : values ) {
-            if ( value instanceof XSSimpleTypeDecl ) {
-                XSSimpleTypeDecl decl = (XSSimpleTypeDecl)value ;
-                System.out.println("tm.registerDatatype(new XSDDatatype(\"" + 
decl.getName() + "\"));") ;
-            } else {
-                System.out.println(" - " + value) ;
-            }
-        }
-    }
 }

Reply via email to