From 95ba3931326dede9c21fe9561ee6f2889a24f45e Mon Sep 17 00:00:00 2001
From: Kay Robbins <1189050+VisLab@users.noreply.github.com>
Date: Sat, 30 Mar 2024 08:24:49 -0500
Subject: [PATCH 1/4] Added boolRange, stringRange, and numericRange schema
properties
---
standard_schema/prerelease/HED8.3.0.mediawiki | 78 ++++++++++---------
1 file changed, 40 insertions(+), 38 deletions(-)
diff --git a/standard_schema/prerelease/HED8.3.0.mediawiki b/standard_schema/prerelease/HED8.3.0.mediawiki
index d221f314..ca35f641 100644
--- a/standard_schema/prerelease/HED8.3.0.mediawiki
+++ b/standard_schema/prerelease/HED8.3.0.mediawiki
@@ -19,10 +19,10 @@ Each term in this vocabulary has a human-readable description and may include ad
'''Agent''' {suggestedTag=Agent-property}[Someone or something that takes an active role or produces a specified effect.The role or effect may be implicit. Being alive or performing an activity such as a computation may qualify something to be an agent. An agent may also be something that simulates something else.]
* Animal-agent [An agent that is an animal.]
* Avatar-agent [An agent associated with an icon or avatar representing another agent.]
-* Controller-agent [An agent experiment control software or hardware.]
+* Controller-agent [Experiment control software or hardware.]
* Human-agent [A person who takes an active role or produces a specified effect.]
* Robotic-agent [An agent mechanical device capable of performing a variety of often complex tasks on command or by being programmed in advance.]
-* Software-agent [An agent computer program.]
+* Software-agent [An agent computer program that interacts with the participant in an active role such as an AI advisor.]
'''Action''' {extensionAllowed}[Do something.]
* Communicate [Convey knowledge of or information about something.]
@@ -1215,13 +1215,13 @@ Each term in this vocabulary has a human-readable description and may include ad
!# end schema
'''Unit classes''' [Unit classes and the units for the nodes.]
-* accelerationUnits {defaultUnits=m-per-s^2, allowedCharacter=caret}
+* accelerationUnits {defaultUnits=m-per-s^2}
** m-per-s^2 {SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret}
* angleUnits {defaultUnits=radian}
** radian {SIUnit, conversionFactor=1.0}
** rad {SIUnit, unitSymbol, conversionFactor=1.0}
** degree {conversionFactor=0.0174533}
-* areaUnits {defaultUnits=m^2, allowedCharacter=caret}
+* areaUnits {defaultUnits=m^2}
** m^2 {SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret}
* currencyUnits {defaultUnits=$}[Units indicating the worth of something.]
** dollar {conversionFactor=1.0}
@@ -1238,7 +1238,7 @@ Each term in this vocabulary has a human-readable description and may include ad
** dB {unitSymbol, conversionFactor=1.0}[Intensity expressed as ratio to a threshold. May be used for sound intensity.]
** candela {SIUnit}[Units used to express light intensity.]
** cd {SIUnit, unitSymbol}[Units used to express light intensity.]
-* jerkUnits {defaultUnits=m-per-s^3, allowedCharacter=caret}
+* jerkUnits {defaultUnits=m-per-s^3}
** m-per-s^3 {unitSymbol, conversionFactor=1.0, allowedCharacter=caret}
* magneticFieldUnits {defaultUnits=T}
** tesla {SIUnit, conversionFactor=10e-15}
@@ -1268,7 +1268,7 @@ Each term in this vocabulary has a human-readable description and may include ad
** minute {conversionFactor=60}
** hour {conversionFactor=3600}[Should be in 24-hour format.]
** year [Years do not have a constant conversion factor to seconds.]
-* volumeUnits {defaultUnits=m^3, allowedCharacter=caret}
+* volumeUnits {defaultUnits=m^3}
** m^3 {SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret}
* weightUnits {defaultUnits=g}
** g {SIUnit, unitSymbol, conversionFactor=1.0}
@@ -1325,42 +1325,44 @@ Each term in this vocabulary has a human-readable description and may include ad
* nameClass {allowedCharacter=letters,allowedCharacter=digits,allowedCharacter=underscore,allowedCharacter=hyphen}[Value class designating values that have the characteristics of node names. The allowed characters are alphanumeric, hyphen, and underscore.]
* numericClass {allowedCharacter=digits,allowedCharacter=E,allowedCharacter=e,allowedCharacter=plus,allowedCharacter=hyphen,allowedCharacter=period}[Value must be a valid numerical value.]
* posixPath {allowedCharacter=digits,allowedCharacter=letters,allowedCharacter=slash,allowedCharacter=colon}[Posix path specification.]
-* textClass {allowedCharacter=text}
+* textClass {allowedCharacter=text}[Values that have the characteristics of text such as in descriptions. The text characters include printable characters (32 <= ASCII < 127) excluding comma, square bracket and curly braces as well as nonascii (ASCII codes > 127).]
'''Schema attributes''' [Allowed attribute modifiers of other sections of the schema.]
-* allowedCharacter {valueClassProperty, unitProperty, unitModifierProperty}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.]
-* conversionFactor {unitProperty, unitModifierProperty}[The factor to multiply these units or unit modifiers by to convert to default units.]
-* defaultUnits {unitClassProperty}[The default units to use if the placeholder has a unit class but the substituted value has no units.]
-* deprecatedFrom {elementProperty}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.]
-* extensionAllowed {boolProperty, nodeProperty, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.]
-* hedId {elementProperty}[The unique identifier of this element in the HED namespace.]
-* inLibrary {elementProperty} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.]
-* relatedTag {nodeProperty, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]
-* requireChild {boolProperty, nodeProperty}[This tag must have a descendent.]
-* reserved {boolProperty, nodeProperty}[This tag has special meaning and requires special handling by tools.]
-* rooted {nodeProperty}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]
-* SIUnit {boolProperty, unitProperty}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.]
-* SIUnitModifier {boolProperty, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]
-* SIUnitSymbolModifier {boolProperty, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]
-* suggestedTag {nodeProperty, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]
-* tagGroup {boolProperty, nodeProperty}[This tag can only appear inside a tag group.]
-* takesValue {boolProperty, nodeProperty}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.]
-* topLevelTagGroup {boolProperty, nodeProperty}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.]
-* unique {boolProperty, nodeProperty}[Only one of this tag or its descendants can be used in the event-level HED string.]
-* unitClass {nodeProperty}[The unit class this placeholder tag belongs to.]
-* unitPrefix {boolProperty, unitProperty}[This unit is a prefix unit (e.g., dollar sign in the currency units).]
-* unitSymbol {boolProperty, unitProperty}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.]
-* valueClass {nodeProperty}[The value class this placeholder tag belongs to..]
+* allowedCharacter {stringRange, valueClassProperty, unitProperty, unitModifierProperty}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.]
+* conversionFactor {numericRange, unitProperty, unitModifierProperty}[The factor to multiply these units or unit modifiers by to convert to default units.]
+* defaultUnits {stringRange, unitClassProperty}[The default units to use if the placeholder has a unit class but the substituted value has no units.]
+* deprecatedFrom {stringRange, elementProperty}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.]
+* extensionAllowed {boolRange, nodeProperty, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.]
+* hedId {stringRange, elementProperty}[The unique identifier of this element in the HED namespace.]
+* inLibrary {stringRange, elementProperty} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.]
+* relatedTag {stringRange, nodeProperty, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]
+* requireChild {boolRange, nodeProperty}[This tag must have a descendent.]
+* reserved {boolRange, nodeProperty}[This tag has special meaning and requires special handling by tools.]
+* rooted {stringRange, nodeProperty}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]
+* SIUnit {boolRange, unitProperty}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.]
+* SIUnitModifier {boolRange, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]
+* SIUnitSymbolModifier {boolRange, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]
+* suggestedTag {stringRange, nodeProperty, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]
+* tagGroup {boolRange, nodeProperty}[This tag can only appear inside a tag group.]
+* takesValue {boolRange, nodeProperty}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.]
+* topLevelTagGroup {boolRange, nodeProperty}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.]
+* unique {boolRange, nodeProperty}[Only one of this tag or its descendants can be used in the event-level HED string.]
+* unitClass {stringRange, nodeProperty}[The name of the unit class this placeholder tag belongs to.]
+* unitPrefix {boolRange, unitProperty}[This unit is a prefix unit (e.g., dollar sign in the currency units).]
+* unitSymbol {boolRange, unitProperty}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.]
+* valueClass {stringRange, nodeProperty}[The value class this placeholder tag belongs to..]
'''Properties''' [Properties of the schema attributes themselves. These are used for schema handling and verification.]
-* boolProperty [Indicates that the schema attribute represents something that is either true or false and does not have a value. Attributes without this value are assumed to have string values.]
-* elementProperty [Indicates a schema attribute can apply to any type of element (tag term, unit class, etc).]
-* isInheritedProperty [Indicates a schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]
-* nodeProperty [Indicates a attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements.]
-* unitClassProperty [Indicates a schema attribute applies to unit classes.]
-* unitModifierProperty [Indicates a schema attribute applies to unit modifier classes.]
-* unitProperty [Indicates a schema attribute applies to units within a unit class.]
-* valueClassProperty [Indicates a schema attribute applies to value classes.]
+* boolRange [The schema attribute maps to true or false. If present, it is assumed to be true.]
+* elementProperty [The schema attribute can apply to any type of element (tag term, unit class, etc).]
+* isInheritedProperty [The schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]
+* nodeProperty [The schema attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements.]
+* numericRange [The schema attribute maps to a numeric value.]
+* stringRange [The schema attribute maps to a string value.]
+* unitClassProperty [The schema attribute applies to unit classes.]
+* unitModifierProperty [The schema attribute applies to unit modifier classes.]
+* unitProperty [The schema attribute applies to units within a unit class.]
+* valueClassProperty [The schema attribute applies to value classes.]
'''Epilogue'''[This section citation, licensing, and other information.]
This schema is released under the Creative Commons Attribution 4.0 International and is a product of the HED Working Group. The DOI for the latest version of the HED standard schema is 10.5281/zenodo.7876037.
From fd6b0e3343f247923d8971dd838b08c27c67d836 Mon Sep 17 00:00:00 2001
From: Kay Robbins <1189050+VisLab@users.noreply.github.com>
Date: Sat, 30 Mar 2024 11:30:23 -0500
Subject: [PATCH 2/4] Renamed xxxProperty corresonding to domains xxxDomain
---
standard_schema/prerelease/HED8.3.0.mediawiki | 71 ++++++++++---------
1 file changed, 38 insertions(+), 33 deletions(-)
diff --git a/standard_schema/prerelease/HED8.3.0.mediawiki b/standard_schema/prerelease/HED8.3.0.mediawiki
index ca35f641..f20cb54d 100644
--- a/standard_schema/prerelease/HED8.3.0.mediawiki
+++ b/standard_schema/prerelease/HED8.3.0.mediawiki
@@ -571,6 +571,7 @@ Each term in this vocabulary has a human-readable description and may include ad
***** None {relatedTag=All, relatedTag=Some}[No person or thing, nobody, not any.]
***** Some {relatedTag=All, relatedTag=None}[At least a small amount or number of, but not a large amount of, or often.]
***** True {relatedTag=False}[Conforming to facts, reality or definitive criteria.]
+***** Unknown {relatedTag=Invalid}[The information has not been provided.]
***** Valid {relatedTag=Invalid}[Allowable, usable, or acceptable.]
***** Wrong {relatedTag=Correct}[Inaccurate or not correct.]
**** Categorical-judgment-value [Categorical values that are based on the judgment or perception of the participant such familiar and famous.]
@@ -1328,41 +1329,45 @@ Each term in this vocabulary has a human-readable description and may include ad
* textClass {allowedCharacter=text}[Values that have the characteristics of text such as in descriptions. The text characters include printable characters (32 <= ASCII < 127) excluding comma, square bracket and curly braces as well as nonascii (ASCII codes > 127).]
'''Schema attributes''' [Allowed attribute modifiers of other sections of the schema.]
-* allowedCharacter {stringRange, valueClassProperty, unitProperty, unitModifierProperty}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.]
-* conversionFactor {numericRange, unitProperty, unitModifierProperty}[The factor to multiply these units or unit modifiers by to convert to default units.]
-* defaultUnits {stringRange, unitClassProperty}[The default units to use if the placeholder has a unit class but the substituted value has no units.]
-* deprecatedFrom {stringRange, elementProperty}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.]
-* extensionAllowed {boolRange, nodeProperty, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.]
-* hedId {stringRange, elementProperty}[The unique identifier of this element in the HED namespace.]
-* inLibrary {stringRange, elementProperty} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.]
-* relatedTag {stringRange, nodeProperty, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]
-* requireChild {boolRange, nodeProperty}[This tag must have a descendent.]
-* reserved {boolRange, nodeProperty}[This tag has special meaning and requires special handling by tools.]
-* rooted {stringRange, nodeProperty}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]
-* SIUnit {boolRange, unitProperty}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.]
-* SIUnitModifier {boolRange, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]
-* SIUnitSymbolModifier {boolRange, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]
-* suggestedTag {stringRange, nodeProperty, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]
-* tagGroup {boolRange, nodeProperty}[This tag can only appear inside a tag group.]
-* takesValue {boolRange, nodeProperty}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.]
-* topLevelTagGroup {boolRange, nodeProperty}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.]
-* unique {boolRange, nodeProperty}[Only one of this tag or its descendants can be used in the event-level HED string.]
-* unitClass {stringRange, nodeProperty}[The name of the unit class this placeholder tag belongs to.]
-* unitPrefix {boolRange, unitProperty}[This unit is a prefix unit (e.g., dollar sign in the currency units).]
-* unitSymbol {boolRange, unitProperty}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.]
-* valueClass {stringRange, nodeProperty}[The value class this placeholder tag belongs to..]
+* allowedCharacter {stringRange, valueClassDomain, unitDomain, unitModifierDomain}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.]
+* conversionFactor {numericRange, unitDomain, unitModifierDomain}[The factor to multiply these units or unit modifiers by to convert to default units.]
+* defaultUnits {stringRange, unitClassDomain}[The default units to use if the placeholder has a unit class but the substituted value has no units.]
+* deprecatedFrom {stringRange, elementDomain}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.]
+* extensionAllowed {boolRange, nodeDomain, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.]
+* hedId {stringRange, elementDomain}[The unique identifier of this element in the HED namespace.]
+* inLibrary {stringRange, elementDomain} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.]
+* relatedTag {stringRange, nodeDomain, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]
+* requireChild {boolRange, nodeDomain}[This tag must have a descendent.]
+* reserved {boolRange, nodeDomain}[This tag has special meaning and requires special handling by tools.]
+* rooted {stringRange, nodeDomain}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]
+* SIUnit {boolRange, unitDomain}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.]
+* SIUnitModifier {boolRange, unitModifierDomain}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]
+* SIUnitSymbolModifier {boolRange, unitModifierDomain}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]
+* suggestedTag {stringRange, nodeDomain, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]
+* tagGroup {boolRange, nodeDomain}[This tag can only appear inside a tag group.]
+* takesValue {boolRange, nodeDomain}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.]
+* topLevelTagGroup {boolRange, nodeDomain}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.]
+* unique {boolRange, nodeDomain}[Only one of this tag or its descendants can be used in the event-level HED string.]
+* unitClass {stringRange, nodeDomain}[The name of the unit class this placeholder tag belongs to.]
+* unitPrefix {boolRange, unitDomain}[This unit is a prefix unit (e.g., dollar sign in the currency units).]
+* unitSymbol {boolRange, unitDomain}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.]
+* valueClass {stringRange, nodeDomain}[The value class this placeholder tag belongs to..]
'''Properties''' [Properties of the schema attributes themselves. These are used for schema handling and verification.]
-* boolRange [The schema attribute maps to true or false. If present, it is assumed to be true.]
-* elementProperty [The schema attribute can apply to any type of element (tag term, unit class, etc).]
-* isInheritedProperty [The schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]
-* nodeProperty [The schema attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements.]
-* numericRange [The schema attribute maps to a numeric value.]
-* stringRange [The schema attribute maps to a string value.]
-* unitClassProperty [The schema attribute applies to unit classes.]
-* unitModifierProperty [The schema attribute applies to unit modifier classes.]
-* unitProperty [The schema attribute applies to units within a unit class.]
-* valueClassProperty [The schema attribute applies to value classes.]
+* boolRange [This schema attribute's value can be true or false. This property was formerly named boolProperty.]
+* elementDomain [This schema attribute can apply to any type of element (tag term, unit class, etc). This property was formerly named elementProperty.]
+* isInheritedProperty [This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]
+* nodeDomain [This schema attribute can apply to node (tag-term) elements. This was added so attributes could apply to multiple types of elements. This property was formerly named nodeProperty.]
+* nodeRange [This schema attribute's value can be a node. This property was formerly named nodeProperty.]
+* numericRange [This schema attribute's value can be numeric.]
+* stringRange [This schema attribute's value can be numeric.]
+* unitClassDomain [This schema attribute can apply to unit classes. This property was formerly named unitClassProperty.]
+* unitClassRange [This schema attribute's value can be a unit class.]
+* unitModifierDomain [This schema attribute can apply to unit modifiers. This property was formerly named unitModifierProperty.]
+* unitDomain [This schema attribute can apply to units. This property was formerly named unitProperty.]
+* unitRange [This schema attribute's can be units.]
+* valueClassDomain [This schema attribute can apply to value classes. This property was formerly named valueClassProperty.]
+* valueClassRange [This schema attribute's value can be a value class.]
'''Epilogue'''[This section citation, licensing, and other information.]
This schema is released under the Creative Commons Attribution 4.0 International and is a product of the HED Working Group. The DOI for the latest version of the HED standard schema is 10.5281/zenodo.7876037.
From 457ca70c33bbb353ed6c1b96925bb444fb3c875f Mon Sep 17 00:00:00 2001
From: Kay Robbins <1189050+VisLab@users.noreply.github.com>
Date: Sat, 30 Mar 2024 16:18:14 -0500
Subject: [PATCH 3/4] Updated the domain and range of attributes for 8.3.0
---
standard_schema/prerelease/HED8.3.0.mediawiki | 54 +++++++++----------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/standard_schema/prerelease/HED8.3.0.mediawiki b/standard_schema/prerelease/HED8.3.0.mediawiki
index f20cb54d..c02c16a6 100644
--- a/standard_schema/prerelease/HED8.3.0.mediawiki
+++ b/standard_schema/prerelease/HED8.3.0.mediawiki
@@ -1329,43 +1329,43 @@ Each term in this vocabulary has a human-readable description and may include ad
* textClass {allowedCharacter=text}[Values that have the characteristics of text such as in descriptions. The text characters include printable characters (32 <= ASCII < 127) excluding comma, square bracket and curly braces as well as nonascii (ASCII codes > 127).]
'''Schema attributes''' [Allowed attribute modifiers of other sections of the schema.]
-* allowedCharacter {stringRange, valueClassDomain, unitDomain, unitModifierDomain}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.]
-* conversionFactor {numericRange, unitDomain, unitModifierDomain}[The factor to multiply these units or unit modifiers by to convert to default units.]
-* defaultUnits {stringRange, unitClassDomain}[The default units to use if the placeholder has a unit class but the substituted value has no units.]
-* deprecatedFrom {stringRange, elementDomain}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.]
-* extensionAllowed {boolRange, nodeDomain, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.]
-* hedId {stringRange, elementDomain}[The unique identifier of this element in the HED namespace.]
-* inLibrary {stringRange, elementDomain} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.]
-* relatedTag {stringRange, nodeDomain, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]
-* requireChild {boolRange, nodeDomain}[This tag must have a descendent.]
-* reserved {boolRange, nodeDomain}[This tag has special meaning and requires special handling by tools.]
-* rooted {stringRange, nodeDomain}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]
-* SIUnit {boolRange, unitDomain}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.]
-* SIUnitModifier {boolRange, unitModifierDomain}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]
-* SIUnitSymbolModifier {boolRange, unitModifierDomain}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]
-* suggestedTag {stringRange, nodeDomain, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]
-* tagGroup {boolRange, nodeDomain}[This tag can only appear inside a tag group.]
-* takesValue {boolRange, nodeDomain}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.]
-* topLevelTagGroup {boolRange, nodeDomain}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.]
-* unique {boolRange, nodeDomain}[Only one of this tag or its descendants can be used in the event-level HED string.]
-* unitClass {stringRange, nodeDomain}[The name of the unit class this placeholder tag belongs to.]
-* unitPrefix {boolRange, unitDomain}[This unit is a prefix unit (e.g., dollar sign in the currency units).]
-* unitSymbol {boolRange, unitDomain}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.]
-* valueClass {stringRange, nodeDomain}[The value class this placeholder tag belongs to..]
+* allowedCharacter {unitDomain, unitModifierDomain, valueClassDomain, stringRange}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Allowed characters may be listed individual, named individually, or named as a group as specified in Section 2.2 Character sets and restrictions of the HED specification.]
+* conversionFactor {unitDomain, unitModifierDomain, numericRange}[The factor to multiply these units or unit modifiers by to convert to default units.]
+* defaultUnits {unitClassDomain, unitRange}[The default units to use if the placeholder has a unit class but the substituted value has no units.]
+* deprecatedFrom {elementDomain, stringRange}[The latest schema version in which the element was not deprecated.]
+* extensionAllowed {tagDomain, boolRange, isInheritedProperty}[Users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.]
+* hedId {elementDomain, stringRange}[The unique identifier of this element in the HED namespace.]
+* inLibrary {elementDomain, stringRange} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.]
+* relatedTag {tagDomain, tagRange, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]
+* requireChild {tagDomain, boolRange}[This tag must have a descendent.]
+* reserved {tagDomain, boolRange}[This tag has special meaning and requires special handling by tools.]
+* rooted {tagDomain, tagRange}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]
+* SIUnit {unitDomain, boolRange}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.]
+* SIUnitModifier {unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]
+* SIUnitSymbolModifier {unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]
+* suggestedTag {tagDomain, stringRange, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]
+* tagGroup {tagDomain, boolRange}[This tag can only appear inside a tag group.]
+* takesValue {tagDomain, boolRange}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.]
+* topLevelTagGroup {tagDomain, boolRange}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.]
+* unique {tagDomain,boolRange}[Only one of this tag or its descendants can be used in the event-level HED string.]
+* unitClass {tagDomain, stringRange}[The unit class that the value of a placeholder node can belong to.]
+* unitPrefix {unitDomain, boolRange}[This unit is a prefix unit (e.g., dollar sign in the currency units).]
+* unitSymbol {unitDomain, boolRange}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.]
+* valueClass {tagDomain, valueClassRange}[Type of value taken on by the value of a placeholder node.]
'''Properties''' [Properties of the schema attributes themselves. These are used for schema handling and verification.]
* boolRange [This schema attribute's value can be true or false. This property was formerly named boolProperty.]
* elementDomain [This schema attribute can apply to any type of element (tag term, unit class, etc). This property was formerly named elementProperty.]
* isInheritedProperty [This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]
-* nodeDomain [This schema attribute can apply to node (tag-term) elements. This was added so attributes could apply to multiple types of elements. This property was formerly named nodeProperty.]
-* nodeRange [This schema attribute's value can be a node. This property was formerly named nodeProperty.]
+* tagDomain [This schema attribute can apply to node (tag-term) elements. This was added so attributes could apply to multiple types of elements. This property was formerly named nodeProperty.]
+* tagRange [This schema attribute's value can be a node. This property was formerly named nodeProperty.]
* numericRange [This schema attribute's value can be numeric.]
-* stringRange [This schema attribute's value can be numeric.]
+* stringRange [This schema attribute's value can be a string.]
* unitClassDomain [This schema attribute can apply to unit classes. This property was formerly named unitClassProperty.]
* unitClassRange [This schema attribute's value can be a unit class.]
* unitModifierDomain [This schema attribute can apply to unit modifiers. This property was formerly named unitModifierProperty.]
* unitDomain [This schema attribute can apply to units. This property was formerly named unitProperty.]
-* unitRange [This schema attribute's can be units.]
+* unitRange [This schema attribute's value can be units.]
* valueClassDomain [This schema attribute can apply to value classes. This property was formerly named valueClassProperty.]
* valueClassRange [This schema attribute's value can be a value class.]
From 18b853d7e2da757c8ea2abdae52eea043b506548 Mon Sep 17 00:00:00 2001
From: Kay Robbins <1189050+VisLab@users.noreply.github.com>
Date: Sun, 31 Mar 2024 13:47:49 -0500
Subject: [PATCH 4/4] Updated 8.3.0 mediawiki with new handling of attributes
---
README.md | 2 +-
standard_schema/prerelease/HED8.3.0.mediawiki | 18 +++++++++---------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/README.md b/README.md
index f391f04f..57ded222 100644
--- a/README.md
+++ b/README.md
@@ -99,7 +99,7 @@ levels of changes in the semantic version:
| Unit or unit class removed from node. | Major |
| Node attribute value changed | Minor |
| Inherited attribute change | Minor |
-| New property added to schema | Minor |
+| New property added to or removed from schema | Minor |
| New value class added to schema | Minor |
| New unit modifier added to schema | Minor |
| New tag added to the schema. | Minor |
diff --git a/standard_schema/prerelease/HED8.3.0.mediawiki b/standard_schema/prerelease/HED8.3.0.mediawiki
index c02c16a6..7af49d69 100644
--- a/standard_schema/prerelease/HED8.3.0.mediawiki
+++ b/standard_schema/prerelease/HED8.3.0.mediawiki
@@ -423,7 +423,7 @@ Each term in this vocabulary has a human-readable description and may include ad
*** Siren [A loud, continuous sound often varying in frequency designed to indicate an emergency.]
'''Property''' {extensionAllowed}[Something that pertains to a thing. A characteristic of some entity. A quality or feature regarded as a characteristic or inherent part of someone or something. HED attributes are adjectives or adverbs.]
-* Agent-property {extensionAllowed}[Something that pertains to an agent.]
+* Agent-property [Something that pertains to an agent.]
** Agent-state [The state of the agent.]
*** Agent-cognitive-state [The state of the cognitive processes or state of mind of the agent.]
**** Alert [Condition of heightened watchfulness or preparation for action.]
@@ -1333,19 +1333,19 @@ Each term in this vocabulary has a human-readable description and may include ad
* conversionFactor {unitDomain, unitModifierDomain, numericRange}[The factor to multiply these units or unit modifiers by to convert to default units.]
* defaultUnits {unitClassDomain, unitRange}[The default units to use if the placeholder has a unit class but the substituted value has no units.]
* deprecatedFrom {elementDomain, stringRange}[The latest schema version in which the element was not deprecated.]
-* extensionAllowed {tagDomain, boolRange, isInheritedProperty}[Users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.]
-* hedId {elementDomain, stringRange}[The unique identifier of this element in the HED namespace.]
+* extensionAllowed {tagDomain, boolRange}[Users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.]
+* hedId {annotationProperty, elementDomain, stringRange}[The unique identifier of this element in the HED namespace.]
* inLibrary {elementDomain, stringRange} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.]
-* relatedTag {tagDomain, tagRange, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]
-* requireChild {tagDomain, boolRange}[This tag must have a descendent.]
+* relatedTag {tagDomain, tagRange}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]
+* requireChild {annotationProperty, tagDomain, boolRange}[This tag must have a descendent.]
* reserved {tagDomain, boolRange}[This tag has special meaning and requires special handling by tools.]
-* rooted {tagDomain, tagRange}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]
+* rooted {annotationProperty, tagDomain, tagRange}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]
* SIUnit {unitDomain, boolRange}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.]
* SIUnitModifier {unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]
* SIUnitSymbolModifier {unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]
-* suggestedTag {tagDomain, stringRange, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]
+* suggestedTag {tagDomain, stringRange}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]
* tagGroup {tagDomain, boolRange}[This tag can only appear inside a tag group.]
-* takesValue {tagDomain, boolRange}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.]
+* takesValue {annotationProperty, tagDomain, boolRange}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.]
* topLevelTagGroup {tagDomain, boolRange}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.]
* unique {tagDomain,boolRange}[Only one of this tag or its descendants can be used in the event-level HED string.]
* unitClass {tagDomain, stringRange}[The unit class that the value of a placeholder node can belong to.]
@@ -1354,9 +1354,9 @@ Each term in this vocabulary has a human-readable description and may include ad
* valueClass {tagDomain, valueClassRange}[Type of value taken on by the value of a placeholder node.]
'''Properties''' [Properties of the schema attributes themselves. These are used for schema handling and verification.]
+* annotationProperty [This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]
* boolRange [This schema attribute's value can be true or false. This property was formerly named boolProperty.]
* elementDomain [This schema attribute can apply to any type of element (tag term, unit class, etc). This property was formerly named elementProperty.]
-* isInheritedProperty [This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]
* tagDomain [This schema attribute can apply to node (tag-term) elements. This was added so attributes could apply to multiple types of elements. This property was formerly named nodeProperty.]
* tagRange [This schema attribute's value can be a node. This property was formerly named nodeProperty.]
* numericRange [This schema attribute's value can be numeric.]