Files
qt6-migration-pipeline/external/rti_connext_dds-7.7.0/resource/schema/dds_security_permissions.xsd
T
torstenandCopilot 342ffd3e5c Update submodule to latest BUILD_RTI fixes
- HandlerMinelayerData: BUILD_RTI Guards für RTI-Abhängigkeiten
- svcTabCommon: Export-Header-Fix via Fallback-Target
- TrainingAreaBase: Stub-Header für BUILD_RTI=OFF
- ddsfts: Include-Pfad und Dependency-Fixes
- BUILD_RTI=OFF Compilation vollständig unterstützt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M0JNZA586SACX1PRZ2DJAE5S
2026-08-21 19:30:20 +02:00

194 lines
7.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
(c) Copyright, Real-Time Innovations, Inc. 2014-2017.
All rights reserved.
No duplications, whole or partial, manual or electronic, may be made
without prior written permission. Any such copies, or
revisions thereof, must display this notice unaltered.
This code contains trade secrets of Real-Time Innovations, Inc.
-->
<!-- =================================================================== -->
<!-- RTI Security XML Schema File -->
<!-- =================================================================== -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<!-- =================================================================== -->
<!-- Main Elements -->
<!-- =================================================================== -->
<xs:element name="dds" type="PermissionsNode" />
<xs:complexType name="PermissionsNode">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="permissions" type="Permissions" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Permissions">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="grant" type="Grant" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Grant">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="role" type="xs:string" />
<xs:element name="subject_name" type="xs:string" />
<xs:element name="subject_name_expression" type="xs:string" />
</xs:choice>
<xs:element name="validity" type="Validity" />
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="allow_rule" minOccurs="0" type="AllowRule" />
<xs:element name="deny_rule" minOccurs="0" type="Rule" />
</xs:choice>
</xs:sequence>
<xs:element name="default" type="DefaultAction" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="Validity">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="not_before" type="xs:dateTime" /> <!-- DDSSEC-134 -->
<xs:element name="not_after" type="xs:dateTime" /> <!-- DDSSEC-134 -->
</xs:sequence>
</xs:complexType>
<xs:complexType name="Rule">
<xs:sequence minOccurs="1" maxOccurs="1">
<!-- DDSSEC-75 -->
<xs:element name="domains" type="DomainIdSet" />
<xs:element name="partitions"
minOccurs="0" type="PartitionExpressionList" />
<xs:sequence minOccurs="0" maxOccurs="unbounded"> <!-- DDSSEC-134 -->
<xs:element name="publish" type="Criteria" />
</xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="subscribe" type="Criteria" />
</xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="relay" type="Criteria" />
</xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="proxy" type="Criteria" />
</xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AllowRule">
<xs:complexContent>
<xs:extension base="Rule">
<xs:sequence>
<xs:element name="subscribe_monitoring"
type="SubscribeMonitoring"
minOccurs="0"
maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- DDSSEC12-101 -->
<xs:complexType name="DomainIdSet">
<xs:sequence>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="id" type="DomainId" />
<xs:element name="id_range" type="DomainIdRange" />
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="tag" type="DomainTag" />
<xs:element name="tag_expression" type="DomainTagExpression" />
</xs:choice>
</xs:sequence>
</xs:complexType>
<!-- DDSSEC-75 -->
<xs:simpleType name="DomainId">
<xs:restriction base="xs:nonNegativeInteger" />
</xs:simpleType>
<!-- DDSSEC-75 -->
<xs:complexType name="DomainIdRange">
<xs:choice> <!-- DDSSEC-134 -->
<xs:sequence>
<xs:element name="min" type="DomainId" />
<xs:element name="max" type="DomainId" minOccurs="0" />
</xs:sequence>
<xs:element name="max" type="DomainId" />
</xs:choice>
</xs:complexType>
<xs:simpleType name="DomainTag">
<xs:restriction base="xs:string" />
</xs:simpleType>
<xs:simpleType name="DomainTagExpression">
<xs:restriction base="xs:string" />
</xs:simpleType>
<xs:complexType name="Criteria">
<!-- DDSSEC-72 -->
<xs:all minOccurs="1">
<xs:element name="topics" minOccurs="1" type="TopicExpressionList" />
<xs:element name="partitions" minOccurs="0" type="PartitionExpressionList" />
<xs:element name="data_tags" minOccurs="0" type="DataTags" />
</xs:all>
</xs:complexType>
<!-- DDSSEC-72 -->
<xs:complexType name="TopicExpressionList">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="topic" type="TopicExpression" />
</xs:sequence>
</xs:complexType>
<!-- DDSSEC-72 -->
<xs:complexType name="PartitionExpressionList">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="partition" type="PartitionExpression" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TopicExpression">
<xs:restriction base="xs:string" />
</xs:simpleType>
<xs:simpleType name="PartitionExpression">
<xs:restriction base="xs:string" />
</xs:simpleType>
<xs:complexType name="DataTags">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="tag" type="TagNameValuePair" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="TagNameValuePair">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="name" type="xs:string" />
<xs:element name="value" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="DefaultAction">
<xs:restriction base="xs:string">
<xs:enumeration value="ALLOW" />
<xs:enumeration value="DENY" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SubscribeMonitoring">
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="METRICS" />
<xs:enumeration value="ALL" />
<xs:enumeration value="NONE" />
</xs:restriction>
</xs:simpleType>
</xs:schema>