Add documentation strings to XSD schema
Similar to OpenDRIVE, the xsd schema should include the already existing documentation strings for classes, attributes, etc, i.e. the documentation that is available in the html document. Once exported into the xsd, the strings are easier to use for tools that build upon the xsd schema, say editors, validation, etc. As all the content is there and an export already works for OpenDRIVE, this should be easy to achieve. Only pitfalls can be, that some documentation strings are duplicated and more or less useful in depending on their "location", e.g. Act as child of Story ("Defines the acts of the story.", which is relatively useless) vs. Act itself ("A container for maneuver groups. Can be executed several times depending on the user provided settings. New executions are only allowed to start when all contained maneuver groups are in the complete state.", which is much better).
An example for Condition Edge can look like this:
<xsd:simpleType name="ConditionEdge"> <xsd:annotation> <xsd:documentation>Edge types that can be used for conditions.</xsd:documentation> </xsd:annotation> <xsd:union> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="falling"> <xsd:annotation> <xsd:documentation>A condition defined with a falling edge shall return true at discrete time t if its logical expression is false at discrete time t and its logical expression was true at discrete time t-ts, where ts is the simulation sampling time.</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="none"> <xsd:annotation> <xsd:documentation>A condition defined with a 'none' edge shall return true at discrete time t if its logical expression is true at discrete time t.</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="rising"> <xsd:annotation> <xsd:documentation>A condition defined with a rising edge shall return true at discrete time t if its logical expression is true at discrete time t and its logical expression was false at discrete time t-ts, where ts is the simulation sampling time.</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="risingOrFalling"> <xsd:annotation> <xsd:documentation>A condition defined with a 'risingOrFalling' edge shall return true at discrete time t if its logical expression is true at discrete time t and its logical expression was false at discrete time t-ts OR if its logical expression is false at discrete time t and its logical expression was true at discrete time t-ts. ts is the simulation sampling time.</xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType> <xsd:simpleType> <xsd:restriction base="parameter"/> </xsd:simpleType> </xsd:union> </xsd:simpleType>