@@ -532,14 +532,14 @@ Das Beispiel "[kategorisch indizierte Tabelle](#kategorisch-indizierte-tabelle)"
...
@@ -532,14 +532,14 @@ Das Beispiel "[kategorisch indizierte Tabelle](#kategorisch-indizierte-tabelle)"
### Flat-2D Tabellen
### Flat-2D Tabellen
Sollen große dicht besetzte Tabellen dargestellt werden, empfiehlt sich die Verwendung des Flat-Formats.
Sollen große, dicht besetzte Tabellen dargestellt werden, empfiehlt sich die Verwendung des Flat-Formats.
Hierbei werden die Index-Werte einzeln als `dcc:Quantity` angegeben.
Hierbei werden die Index-Werte einzeln als `dcc:Quantity` angegeben.
Die Daten werden in einer `dcc:Quantity` als "flache Liste" abgelegt.
Die Daten werden in einer `dcc:Quantity` als "flache Liste" abgelegt.
Die Position eines Index-Wertes in der entsprechenden Index-Quantity wird zur Berechnung der Position in der Daten-Quantity verwendet.
Die Position eines Index-Wertes in der entsprechenden Index-Quantity wird zur Berechnung der Position in der Daten-Quantity verwendet.
Die Angabe von MetaDaten und Influence conditions ist analog zu den Long-Tabellen möglich.
Die Angabe von Metadaten und Influence Conditions ist analog zu den Long-Tabellen möglich.
Imgegensatz zu den Long-Tabellen kann es bei dem Rekonstruieren der Daten aus den Flat-Tabellen zu Problemen kommen, wenn die Daten nicht in der richtigen Reihenfolge in der Flat-Quantity ausgelesen werden.
Im Gegensatz zu den Long-Tabellen kann es beim Rekonstruieren der Daten aus den Flat-Tabellen zu Problemen kommen, wenn die Daten nicht in der richtigen Reihenfolge in der Flat-Quantity ausgelesen werden.
Zur Validation des Parsers muss daher entsprechend der im (Dokument Flache Tabellen)[[flatt-tables-de.md](flatt-tables-de.md)] gezeigten Methodik ein Test der Deserialisierung durchgeführt werden!
Zur Validierung des Parsers muss daher entsprechend der im [Dokument Flache Tabellen](flat-tables-de.md) gezeigten Methodik ein Test der Deserialisierung durchgeführt werden!
<!-- we can have unlimited amount of Quantities here. They will either have ALL values populated (100) in this example or exactly one value if this identical for every "Cell" of the Table-->
<!-- We can have an unlimited amount of quantities here. They will either have ALL values populated (in this example 100) or exactly one value if this identical for every "cell" of the table-->
<!-- 10x10=100 surface area values in C-Style Row-Major order-->
<!-- 10x10=100 surface area values in C-Style Row-Major order-->
...
@@ -660,24 +660,25 @@ Zur Validation des Parsers muss daher entsprechend der im (Dokument Flache Tabel
...
@@ -660,24 +660,25 @@ Zur Validation des Parsers muss daher entsprechend der im (Dokument Flache Tabel
</dcc:list>
</dcc:list>
```
```
### Metadaten wie Konformitäts-Aussagen und InfluenceConditions
### Metadaten, z.B. Konformitäts-Aussagen und InfluenceConditions
Im Gegensatz zu analogen Tabellen in Papier- oder PDF-Dokumenten bietet der DCC die Möglichkeit, Metadaten mit der Tabelle zu verbinden.
Im Gegensatz zu analogen Tabellen in Papier- oder PDF-Dokumenten bietet der DCC die Möglichkeit, Metadaten mit der Tabelle zu verbinden.
Dabei gilt für die Metadaten dieselbe Logik wie für die Tabellenspalten.
Dabei gilt für die Metadaten dieselbe Logik wie für die Tabellenspalten.
Die **Metadaten/InfluenceConditions gelten** dabei immer für **das Element**, an das sie angefügt sind und **alle** in der Hierachie darunter folgenden **Kind-Elemente**
Die **Metadaten / InfluenceConditions** gelten dabei immer für **das Element**, an das sie angefügt sind und **alle** in der Hierarchie darunter folgenden **Kind-Elemente**.
Daher erbt die Tabelle folglich auch alle metaDaten von dem 'dcc:measurmentResult' in dem sie sich befindet.
Daher erbt die Tabelle folglich auch alle Metadaten von dem `dcc:measurementResult`, in dem sie sich befindet.
Mehr Informationen zur Metadaten-Vererbung finden sich im [Dokument Metadaten-Vererbung](./vererbung.md)
Mehr Informationen zur Metadaten-Vererbung finden sich im [Dokument Metadaten-Vererbung](./vererbung.md).
Damit die Metadaten für die gesamte Tabelle gelten, werden diese an die äußere `dcc:list` angefügt.
Damit die Metadaten für die gesamte Tabelle gelten, werden diese an die äußere `dcc:list` angefügt.
Ist ein Metadatum, z.B. eine Sensortemperatur für alle Zeilen der Tabelle oder eine Quantity gleich, kann anstelle einer Quantity mit einer XML-Liste auch eine Quantity mit einem einzelnen Wert verwendet werden.
Ist ein Metadatum, z.B. eine Sensortemperatur, für alle Zeilen der Tabelle oder eine Quantity gleich, kann anstelle einer Quantity mit einer XML-Liste auch eine Quantity mit einem einzelnen Wert verwendet werden.
Die Elemente `dcc:usedMethods`, `dcc:usedSoftware` und `dcc:measuringEquipments` bieten nicht die Möglichkeit einer Listendarstellung, daher ist hier immer nur ein globaler, tabellenweit gültiger Eintrag möglich.
Die Elemente `dcc:usedMethods`, `dcc:usedSoftware` und `dcc:measuringEquipments` bieten nicht die Möglichkeit einer Listendarstellung, daher ist hier immer nur ein globaler, tabellenweit gültiger Eintrag möglich.
Besonders relevant unter den Metadaten sind Konformitäts-Aussagen:
#### Konformitäts-Aussagen
Besonders relevant unter den Metadaten sind Konformitäts-Aussagen.
#### Konformitäts-Aussagen
Dabei können drei verschiedene Basisfälle für Konformitäts-Aussagen unterschieden werden.
Dabei können drei verschiedene Basisfälle für Konformitäts-Aussagen unterschieden werden.
Zum Ablegen der Konformitäts-Aussagen sind die Elemente `dcc:conformity` und `dcc:conformityXMLList` des `dcc:statementMetaDataType` gedacht.
Zum Ablegen der Konformitäts-Aussagen sind die Elemente `dcc:conformity` und `dcc:conformityXMLList` des `dcc:statementMetaDataType` gedacht.
Die drei Basisfälle sind:
Die drei Basisfälle sind:
1. Ein `pass/fail` für die gesamte in der Tabelle dargestellte Messung/Kalibrierung als Überblick (UND-Verknüpfung der zeilenweisen `pass/fail`).
1. Ein `pass/fail` für die gesamte in der Tabelle dargestellte Messung / Kalibrierung als Überblick ("UND"-Verknüpfung der zeilenweisen `pass/fail`).
2. Ein `pass/fail` für jede Zeile in der Tabelle mit Bezug auf eine `dcc:quantity` unter Angabe der Grenzen und der Entscheidungsregel.
2. Ein `pass/fail` für jede Zeile in der Tabelle mit Bezug auf eine `dcc:quantity` unter Angabe der Grenzen und der Entscheidungsregel.
3. Eine komplizierte `pass/fail`-Logik mit Bezug auf mehrere `dcc:quantity`.
3. Eine komplizierte `pass/fail`-Logik mit Bezug auf mehrere `dcc:quantity`.
...
@@ -691,12 +692,13 @@ Ein Beispiel für eine solche Konformitäts-Aussage findet sich im [Dokument Kon
...
@@ -691,12 +692,13 @@ Ein Beispiel für eine solche Konformitäts-Aussage findet sich im [Dokument Kon
Für den dritten Fall wird, wie im ersten Fall, das `dcc:measurementMetaData`-Element der äußeren `dcc:list` verwendet. Nun wird jedoch eine `dcc:conformityXMLList` mit den zeilenweisen Werten genutzt.
Für den dritten Fall wird, wie im ersten Fall, das `dcc:measurementMetaData`-Element der äußeren `dcc:list` verwendet. Nun wird jedoch eine `dcc:conformityXMLList` mit den zeilenweisen Werten genutzt.
Für die maschineninterpretierbare Beschreibung der Bedingungen müssen im Einzelfall Lösungen gesucht werden.
Für die maschineninterpretierbare Beschreibung der Bedingungen müssen im Einzelfall Lösungen gesucht werden.
### Diskussion der empfohlenen Repräsentationsformen
### Diskussion der empfohlenen Repräsentationsformen
Mit der vorgestellten Repräsentation können alle Tabellen umgesetzt werden. Tabellen, die diesem Schema folgen, sind gut und effizient maschineninterpretierbar, sodass sie sehr gut mit verschiedenen Verfahren durchsucht werden können: Werte können einfach über ihren Index gefunden werden, und ebenso einfach kann zu existierenden Werten der Index nachgeschlagen werden. Diese Repräsentation lässt sich trivial in die internen Tabellenstrukturen der verbreiteten Software-Bibliotheken überführen, da sie dem allgemein üblichen Standard folgt.
Mit der vorgestellten Repräsentation können alle Tabellen umgesetzt werden. Tabellen, die diesem Schema folgen, sind gut und effizient maschineninterpretierbar, sodass sie sehr gut mit verschiedenen Verfahren durchsucht werden können: Werte können einfach über ihren Index gefunden werden, und ebenso einfach kann zu existierenden Werten der Index nachgeschlagen werden. Diese Repräsentation lässt sich trivial in die internen Tabellenstrukturen der verbreiteten Software-Bibliotheken überführen, da sie dem allgemein üblichen Standard folgt.
Ein Nachteil dieser Repräsentation ist die etwas schlechtere Lesbarkeit des so erstellten DCCs direkt im XML. Dies wird durch die bessere Maschineninterpretierbarkeit ausgeglichen - der DCC hat zum Ziel, die Daten maschinenlesbar zu übertragen, und es werden entsprechende Programme entwickelt, die die Daten in einem menschenlesbaren Format darstellen.
Ein Nachteil dieser Repräsentation ist die etwas schlechtere Lesbarkeit des so erstellten DCCs direkt im XML.
Dies wird durch die bessere Maschineninterpretierbarkeit ausgeglichen - der DCC hat zum Ziel, die Daten maschinenlesbar zu übertragen, und es werden entsprechende Programme entwickelt, die die Daten in einem menschenlesbaren Format darstellen.
Die direkte menschenlesbarkeit des XML ist kein Ziel des DCC.