Describe the bug
References drop the Ref in the MMApp JSON compared to the XSD definition, making it difficult to recognize the attribute. In the following example, the XSD-compatible sub-elements (not even attributes!) would be ExitationFilterRef, StandardDichroicRef and EmissionFilterRef:
{
"Name": "DAPI A4 ET k",
"ID": "8ffc8eb1-fd54-49d0-90a0-76d336b7bba3",
"Tier": 1,
"Schema_ID": "FilterCube.json",
"PositionX": 639.9899499999999,
"PositionY": 758.6305000000001,
"PositionZ": 0,
"Width": 70.4543,
"Height": 69.9062,
"OffsetX": 0,
"OffsetY": 0,
"OccupiedSpot": "FluorescenceLightPath.FilterCube_0",
"Manufacturer": "Leica Microsystems",
"Model": "DAPI A4 k",
"CatalogNumber": "11504203",
"ExcitationFilter": "ExcitationFilter/cc9eea58-bb85-40e4-84dd-2844fb2c0416",
"StandardDichroic": "StandardDichroic/729aa4d6-6616-46ed-b60e-8449f4a3f2ee",
"EmissionFilter": "EmissionFilter/52679ad7-eac0-4d94-91b0-37c008bd7a42",
"NrOfSlots": 3,
"ModelVersion": "2.01.1",
"Extension": "Core",
"Domain": "MicroscopeHardwareSpecifications",
"Category": "FluorescenceLightPath"
},
Adding the Ref in the config would help us to find the proper sub-element. Event more convenient would be to follow the pattern of sub-elements by writing:
{
...
"ExcitationFilterRef": [{"ID": "Filter:cc9eea58-bb85-40e4-84dd-2844fb2c0416"}],
"StandardDichroicRef": [{"ID": "Filter:729aa4d6-6616-46ed-b60e-8449f4a3f2ee"}],
"EmissionFilterRef": [{"ID": "Filter:52679ad7-eac0-4d94-91b0-37c008bd7a42"}],
...
},
The XSD-compatible XML for this would be something like:
<FilterCube Manufacturer="MeMe" Model="Cool" CatalogNumber="1324"
ID="FilterCube:8166cf37-e404-4325-bbea-f8aef8ece42a" Name="Cube1" Motorized="0"
OpticsHolderPosition="1">
<ExcitationFilterRef ID="ExcitationFilter:cf644607-813e-4206-830d-1fa1d97d29cb"></ExcitationFilterRef>
<EmissionFilterRef ID="EmissionFilter:5ff8bf50-64b5-4306-9e9f-894dfd952c2f"></EmissionFilterRef>
</FilterCube>
Describe the bug
References drop the
Refin the MMApp JSON compared to the XSD definition, making it difficult to recognize the attribute. In the following example, the XSD-compatible sub-elements (not even attributes!) would beExitationFilterRef,StandardDichroicRefandEmissionFilterRef:{ "Name": "DAPI A4 ET k", "ID": "8ffc8eb1-fd54-49d0-90a0-76d336b7bba3", "Tier": 1, "Schema_ID": "FilterCube.json", "PositionX": 639.9899499999999, "PositionY": 758.6305000000001, "PositionZ": 0, "Width": 70.4543, "Height": 69.9062, "OffsetX": 0, "OffsetY": 0, "OccupiedSpot": "FluorescenceLightPath.FilterCube_0", "Manufacturer": "Leica Microsystems", "Model": "DAPI A4 k", "CatalogNumber": "11504203", "ExcitationFilter": "ExcitationFilter/cc9eea58-bb85-40e4-84dd-2844fb2c0416", "StandardDichroic": "StandardDichroic/729aa4d6-6616-46ed-b60e-8449f4a3f2ee", "EmissionFilter": "EmissionFilter/52679ad7-eac0-4d94-91b0-37c008bd7a42", "NrOfSlots": 3, "ModelVersion": "2.01.1", "Extension": "Core", "Domain": "MicroscopeHardwareSpecifications", "Category": "FluorescenceLightPath" },Adding the
Refin the config would help us to find the proper sub-element. Event more convenient would be to follow the pattern of sub-elements by writing:{ ... "ExcitationFilterRef": [{"ID": "Filter:cc9eea58-bb85-40e4-84dd-2844fb2c0416"}], "StandardDichroicRef": [{"ID": "Filter:729aa4d6-6616-46ed-b60e-8449f4a3f2ee"}], "EmissionFilterRef": [{"ID": "Filter:52679ad7-eac0-4d94-91b0-37c008bd7a42"}], ... },The XSD-compatible XML for this would be something like: