BuildingSync / use-cases

Collection of BuildingSync Use Cases (Schematron)
0 stars 0 forks source link

BuildingSync Use Cases

This is a collection of official and community provided BuildingSync Use Cases. Each folder is an application, standard, or organization which the Use Case is intended for.

Contributing

To contribute a new use case, open a pull request that includes a Schematron and example XML file which meet our requirements specified below. All tests should pass as well (see development below).

Schematron

Schematron files must be located under <Org or Application Name>/schematron/<Use Case Name>.sch, where:

The Schematron file itself must meet the following requirements (which are tested by our automated test suite).

Examples

In addition to the Schematron, we require that you provide at least one example of a BuildingSync document which validates against the Use Case. The example file must be under the examples/ subdirectory, and must start with the name of the Schematron it is valid against.

For example, if your use case was at Foo/schematron/Foo-1.0.0.sch, then you must have one or more files such as Foo/examples/Foo-1.0.0-<example name>.xml.

E.g.

Additional testing

Additional tests specific to a use case can be added under the tests/use_cases/ directory.

Development

setup

First install poetry. Then run

poetry install

test

poetry run pytest