Transforming TEDS
Transducer Electronic Data Sheet XML Files Schemas Defined in IEEE 1451.0 What are TEDS? Schemas in: http://grouper.ieee.org/groups/1451/0/1451httpapi/
Interoperability requires: Loosely coupled abstraction Well defined General Stability over time Easy to implement Interoperability
TEDS represent: Hard coupled abstraction Errors in XML definitions Namespaces, data types, dates, examples, etc. TEDS are very specific TEDS & Interoperability New use cases require new schemas Difficult to implement and maintain.
Can represent all IoT data/actions Including TEDS Can remain unchanged over time New use cases would not require changes to specifications. Is easy to implement Available in public libraries. Is well defined New Abstraction Model needed
Solution in the XMPP case XEP 0323: IoT data XEP 0324: Security XEP 0325: Control XEP 0326: Concentrators Data representable by TEDS are representable by above XEPs and form a subset of data representable by XEPs.
Examples The Following examples are taken from:
Meta-identification TEDS Meta-identification TEDS Annex E
Meta-identification TEDS Invalid XML Does not validate against schema repository Shows change in schemas since publication Only string data types Undefined date Case/tag name confusion in different examples/schemas.
TEDS to XEP-0323.xslt Transformation using TEDS to XEP-0323.xslt : Transformed into IoT data according to XEP-0323.
Corresponding XSLT Following XSLT snippet transforms a MetaIdentificationTEDSDataBlock TEDS to XEP-0323 compliant fields:
Corresponding XSLT Converting unspecified date format in examples to XML-compliant date format can be done using the following XSLT template:
XEP-0323 to TEDS.xslt Transformation using XEP-0323 to TEDS.xslt : Transformed from IoT data according to XEP-0323.
Corresponding XSLT The Following XSLT snippet transforms XEP-0323 compliant fields to a MetaIdentificationTEDSDataBlock TEDS:
Corresponding XSLT Converting XML-compliant dates to the unspecified date format in the TEDS examples can be done using the following XSLT template:
Transducer Channel-identification TEDS Transducer Channelidentification TEDS Annex F
Transducer Channel-identification TEDS Does not validate against schema repository Shows change in schemas since publication Case/tag name confusion in different examples/schemas.
TEDS to XEP-0323.xslt Transformation using TEDS to XEP-0323.xslt : Transformed into IoT data according to XEP-0323.
Corresponding XSLT Following XSLT snippet transforms a TransfucerChannelIdDataBlock TEDS to XEP-0323 compliant fields:
XEP-0323 to TEDS.xslt Transformation using XEP-0323 to TEDS.xslt : Transformed from IoT data according to XEP-0323.
Corresponding XSLT The Following XSLT snippet transforms XEP-0323 compliant fields to a TransducerChannelIdDataBlock TEDS:
Calibration-identification TEDS Calibration-identification TEDS Annex G
Calibration-identification TEDS Invalid XML Does not validate against schema repository Shows change in schemas since publication Only string data types Undefined date
TEDS to XEP-0323.xslt Transformation using TEDS to XEP-0323.xslt : Transformed into IoT data according to XEP-0323. (Description manually made into two lines for readability.) Unclear what Std means
Corresponding XSLT Following XSLT snippet transforms a CalibrationIdentificationTEDSDataBlock TEDS to XEP-0323 compliant fields:
XEP-0323 to TEDS.xslt Transformation using XEP-0323 to TEDS.xslt : Transformed from IoT data according to XEP-0323.
Corresponding XSLT The Following XSLT snippet transforms XEP-0323 compliant fields to a CalibrationIdentificationTEDSDataBlock TEDS:
Location and Title TEDS Location and Title TEDS Annex I
Location and Title TEDS Does not validate against schema repository Shows change in schemas since publication Unclear schema definition
TEDS to XEP-0323.xslt Transformation using TEDS to XEP-0323.xslt : Transformed into IoT data according to XEP-0323. Unclear what TEDS Access Code is Why are titles not human friendly or localizable?
Corresponding XSLT Following XSLT snippet transforms a LocationAndTitleDataBlock TEDS to XEP-0323 compliant fields:
XEP-0323 to TEDS.xslt Transformation using XEP-0323 to TEDS.xslt : Transformed from IoT data according to XEP-0323.
Corresponding XSLT The Following XSLT snippet transforms XEP-0323 compliant fields to a LocationAndTitleDataBlock TEDS:
Unit Extension TEDS Unit Extension TEDS Annex J
Unit Extension TEDS Does not validate against schema repository Shows change in schemas since publication Could not find schema definition
TEDS to XEP-0323.xslt Transformation using TEDS to XEP-0323.xslt : Transformed into IoT data according to XEP-0323. Unclear if this is necessary in XEP-0323.
Corresponding XSLT Following XSLT snippet transforms a UnitsExtensionDataBlock TEDS to XEP-0323 compliant fields:
XEP-0323 to TEDS.xslt Transformation using XEP-0323 to TEDS.xslt : Transformed from IoT data according to XEP-0323.
Corresponding XSLT The Following XSLT snippet transforms XEP-0323 compliant fields to a UnitsExtensionDataBlock TEDS:
Collections of TEDS Collections of TEDS
Collection support Collection support (i.e. XML files containing multiple TEDS data blocks) was added using the following XSLT snippet:
Collection of TEDS Fed transformation with:
Transformed collection Collection of TEDS transformed to:
Collection support Collection support (i.e. transforming XML files containing IoT data from multiple TEDS data blocks) was added using the following XSLT snippet:
Re-transformed collection to TEDS Large collection re-transformed back to Collection of TEDS: