Bug 502519 - xmllint complains about element Model: validity error : Syntax of value for attribute xmi.id of Model is not valid"
Summary: xmllint complains about element Model: validity error : Syntax of value for a...
Status: REPORTED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Other All
: NOR normal
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks: 415989
  Show dependency treegraph
 
Reported: 2025-04-07 11:37 UTC by Ralf Habacker
Modified: 2025-04-07 11:37 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ralf Habacker 2025-04-07 11:37:41 UTC
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">