Clarify 0.FDO/Attribute and ExtendsProfile rules - #44
Conversation
jboehm1911
left a comment
There was a problem hiding this comment.
Line 170: Add:
[...] with at least the attributes the root profile specifies. Additional attributs can be used as well.
Lines 180-181: Change into:
a FDO MAY extend any other profile. Alternatively, if is does not extend any profile, it MUST specify these minimum attributes directly using 0.FDO/Attribute.
Explanation: To my understanding, profile extension CAN be used, not MUST be used. It is totally allowed to define a profile from scratch, that does not extend the root profile. And this profile can be extended as well. Then the extending profile does neither extend the root profile directly nor indirectly
| When not using <a>profile extension</a>, <a><em>0.FDO/Attribute</em></a> MUST be defined with at least the attributes from the <a>root profile</a>. | ||
| Other <a>attribute definitionss</a> can be added by adding more <a><em>0.FDO/Attribute</em></a> <a>tuples</a> with the <a>PID</a> of the desired <a>attribute definition</a>. | ||
| When not using <a>profile extension</a>, <a><em>0.FDO/Attribute</em></a> MUST be defined | ||
| with at least the attributes the <a>root profile</a> specifies. |
There was a problem hiding this comment.
Please use <a>attributes</a> for consistency across the document.
| <td><em><a><em>0.FDO/Attribute</em></a></em> defines the set of | ||
| <a>attribute definitions</a> that MUST be instantiated in any <a>FDO</a> instantiating this <a>profile</a>. | ||
| <td><a><em>0.FDO/Attribute</em></a> defines <a>attribute definitions</a> | ||
| that MUST be instantiated in any <a>FDO</a> instantiating this <a>profile</a> (via 0.FDO/Profile). |
There was a problem hiding this comment.
Strictly speaking, the attributes are not defined in the profile (i.e., with 0.FDO/Attribute), but in their own FDO Record. Possible solution: use "specify"
| <a>attribute definitions</a> that MUST be instantiated in any <a>FDO</a> instantiating this <a>profile</a>. | ||
| <td><a><em>0.FDO/Attribute</em></a> defines <a>attribute definitions</a> | ||
| that MUST be instantiated in any <a>FDO</a> instantiating this <a>profile</a> (via 0.FDO/Profile). | ||
| The value of this <a>attribute</a> is a PID of the <a>attribute definition</a>. |
There was a problem hiding this comment.
Please use <a>PID</a>
| All <a>profiles</a> MUST either extend from <a><em>0.FDO/Root</em></a>, another profile that recursively extends | ||
| from <a><em>0.FDO/Root</em></a>, or specify the mandatory attributes from <a><em>0.FDO/Root</em></a> using <a><em>0.FDO/Attribute</em></a>. | ||
| <td>This <a>attribute</a> specifies the PID of another <a>profile</a>. | ||
| A <a>profile</a> containing this attribute, will implicitly require all attributes |
There was a problem hiding this comment.
Please use <a>attribute</a>
| from <a><em>0.FDO/Root</em></a>, or specify the mandatory attributes from <a><em>0.FDO/Root</em></a> using <a><em>0.FDO/Attribute</em></a>. | ||
| <td>This <a>attribute</a> specifies the PID of another <a>profile</a>. | ||
| A <a>profile</a> containing this attribute, will implicitly require all attributes | ||
| of the referenced <a>profile</a> (see <a href="#r4_11">[R4-11]</a>). |
There was a problem hiding this comment.
please change the reference to <a href="#rule-r4_11"></a> The matching text will be automatically generated by ReSpec.
| <td>This <a>attribute</a> specifies the PID of another <a>profile</a>. | ||
| A <a>profile</a> containing this attribute, will implicitly require all attributes | ||
| of the referenced <a>profile</a> (see <a href="#r4_11">[R4-11]</a>). | ||
| In order to ensure all FDOs using this <a>profile</a> have the minimum set of attributes (as specified by 0.FDO/Root), |
There was a problem hiding this comment.
Please use <a>FDOs</a>, <a>attributes</a>, and <a>0.FDO/Root</a>
| A <a>profile</a> containing this attribute, will implicitly require all attributes | ||
| of the referenced <a>profile</a> (see <a href="#r4_11">[R4-11]</a>). | ||
| In order to ensure all FDOs using this <a>profile</a> have the minimum set of attributes (as specified by 0.FDO/Root), | ||
| a FDO MUST either extend directly or indirectly from <a><em>0.FDO/Root</em></a>. |
There was a problem hiding this comment.
an <a>FDO profile</a>
I think you mean the profiles and and not the FDOs using it, right?
🚀 PR Preview AvailableA preview deployment of this PR is now available. 🔗 Preview URL: https://fairdo-org.github.io/fdo-architecture-spec/preview/pr-44/ |
Fix #36
I noticed that the commit I had commented was, in the end, revised. So I am actually quite fine with it. I took the liberty to create this PR anyway, as I wanted to simplify the formulations, and clarify the motivation a bit more. I hope I maintained the intention of the two definitions. If you think it is more understandable now, feel free to merge.
If you think it is not required, we can close the PR and also close #36 anyway.
Note: I was not sure about all the anchors and when/when not to use them. If I get some explanation about this, I can fix the occurrences.