When checking the validation support for xmi files requested on https://bugs.kde.org/show_bug.cgi?id=415989#c2, problems occurred in connection with xml attributes of type ID and IDREFS. STEPS TO REPRODUCE 1. git clone umbrello sources from git@invent.kde.org:sdk/umbrello.git 2. checkout branch release/25.04 3. enter checked out directory 3. run `tools/lint-xmi-files models/diagrams/class` OBSERVED RESULT The tools started in 3. prints out models/diagrams/class/all-elements.xmi:28: element Model: validity error : Syntax of value for attribute xmi.id of Model is not valid models/diagrams/class/all-elements.xmi:32: element DataType: validity error : Syntax of value for attribute xmi.id of DataType is not valid models/diagrams/class/all-elements.xmi:60: element Interface: validity error : Syntax of value for attribute xmi.id of Interface is not valid models/diagrams/class/all-elements.xmi:62: element TemplateParameter: validity error : Syntax of value for attribute namespace of TemplateParameter is not valid models/diagrams/class/all-elements.xmi:129: element Model: validity error : Syntax of value for attribute xmi.id of Model is not valid models/diagrams/class/all-elements.xmi:132: element Model: validity error : Syntax of value for attribute xmi.id of Model is not valid models/diagrams/class/all-elements.xmi:135: element Model: validity error : Syntax of value for attribute xmi.id of Model is not valid models/diagrams/class/all-elements.xmi:138: element Model: validity error : Syntax of value for attribute xmi.id of Model is not valid models/diagrams/class/all-elements.xmi:30: element Package: validity error : IDREFS attribute namespace references an unknown ID "Logical" models/diagrams/class/all-elements.xmi:30: element Package: validity error : IDREFS attribute namespace references an unknown ID "View" models/diagrams/class/all-elements.xmi:45: element Class: validity error : IDREFS attribute namespace references an unknown ID "Logical" models/diagrams/class/all-elements.xmi:45: element Class: validity error : IDREFS attribute namespace references an unknown ID "View" models/diagrams/class/all-elements.xmi:46: element Enumeration: validity error : IDREFS attribute namespace references an unknown ID "Logical" models/diagrams/class/all-elements.xmi:46: element Enumeration: validity error : IDREFS attribute namespace references an unknown ID "View" models/diagrams/class/all-elements.xmi:51: element Package: validity error : IDREFS attribute namespace references an unknown ID "Logical" models/diagrams/class/all-elements.xmi:51: element Package: validity error : IDREFS attribute namespace references an unknown ID "View" models/diagrams/class/all-elements.xmi:67: element Class: validity error : IDREFS attribute namespace references an unknown ID "Logical" models/diagrams/class/all-elements.xmi:67: element Class: validity error : IDREFS attribute namespace references an unknown ID "View" models/diagrams/class/all-elements.xmi:72: element Dependency: validity error : IDREFS attribute namespace references an unknown ID "Logical" models/diagrams/class/all-elements.xmi:72: element Dependency: validity error : IDREFS attribute namespace references an unknown ID "View" EXPECTED RESULT The errors should not be shown SOFTWARE/OS VERSIONS Operating System: openSUSE Leap 15.6 KDE Plasma Version: 5.27.11 KDE Frameworks Version: 5.115.0 Qt Version: 5.15.12 ADDITIONAL INFORMATION According to https://www.liquid-technologies.com/Reference/Glossary/DTD_Datatypes_ID.html there are some limitations for valid ID and IDREFS values: It must conform to the EBNF for "Name". In simple terms this means a "Name" has to start with a letter or ':' or '_'. The rest of the characters must be numbers, letters ':', '_', '-', or '.' it can not contain any spaces. For example, since “Logical View” is used here as the value for the 'xmi.id' attribute, the problem is that the value contains spaces, which is not permitted. Other examples are: <UML:Model stereotype=“folder” ... xmi.id=“Use Case View” name=“Use Case View”> <UML:Model stereotype=“folder” ... xmi.id=“Component View” name=“Component View”> <UML:Model stereotype=“folder” ... xmi.id=“Deployment View” name=“Deployment View”> <UML:Model stereotype=“folder” ... xmi.id=“Entity Relationship Model” name=“Entity Relationship Model”> The problem with IDREFS occurs with references that contain spaces, which occurs, for example, with the 'namespace' attribute as shown below: <UML:Package stereotype="folder" namespace="Logical View" ... " xmi.id="Datatypes" name="Datatypes">