Requirement Identifiers

Sebastian Huber sebastian.huber at
Thu Jul 18 13:47:03 UTC 2019

On 18/07/2019 15:36, Sebastian Huber wrote:
> On 11/07/2019 15:44, Sebastian Huber wrote:
>> On 11/07/2019 15:19, Joel Sherrill wrote:
>>> Early on, we discussed that there wasn't a Rest backend to Doorstop. 
>>> If we are having
>>> to add that anyway, can each "category" be generated as a chapter?
>>> We could generate 100+ chapters but we can't have 100+ requirements 
>>> documents.
>> We will have custom attributes, such as type and verification-method, 
>> so we need a custom documentation generator anyway:
>> YAML files -> Doorstop -> Custom Translator -> Sphinx/ReST -> PDF | HTML
>> It will be sections or chapters not documents.
> I just had a look at Doorstop to figure out how difficult it is to write 
> a custom translator. It is very easy. The following script visits all 
> items of a Doorstop document hierarchy loaded from the current 
> directory. In the ItemVisitor() you can aggregate all the data you need 
> and then dump it in your custom format. This is currently not documented:
> If we start to use this, then we should improve the Doorstop documentation.
> Here is the script:
> from doorstop.core.builder import build
> class ItemVisitor:
>      def __call__(self, item, document, tree):
>          print(f"item {item} document {document} tree {tree}")
>          return
>          yield
> tree = build()
> tree.load()
> tree.validate(item_hook=ItemVisitor())

Just for reference, you can also export the data via Doorstop into 
various formats, e.g.

doorstop export RTEMS-APPL-CONF output.yml

will export it into a YAML output format. The benefit of a scripting API 
would be that no intermediate document must be generated. I am not sure 
what is better in the long run. The scripting approach relies on API 

Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

More information about the devel mailing list