You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2022/10/06 09:33:54 UTC
[isis] 02/03: ISIS-2965 : copying changed schemas in website
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch 2.0.0-M8
in repository https://gitbox.apache.org/repos/asf/isis.git
commit fb189679b9b94581afeaadc76b5337a2966c182c
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 6 10:31:14 2022 +0100
ISIS-2965 : copying changed schemas in website
---
.../supplemental-ui/schema/common/common-2.0.xsd | 476 +++++++-------
antora/supplemental-ui/schema/common/common.xsd | 478 +++++++-------
.../schema/metamodel/metamodel-2.0.xsd | 691 +++++++++++---------
.../supplemental-ui/schema/metamodel/metamodel.xsd | 693 ++++++++++++---------
4 files changed, 1270 insertions(+), 1068 deletions(-)
diff --git a/antora/supplemental-ui/schema/common/common-2.0.xsd b/antora/supplemental-ui/schema/common/common-2.0.xsd
index 356d5ff7b3..b8a7e867b6 100644
--- a/antora/supplemental-ui/schema/common/common-2.0.xsd
+++ b/antora/supplemental-ui/schema/common/common-2.0.xsd
@@ -1,226 +1,252 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<xs:schema targetNamespace="http://isis.apache.org/schema/common"
- elementFormDefault="qualified"
- xmlns="http://isis.apache.org/schema/common"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:complexType name="valueDto">
- <xs:choice minOccurs="0" maxOccurs="1">
- <xs:element name="string" type="xs:string"/>
- <xs:element name="byte" type="xs:byte"/>
- <xs:element name="short" type="xs:short"/>
- <xs:element name="int" type="xs:int"/>
- <xs:element name="long" type="xs:long"/>
- <xs:element name="float" type="xs:float"/>
- <xs:element name="double" type="xs:double"/>
- <xs:element name="boolean" type="xs:boolean"/>
- <xs:element name="char" type="xs:string"/>
- <xs:element name="bigInteger" type="xs:integer"/>
- <xs:element name="bigDecimal" type="xs:decimal"/>
- <!-- java.time -->
- <xs:element name="localDate" type="xs:date"/>
- <xs:element name="localDateTime" type="xs:dateTime"/>
- <xs:element name="localTime" type="xs:time"/>
- <xs:element name="offsetTime" type="xs:time"/>
- <xs:element name="offsetDateTime" type="xs:dateTime"/>
- <xs:element name="zonedDateTime" type="xs:dateTime"/>
- <!-- joda -->
- <xs:element name="jodaDateTime" type="xs:dateTime"/>
- <xs:element name="jodaLocalDate" type="xs:date"/>
- <xs:element name="jodaLocalTime" type="xs:time"/>
- <xs:element name="jodaLocalDateTime" type="xs:dateTime"/>
- <!-- -->
- <xs:element name="timestamp" type="xs:dateTime"/>
- <xs:element name="enum" type="enumDto"/>
- <xs:element name="reference" type="oidDto"/>
- <xs:element name="collection" type="collectionDto"/>
- <xs:element name="blob" type="blobDto"/>
- <xs:element name="clob" type="clobDto"/>
- </xs:choice>
- </xs:complexType>
-
- <xs:complexType name="oidDto">
- <xs:attribute name="type" type="xs:string"/>
- <xs:attribute name="id" type="xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="collectionDto">
- <xs:annotation>
- <xs:documentation>A collection of (argument) values
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="value" type="valueDto" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="type" use="required" type="valueType"/>
- <xs:attribute name="null" use="optional" type="xs:boolean"/>
- </xs:complexType>
-
- <xs:complexType name="blobDto">
- <xs:annotation>
- <xs:documentation>A collection of (argument) values
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="mimeType" type="xs:string"/>
- <xs:element name="bytes" type="xs:hexBinary"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="clobDto">
- <xs:annotation>
- <xs:documentation>A collection of (argument) values
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="mimeType" type="xs:string"/>
- <xs:element name="chars" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="oidsDto">
- <xs:annotation>
- <xs:documentation>A list of OIDs
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="oid" type="oidDto" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="enumDto">
- <xs:sequence>
- <xs:element name="enumType" type="xs:string"/>
- <xs:element name="enumName" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:simpleType name="valueType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="string"/>
- <xs:enumeration value="byte"/>
- <xs:enumeration value="short"/>
- <xs:enumeration value="int"/>
- <xs:enumeration value="long"/>
- <xs:enumeration value="float"/>
- <xs:enumeration value="double"/>
- <xs:enumeration value="boolean"/>
- <xs:enumeration value="char"/>
- <xs:enumeration value="bigInteger"/>
- <xs:enumeration value="bigDecimal"/>
- <xs:enumeration value="javaSqlTimestamp"/>
- <!-- java.time -->
- <xs:enumeration value="localDateTime"/>
- <xs:enumeration value="localDate"/>
- <xs:enumeration value="localTime"/>
- <xs:enumeration value="offsetDateTime"/>
- <xs:enumeration value="offsetTime"/>
- <xs:enumeration value="zonedDateTime"/>
- <!-- joda -->
- <xs:enumeration value="jodaDateTime"/>
- <xs:enumeration value="jodaLocalDate"/>
- <xs:enumeration value="jodaLocalTime"/>
- <xs:enumeration value="jodaLocalDateTime"/>
- <!-- -->
- <xs:enumeration value="enum"/>
- <xs:enumeration value="reference"/>
- <xs:enumeration value="collection"/>
- <xs:enumeration value="blob"/>
- <xs:enumeration value="clob"/>
- <xs:enumeration value="void">
- <xs:annotation>
- <xs:documentation>Not valid to be used as the parameter type of an action; can be used as its return type.
- </xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:complexType name="periodDto">
- <xs:annotation>
- <xs:documentation>Captures a period of time, eg for capturing metrics/timings.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="startedAt" type="xs:dateTime">
- <xs:annotation>
- <xs:documentation>The point in time that this period of time started.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="completedAt" type="xs:dateTime" minOccurs="0" maxOccurs="1">
- <xs:annotation>
- <xs:documentation>The point in time that this period of time completed. The duration is the difference between 'start' and 'complete'.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="differenceDto">
- <xs:annotation>
- <xs:documentation>Captures a pair of numbers representing a difference. Used for example to capture metrics (number objects modified before and after).
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="before" type="xs:int">
- <xs:annotation>
- <xs:documentation>The initial quantity.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="after" type="xs:int">
- <xs:annotation>
- <xs:documentation>The final quantity, once known. The difference is therefore the computation of (after - before).
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="valueWithTypeDto">
- <xs:annotation>
- <xs:documentation>Captures both a value and its corresponding type. Used for the return value of action invocations, and for the new value in property edits.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="valueDto">
- <xs:attribute name="type" use="required" type="valueType"/>
- <xs:attribute name="null" use="optional" type="xs:boolean"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
-
- <xs:simpleType name="interactionType" >
- <xs:annotation>
- <xs:documentation>Whether this interaction with a member is invoking an action, or editing a property.</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:string">
- <xs:enumeration value="action_invocation" />
- <xs:enumeration value="property_edit" />
- </xs:restriction>
- </xs:simpleType>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<xs:schema targetNamespace="http://isis.apache.org/schema/common"
+ elementFormDefault="qualified"
+ xmlns="http://isis.apache.org/schema/common"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+ jaxb:extensionBindingPrefixes="xjc"
+ jaxb:version="1.0">
+
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:globalBindings generateIsSetMethod="false">
+ <xjc:serializable uid="1"/>
+ </jaxb:globalBindings>
+ </xs:appinfo>
+ </xs:annotation>
+
+ <xs:complexType name="valueDto">
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element name="string" type="xs:string"/>
+ <xs:element name="byte" type="xs:byte"/>
+ <xs:element name="short" type="xs:short"/>
+ <xs:element name="int" type="xs:int"/>
+ <xs:element name="long" type="xs:long"/>
+ <xs:element name="float" type="xs:float"/>
+ <xs:element name="double" type="xs:double"/>
+ <xs:element name="boolean" type="xs:boolean"/>
+ <xs:element name="char" type="xs:string"/>
+ <xs:element name="bigInteger" type="xs:integer"/>
+ <xs:element name="bigDecimal" type="xs:decimal"/>
+
+ <!-- temporal types -->
+ <xs:element name="localDate" type="xs:date"/>
+ <xs:element name="localDateTime" type="xs:dateTime"/>
+ <xs:element name="localTime" type="xs:time"/>
+ <xs:element name="offsetTime" type="xs:time"/>
+ <xs:element name="offsetDateTime" type="xs:dateTime"/>
+ <xs:element name="zonedDateTime" type="xs:dateTime"/>
+
+ <!-- complex types -->
<xs:element name="enum" type="enumDto"/>
+ <xs:element name="reference" type="oidDto"/>
+ <xs:element name="collection" type="collectionDto"/>
+ <xs:element name="composite" type="typedTupleDto"/>
+ <xs:element name="blob" type="blobDto"/>
+ <xs:element name="clob" type="clobDto"/>
+ </xs:choice>
+ </xs:complexType>
+
+ <xs:complexType name="typedTupleDto">
+ <xs:annotation>
+ <xs:documentation>A fixed-size ordered list of named type/value pairs.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="elements" type="namedValueWithTypeDto" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ <xs:attribute name="cardinality" use="required" type="xs:int"/>
+ </xs:complexType>
+
+ <xs:complexType name="oidDto">
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="id" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:complexType name="collectionDto">
+ <xs:annotation>
+ <xs:documentation>A collection of (argument) values
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="value" type="valueDto" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="type" use="required" type="valueType"/>
+ <xs:attribute name="null" use="optional" type="xs:boolean"/>
+ </xs:complexType>
+
+ <xs:complexType name="blobDto">
+ <xs:annotation>
+ <xs:documentation>A collection of (argument) values
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="mimeType" type="xs:string"/>
+ <xs:element name="bytes" type="xs:hexBinary"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="clobDto">
+ <xs:annotation>
+ <xs:documentation>A collection of (argument) values
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="mimeType" type="xs:string"/>
+ <xs:element name="chars" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="oidsDto">
+ <xs:annotation>
+ <xs:documentation>A list of OIDs
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="oid" type="oidDto" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="enumDto">
+ <xs:sequence>
+ <xs:element name="enumType" type="xs:string"/>
+ <xs:element name="enumName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:simpleType name="valueType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="void">
+ <xs:annotation>
+ <xs:documentation>Not valid to be used as the parameter type of an action; can be used as its return type.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="string"/>
+ <xs:enumeration value="byte"/>
+ <xs:enumeration value="short"/>
+ <xs:enumeration value="int"/>
+ <xs:enumeration value="long"/>
+ <xs:enumeration value="float"/>
+ <xs:enumeration value="double"/>
+ <xs:enumeration value="boolean"/>
+ <xs:enumeration value="char"/>
+ <xs:enumeration value="bigInteger"/>
+ <xs:enumeration value="bigDecimal"/>
+ <!-- temporal types -->
+ <xs:enumeration value="localDateTime"/>
+ <xs:enumeration value="localDate"/>
+ <xs:enumeration value="localTime"/>
+ <xs:enumeration value="offsetDateTime"/>
+ <xs:enumeration value="offsetTime"/>
+ <xs:enumeration value="zonedDateTime"/>
+ <!-- complex types -->
+ <xs:enumeration value="enum"/>
+ <xs:enumeration value="reference"/>
+ <xs:enumeration value="collection"/>
+ <xs:enumeration value="composite"/>
+ <xs:enumeration value="blob"/>
+ <xs:enumeration value="clob"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="periodDto">
+ <xs:annotation>
+ <xs:documentation>Captures a period of time, eg for capturing metrics/timings.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="startedAt" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>The point in time that this period of time started.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="completedAt" type="xs:dateTime" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>The point in time that this period of time completed. The duration is the difference between 'start' and 'complete'.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="differenceDto">
+ <xs:annotation>
+ <xs:documentation>Captures a pair of numbers representing a difference. Used for example to capture metrics (number objects modified before and after).
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ </xs:sequence>
+ <xs:attribute name="before" type="xs:int">
+ <xs:annotation>
+ <xs:documentation>The initial quantity.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="after" type="xs:int">
+ <xs:annotation>
+ <xs:documentation>The final quantity, once known. The difference is therefore the computation of (after - before).
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:complexType name="valueWithTypeDto">
+ <xs:annotation>
+ <xs:documentation>Captures both a value and its corresponding type. Used for the return value of action invocations, and for the new value in property edits.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="valueDto">
+ <xs:attribute name="type" use="required" type="valueType"/>
+ <xs:attribute name="null" use="optional" type="xs:boolean"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="namedValueWithTypeDto">
+ <xs:annotation>
+ <xs:documentation>Defines a named value, a tuple of: name, type and value.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="valueWithTypeDto">
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:simpleType name="interactionType" >
+ <xs:annotation>
+ <xs:documentation>Whether this interaction with a member is invoking an action, or editing a property.</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="action_invocation" />
+ <xs:enumeration value="property_edit" />
+ </xs:restriction>
+ </xs:simpleType>
+
</xs:schema>
\ No newline at end of file
diff --git a/antora/supplemental-ui/schema/common/common.xsd b/antora/supplemental-ui/schema/common/common.xsd
index b654d0ccf7..b8a7e867b6 100644
--- a/antora/supplemental-ui/schema/common/common.xsd
+++ b/antora/supplemental-ui/schema/common/common.xsd
@@ -1,226 +1,252 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<xs:schema targetNamespace="http://isis.apache.org/schema/common"
- elementFormDefault="qualified"
- xmlns="http://isis.apache.org/schema/common"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:complexType name="valueDto">
- <xs:choice minOccurs="0" maxOccurs="1">
- <xs:element name="string" type="xs:string"/>
- <xs:element name="byte" type="xs:byte"/>
- <xs:element name="short" type="xs:short"/>
- <xs:element name="int" type="xs:int"/>
- <xs:element name="long" type="xs:long"/>
- <xs:element name="float" type="xs:float"/>
- <xs:element name="double" type="xs:double"/>
- <xs:element name="boolean" type="xs:boolean"/>
- <xs:element name="char" type="xs:string"/>
- <xs:element name="bigInteger" type="xs:integer"/>
- <xs:element name="bigDecimal" type="xs:decimal"/>
- <!-- java.time -->
- <xs:element name="localDate" type="xs:date"/>
- <xs:element name="localDateTime" type="xs:dateTime"/>
- <xs:element name="localTime" type="xs:time"/>
- <xs:element name="offsetTime" type="xs:time"/>
- <xs:element name="offsetDateTime" type="xs:dateTime"/>
- <xs:element name="zonedDateTime" type="xs:dateTime"/>
- <!-- joda -->
- <xs:element name="jodaDateTime" type="xs:dateTime"/>
- <xs:element name="jodaLocalDate" type="xs:date"/>
- <xs:element name="jodaLocalTime" type="xs:time"/>
- <xs:element name="jodaLocalDateTime" type="xs:dateTime"/>
- <!-- -->
- <xs:element name="timestamp" type="xs:dateTime"/>
- <xs:element name="enum" type="enumDto"/>
- <xs:element name="reference" type="oidDto"/>
- <xs:element name="collection" type="collectionDto"/>
- <xs:element name="blob" type="blobDto"/>
- <xs:element name="clob" type="clobDto"/>
- </xs:choice>
- </xs:complexType>
-
- <xs:complexType name="oidDto">
- <xs:attribute name="type" type="xs:string"/>
- <xs:attribute name="id" type="xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="collectionDto">
- <xs:annotation>
- <xs:documentation>A collection of (argument) values
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="value" type="valueDto" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="type" use="required" type="valueType"/>
- <xs:attribute name="null" use="optional" type="xs:boolean"/>
- </xs:complexType>
-
- <xs:complexType name="blobDto">
- <xs:annotation>
- <xs:documentation>A collection of (argument) values
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="mimeType" type="xs:string"/>
- <xs:element name="bytes" type="xs:hexBinary"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="clobDto">
- <xs:annotation>
- <xs:documentation>A collection of (argument) values
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="mimeType" type="xs:string"/>
- <xs:element name="chars" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="oidsDto">
- <xs:annotation>
- <xs:documentation>A list of OIDs
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="oid" type="oidDto" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="enumDto">
- <xs:sequence>
- <xs:element name="enumType" type="xs:string"/>
- <xs:element name="enumName" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:simpleType name="valueType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="string"/>
- <xs:enumeration value="byte"/>
- <xs:enumeration value="short"/>
- <xs:enumeration value="int"/>
- <xs:enumeration value="long"/>
- <xs:enumeration value="float"/>
- <xs:enumeration value="double"/>
- <xs:enumeration value="boolean"/>
- <xs:enumeration value="char"/>
- <xs:enumeration value="bigInteger"/>
- <xs:enumeration value="bigDecimal"/>
- <xs:enumeration value="javaSqlTimestamp"/>
- <!-- java.time -->
- <xs:enumeration value="localDateTime"/>
- <xs:enumeration value="localDate"/>
- <xs:enumeration value="localTime"/>
- <xs:enumeration value="offsetDateTime"/>
- <xs:enumeration value="offsetTime"/>
- <xs:enumeration value="zonedDateTime"/>
- <!-- joda -->
- <xs:enumeration value="jodaDateTime"/>
- <xs:enumeration value="jodaLocalDate"/>
- <xs:enumeration value="jodaLocalTime"/>
- <xs:enumeration value="jodaLocalDateTime"/>
- <!-- -->
- <xs:enumeration value="enum"/>
- <xs:enumeration value="reference"/>
- <xs:enumeration value="collection"/>
- <xs:enumeration value="blob"/>
- <xs:enumeration value="clob"/>
- <xs:enumeration value="void">
- <xs:annotation>
- <xs:documentation>Not valid to be used as the parameter type of an action; can be used as its return type.
- </xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:complexType name="periodDto">
- <xs:annotation>
- <xs:documentation>Captures a period of time, eg for capturing metrics/timings.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="startedAt" type="xs:dateTime">
- <xs:annotation>
- <xs:documentation>The point in time that this period of time started.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="completedAt" type="xs:dateTime" minOccurs="0" maxOccurs="1">
- <xs:annotation>
- <xs:documentation>The point in time that this period of time completed. The duration is the difference between 'start' and 'complete'.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="differenceDto">
- <xs:annotation>
- <xs:documentation>Captures a pair of numbers representing a difference. Used for example to capture metrics (number objects modified before and after).
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="before" type="xs:int">
- <xs:annotation>
- <xs:documentation>The initial quantity.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="after" type="xs:int">
- <xs:annotation>
- <xs:documentation>The final quantity, once known. The difference is therefore the computation of (after - before).
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="valueWithTypeDto">
- <xs:annotation>
- <xs:documentation>Captures both a value and its corresponding type. Used for the return value of action invocations, and for the new value in property edits.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="valueDto">
- <xs:attribute name="type" use="required" type="valueType"/>
- <xs:attribute name="null" use="optional" type="xs:boolean"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
-
- <xs:simpleType name="interactionType" >
- <xs:annotation>
- <xs:documentation>Whether this interaction with a member is invoking an action, or editing a property.</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:string">
- <xs:enumeration value="action_invocation" />
- <xs:enumeration value="property_edit" />
- </xs:restriction>
- </xs:simpleType>
-
-</xs:schema>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<xs:schema targetNamespace="http://isis.apache.org/schema/common"
+ elementFormDefault="qualified"
+ xmlns="http://isis.apache.org/schema/common"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+ jaxb:extensionBindingPrefixes="xjc"
+ jaxb:version="1.0">
+
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:globalBindings generateIsSetMethod="false">
+ <xjc:serializable uid="1"/>
+ </jaxb:globalBindings>
+ </xs:appinfo>
+ </xs:annotation>
+
+ <xs:complexType name="valueDto">
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element name="string" type="xs:string"/>
+ <xs:element name="byte" type="xs:byte"/>
+ <xs:element name="short" type="xs:short"/>
+ <xs:element name="int" type="xs:int"/>
+ <xs:element name="long" type="xs:long"/>
+ <xs:element name="float" type="xs:float"/>
+ <xs:element name="double" type="xs:double"/>
+ <xs:element name="boolean" type="xs:boolean"/>
+ <xs:element name="char" type="xs:string"/>
+ <xs:element name="bigInteger" type="xs:integer"/>
+ <xs:element name="bigDecimal" type="xs:decimal"/>
+
+ <!-- temporal types -->
+ <xs:element name="localDate" type="xs:date"/>
+ <xs:element name="localDateTime" type="xs:dateTime"/>
+ <xs:element name="localTime" type="xs:time"/>
+ <xs:element name="offsetTime" type="xs:time"/>
+ <xs:element name="offsetDateTime" type="xs:dateTime"/>
+ <xs:element name="zonedDateTime" type="xs:dateTime"/>
+
+ <!-- complex types -->
<xs:element name="enum" type="enumDto"/>
+ <xs:element name="reference" type="oidDto"/>
+ <xs:element name="collection" type="collectionDto"/>
+ <xs:element name="composite" type="typedTupleDto"/>
+ <xs:element name="blob" type="blobDto"/>
+ <xs:element name="clob" type="clobDto"/>
+ </xs:choice>
+ </xs:complexType>
+
+ <xs:complexType name="typedTupleDto">
+ <xs:annotation>
+ <xs:documentation>A fixed-size ordered list of named type/value pairs.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="elements" type="namedValueWithTypeDto" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ <xs:attribute name="cardinality" use="required" type="xs:int"/>
+ </xs:complexType>
+
+ <xs:complexType name="oidDto">
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="id" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:complexType name="collectionDto">
+ <xs:annotation>
+ <xs:documentation>A collection of (argument) values
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="value" type="valueDto" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="type" use="required" type="valueType"/>
+ <xs:attribute name="null" use="optional" type="xs:boolean"/>
+ </xs:complexType>
+
+ <xs:complexType name="blobDto">
+ <xs:annotation>
+ <xs:documentation>A collection of (argument) values
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="mimeType" type="xs:string"/>
+ <xs:element name="bytes" type="xs:hexBinary"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="clobDto">
+ <xs:annotation>
+ <xs:documentation>A collection of (argument) values
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="mimeType" type="xs:string"/>
+ <xs:element name="chars" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="oidsDto">
+ <xs:annotation>
+ <xs:documentation>A list of OIDs
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="oid" type="oidDto" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="enumDto">
+ <xs:sequence>
+ <xs:element name="enumType" type="xs:string"/>
+ <xs:element name="enumName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:simpleType name="valueType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="void">
+ <xs:annotation>
+ <xs:documentation>Not valid to be used as the parameter type of an action; can be used as its return type.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="string"/>
+ <xs:enumeration value="byte"/>
+ <xs:enumeration value="short"/>
+ <xs:enumeration value="int"/>
+ <xs:enumeration value="long"/>
+ <xs:enumeration value="float"/>
+ <xs:enumeration value="double"/>
+ <xs:enumeration value="boolean"/>
+ <xs:enumeration value="char"/>
+ <xs:enumeration value="bigInteger"/>
+ <xs:enumeration value="bigDecimal"/>
+ <!-- temporal types -->
+ <xs:enumeration value="localDateTime"/>
+ <xs:enumeration value="localDate"/>
+ <xs:enumeration value="localTime"/>
+ <xs:enumeration value="offsetDateTime"/>
+ <xs:enumeration value="offsetTime"/>
+ <xs:enumeration value="zonedDateTime"/>
+ <!-- complex types -->
+ <xs:enumeration value="enum"/>
+ <xs:enumeration value="reference"/>
+ <xs:enumeration value="collection"/>
+ <xs:enumeration value="composite"/>
+ <xs:enumeration value="blob"/>
+ <xs:enumeration value="clob"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="periodDto">
+ <xs:annotation>
+ <xs:documentation>Captures a period of time, eg for capturing metrics/timings.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="startedAt" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>The point in time that this period of time started.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="completedAt" type="xs:dateTime" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>The point in time that this period of time completed. The duration is the difference between 'start' and 'complete'.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="differenceDto">
+ <xs:annotation>
+ <xs:documentation>Captures a pair of numbers representing a difference. Used for example to capture metrics (number objects modified before and after).
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ </xs:sequence>
+ <xs:attribute name="before" type="xs:int">
+ <xs:annotation>
+ <xs:documentation>The initial quantity.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="after" type="xs:int">
+ <xs:annotation>
+ <xs:documentation>The final quantity, once known. The difference is therefore the computation of (after - before).
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:complexType name="valueWithTypeDto">
+ <xs:annotation>
+ <xs:documentation>Captures both a value and its corresponding type. Used for the return value of action invocations, and for the new value in property edits.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="valueDto">
+ <xs:attribute name="type" use="required" type="valueType"/>
+ <xs:attribute name="null" use="optional" type="xs:boolean"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="namedValueWithTypeDto">
+ <xs:annotation>
+ <xs:documentation>Defines a named value, a tuple of: name, type and value.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="valueWithTypeDto">
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:simpleType name="interactionType" >
+ <xs:annotation>
+ <xs:documentation>Whether this interaction with a member is invoking an action, or editing a property.</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="action_invocation" />
+ <xs:enumeration value="property_edit" />
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
\ No newline at end of file
diff --git a/antora/supplemental-ui/schema/metamodel/metamodel-2.0.xsd b/antora/supplemental-ui/schema/metamodel/metamodel-2.0.xsd
index b5d37b71da..9aa2afd29a 100644
--- a/antora/supplemental-ui/schema/metamodel/metamodel-2.0.xsd
+++ b/antora/supplemental-ui/schema/metamodel/metamodel-2.0.xsd
@@ -1,311 +1,386 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<xs:schema targetNamespace="http://isis.apache.org/schema/metamodel"
- elementFormDefault="qualified"
- xmlns="http://isis.apache.org/schema/metamodel"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:element name="metamodelDto">
- <xs:complexType>
- <xs:sequence minOccurs="1" maxOccurs="unbounded">
- <xs:element ref="domainClassDto"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="domainClassDto">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation>Represents a domain class.
- Corresponds to ObjectSpecification in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="facetHolder">
- <xs:sequence>
- <xs:element name="majorVersion" type="xs:string" minOccurs="0" maxOccurs="1" default="2">
- <xs:annotation>
- <xs:documentation>The major version of the schema that an XML instance was created using.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="minorVersion" type="xs:string" minOccurs="0" maxOccurs="1" default="0">
- <xs:annotation>
- <xs:documentation>The minor version of the schema that an XML instance was created using.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="properties" minOccurs="0">
- <xs:annotation>
- <xs:documentation>The properties, if any, of this domain class. This will include any mixin properties.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="prop" type="property" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="collections" minOccurs="0">
- <xs:annotation>
- <xs:documentation>The collections, if any, of this domain class. This will include any mixin collections.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="coll" type="collection" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="actions" minOccurs="0">
- <xs:annotation>
- <xs:documentation>The actions, if any, of this domain class. This will include any mixin actions.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="act" type="action" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="id" type="xs:ID">
- <xs:annotation>
- <xs:documentation>The fully qualified class name of the underlying Java class.
- This is declared as 'xs:ID' so can be referenced elsewhere (using 'xs:IDREF')
-
- In the internal metamodel, corresponds to ObjectSpecification#getFullIdentifier()
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="service" type="xs:boolean">
- <xs:annotation>
- <xs:documentation>Whether this is a domain service</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
-
- <xs:complexType name="member">
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<xs:schema targetNamespace="http://isis.apache.org/schema/metamodel"
+ elementFormDefault="qualified"
+ xmlns="http://isis.apache.org/schema/metamodel"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="metamodelDto">
+ <xs:complexType>
+ <xs:sequence minOccurs="1" maxOccurs="unbounded">
+ <xs:element ref="domainClassDto"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="domainClassDto">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation>Represents a domain class.
+ Corresponds to ObjectSpecification in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="facetHolder">
+ <xs:sequence>
+ <xs:element name="majorVersion" type="xs:string" minOccurs="0" maxOccurs="1" default="2">
+ <xs:annotation>
+ <xs:documentation>The major version of the schema that an XML instance was created using.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="minorVersion" type="xs:string" minOccurs="0" maxOccurs="1" default="0">
+ <xs:annotation>
+ <xs:documentation>The minor version of the schema that an XML instance was created using.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="properties" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>The properties, if any, of this domain class. This will include any mixin properties.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="prop" type="property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="collections" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>The collections, if any, of this domain class. This will include any mixin collections.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="coll" type="collection" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="actions" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>The actions, if any, of this domain class. This will include any mixin actions.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="act" type="action" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID">
+ <xs:annotation>
+ <xs:documentation>The fully qualified class name of the underlying Java class.
+ This is declared as 'xs:ID' so can be referenced elsewhere (using 'xs:IDREF')
+
+ In the internal metamodel, corresponds to ObjectSpecification#getFullIdentifier()
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="service" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Whether this is a domain service</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+
+ <xs:complexType name="member">
+ <xs:annotation>
+ <xs:documentation>
+ Represents a member of a class (property, collection or
+ action). Corresponds to ObjectMember in the internal
+ metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="facetHolder">
+ <xs:attribute name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The id of the member, which should be unique
+ within the domain class. NB: this assumes no
+ overloading of method names.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="mixedIn" type="xs:boolean" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ Whether the member (action, property or collection) is mixed in.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="property">
+ <xs:annotation>
+ <xs:documentation>Represents a property of a domain class.
+ Corresponds to OneToOneAssociation in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="member">
+ <xs:sequence>
+ <xs:element name="type" type="xs:IDREF">
+ <xs:annotation>
+ <xs:documentation>A (reference to ) the type of this property, eg a String or a Customer.
+ Corresponds to OneToOneAssociation#getSpecification() in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="collection">
+ <xs:annotation>
+ <xs:documentation>Represents a collection of a domain class.
+ Corresponds to OneToManyAssociation in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="member">
+ <xs:sequence>
+ <xs:element name="type" type="xs:IDREF">
+ <xs:annotation>
+ <xs:documentation>A (reference to ) the _element_ type of this collection, eg a String or a Customer.
+ Corresponds to OneToOneAssociation#getSpecification() in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="action">
+ <xs:annotation>
+ <xs:documentation>Represents an action of a domain class.
+ Corresponds to ObjectAction in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="member">
+ <xs:sequence>
+ <xs:element name="returnType" type="xs:IDREF">
+ <xs:annotation>
+ <xs:documentation>A (reference to) the return type of this action, eg a String or a Customer.
+ Corresponds to ObjectAction#getReturnType() in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="params">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="param" type="param" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="param">
+ <xs:annotation>
+ <xs:documentation>Represents the parameter of an action
+ Corresponds to ObjectActionParameter in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="facetHolder">
+ <xs:sequence>
+ <xs:element name="type" type="xs:IDREF">
+ <xs:annotation>
+ <xs:documentation>(A reference to) the type of this action parameter, eg a String or a Customer.
+ For vector parameters, this is the element types of the collection parameter.
+ Corresponds to ObjectActionParameter#getSpecification() in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>The id of the parameter, which should be unique within the action.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="scalarParam">
+ <xs:annotation>
+ <xs:documentation>Represents a parameter of an action
+ Corresponds to OneToOneActionParameter in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="param">
+ <xs:sequence>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="vectorParam">
+ <xs:annotation>
+ <xs:documentation>Represents a multi-valued parameter of an action
+ Corresponds to OneToManyActionParameter in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="param">
+ <xs:sequence>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="facetHolder">
+ <xs:annotation>
+ <xs:documentation>
+ Corresponds to FacetHolder interface in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="metamodelElement">
+ <xs:sequence>
+ <xs:element name="facets" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="facet" type="facet" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="facet">
+ <xs:annotation>
+ <xs:documentation>
+ Describes a facet of the metamodel, for example whether
+ an action can be disabled, or the name of a class.
+ Corresponds to Facet interface in the internal
+ metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="metamodelElement">
+ <xs:sequence>
+ <xs:element name="attr" type="facetAttr" minOccurs="0"
+ maxOccurs="unbounded" />
</xs:sequence>
+ <xs:attribute name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The facet type (fqcn) that is common to a set of
+ concrete facet implementations. These ids are
+ usually known to the framework for there well
+ defined semantics within the programming model.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="fqcn" type="xs:string" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="facetAttr">
+ <xs:annotation>
+ <xs:documentation>
+ Describes an attribute of a facet of the metamodel, as a
+ simple key/value pair of strings (the key is modelled as
+ an attribute of the value).
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="metamodelElement">
+ <xs:attribute name="name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The name of the attribute, unique across all
+ facet attributes of a facet.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="value" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The value of the attribute.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="annotation">
+ <xs:annotation>
+ <xs:documentation>Not part of the metamodel. Enables export tools to add arbitrary meta data.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:annotation>
+ <xs:documentation>The value of the annotation.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>The name annotation.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="metamodelElement">
<xs:annotation>
- <xs:documentation>Represents a member of a class (property, collection or action).
- Corresponds to ObjectMember in the internal metamodel.
- </xs:documentation>
+ <xs:documentation>Common ancestor of facet and facetHolder.</xs:documentation>
</xs:annotation>
- <xs:complexContent>
- <xs:extension base="facetHolder">
- <xs:attribute name="id" type="xs:string">
- <xs:annotation>
- <xs:documentation>The id of the member, which should be unique within the domain class.
- NB: this assumes no overloading of method names.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="property">
- <xs:annotation>
- <xs:documentation>Represents a property of a domain class.
- Corresponds to OneToOneAssociation in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="member">
- <xs:sequence>
- <xs:element name="type" type="xs:IDREF">
- <xs:annotation>
- <xs:documentation>A (reference to ) the type of this property, eg a String or a Customer.
- Corresponds to OneToOneAssociation#getSpecification() in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="collection">
- <xs:annotation>
- <xs:documentation>Represents a collection of a domain class.
- Corresponds to OneToManyAssociation in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="member">
- <xs:sequence>
- <xs:element name="type" type="xs:IDREF">
- <xs:annotation>
- <xs:documentation>A (reference to ) the _element_ type of this collection, eg a String or a Customer.
- Corresponds to OneToOneAssociation#getSpecification() in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="action">
- <xs:annotation>
- <xs:documentation>Represents an action of a domain class.
- Corresponds to ObjectAction in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="member">
- <xs:sequence>
- <xs:element name="returnType" type="xs:IDREF">
- <xs:annotation>
- <xs:documentation>A (reference to) the return type of this action, eg a String or a Customer.
- Corresponds to ObjectAction#getReturnType() in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="params">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="param" type="param" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="param">
- <xs:annotation>
- <xs:documentation>Represents the parameter of an action
- Corresponds to ObjectActionParameter in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="facetHolder">
- <xs:sequence>
- <xs:element name="type" type="xs:IDREF">
- <xs:annotation>
- <xs:documentation>(A reference to) the type of this action parameter, eg a String or a Customer.
- For vector parameters, this is the element types of the collection parameter.
- Corresponds to ObjectActionParameter#getSpecification() in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string">
- <xs:annotation>
- <xs:documentation>The id of the parameter, which should be unique within the action.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="scalarParam">
- <xs:annotation>
- <xs:documentation>Represents a parameter of an action
- Corresponds to OneToOneActionParameter in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="param">
- <xs:sequence>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="vectorParam">
- <xs:annotation>
- <xs:documentation>Represents a multi-valued parameter of an action
- Corresponds to OneToManyActionParameter in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="param">
- <xs:sequence>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="facetHolder">
- <xs:annotation>
- <xs:documentation>Corresponds to FacetHolder interface in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="facets" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="facet" type="facet" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="facet">
- <xs:annotation>
- <xs:documentation>Describes a facet of the metamodel, for example whether an action can be disabled, or the name of a class.
- Corresponds to Facet interface in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="attr" type="facetAttr" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string">
- <xs:annotation>
- <xs:documentation>The facet type (fqcn) that is common to a set of concrete
- facet implementations. These ids are usually known to the framework for
- there well defined semantics within the programming model.
- </xs:documentation>
- </xs:annotation></xs:attribute>
- <xs:attribute name="fqcn" type="xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="facetAttr">
- <xs:annotation>
- <xs:documentation>Describes an attribute of a facet of the metamodel, as a simple key/value pair of strings (the key is modelled as an attribute of the value).
- </xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:annotation>
- <xs:documentation>The value of the attribute, unique across all facet attributes of a facet.
- </xs:documentation>
- </xs:annotation>
- <xs:attribute name="name" type="xs:string">
- <xs:annotation>
- <xs:documentation>The name of the attribute, unique across all facet attributes of a facet.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-
-
+ <xs:sequence>
+ <xs:element name="annotations" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Not part of the metamodel. Enables export tools
+ to add arbitrary meta data.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="asList" type="annotation"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
</xs:schema>
\ No newline at end of file
diff --git a/antora/supplemental-ui/schema/metamodel/metamodel.xsd b/antora/supplemental-ui/schema/metamodel/metamodel.xsd
index 035bfe5db4..9aa2afd29a 100644
--- a/antora/supplemental-ui/schema/metamodel/metamodel.xsd
+++ b/antora/supplemental-ui/schema/metamodel/metamodel.xsd
@@ -1,311 +1,386 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<xs:schema targetNamespace="http://isis.apache.org/schema/metamodel"
- elementFormDefault="qualified"
- xmlns="http://isis.apache.org/schema/metamodel"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:element name="metamodelDto">
- <xs:complexType>
- <xs:sequence minOccurs="1" maxOccurs="unbounded">
- <xs:element ref="domainClassDto"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="domainClassDto">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation>Represents a domain class.
- Corresponds to ObjectSpecification in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="facetHolder">
- <xs:sequence>
- <xs:element name="majorVersion" type="xs:string" minOccurs="0" maxOccurs="1" default="2">
- <xs:annotation>
- <xs:documentation>The major version of the schema that an XML instance was created using.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="minorVersion" type="xs:string" minOccurs="0" maxOccurs="1" default="0">
- <xs:annotation>
- <xs:documentation>The minor version of the schema that an XML instance was created using.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="properties" minOccurs="0">
- <xs:annotation>
- <xs:documentation>The properties, if any, of this domain class. This will include any mixin properties.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="prop" type="property" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="collections" minOccurs="0">
- <xs:annotation>
- <xs:documentation>The collections, if any, of this domain class. This will include any mixin collections.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="coll" type="collection" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="actions" minOccurs="0">
- <xs:annotation>
- <xs:documentation>The actions, if any, of this domain class. This will include any mixin actions.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="act" type="action" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="id" type="xs:ID">
- <xs:annotation>
- <xs:documentation>The fully qualified class name of the underlying Java class.
- This is declared as 'xs:ID' so can be referenced elsewhere (using 'xs:IDREF')
-
- In the internal metamodel, corresponds to ObjectSpecification#getFullIdentifier()
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="service" type="xs:boolean">
- <xs:annotation>
- <xs:documentation>Whether this is a domain service</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
-
- <xs:complexType name="member">
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<xs:schema targetNamespace="http://isis.apache.org/schema/metamodel"
+ elementFormDefault="qualified"
+ xmlns="http://isis.apache.org/schema/metamodel"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="metamodelDto">
+ <xs:complexType>
+ <xs:sequence minOccurs="1" maxOccurs="unbounded">
+ <xs:element ref="domainClassDto"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="domainClassDto">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation>Represents a domain class.
+ Corresponds to ObjectSpecification in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="facetHolder">
+ <xs:sequence>
+ <xs:element name="majorVersion" type="xs:string" minOccurs="0" maxOccurs="1" default="2">
+ <xs:annotation>
+ <xs:documentation>The major version of the schema that an XML instance was created using.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="minorVersion" type="xs:string" minOccurs="0" maxOccurs="1" default="0">
+ <xs:annotation>
+ <xs:documentation>The minor version of the schema that an XML instance was created using.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="properties" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>The properties, if any, of this domain class. This will include any mixin properties.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="prop" type="property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="collections" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>The collections, if any, of this domain class. This will include any mixin collections.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="coll" type="collection" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="actions" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>The actions, if any, of this domain class. This will include any mixin actions.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="act" type="action" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID">
+ <xs:annotation>
+ <xs:documentation>The fully qualified class name of the underlying Java class.
+ This is declared as 'xs:ID' so can be referenced elsewhere (using 'xs:IDREF')
+
+ In the internal metamodel, corresponds to ObjectSpecification#getFullIdentifier()
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="service" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Whether this is a domain service</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+
+ <xs:complexType name="member">
+ <xs:annotation>
+ <xs:documentation>
+ Represents a member of a class (property, collection or
+ action). Corresponds to ObjectMember in the internal
+ metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="facetHolder">
+ <xs:attribute name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The id of the member, which should be unique
+ within the domain class. NB: this assumes no
+ overloading of method names.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="mixedIn" type="xs:boolean" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ Whether the member (action, property or collection) is mixed in.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="property">
+ <xs:annotation>
+ <xs:documentation>Represents a property of a domain class.
+ Corresponds to OneToOneAssociation in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="member">
+ <xs:sequence>
+ <xs:element name="type" type="xs:IDREF">
+ <xs:annotation>
+ <xs:documentation>A (reference to ) the type of this property, eg a String or a Customer.
+ Corresponds to OneToOneAssociation#getSpecification() in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="collection">
+ <xs:annotation>
+ <xs:documentation>Represents a collection of a domain class.
+ Corresponds to OneToManyAssociation in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="member">
+ <xs:sequence>
+ <xs:element name="type" type="xs:IDREF">
+ <xs:annotation>
+ <xs:documentation>A (reference to ) the _element_ type of this collection, eg a String or a Customer.
+ Corresponds to OneToOneAssociation#getSpecification() in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="action">
+ <xs:annotation>
+ <xs:documentation>Represents an action of a domain class.
+ Corresponds to ObjectAction in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="member">
+ <xs:sequence>
+ <xs:element name="returnType" type="xs:IDREF">
+ <xs:annotation>
+ <xs:documentation>A (reference to) the return type of this action, eg a String or a Customer.
+ Corresponds to ObjectAction#getReturnType() in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="params">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="param" type="param" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="param">
+ <xs:annotation>
+ <xs:documentation>Represents the parameter of an action
+ Corresponds to ObjectActionParameter in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="facetHolder">
+ <xs:sequence>
+ <xs:element name="type" type="xs:IDREF">
+ <xs:annotation>
+ <xs:documentation>(A reference to) the type of this action parameter, eg a String or a Customer.
+ For vector parameters, this is the element types of the collection parameter.
+ Corresponds to ObjectActionParameter#getSpecification() in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>The id of the parameter, which should be unique within the action.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="scalarParam">
+ <xs:annotation>
+ <xs:documentation>Represents a parameter of an action
+ Corresponds to OneToOneActionParameter in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="param">
+ <xs:sequence>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="vectorParam">
+ <xs:annotation>
+ <xs:documentation>Represents a multi-valued parameter of an action
+ Corresponds to OneToManyActionParameter in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="param">
+ <xs:sequence>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="facetHolder">
+ <xs:annotation>
+ <xs:documentation>
+ Corresponds to FacetHolder interface in the internal metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="metamodelElement">
+ <xs:sequence>
+ <xs:element name="facets" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="facet" type="facet" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="facet">
+ <xs:annotation>
+ <xs:documentation>
+ Describes a facet of the metamodel, for example whether
+ an action can be disabled, or the name of a class.
+ Corresponds to Facet interface in the internal
+ metamodel.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="metamodelElement">
+ <xs:sequence>
+ <xs:element name="attr" type="facetAttr" minOccurs="0"
+ maxOccurs="unbounded" />
</xs:sequence>
+ <xs:attribute name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The facet type (fqcn) that is common to a set of
+ concrete facet implementations. These ids are
+ usually known to the framework for there well
+ defined semantics within the programming model.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="fqcn" type="xs:string" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="facetAttr">
+ <xs:annotation>
+ <xs:documentation>
+ Describes an attribute of a facet of the metamodel, as a
+ simple key/value pair of strings (the key is modelled as
+ an attribute of the value).
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="metamodelElement">
+ <xs:attribute name="name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The name of the attribute, unique across all
+ facet attributes of a facet.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="value" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The value of the attribute.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="annotation">
+ <xs:annotation>
+ <xs:documentation>Not part of the metamodel. Enables export tools to add arbitrary meta data.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:annotation>
+ <xs:documentation>The value of the annotation.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>The name annotation.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="metamodelElement">
<xs:annotation>
- <xs:documentation>Represents a member of a class (property, collection or action).
- Corresponds to ObjectMember in the internal metamodel.
- </xs:documentation>
+ <xs:documentation>Common ancestor of facet and facetHolder.</xs:documentation>
</xs:annotation>
- <xs:complexContent>
- <xs:extension base="facetHolder">
- <xs:attribute name="id" type="xs:string">
- <xs:annotation>
- <xs:documentation>The id of the member, which should be unique within the domain class.
- NB: this assumes no overloading of method names.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="property">
- <xs:annotation>
- <xs:documentation>Represents a property of a domain class.
- Corresponds to OneToOneAssociation in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="member">
- <xs:sequence>
- <xs:element name="type" type="xs:IDREF">
- <xs:annotation>
- <xs:documentation>A (reference to ) the type of this property, eg a String or a Customer.
- Corresponds to OneToOneAssociation#getSpecification() in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="collection">
- <xs:annotation>
- <xs:documentation>Represents a collection of a domain class.
- Corresponds to OneToManyAssociation in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="member">
- <xs:sequence>
- <xs:element name="type" type="xs:IDREF">
- <xs:annotation>
- <xs:documentation>A (reference to ) the _element_ type of this collection, eg a String or a Customer.
- Corresponds to OneToOneAssociation#getSpecification() in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="action">
- <xs:annotation>
- <xs:documentation>Represents an action of a domain class.
- Corresponds to ObjectAction in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="member">
- <xs:sequence>
- <xs:element name="returnType" type="xs:IDREF">
- <xs:annotation>
- <xs:documentation>A (reference to) the return type of this action, eg a String or a Customer.
- Corresponds to ObjectAction#getReturnType() in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="params">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="param" type="param" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="param">
- <xs:annotation>
- <xs:documentation>Represents the parameter of an action
- Corresponds to ObjectActionParameter in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="facetHolder">
- <xs:sequence>
- <xs:element name="type" type="xs:IDREF">
- <xs:annotation>
- <xs:documentation>(A reference to) the type of this action parameter, eg a String or a Customer.
- For vector parameters, this is the element types of the collection parameter.
- Corresponds to ObjectActionParameter#getSpecification() in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string">
- <xs:annotation>
- <xs:documentation>The id of the parameter, which should be unique within the action.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="scalarParam">
- <xs:annotation>
- <xs:documentation>Represents a parameter of an action
- Corresponds to OneToOneActionParameter in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="param">
- <xs:sequence>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="vectorParam">
- <xs:annotation>
- <xs:documentation>Represents a multi-valued parameter of an action
- Corresponds to OneToManyActionParameter in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="param">
- <xs:sequence>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="facetHolder">
- <xs:annotation>
- <xs:documentation>Corresponds to FacetHolder interface in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="facets" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="facet" type="facet" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="facet">
- <xs:annotation>
- <xs:documentation>Describes a facet of the metamodel, for example whether an action can be disabled, or the name of a class.
- Corresponds to Facet interface in the internal metamodel.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="attr" type="facetAttr" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string">
- <xs:annotation>
- <xs:documentation>The facet type (fqcn) that is common to a set of concrete
- facet implementations. These ids are usually known to the framework for
- there well defined semantics within the programming model.
- </xs:documentation>
- </xs:annotation></xs:attribute>
- <xs:attribute name="fqcn" type="xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="facetAttr">
- <xs:annotation>
- <xs:documentation>Describes an attribute of a facet of the metamodel, as a simple key/value pair of strings (the key is modelled as an attribute of the value).
- </xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:annotation>
- <xs:documentation>The value of the attribute, unique across all facet attributes of a facet.
- </xs:documentation>
- </xs:annotation>
- <xs:attribute name="name" type="xs:string">
- <xs:annotation>
- <xs:documentation>The name of the attribute, unique across all facet attributes of a facet.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-
-
-</xs:schema>
+ <xs:sequence>
+ <xs:element name="annotations" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Not part of the metamodel. Enables export tools
+ to add arbitrary meta data.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="asList" type="annotation"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
\ No newline at end of file