@@ -835,11 +835,13 @@ def __init__(
835835 url : XsUri ,
836836 comment : Optional [str ] = None ,
837837 hashes : Optional [Iterable [HashType ]] = None ,
838+ properties : Optional [Iterable ['Property' ]] = None ,
838839 ) -> None :
839840 self .url = url
840841 self .comment = comment
841842 self .type = type
842843 self .hashes = hashes or []
844+ self .properties = properties or []
843845
844846 @property
845847 @serializable .xml_sequence (1 )
@@ -909,10 +911,27 @@ def hashes(self) -> 'SortedSet[HashType]':
909911 def hashes (self , hashes : Iterable [HashType ]) -> None :
910912 self ._hashes = SortedSet (hashes )
911913
914+ @property
915+ @serializable .view (SchemaVersion1Dot7 )
916+ @serializable .xml_array (serializable .XmlArraySerializationType .NESTED , 'property' )
917+ def properties (self ) -> 'SortedSet[Property]' :
918+ """
919+ Provides the ability to document properties in a key/value store. This provides flexibility to include data not
920+ officially supported in the standard without having to use additional namespaces or create extensions.
921+
922+ Return:
923+ Set of `Property`
924+ """
925+ return self ._properties
926+
927+ @properties .setter
928+ def properties (self , properties : Iterable ['Property' ]) -> None :
929+ self ._properties = SortedSet (properties )
930+
912931 def __comparable_tuple (self ) -> _ComparableTuple :
913932 return _ComparableTuple ((
914933 self ._type , self ._url , self ._comment ,
915- _ComparableTuple (self ._hashes )
934+ _ComparableTuple (self ._hashes ), _ComparableTuple ( self . properties ),
916935 ))
917936
918937 def __eq__ (self , other : object ) -> bool :
0 commit comments