Use a more official version of xlink XSD
authorMathieu <mbaudier@argeo.org>
Wed, 16 Nov 2022 06:03:16 +0000 (07:03 +0100)
committerMathieu <mbaudier@argeo.org>
Wed, 16 Nov 2022 06:03:16 +0000 (07:03 +0100)
org.argeo.cms/src/org/argeo/cms/acr/CmsContentNamespace.java
org.argeo.cms/src/org/argeo/cms/acr/schemas/xlink.xsd

index a36a70aa0a1b40f2e6696cd776d0ca4c452678c8..429b759fc03a4c6e4ff9fe5c20afd6f5bce12caa 100644 (file)
@@ -24,7 +24,7 @@ public enum CmsContentNamespace implements ContentNamespace {
        //
        XML("xml", "http://www.w3.org/XML/1998/namespace", "xml.xsd", "http://www.w3.org/2001/xml.xsd"),
        //
-       XLINK("xlink", "http://www.w3.org/1999/xlink", "xlink.xsd", "http://www.w3.org/XML/2008/06/xlink.xsd"),
+       XLINK("xlink", "http://www.w3.org/1999/xlink", "xlink.xsd", "https://www.w3.org/1999/xlink.xsd"),
        //
        WEBDAV("D", "DAV:", null, "https://raw.githubusercontent.com/lookfirst/sardine/master/webdav.xsd"),
        //
index e9ce6355ac4bda6f578300fccdbe0dd46cfadf9e..7f7107b58005ab0364805b9a7aee96fae6468689 100644 (file)
-<?xml version='1.0' encoding='UTF-8'?>\r
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink">\r
\r
- <xs:annotation>\r
-  <xs:documentation>This schema is not normative, or even definitive.  The\r
-prose copy in the XLink 1.1 recommendation (http://www.w3.org/TR/xlink11/) is\r
-definitive, although it should not differ from this file, except for the\r
-absence of these two initial comments.</xs:documentation>\r
- </xs:annotation>\r
\r
- <xs:annotation>\r
-  <xs:documentation>In keeping with the W3C's standard versioning\r
-   policy, this schema document will persist at\r
-   http://www.w3.org/XML/2008/06/xlink.xsd.\r
-   At the date of issue it can also be found at\r
-   http://www.w3.org/1999/xlink.xsd.\r
-   The schema document at that URI may however change in the future,\r
-   in order to remain compatible with the latest version of XML Schema\r
-   itself, or with the XLink namespace itself.  In other words, if the XML\r
-   Schema or XLink namespaces change, the version of this document at\r
-   http://www.w3.org/1999/xlink.xsd will change\r
-   accordingly; the version at\r
-   http://www.w3.org/2008/06/xlink.xsd will not change.\r
-</xs:documentation>\r
- </xs:annotation>\r
\r
- <xs:annotation>\r
-  <xs:documentation>This schema document provides attribute declarations and\r
-attribute group, complex type and simple type definitions which can be used in\r
-the construction of user schemas to define the structure of particular linking\r
-constructs, e.g.\r
-<![CDATA[\r
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\r
-           xmlns:xl="http://www.w3.org/1999/xlink">\r
-\r
- <xs:import namespace="http://www.w3.org/1999/xlink"\r
-            location="http://www.w3.org/1999/xlink.xsd">\r
-\r
- <xs:element name="mySimple">\r
-  <xs:complexType>\r
-   ...\r
-   <xs:attributeGroup ref="xl:simpleAttrs"/>\r
-   ...\r
-  </xs:complexType>\r
- </xs:element>\r
- ...\r
-</xs:schema>]]></xs:documentation>\r
- </xs:annotation>\r
-\r
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>\r
-\r
- <xs:attribute name="type" type="xlink:typeType"/>\r
-\r
- <xs:simpleType name="typeType">\r
-  <xs:restriction base="xs:token">\r
-   <xs:enumeration value="simple"/>\r
-   <xs:enumeration value="extended"/>\r
-   <xs:enumeration value="title"/>\r
-   <xs:enumeration value="resource"/>\r
-   <xs:enumeration value="locator"/>\r
-   <xs:enumeration value="arc"/>\r
-  </xs:restriction>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="href" type="xlink:hrefType"/>\r
-\r
- <xs:simpleType name="hrefType">\r
-  <xs:restriction base="xs:anyURI"/>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="role" type="xlink:roleType"/>\r
-\r
- <xs:simpleType name="roleType">\r
-  <xs:restriction base="xs:anyURI">\r
-   <xs:minLength value="1"/>\r
-  </xs:restriction>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="arcrole" type="xlink:arcroleType"/>\r
-\r
- <xs:simpleType name="arcroleType">\r
-  <xs:restriction base="xs:anyURI">\r
-   <xs:minLength value="1"/>\r
-  </xs:restriction>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="title" type="xlink:titleAttrType"/>\r
-\r
- <xs:simpleType name="titleAttrType">\r
-  <xs:restriction base="xs:string"/>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="show" type="xlink:showType"/>\r
-\r
- <xs:simpleType name="showType">\r
-  <xs:restriction base="xs:token">\r
-   <xs:enumeration value="new"/>\r
-   <xs:enumeration value="replace"/>\r
-   <xs:enumeration value="embed"/>\r
-   <xs:enumeration value="other"/>\r
-   <xs:enumeration value="none"/>\r
-  </xs:restriction>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="actuate" type="xlink:actuateType"/>\r
-\r
- <xs:simpleType name="actuateType">\r
-  <xs:restriction base="xs:token">\r
-   <xs:enumeration value="onLoad"/>\r
-   <xs:enumeration value="onRequest"/>\r
-   <xs:enumeration value="other"/>\r
-   <xs:enumeration value="none"/>\r
-  </xs:restriction>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="label" type="xlink:labelType"/>\r
-\r
- <xs:simpleType name="labelType">\r
-  <xs:restriction base="xs:NCName"/>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="from" type="xlink:fromType"/>\r
-\r
- <xs:simpleType name="fromType">\r
-  <xs:restriction base="xs:NCName"/>\r
- </xs:simpleType>\r
-\r
- <xs:attribute name="to" type="xlink:toType"/>\r
-\r
- <xs:simpleType name="toType">\r
-  <xs:restriction base="xs:NCName"/>\r
- </xs:simpleType>\r
-\r
- <xs:attributeGroup name="simpleAttrs">\r
-  <xs:attribute ref="xlink:type" fixed="simple"/>\r
-  <xs:attribute ref="xlink:href"/>\r
-  <xs:attribute ref="xlink:role"/>\r
-  <xs:attribute ref="xlink:arcrole"/>\r
-  <xs:attribute ref="xlink:title"/>\r
-  <xs:attribute ref="xlink:show"/>\r
-  <xs:attribute ref="xlink:actuate"/>\r
- </xs:attributeGroup>\r
-\r
- <xs:group name="simpleModel">\r
-  <xs:sequence>\r
-   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
-  </xs:sequence>\r
- </xs:group>\r
-\r
- <xs:complexType mixed="true" name="simple">\r
-  <xs:annotation>\r
-   <xs:documentation>\r
-    Intended for use as the type of user-declared elements to make them\r
-    simple links.\r
-   </xs:documentation>\r
-  </xs:annotation>\r
-  <xs:group ref="xlink:simpleModel"/>\r
-  <xs:attributeGroup ref="xlink:simpleAttrs"/>\r
- </xs:complexType>\r
-\r
- <xs:attributeGroup name="extendedAttrs">\r
-  <xs:attribute ref="xlink:type" fixed="extended" use="required"/>\r
-  <xs:attribute ref="xlink:role"/>\r
-  <xs:attribute ref="xlink:title"/>\r
- </xs:attributeGroup>\r
-\r
- <xs:group name="extendedModel">\r
-   <xs:choice>\r
-    <xs:element ref="xlink:title"/>\r
-    <xs:element ref="xlink:resource"/>\r
-    <xs:element ref="xlink:locator"/>\r
-    <xs:element ref="xlink:arc"/>\r
-  </xs:choice>\r
- </xs:group>\r
-\r
- <xs:complexType name="extended">\r
-  <xs:annotation>\r
-   <xs:documentation>\r
-    Intended for use as the type of user-declared elements to make them\r
-    extended links.\r
-    Note that the elements referenced in the content model are all abstract.\r
-    The intention is that by simply declaring elements with these as their\r
-    substitutionGroup, all the right things will happen.\r
-   </xs:documentation>\r
-  </xs:annotation>\r
-  <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/>\r
-  <xs:attributeGroup ref="xlink:extendedAttrs"/>\r
- </xs:complexType>\r
-\r
- <xs:element name="title" type="xlink:titleEltType" abstract="true"/>\r
-\r
- <xs:attributeGroup name="titleAttrs">\r
-  <xs:attribute ref="xlink:type" fixed="title" use="required"/>\r
-  <xs:attribute ref="xml:lang">\r
-   <xs:annotation>\r
-    <xs:documentation>\r
-     xml:lang is not required, but provides much of the\r
-     motivation for title elements in addition to attributes, and so\r
-     is provided here for convenience.\r
-    </xs:documentation>\r
-   </xs:annotation>\r
-  </xs:attribute>\r
- </xs:attributeGroup>\r
-\r
- <xs:group name="titleModel">\r
-  <xs:sequence>\r
-   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
-  </xs:sequence>\r
- </xs:group>\r
-\r
- <xs:complexType mixed="true" name="titleEltType">\r
-  <xs:group ref="xlink:titleModel"/>\r
-  <xs:attributeGroup ref="xlink:titleAttrs"/>\r
- </xs:complexType>\r
-\r
- <xs:element name="resource" type="xlink:resourceType" abstract="true"/>\r
-\r
- <xs:attributeGroup name="resourceAttrs">\r
-  <xs:attribute ref="xlink:type" fixed="resource" use="required"/>\r
-  <xs:attribute ref="xlink:role"/>\r
-  <xs:attribute ref="xlink:title"/>\r
-  <xs:attribute ref="xlink:label"/>\r
- </xs:attributeGroup>\r
-\r
- <xs:group name="resourceModel">\r
-  <xs:sequence>\r
-   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
-  </xs:sequence>\r
- </xs:group>\r
-\r
- <xs:complexType mixed="true" name="resourceType">\r
-  <xs:group ref="xlink:resourceModel"/>\r
-  <xs:attributeGroup ref="xlink:resourceAttrs"/>\r
- </xs:complexType>\r
-\r
- <xs:element name="locator" type="xlink:locatorType" abstract="true"/>\r
-\r
- <xs:attributeGroup name="locatorAttrs">\r
-  <xs:attribute ref="xlink:type" fixed="locator" use="required"/>\r
-  <xs:attribute ref="xlink:href" use="required"/>\r
-  <xs:attribute ref="xlink:role"/>\r
-  <xs:attribute ref="xlink:title"/>\r
-  <xs:attribute ref="xlink:label">\r
-   <xs:annotation>\r
-    <xs:documentation>\r
-     label is not required, but locators have no particular\r
-     XLink function if they are not labeled.\r
-    </xs:documentation>\r
-   </xs:annotation>\r
-  </xs:attribute>\r
- </xs:attributeGroup>\r
-\r
- <xs:group name="locatorModel">\r
-  <xs:sequence>\r
-   <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>\r
-  </xs:sequence>\r
- </xs:group>\r
-\r
- <xs:complexType name="locatorType">\r
-  <xs:group ref="xlink:locatorModel"/>\r
-  <xs:attributeGroup ref="xlink:locatorAttrs"/>\r
- </xs:complexType>\r
-\r
- <xs:element name="arc" type="xlink:arcType" abstract="true"/>\r
-\r
- <xs:attributeGroup name="arcAttrs">\r
-  <xs:attribute ref="xlink:type" fixed="arc" use="required"/>\r
-  <xs:attribute ref="xlink:arcrole"/>\r
-  <xs:attribute ref="xlink:title"/>\r
-  <xs:attribute ref="xlink:show"/>\r
-  <xs:attribute ref="xlink:actuate"/>\r
-  <xs:attribute ref="xlink:from"/>\r
-  <xs:attribute ref="xlink:to">\r
-   <xs:annotation>\r
-    <xs:documentation>\r
-     from and to have default behavior when values are missing\r
-    </xs:documentation>\r
-   </xs:annotation>\r
-  </xs:attribute>\r
- </xs:attributeGroup>\r
-\r
- <xs:group name="arcModel">\r
-  <xs:sequence>\r
-   <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>\r
-  </xs:sequence>\r
- </xs:group>\r
-\r
- <xs:complexType name="arcType">\r
-  <xs:group ref="xlink:arcModel"/>\r
-  <xs:attributeGroup ref="xlink:arcAttrs"/>\r
- </xs:complexType>\r
-\r
-</xs:schema>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <xs:annotation>
+  <xs:documentation>This schema document provides attribute declarations and
+attribute group, complex type and simple type definitions which can be used in
+the construction of user schemas to define the structure of particular linking
+constructs, e.g.
+<![CDATA[
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:xl="http://www.w3.org/1999/xlink">
+
+ <xs:import namespace="http://www.w3.org/1999/xlink"
+            location="http://www.w3.org/1999/xlink.xsd">
+
+ <xs:element name="mySimple">
+  <xs:complexType>
+   ...
+   <xs:attributeGroup ref="xl:simpleAttrs"/>
+   ...
+  </xs:complexType>
+ </xs:element>
+ ...
+</xs:schema>]]></xs:documentation>
+ </xs:annotation>
+
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+ <xs:attribute name="type" type="xlink:typeType"/>
+
+ <xs:simpleType name="typeType">
+  <xs:restriction base="xs:token">
+   <xs:enumeration value="simple"/>
+   <xs:enumeration value="extended"/>
+   <xs:enumeration value="title"/>
+   <xs:enumeration value="resource"/>
+   <xs:enumeration value="locator"/>
+   <xs:enumeration value="arc"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attribute name="href" type="xlink:hrefType"/>
+
+ <xs:simpleType name="hrefType">
+  <xs:restriction base="xs:anyURI"/>
+ </xs:simpleType>
+
+ <xs:attribute name="role" type="xlink:roleType"/>
+
+ <xs:simpleType name="roleType">
+  <xs:restriction base="xs:anyURI">
+   <xs:minLength value="1"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attribute name="arcrole" type="xlink:arcroleType"/>
+
+ <xs:simpleType name="arcroleType">
+  <xs:restriction base="xs:anyURI">
+   <xs:minLength value="1"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attribute name="title" type="xlink:titleAttrType"/>
+
+ <xs:simpleType name="titleAttrType">
+  <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+
+ <xs:attribute name="show" type="xlink:showType"/>
+
+ <xs:simpleType name="showType">
+  <xs:restriction base="xs:token">
+   <xs:enumeration value="new"/>
+   <xs:enumeration value="replace"/>
+   <xs:enumeration value="embed"/>
+   <xs:enumeration value="other"/>
+   <xs:enumeration value="none"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attribute name="actuate" type="xlink:actuateType"/>
+
+ <xs:simpleType name="actuateType">
+  <xs:restriction base="xs:token">
+   <xs:enumeration value="onLoad"/>
+   <xs:enumeration value="onRequest"/>
+   <xs:enumeration value="other"/>
+   <xs:enumeration value="none"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attribute name="label" type="xlink:labelType"/>
+
+ <xs:simpleType name="labelType">
+  <xs:restriction base="xs:NCName"/>
+ </xs:simpleType>
+
+ <xs:attribute name="from" type="xlink:fromType"/>
+
+ <xs:simpleType name="fromType">
+  <xs:restriction base="xs:NCName"/>
+ </xs:simpleType>
+
+ <xs:attribute name="to" type="xlink:toType"/>
+
+ <xs:simpleType name="toType">
+  <xs:restriction base="xs:NCName"/>
+ </xs:simpleType>
+
+ <xs:attributeGroup name="simpleAttrs">
+  <xs:attribute ref="xlink:type" fixed="simple"/>
+  <xs:attribute ref="xlink:href"/>
+  <xs:attribute ref="xlink:role"/>
+  <xs:attribute ref="xlink:arcrole"/>
+  <xs:attribute ref="xlink:title"/>
+  <xs:attribute ref="xlink:show"/>
+  <xs:attribute ref="xlink:actuate"/>
+ </xs:attributeGroup>
+
+ <xs:group name="simpleModel">
+  <xs:sequence>
+   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+  </xs:sequence>
+ </xs:group>
+
+ <xs:complexType mixed="true" name="simple">
+  <xs:annotation>
+   <xs:documentation>
+    Intended for use as the type of user-declared elements to make them
+    simple links.
+   </xs:documentation>
+  </xs:annotation>
+  <xs:group ref="xlink:simpleModel"/>
+  <xs:attributeGroup ref="xlink:simpleAttrs"/>
+ </xs:complexType>
+
+ <xs:attributeGroup name="extendedAttrs">
+  <xs:attribute ref="xlink:type" fixed="extended" use="required"/>
+  <xs:attribute ref="xlink:role"/>
+  <xs:attribute ref="xlink:title"/>
+ </xs:attributeGroup>
+
+ <xs:group name="extendedModel">
+   <xs:choice>
+    <xs:element ref="xlink:title"/>
+    <xs:element ref="xlink:resource"/>
+    <xs:element ref="xlink:locator"/>
+    <xs:element ref="xlink:arc"/>
+  </xs:choice>
+ </xs:group>
+
+ <xs:complexType name="extended">
+  <xs:annotation>
+   <xs:documentation>
+    Intended for use as the type of user-declared elements to make them
+    extended links.
+    Note that the elements referenced in the content model are all abstract.
+    The intention is that by simply declaring elements with these as their
+    substitutionGroup, all the right things will happen.
+   </xs:documentation>
+  </xs:annotation>
+  <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="xlink:extendedAttrs"/>
+ </xs:complexType>
+
+ <xs:element name="title" type="xlink:titleEltType" abstract="true"/>
+
+ <xs:attributeGroup name="titleAttrs">
+  <xs:attribute ref="xlink:type" fixed="title" use="required"/>
+  <xs:attribute ref="xml:lang">
+   <xs:annotation>
+    <xs:documentation>
+     xml:lang is not required, but provides much of the
+     motivation for title elements in addition to attributes, and so
+     is provided here for convenience.
+    </xs:documentation>
+   </xs:annotation>
+  </xs:attribute>
+ </xs:attributeGroup>
+
+ <xs:group name="titleModel">
+  <xs:sequence>
+   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+  </xs:sequence>
+ </xs:group>
+
+ <xs:complexType mixed="true" name="titleEltType">
+  <xs:group ref="xlink:titleModel"/>
+  <xs:attributeGroup ref="xlink:titleAttrs"/>
+ </xs:complexType>
+
+ <xs:element name="resource" type="xlink:resourceType" abstract="true"/>
+
+ <xs:attributeGroup name="resourceAttrs">
+  <xs:attribute ref="xlink:type" fixed="resource" use="required"/>
+  <xs:attribute ref="xlink:role"/>
+  <xs:attribute ref="xlink:title"/>
+  <xs:attribute ref="xlink:label"/>
+ </xs:attributeGroup>
+
+ <xs:group name="resourceModel">
+  <xs:sequence>
+   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+  </xs:sequence>
+ </xs:group>
+
+ <xs:complexType mixed="true" name="resourceType">
+  <xs:group ref="xlink:resourceModel"/>
+  <xs:attributeGroup ref="xlink:resourceAttrs"/>
+ </xs:complexType>
+
+ <xs:element name="locator" type="xlink:locatorType" abstract="true"/>
+
+ <xs:attributeGroup name="locatorAttrs">
+  <xs:attribute ref="xlink:type" fixed="locator" use="required"/>
+  <xs:attribute ref="xlink:href" use="required"/>
+  <xs:attribute ref="xlink:role"/>
+  <xs:attribute ref="xlink:title"/>
+  <xs:attribute ref="xlink:label">
+   <xs:annotation>
+    <xs:documentation>
+     label is not required, but locators have no particular
+     XLink function if they are not labeled.
+    </xs:documentation>
+   </xs:annotation>
+  </xs:attribute>
+ </xs:attributeGroup>
+
+ <xs:group name="locatorModel">
+  <xs:sequence>
+   <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
+  </xs:sequence>
+ </xs:group>
+
+ <xs:complexType name="locatorType">
+  <xs:group ref="xlink:locatorModel"/>
+  <xs:attributeGroup ref="xlink:locatorAttrs"/>
+ </xs:complexType>
+
+ <xs:element name="arc" type="xlink:arcType" abstract="true"/>
+
+ <xs:attributeGroup name="arcAttrs">
+  <xs:attribute ref="xlink:type" fixed="arc" use="required"/>
+  <xs:attribute ref="xlink:arcrole"/>
+  <xs:attribute ref="xlink:title"/>
+  <xs:attribute ref="xlink:show"/>
+  <xs:attribute ref="xlink:actuate"/>
+  <xs:attribute ref="xlink:from"/>
+  <xs:attribute ref="xlink:to">
+   <xs:annotation>
+    <xs:documentation>
+     from and to have default behavior when values are missing
+    </xs:documentation>
+   </xs:annotation>
+  </xs:attribute>
+ </xs:attributeGroup>
+
+ <xs:group name="arcModel">
+  <xs:sequence>
+   <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
+  </xs:sequence>
+ </xs:group>
+
+ <xs:complexType name="arcType">
+  <xs:group ref="xlink:arcModel"/>
+  <xs:attributeGroup ref="xlink:arcAttrs"/>
+ </xs:complexType>
+
+</xs:schema>
\ No newline at end of file