Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rejected property #241

Closed
CBenghi opened this issue Feb 5, 2024 · 2 comments
Closed

Rejected property #241

CBenghi opened this issue Feb 5, 2024 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@CBenghi
Copy link
Contributor

CBenghi commented Feb 5, 2024

Question from @NickNisbet

Why are new properties rejected ? Surely IDS isn’t only for official properties?

Error 103: Invalid property name QualityOfComponentsGrade

   <ids:property datatype="IFCLABEL" minOccurs="1" maxOccurs="1">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="*." />
            </xs:restriction>
          </ids:propertySet>
          <ids:name>
            <ids:simpleValue>QualityOfComponentsGrade</ids:simpleValue>
          </ids:name>
          <ids:value>
            <xs:restriction>
              <xs:enumeration value="VERY LOW" />
              <xs:enumeration value="LOW" />
              <xs:enumeration value="TYPICAL" />
              <xs:enumeration value="HIGH" />
              <xs:enumeration value="VERY HIGH" />
              <xs:enumeration value="USERDEFINED" />
              <xs:enumeration value="NOTDEFINED" />
            </xs:restriction>
          </ids:value>
</ids:property>

(Actually this WAS an official property that someone has removed from the schema, which is a shame as it implements an ISO standard.)

Also: Error 401: Reserved prefix 'Pset_' for property set name (Pset_ManufacturerTypeInformation)

       <ids:property datatype="IFCLABEL">
          <ids:propertySet>
            <ids:simpleValue>Pset_ManufacturerTypeInformation</ids:simpleValue>
          </ids:propertySet>
          <ids:name>
            <ids:simpleValue>Manufacturer</ids:simpleValue>
          </ids:name>
        </ids:property>

Regards,

Nick.

@CBenghi
Copy link
Contributor Author

CBenghi commented Feb 26, 2024

Hi Nick,

  1. I think that QualityOfComponentsGrade is rejected because the propertySetName is too broad.
  2. The second because buildingSMART insists that Pset_ is a reserved prefix. Only standard properties should have that name.

I will add a much clearer documentation to the audit logic once it's stable.

@CBenghi CBenghi added the documentation Improvements or additions to documentation label Feb 26, 2024
@CBenghi CBenghi self-assigned this Feb 26, 2024
@atomczak
Copy link
Contributor

The first, seems to trigger an error because .* might as well be 'Pset_'. I tried changing the pattern to Ps.* and it still triggers an error, but Psx.* already passes the audit. I am not sure how the Audit tool achieved this sophisticated precision (well done!), but I think it's better to be less conservative and not raise errors in such a case.

I'm closing here and opening an issue in the Audit repo.

The second, as @CBenghi said, is by intent.

Additionally, Nick, your pattern has a typo: *. should rather be .*.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants