Schemaoberfläche¶
Diese genaue Referenz richtet sich an Menschen, die Software mit Axioval verbinden. Wenn Sie nur eine Prüfung verstehen oder vorbereiten möchten, beginnen Sie stattdessen bei den vier Bausteinen.
Die Quelltextbeispiele bleiben eingeklappt, bis Sie sie bewusst öffnen.
Module¶
| Modul | Zuständig für |
|---|---|
Types.pkl |
Bezeichner, semantische Versionen, lokalisierter Text, Paketmetadaten |
Citations.pkl |
bibliografische Quellen, Fundstellen, Zitate und Parameterziele |
Values.pkl |
Markierte Skalar- und Listenwerte sowie Objekt- und Eigenschaftsreferenzen |
Selectors.pkl |
Selektoren für Objekttyp, Eigenschaft, Klassifikation und boolesche Zusammensetzung |
Definitions.pkl |
Vokabulare und wiederverwendbare Fähigkeitsvorlagen |
RuleSets.pkl |
Konkrete Regelinstanzen und rein kosmetische Ordner |
Paketmetadaten und Zitate¶
PackageMetadata.name und description verwenden LocalizedText. Autoren
verbinden Sprachen nicht mehr in einer Zeichenkette. Jedes Definitions- oder
Regelsatzdokument besitzt einen sources-Katalog. Eine Quelle enthält Art,
formale Bezeichnung, lokalisierten Titel sowie optional Herausgeber, Ausgabe,
ISO-Veröffentlichungsdatum und HTTPS-URL.
Ein Citation verweist auf eine Quelle und kann geordnete Fundstellen wie Teil,
Klausel, Absatz, Tabelle, Abbildung oder Seite angeben. Definitionskomponenten,
Regeln und Anforderungen können Zitate tragen. parameterCitations ordnet ein
Zitat ausdrücklich Parametern zu, die diese Regel tatsächlich bindet. Unbekannte
Quellen-IDs, unsichere URLs, ungültige Daten, doppelte Zitat-IDs oder Fundstellen
und unbekannte Parameterziele werden geschlossen abgelehnt.
Zitate sind ausschließlich Herkunftsmetadaten. Sie ändern weder Anwendbarkeit, Nachweise, Auswertung, Ergebnis, Rechtswirkung noch Konformitätsaussagen.
Definitionspaket¶
Ein normalisiertes Definitionsdokument hat diese Felder der obersten Ebene:
Quelltext oder Befehle anzeigen
Mindestens eine wiederverwendbare Komponente muss vorhanden sein. Map-Schlüssel müssen den Komponenten-IDs entsprechen. Doppelte Komponenten-IDs über geladene Pakete hinweg werden abgelehnt.
ObjectTypeDefinition¶
Ordnet eine stabile Axioval-Objekttyp-ID externen Schemanamen wie IfcWall zu. Objekttypreferenzen können festlegen, ob Untertypen akzeptiert werden.
PropertyDefinition¶
Ordnet eine stabile Eigenschafts-ID externen Namen und einer valueKind zu. Mengeneigenschaften benötigen außerdem eine qualifizierte unitDimension. Die Eigenschaft ist von jedem Container unabhängig.
PropertySetDefinition¶
Ordnet eine stabile Qualifizierer-ID externen Containernamen zu. Sie enthält keine Mitgliederliste und begründet keine Eigentumsbeziehung.
RuleDefinition¶
Deklariert eine Fähigkeit und eine typisierte Parameter-Map. referencedValueKind ist nur für einen propertyReference-Parameter gültig und beschränkt den katalogisierten Typ der referenzierten Eigenschaft.
Referenzwerte¶
Selektoren¶
Selektoren sind deklarativ und werden rekursiv validiert:
allentityTypemit einer kanonischen Objekttyp-IDpropertymit kanonischer Eigenschafts-ID und optionalem Set-QualifiziererclassificationallOf,anyOfundnot
Ein Vergleichswert auf einem Eigenschaftsselektor muss zur katalogisierten valueKind der referenzierten Eigenschaft passen. exists lehnt einen Vergleichswert ab. Jeder andere Operator benötigt einen.
Umfangreiche Anwendbarkeit¶
Eine Regel mit mehreren Populationen verwendet ein Applicability-Objekt. Die
Map groups gibt jeder Population eine stabile lokale ID, einen lokalisierten
Namen, eine optionale Beschreibung und einen rekursiv validierten Selektor.
Anforderungen und vertrauenswürdige Host-Adapter können diese Gruppen über ihre
ID ansprechen.
Eine Regel für die Schlitz- und Durchbruchsplanung kann zum Beispiel getrennte Gruppen für durchdrungene Bauteile, durchdringende Bauteile und Öffnungen benennen, statt sie als eine flache Auswahl darzustellen. Map-Schlüssel müssen den Gruppen-IDs entsprechen. Leere Gruppen-Maps, unbekannte Begriffe und fehlerhafte Selektoren werden abgelehnt.
Bestehende Regeln dürfen weiterhin direkt einen einzelnen Selektor angeben. Anforderungen benötigen die umfangreiche Form, weil ein flacher Selektor keine adressierbaren Gruppen-IDs hat.
Anforderungen¶
Eine Requirement besitzt eine stabile ID, eine lokalisierte Aussage, eine
optionale Beschreibung und eine oder mehrere targetGroups. Jede referenzierte
Gruppe muss in derselben Regel vorhanden sein. Anforderungs-IDs und
Gruppenreferenzen müssen eindeutig sein.
Anforderungen erklären den erwarteten Zustand. Sie führen keinen Paketcode aus
und ersetzen nicht den Vertrag RuleDefinition.capability, den eine
vertrauenswürdige Anwendung umsetzt.
Erklärende Bilder¶
Eine Regel kann ExplanatoryImage-Einträge mit lokalisiertem Alternativtext und
einer optionalen lokalisierten Bildunterschrift enthalten. Bilder sind im Paket
enthaltene Dateien mit normalisiertem relativem Pfad und deklariertem Medientyp.
PNG, JPEG, WebP und SVG werden unterstützt.
Die Normalisierung lehnt absolute Pfade, Traversierung, Rückwärtsschrägstriche, Abweichungen zwischen Erweiterung und Medientyp, doppelte Bild-IDs, fehlende Dateien, aus dem Paket führende symbolische Links, aktive SVG-Inhalte, externe SVG-Referenzen und falsche Raster-Signaturen ab. Bilder erklären nur und ändern weder Anwendbarkeit noch Ausführung.
Ordner sind kosmetisch¶
RuleFolder dient Darstellung und Organisation. Seine Position ändert weder Selektorumfang, Regelidentität, Ausführungssemantik noch Vertrauen. Verbraucher können alternative Ansichten darstellen, ohne die Regeln umzuschreiben.
Kompatibilitätsstatus¶
Die aktuelle Schemaversion ist 0.1.0 und noch nicht stabil. Die geplante Kompatibilitätspolitik steht in der Roadmap, Vertragsänderungen im Changelog.