SCE 1.0b2 FTF Avatar
  1. OMG Issue

SCE — XSD copied the wrong extension elements from BPMN and lacks the important ones

  • Key: SCE-99
  • Status: closed  
  • Source: Camunda Services GmbH ( Mr. Falko Menge)
  • Summary:

    SCE copied extension classes from BPMN that were meant for extensibility of the metamodel and are explicitly declared to not show in the XML schema because the XML already has built-in extension mechanisms. That's what the X in XML stands for

    The XSD is missing the extensionElements container that BPMN, CMMN & DMN are using to store XML extension elements in a way that schema validation is not ambigious.

    The SCE XSD even includes the statements that BPMN made about these classes, e.g.:

    ExtensionDefinition: This type is not applicable when the XML schema interchange is used, since XSD Complex Types already satisfy this requirement.

    ExtensionAttributeDefinition/ExtensionAttributeValue: This type is not applicable when the XML schema interchange is used; since the XSD mechanisms for supporting "AnyAttribute" and "Any" type already satisfy this requirement.

    extensionDefinitionRef/extensionAttributeValueRef: This association is not applicable when the XML schema interchange is used, since the XSD mechanisms for supporting anyAttribute and any element already satisfy this requirement.

    BPMN had the classes ExtensionDefinition, ExtensionAttributeDefinition, ExtensionAttributeValue only in the UML metamodel but not in the XML schema. During the RFP phase, SCE had already removed the classes from its UML metamodel and specification text because UML also has built-in extension mechanisms. However, it seems like they were automatically generated into the XML schema and are still in there.

    In addition, the XSD also contains Adornment types that are based on the extension type, which should have not been in the XSD.

  • Reported: SCE 1.0b1 — Fri, 26 Jan 2024 21:56 GMT
  • Disposition: Resolved — SCE 1.0b2
  • Disposition Summary:

    Add extensionElements container and remove other extension classes

    SCE XSD MUST have the extensionElements container that BPMN, CMMN & DMN tools have been successfully using for vendor extensions and even extension standards that several vendors agreed on, e.g. BPMN I18n. This is needed for backwards compatibility and in general to enable use of XML's extension mechanism.

    The types ExtensionDefinition, ExtensionAttributeDefinition, and ExtensionAttributeValue are removed from the XSD, because they are not meant to be in the XML schema.

    The Adornment types are removed, because they are based on these extension types that should not have been in the XSD. Are later revision of SCE may add Adornments again. But it would have to be done in a way that uses XML's extension mechanism.

    Furthermore, the type tExtension is removed from SCE as it only exists in BPMN and has never been used in practice as shown in the BPMN MIWG. It would be trivial for an SCE-based revision of BPMN to introduce that type as an extension of tRootElement.

  • Updated: Mon, 16 Sep 2024 14:12 GMT