Added: dev/commons/vfs/2.4-RC1/site/commons-vfs2/japicmp.xsd ============================================================================== --- dev/commons/vfs/2.4-RC1/site/commons-vfs2/japicmp.xsd (added) +++ dev/commons/vfs/2.4-RC1/site/commons-vfs2/japicmp.xsd Fri Jul 12 15:50:57 2019 @@ -0,0 +1,457 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:element name="japicmp" type="jApiCmpXmlRoot"/> + + <xs:complexType name="jApiCmpXmlRoot"> + <xs:sequence> + <xs:element name="classes" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="class" type="jApiClass" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="accessModifier" type="xs:string"/> + <xs:attribute name="creationTimestamp" type="xs:string"/> + <xs:attribute name="ignoreMissingClasses" type="xs:boolean" use="required"/> + <xs:attribute name="ignoreMissingClassesByRegularExpressions" type="xs:string"/> + <xs:attribute name="newJar" type="xs:string"/> + <xs:attribute name="newVersion" type="xs:string"/> + <xs:attribute name="oldJar" type="xs:string"/> + <xs:attribute name="oldVersion" type="xs:string"/> + <xs:attribute name="onlyBinaryIncompatibleModifications" type="xs:boolean" use="required"/> + <xs:attribute name="onlyModifications" type="xs:boolean" use="required"/> + <xs:attribute name="packagesExclude" type="xs:string"/> + <xs:attribute name="packagesInclude" type="xs:string"/> + <xs:attribute name="semanticVersioning" type="xs:string"/> + <xs:attribute name="title" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiClass"> + <xs:sequence> + <xs:element name="annotations" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="annotation" type="jApiAnnotation" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="attributes" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="attribute" type="jApiAttribute" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="classFileFormatVersion" type="jApiClassFileFormatVersion" minOccurs="0"/> + <xs:element name="classType" type="jApiClassType" minOccurs="0"/> + <xs:element name="compatibilityChanges" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="compatibilityChange" type="jApiCompatibilityChange" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="constructors" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="constructor" type="jApiConstructor" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="fields" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="field" type="jApiField" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="interfaces" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="interface" type="jApiImplementedInterface" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="methods" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="method" type="jApiMethod" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="modifiers" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="modifier" type="jApiModifier" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="serialVersionUid" type="jApiSerialVersionUid" minOccurs="0"/> + <xs:element name="superclass" type="jApiSuperclass" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="binaryCompatible" type="xs:boolean" use="required"/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="fullyQualifiedName" type="xs:string"/> + <xs:attribute name="javaObjectSerializationCompatible" type="jApiJavaObjectSerializationChangeStatus"/> + <xs:attribute name="javaObjectSerializationCompatibleAsString" type="xs:string"/> + <xs:attribute name="sourceCompatible" type="xs:boolean" use="required"/> + </xs:complexType> + + <xs:complexType name="jApiAnnotation"> + <xs:sequence> + <xs:element name="compatibilityChanges" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="compatibilityChange" type="jApiCompatibilityChange" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="elements" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="element" type="jApiAnnotationElement" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="binaryCompatible" type="xs:boolean" use="required"/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="fullyQualifiedName" type="xs:string"/> + <xs:attribute name="sourceCompatible" type="xs:boolean" use="required"/> + </xs:complexType> + + <xs:complexType name="jApiAnnotationElement"> + <xs:sequence> + <xs:element name="compatibilityChanges" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="compatibilityChange" type="jApiCompatibilityChange" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="newElementValues" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="newElementValue" type="jApiAnnotationElementValue" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="oldElementValues" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="oldElementValue" type="jApiAnnotationElementValue" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="binaryCompatible" type="xs:boolean" use="required"/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="name" type="xs:string"/> + <xs:attribute name="sourceCompatible" type="xs:boolean" use="required"/> + </xs:complexType> + + <xs:complexType name="jApiAnnotationElementValue"> + <xs:sequence> + <xs:element name="values" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="value" type="jApiAnnotationElementValue" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="fullyQualifiedName" type="xs:string"/> + <xs:attribute name="name" type="xs:string"/> + <xs:attribute name="type" type="xs:string"/> + <xs:attribute name="value" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiAttribute"> + <xs:sequence/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="newValue" type="xs:string"/> + <xs:attribute name="oldValue" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiClassFileFormatVersion"> + <xs:sequence/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="majorVersionNew" type="xs:int" use="required"/> + <xs:attribute name="majorVersionOld" type="xs:int" use="required"/> + <xs:attribute name="minorVersionNew" type="xs:int" use="required"/> + <xs:attribute name="minorVersionOld" type="xs:int" use="required"/> + </xs:complexType> + + <xs:complexType name="jApiClassType"> + <xs:sequence/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="newType" type="xs:string"/> + <xs:attribute name="oldType" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiConstructor"> + <xs:complexContent> + <xs:extension base="jApiBehavior"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="jApiBehavior"> + <xs:sequence> + <xs:element name="annotations" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="annotation" type="jApiAnnotation" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="attributes" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="attribute" type="jApiAttribute" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="compatibilityChanges" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="compatibilityChange" type="jApiCompatibilityChange" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="exceptions" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="exception" type="jApiException" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="modifiers" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="modifier" type="jApiModifier" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="parameters" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="parameter" type="jApiParameter" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="binaryCompatible" type="xs:boolean" use="required"/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="name" type="xs:string"/> + <xs:attribute name="newLineNumber" type="xs:string"/> + <xs:attribute name="oldLineNumber" type="xs:string"/> + <xs:attribute name="sourceCompatible" type="xs:boolean" use="required"/> + </xs:complexType> + + <xs:complexType name="jApiException"> + <xs:sequence/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="name" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiModifier"> + <xs:sequence/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="newValue" type="xs:string"/> + <xs:attribute name="oldValue" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiParameter"> + <xs:sequence/> + <xs:attribute name="type" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiField"> + <xs:sequence> + <xs:element name="annotations" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="annotation" type="jApiAnnotation" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="attributes" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="attribute" type="jApiAttribute" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="compatibilityChanges" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="compatibilityChange" type="jApiCompatibilityChange" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="modifiers" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="modifier" type="jApiModifier" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="type" type="jApiType" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="binaryCompatible" type="xs:boolean" use="required"/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="name" type="xs:string"/> + <xs:attribute name="sourceCompatible" type="xs:boolean" use="required"/> + </xs:complexType> + + <xs:complexType name="jApiType"> + <xs:sequence/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="newValue" type="xs:string"/> + <xs:attribute name="oldValue" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiImplementedInterface"> + <xs:sequence> + <xs:element name="compatibilityChanges" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="compatibilityChange" type="jApiCompatibilityChange" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="binaryCompatible" type="xs:boolean" use="required"/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="fullyQualifiedName" type="xs:string"/> + <xs:attribute name="sourceCompatible" type="xs:boolean" use="required"/> + </xs:complexType> + + <xs:complexType name="jApiMethod"> + <xs:complexContent> + <xs:extension base="jApiBehavior"> + <xs:sequence> + <xs:element name="returnType" type="jApiReturnType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="jApiReturnType"> + <xs:sequence/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="newValue" type="xs:string"/> + <xs:attribute name="oldValue" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="jApiSerialVersionUid"> + <xs:sequence/> + <xs:attribute name="serialVersionUidDefaultNew" type="xs:string"/> + <xs:attribute name="serialVersionUidDefaultOld" type="xs:string"/> + <xs:attribute name="serialVersionUidInClassNew" type="xs:string"/> + <xs:attribute name="serialVersionUidInClassOld" type="xs:string"/> + <xs:attribute name="serializableNew" type="xs:boolean" use="required"/> + <xs:attribute name="serializableOld" type="xs:boolean" use="required"/> + </xs:complexType> + + <xs:complexType name="jApiSuperclass"> + <xs:sequence> + <xs:element name="compatibilityChanges" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="compatibilityChange" type="jApiCompatibilityChange" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="binaryCompatible" type="xs:boolean" use="required"/> + <xs:attribute name="changeStatus" type="jApiChangeStatus"/> + <xs:attribute name="sourceCompatible" type="xs:boolean" use="required"/> + <xs:attribute name="superclassNew" type="xs:string"/> + <xs:attribute name="superclassOld" type="xs:string"/> + </xs:complexType> + + <xs:simpleType name="jApiChangeStatus"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NEW"/> + <xs:enumeration value="REMOVED"/> + <xs:enumeration value="UNCHANGED"/> + <xs:enumeration value="MODIFIED"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="jApiCompatibilityChange"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ANNOTATION_DEPRECATED_ADDED"/> + <xs:enumeration value="CLASS_REMOVED"/> + <xs:enumeration value="CLASS_NOW_ABSTRACT"/> + <xs:enumeration value="CLASS_NOW_FINAL"/> + <xs:enumeration value="CLASS_NO_LONGER_PUBLIC"/> + <xs:enumeration value="CLASS_TYPE_CHANGED"/> + <xs:enumeration value="CLASS_NOW_CHECKED_EXCEPTION"/> + <xs:enumeration value="CLASS_LESS_ACCESSIBLE"/> + <xs:enumeration value="SUPERCLASS_REMOVED"/> + <xs:enumeration value="SUPERCLASS_ADDED"/> + <xs:enumeration value="SUPERCLASS_MODIFIED_INCOMPATIBLE"/> + <xs:enumeration value="INTERFACE_ADDED"/> + <xs:enumeration value="INTERFACE_REMOVED"/> + <xs:enumeration value="METHOD_REMOVED"/> + <xs:enumeration value="METHOD_REMOVED_IN_SUPERCLASS"/> + <xs:enumeration value="METHOD_LESS_ACCESSIBLE"/> + <xs:enumeration value="METHOD_LESS_ACCESSIBLE_THAN_IN_SUPERCLASS"/> + <xs:enumeration value="METHOD_IS_STATIC_AND_OVERRIDES_NOT_STATIC"/> + <xs:enumeration value="METHOD_RETURN_TYPE_CHANGED"/> + <xs:enumeration value="METHOD_NOW_ABSTRACT"/> + <xs:enumeration value="METHOD_NOW_FINAL"/> + <xs:enumeration value="METHOD_NOW_STATIC"/> + <xs:enumeration value="METHOD_NO_LONGER_STATIC"/> + <xs:enumeration value="METHOD_ADDED_TO_INTERFACE"/> + <xs:enumeration value="METHOD_NOW_THROWS_CHECKED_EXCEPTION"/> + <xs:enumeration value="METHOD_ABSTRACT_ADDED_TO_CLASS"/> + <xs:enumeration value="METHOD_ABSTRACT_ADDED_IN_SUPERCLASS"/> + <xs:enumeration value="METHOD_ABSTRACT_ADDED_IN_IMPLEMENTED_INTERFACE"/> + <xs:enumeration value="METHOD_NEW_DEFAULT"/> + <xs:enumeration value="METHOD_ABSTRACT_NOW_DEFAULT"/> + <xs:enumeration value="FIELD_STATIC_AND_OVERRIDES_STATIC"/> + <xs:enumeration value="FIELD_LESS_ACCESSIBLE_THAN_IN_SUPERCLASS"/> + <xs:enumeration value="FIELD_NOW_FINAL"/> + <xs:enumeration value="FIELD_NOW_STATIC"/> + <xs:enumeration value="FIELD_NO_LONGER_STATIC"/> + <xs:enumeration value="FIELD_TYPE_CHANGED"/> + <xs:enumeration value="FIELD_REMOVED"/> + <xs:enumeration value="FIELD_REMOVED_IN_SUPERCLASS"/> + <xs:enumeration value="FIELD_LESS_ACCESSIBLE"/> + <xs:enumeration value="CONSTRUCTOR_REMOVED"/> + <xs:enumeration value="CONSTRUCTOR_LESS_ACCESSIBLE"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="jApiJavaObjectSerializationChangeStatus"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NOT_SERIALIZABLE"/> + <xs:enumeration value="SERIALIZABLE_COMPATIBLE"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_SERIALVERSIONUID_MODIFIED"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_SERIALVERSIONUID_REMOVED_AND_NOT_MATCHES_NEW_DEFAULT"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_SERIALVERSIONUID_ADDED_AND_NOT_MATCHES_OLD_DEFAULT"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_CLASS_TYPE_MODIFIED"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_CHANGED_FROM_SERIALIZABLE_TO_EXTERNALIZABLE"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_CHANGED_FROM_EXTERNALIZABLE_TO_SERIALIZABLE"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_SERIALIZABLE_REMOVED"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_EXTERNALIZABLE_REMOVED"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_FIELD_REMOVED"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_FIELD_CHANGED_FROM_NONSTATIC_TO_STATIC"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_FIELD_CHANGED_FROM_NONTRANSIENT_TO_TRANSIENT"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_FIELD_TYPE_MODIFIED"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_BUT_SUID_EQUAL"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_CLASS_REMOVED"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_DEFAULT_SERIALVERSIONUID_CHANGED"/> + <xs:enumeration value="SERIALIZABLE_INCOMPATIBLE_SUPERCLASS_MODIFIED"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> +