fprime/Autocoders/Python/schema/default/interface_schema.rng
Josh Soref fbfc9ad563
Update check-spelling to v0.0.21 (#1790)
* spelling: async

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: basic

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: file for

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: files

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: generic

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: github.com/nasa/fprime

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: header

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: into

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: multiline

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: sync

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: workaround

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* Update check-spelling to v0.0.21

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2022-12-06 10:19:16 -08:00

109 lines
3.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<grammar
xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<!-- This is a common file for both interface_schem and internal_interface_schema. These two were originally merged into this file, but had to be split as a workaround to keep the same definitions but not validate component files that had the interface tag in it. -->
<include href="common_elements.rng"/>
<start>
<ref name="interface_root_define"/>
</start>
<define name="interface_root_define">
<a:documentation>Used for interface files.</a:documentation>
<choice>
<!--Choice between interface or port root tag.-->
<element name="interface">
<a:documentation>Allows for one interface.</a:documentation>
<ref name="interface_define"/>
</element>
<element name="port">
<a:documentation>Allows for one interface.</a:documentation>
<ref name="interface_define"/>
</element>
</choice>
</define>
<define name="interface_define">
<interleave>
<!-- Required Attributes -->
<attribute name="name">
<a:documentation>Interface name.</a:documentation>
<text/>
</attribute>
<!-- Optional Attributes -->
<optional>
<attribute name="priority">
<data type="integer"/>
</attribute>
</optional>
<optional>
<attribute name="namespace">
<a:documentation>Namespace in which the interface is in.</a:documentation>
<text/>
</attribute>
</optional>
<!-- Elements -->
<zeroOrMore>
<element name="include_header">
<a:documentation>Defines the header file of the interface.</a:documentation>
<data type="anyURI"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="import_serializable_type">
<a:documentation>Imports serializable types.</a:documentation>
<data type="anyURI"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="import_enum_type">
<a:documentation>Imports enum types.</a:documentation>
<data type="anyURI"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="import_array_type">
<a:documentation>Import array XML files.</a:documentation>
<data type="anyURI"/>
</element>
</zeroOrMore>
<zeroOrMore>
<ref name="args_define"/>
</zeroOrMore>
<optional>
<ref name="return_define"/>
</optional>
<optional>
<ref name="comment_define"/>
</optional>
</interleave>
</define>
<define name="args_define">
<element name="args">
<a:documentation>One or more arguments.</a:documentation>
<zeroOrMore>
<ref name="arg_define"/>
</zeroOrMore>
</element>
</define>
</grammar>