Commit bc4c90fc authored by ankraft's avatar ankraft

More documentation for the SDT Components

parent 1ebe8086
......@@ -9,7 +9,7 @@
3. [Event](#Event)
4. [DeviceClass](#DeviceClass)
1. [SubDevice](#SubDevice)
5. [Product](#Product)
5. [ProductClass](#ProductClass)
6. [Property](#Property)
2. [Data Types](#DataTypes)
1. [DataType](#DataType)
......@@ -19,7 +19,7 @@
3. [StructType](#StructType)
4. [ArrayType](#ArrayType)
5. [EnumType](#EnumType)
1. ExtendExclude
1. [ExtendExclude](#ExtendExclude)
3. [Extending (Inheriting)](#Extending)
1. [Extend](#Extend)
1. [Include](#ExtendInclude)
......@@ -716,14 +716,16 @@ Element of [ProductClass](#ProductClass), [ModuleClass](#ModuleClass) and [DataT
![](images/Extend.png)
The *Extend* element specifies which element to extend. As a simple element it can be used to fully include the referenced element into the derived element, but it is also possible to explicitly include or exclude certain elements. Please note, that it is only possible to either **include** or **exclude** elements.
The *Extend* element specifies which element to extend. As a simple element it can be used to fully include the referenced element into the derived element, but it is also possible to explicitly include or exclude certain elements.
Please note, that it is only possible to either [Include](#ExtendInclude) or [Exclude](#ExtendExclude) elements. When specifying *Include* elements, then all elements that should be included must be specified explicitly; all other elements are *not* included. When specifying *Exclude* elements, then all elements that should be excluded must be specified explicitly; all other elements are automatically included.
#### Attributes
- **domain** : Identifier / Reference of the [Domain](#Domain) of the extended element. Required.
- **entity** : Name of the element in the [Domain](#Domain) that is extended. Required.
#### Elements
- **ExtendChoice** : This element is actual an element from the following list of extend choices. Please note, that it is only possible to either **include** or **exclude** elements.
- **ExtendChoice** : This element is actual a list of elements from the following list of extend choices. Please note, that it is only possible to either **Include** or **Exclude** elements.
- **[Include](#ExtendInclude)**
- **[Exclude](#ExtendExclude)**
......@@ -734,17 +736,40 @@ See [example in *Extending (Inheriting)*](#ExtendExample).
<a name="ExtendInclude"/></a>
### Include
Element of [Extend](#Extend).
![](images/ExtendInclude.png)
This element specifies a single element from the parent that will be included while extending.
#### Attributes
- **name** : The name that identifies the element to be included. Required.
- **type** : The [ExtendType](#ExtendType) of the element that is included. Optional, the default is *datapoint*.
---
<a name="ExtendExclude"/></a>
### Exclude
Element of [Extend](#Extend).
![](images/ExtendExclude.png)
This element specifies a single element from the parent that will be excluded while extending.
#### Attributes
- **name** : The name that identifies the element to be exclued. Required.
- **type** : The [ExtendType](#ExtendType) of the element that is excluded. Optional, the default is *datapoint*.
---
<a name="ExtendType"/></a>
### ExendType
Element of [ExtendInclude](#ExtendInclude) and [ExtendExclude](#ExtendExclude).
![](images/ExtendType.png)
This is an enumeration of element types for inclusion or exclusion while extending an element.
---
......@@ -758,18 +783,18 @@ Element for documentation in all elements.
The text inside the *Doc* element can be structure using a very limited subset of HTML elements. The possible structuring is defined in EBNF as follows:
Doc = "<Doc>" docContent "</Doc" ;
docContent = docText | { paragraph | image } ;
docText = { text | emphasizedText | boldText | monotypeText } ;
emphasizedText = "<em>" text "</em>" ;
boldText = "<b>" text "</b>" ;
monotypeText = "<tt>" text "</tt>" ;
paragraph = "<p>" docText "</p>" ;
image = "<img src=" url ">" "<caption>" text "</caption>" "</img>" ;
url = "\"" (* valid URL *) "\"" ;
text = (* XML text element *) ;
```ebnf
Doc = "<Doc>" docContent "</Doc" ;
docContent = docText | { paragraph | image } ;
docText = { text | emphasizedText | boldText | monotypeText } ;
emphasizedText = "<em>" text "</em>" ;
boldText = "<b>" text "</b>" ;
monotypeText = "<tt>" text "</tt>" ;
paragraph = "<p>" docText "</p>" ;
image = "<img src=" url ">" "<caption>" text "</caption>" "</img>" ;
url = "\"" (* valid URL *) "\"" ;
text = (* XML text element *) ;
```
The intended use for each element is:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment