Skip to content

Conversation

ogorhc
Copy link

@ogorhc ogorhc commented Sep 30, 2025

Description

When loading an IDS XML, all <enumeration> items are treated as type as it is regardless of whether the restriction declares xs:string, xs:integer, xs:double, etc. This causes type mismatches during validation (for example, IFC properties parsed as numbers vs. IDS enumerations stored as strings), leading to false negatives.

Additional context

The next restriction should handle the enumeration values as strings, even if they are numeric.

image

Previous Result
Enumeration items are stored, independent of the restriction’s base. Consumers receive values that do not match the intended type, which breaks downstream comparisons against IFC property values (commonly numeric).

image

Result after changes
Enumeration items should reflect the type defined by the restriction’s base (for example, strings for xs:string, numbers for xs:integer/xs:double), ensuring consistent typing between IDS specifications and IFC property values.

image

What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Before submitting the PR, please make sure you do the following:

  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Follow the Conventional Commits v1.0.0 standard for PR naming (e.g. feat(examples): add hello-world example).
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Ideally, include relevant tests that fail without this PR but pass with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant