buildingSMART / NextGen-IFC

61 stars 4 forks source link

Clean up ifccurrency enums #27

Closed berlotti closed 4 years ago

berlotti commented 4 years ago

There are still currencies in there that don't exist anymore for 20 years:

https://standards.buildingsmart.org/IFC/RELEASE/IFC2x/ADD1/HTML/ifcmeasureresource/lexical/ifccurrencyenum.html

TLiebich commented 4 years ago

instead of having a frozen list of enumerations (which by its nature will be outdated soon), we should refer to an existing and independently maintained standard - here: ISO 4217.

In IFC, currency should be of string value with a definition, that the value shall conform to the three letter acronym list of ISO 4217. If wanted, it could be constraint to be:

TYPE IfcCurrencyCode = STRING (3) Fixed

which would map to e.g.

 <xs:simpleType name="IfcCurrencyCode ">
  <xs:restriction base="xs:normalizedString">
   <xs:minLength value="3"/>
   <xs:maxLength value="3"/>
jmirtsch commented 4 years ago

Am I missing something? This has already been done.

https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/link/ifcmonetaryunit.htm (although it's an IfcLabel so no enforced length).

TLiebich commented 4 years ago

thanks Jon - correct - it was an enumeration back in IFC2x3.

pbourreau commented 4 years ago

Perhaps it is just not the role of bSI and more generally the BIM community to list or maintain currencies...

TLiebich commented 4 years ago

but to refer to an international standard that defines it - actually this had been done in IFC4 already (@berlotti quoted IFC2x3, which got me wrong)

here the today's definition: Currency | IfcLabel | Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD.

I think, we can close the issue - the minor change to restrict the string length could still be considered.