Discrepancy SDK and bglcomp.xsd schema

Version: 1.2.8.0 - SDK 1.1.2

Frequency: Consistently

Severity: High

Bug description:
There are several differences between the current SDK documentation (Airports and Facilities → XML) and the XML schema file (bglcomp.xsd) and it is unclear, what is correct now. What is required, what is optional, what is current, what is outdated, and what is generally the base, the SDK documentation or the schema file?

Here are a few examples:

Glideslope
SDK
https://docs.flightsimulator.com/msfs2024/html/5_Content_Configuration/Environment/Airports_And_Facilities/Runway_XML_Properties.htm#GlideSlope

Schema file - bglcomp.xsd

<xs:complexType name="ctGlideSlope">
    <xs:attribute name="lat" form="unqualified" type="stLatitude" use="required" />
    <xs:attribute name="lon" form="unqualified" type="stLongitude" use="required" />
    <xs:attribute name="alt" form="unqualified" type="stAltitude" use="required" />
	<xs:attribute name="altType" form="unqualified" type="stAltitudeTypeEG" use="optional" />
    <xs:attribute name="pitch" form="unqualified" type="stAngle" use="required" />
    <xs:attribute name="range" form="unqualified" type="stDistance" />
</xs:complexType>

Dme
SDK
https://docs.flightsimulator.com/msfs2024/html/5_Content_Configuration/Environment/Airports_And_Facilities/Runway_XML_Properties.htm#Dme

Schema file - bglcomp.xsd:

<xs:complexType name="ctDme">
    <xs:attribute name="lat" form="unqualified" type="stLatitude" />
    <xs:attribute name="lon" form="unqualified" type="stLongitude" />
    <xs:attribute name="alt" form="unqualified" type="stAltitude" />
	<xs:attribute name="altType" form="unqualified" type="stAltitudeTypeEG" use="optional" />
    <xs:attribute name="range" form="unqualified" type="stDistance" />
    <xs:attribute name="bias" form="unqualified" type="stDistance" use="optional" />
</xs:complexType>

What is the actual specification now? The SDK or the schema-file (bglcomp.xsd) …

Thank you,
Richard

1 Like

The XML is validated programmatically against the schema when you compile, so it is a source of truth. The use property indicates whether the attribute is optional or required. Some do not have that and are ambiguous indeed.

I can provide some information on the <Dme/> (optional) bias attribute. It is used to bias the DME by a specific distance, typically used on ILS DMEs to make the DME read 0 at the threshold even though the DME transceiver is not physically located there (defined in ARINC424 5.90). This is used by the DME simulation in MSFS2024.

1 Like

Is this the official statement on this topic?

I´ve been working with this schema file and the compiler since day one of MSFS2020. I´m also familiar with the ARINC424 specification (I’ve done this for 20 years). It´s not the bias or other fields that I have asked for (by the way, I implemented the “bias” in MSFS2020 because the attribute was missing, so I know what the column is - thank you).

Therefore, again, the two major questions:

  • When the schema file is the truth, why are some attributes not accepted by the compiler?
  • Is there a rule at MS/ASOBO that the SDK specifications are behind the implementation/development and, therefore, not trustable?

It looks very strange when someone offers outdated specifications on the release day - in other words, the SDK documentation is useless because they don´t follow the current release version. Isn´t it, or do I misunderstand something here?

Thank you very much,
Richard

I can not offer that, only some hints on parts I know about which I provided above. I must say I did not expect a hostile response to that.

1 Like