Skip to content

IDS <info> block is parsed but not stored in IDSSpecifications #628

@IG-Igor

Description

@IG-Igor

Describe the bug 📝

Bug: IDS <info> block is parsed but not stored in IDSSpecifications

Summary
When loading an IDS XML, the <info> metadata is correctly parsed by fast-xml-parser, but it is not persisted in the IDSSpecifications component. As a result, consumers cannot access basic IDS metadata (title, version, author, etc.) after calling load.

  1. Create a valid IDS file containing an <info> section (title, version, date, etc.).
  2. Call IDSSpecifications.load(xmlString).
  3. Inspect the IDSSpecifications instance after loading.
Image

Actual Result
No property on IDSSpecifications contains the parsed <info> metadata. The data is effectively dropped.

Expected Result
The parsed <info> block should be stored on IDSSpecifications (e.g., this.IDSInfo) so it can be reused (displayed in UI, re-exported as default, etc.).

Environment

  • Package: @thatopen/components
  • Component: IDSSpecifications
  • Affects: IDS XMLs that include an <info> section

Notes
I’ll attach a screenshot showing the parser correctly extracting the <info> content, but the class doesn’t keep it.


Minimal Fix

Add a field to store the info and assign it inside load:

// class field
IDSInfo?: IDSInfo;

// inside load() method
const { specifications, info } = ids;
if (info) {
  this.IDSInfo = { ...info }; 
}

This preserves the <info> block for later use (e.g., showing metadata or using it as default values in export).

Reproduction ▶️

No response

Steps to reproduce 🔢

  1. npm install
  2. Go to http://localhost:5174/packages/core/src/openbim/IDSSpecifications/example.html
  3. Load IDs file
  4. Create breakpoint in load method in IDSSpecifications class

System Info 💻

System:
    OS: Linux 5.15 Ubuntu 24.04.1 LTS 24.04.1 LTS (Noble Numbat)
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
    Memory: 600.62 MB / 7.61 GB
    Container: Yes
    Shell: 5.9 - /usr/bin/zsh
Binaries:
    Node: 22.17.0 - ~/.nvm/versions/node/v22.17.0/bin/node
    Yarn: 1.22.22 - ~/.nvm/versions/node/v22.17.0/bin/yarn
    npm: 10.9.2 - ~/.nvm/versions/node/v22.17.0/bin/npm

Used Package Manager 📦

npm

Error Trace/Logs 📃

No response

Validations ✅

  • Read the docs.
  • Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
  • Make sure this is a repository issue and not a framework-specific issue. For example, if it's a THREE.js related bug, it should likely be reported to mrdoob/threejs instead.
  • Check that this is a concrete bug. For Q&A join our Community.
  • The provided reproduction is a minimal reproducible example of the bug.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions