capellambse.extensions.reqif package

Tools for handling ReqIF Requirements.

data:image/svg+xml;base64,PHN2ZyBiYXNlUHJvZmlsZT0iZnVsbCIgY2xhc3M9IkNsYXNzRGlhZ3JhbUJsYW5rIiBjdXJzb3I9InBvaW50ZXIiIGZvbnQtZmFtaWx5PSInT3BlbiBTYW5zJywnU2Vnb2UgVUknLEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTFweCIgaGVpZ2h0PSI2NTAiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjQ0NSA1IDUxMSA2NTAiIHdpZHRoPSI1MTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6ZXY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEveG1sLWV2ZW50cyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzeW1ib2wgaWQ9IkNsYXNzU3ltYm9sIiB2aWV3Qm94PSIwIDAgMjUgMjUiPjxsaW5lYXJHcmFkaWVudCBpZD0iQ2xhc3NTeW1ib2wtZ3JhZGllbnQiIHgxPSIwIiB4Mj0iMCIgeTE9IjAiIHkyPSIxIj48c3RvcCBvZmZzZXQ9IjAuMCIgc3RvcC1jb2xvcj0iI2NmYTZhNSIgc3RvcC1vcGFjaXR5PSIxIiAvPjxzdG9wIG9mZnNldD0iMS4wIiBzdG9wLWNvbG9yPSIjZjFlMmUzIiBzdG9wLW9wYWNpdHk9IjEiIC8+PC9saW5lYXJHcmFkaWVudD48ZyBzdHJva2U9IiM5MTM3MzQiPjxyZWN0IGZpbGw9IiNlZWRjZGQiIGhlaWdodD0iMyIgd2lkdGg9IjE1IiB4PSI1IiB5PSIxNyIgLz48cmVjdCBmaWxsPSIjZWVkY2RkIiBoZWlnaHQ9IjMiIHdpZHRoPSIxNSIgeD0iNSIgeT0iMTQiIC8+PHJlY3QgZmlsbD0idXJsKCNDbGFzc1N5bWJvbC1ncmFkaWVudCkiIGhlaWdodD0iMTAiIHdpZHRoPSIxNSIgeD0iNSIgeT0iNCIgLz48L2c+PC9zeW1ib2w+PGxpbmVhckdyYWRpZW50IGlkPSJDdXN0b21HcmFkaWVudF9GRkZGRkZfRThFMEQyIiB4MT0iMCIgeDI9IjAiIHkxPSIwIiB5Mj0iMSI+PHN0b3Agb2Zmc2V0PSIwLjAiIHN0b3AtY29sb3I9IiNGRkZGRkYiIHN0b3Atb3BhY2l0eT0iMSIgLz48c3RvcCBvZmZzZXQ9IjEuMCIgc3RvcC1jb2xvcj0iI0U4RTBEMiIgc3RvcC1vcGFjaXR5PSIxIiAvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJDdXN0b21HcmFkaWVudF9GRkZGRkZfRkFGQUZBIiB4MT0iMCIgeDI9IjAiIHkxPSIwIiB5Mj0iMSI+PHN0b3Agb2Zmc2V0PSIwLjAiIHN0b3AtY29sb3I9IiNGRkZGRkYiIHN0b3Atb3BhY2l0eT0iMSIgLz48c3RvcCBvZmZzZXQ9IjEuMCIgc3RvcC1jb2xvcj0iI0ZBRkFGQSIgc3RvcC1vcGFjaXR5PSIxIiAvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJDdXN0b21HcmFkaWVudF9GRkVCQTdfRkZGRkZGIiB4MT0iMCIgeDI9IjAiIHkxPSIwIiB5Mj0iMSI+PHN0b3Agb2Zmc2V0PSIwLjAiIHN0b3AtY29sb3I9IiNGRkVCQTciIHN0b3Atb3BhY2l0eT0iMSIgLz48c3RvcCBvZmZzZXQ9IjEuMCIgc3RvcC1jb2xvcj0iI0ZGRkZGRiIgc3RvcC1vcGFjaXR5PSIxIiAvPjwvbGluZWFyR3JhZGllbnQ+PG1hcmtlciBpZD0iR2VuZXJhbGl6YXRpb25NYXJrXzAwMDAwMCIgbWFya2VySGVpZ2h0PSI3LjUiIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgbWFya2VyV2lkdGg9IjcuNSIgb3JpZW50PSJhdXRvIiByZWZYPSI3IiByZWZZPSI0Ij48cGF0aCBkPSJNIDAuMTI3NSw3LjUgNy41LDMuNzUgMCwwIFoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxIiAvPjwvbWFya2VyPjwvZGVmcz48cmVjdCBmaWxsPSIjZmZmIiBoZWlnaHQ9IjY1MCIgc3Ryb2tlPSJub25lIiB3aWR0aD0iNTExIiB4PSI0NDUiIHk9IjUiIC8+PGcgY2xhc3M9IkJveCBDbGFzcyBjb250ZXh0LV9xRVR0WUxpckVldVFIc0pjMFFPMkRnIiBpZD0iX1RCbmFFUEhIRWVxMGxNdEwtZzgwQUEiPjxyZWN0IGNsYXNzPSJDbGFzcyIgZmlsbD0idXJsKCZxdW90OyNDdXN0b21HcmFkaWVudF9GRkZGRkZfRThFMEQyJnF1b3Q7KSIgaGVpZ2h0PSIxMDEiIHJ4PSIxMHB4IiByeT0iMTBweCIgc3Ryb2tlPSIjMDc3RjAwIiBzdHJva2Utd2lkdGg9IjEiIHdpZHRoPSIxNTIiIHg9IjQ3NS41IiB5PSIxNS41IiAvPjx0ZXh0IGNsYXNzPSJDbGFzcyIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSIgZmlsbD0iIzAwOTAwOSIgZm9udC1zdHlsZT0iaXRhbGljIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSI0NzUiIHk9IjE1Ij48dHNwYW4geD0iNTYyLjAiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjIzLjE0Mjg1NzE0Mjg1NzE0MiI+R2VuZXJpY0VsZW1lbnQ8L3RzcGFuPjwvdGV4dD48dXNlIGhlaWdodD0iMjAiIHdpZHRoPSIyMCIgeD0iNDk3LjYxOTA0NzYxOTA0NzYiIHhsaW5rOmhyZWY9IiNDbGFzc1N5bWJvbCIgeT0iMTMuMTQyODU3MTQyODU3MTQyIiAvPjxsaW5lIHN0cm9rZT0iIzA3N0YwMCIgeDE9IjQ3NS41IiB4Mj0iNjI3LjUiIHkxPSIzOS43ODU3MTQyODU3MTQyODUiIHkyPSIzOS43ODU3MTQyODU3MTQyODUiIC8+PHRleHQgY2xhc3M9IkZlYXR1cmVzIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiBmaWxsPSIjMDA5MDA5IiBmb250LXN0eWxlPSJpdGFsaWMiIHRleHQtYW5jaG9yPSJzdGFydCIgeD0iNDg3LjUiIHk9IjM5Ljc4NTcxNDI4NTcxNDI4NSI+PHRzcGFuIHg9IjQ4Ny41IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI1NC4wNzE0Mjg1NzE0Mjg1NyI+dXVpZCA6IFN0cmluZzwvdHNwYW4+PHRzcGFuIHg9IjQ4Ny41IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI3Mi42NDI4NTcxNDI4NTcxNCI+bmFtZSA6IFN0cmluZzwvdHNwYW4+PHRzcGFuIHg9IjQ4Ny41IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI5MS4yMTQyODU3MTQyODU3MSI+ZGVzY3JpcHRpb24gOjwvdHNwYW4+PHRzcGFuIHg9IjQ4Ny41IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxMDkuNzg1NzE0Mjg1NzE0MjgiPkhUTUwtVGV4dDwvdHNwYW4+PHRzcGFuIHg9IjQ4Ny41IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxMjguMzU3MTQyODU3MTQyODYiPnh0eXBlIDogWFR5cGUuLi48L3RzcGFuPjwvdGV4dD48L2c+PGcgY2xhc3M9IkJveCBEYXRhUGtnIiBpZD0iX29iNC1FTGlyRWV1UUhzSmMwUU8yRGciPjxyZWN0IGNsYXNzPSJEYXRhUGtnIiBmaWxsPSJ1cmwoJnF1b3Q7I0N1c3RvbUdyYWRpZW50X0ZGRkZGRl9GQUZBRkEmcXVvdDspIiBoZWlnaHQ9IjQ5MCIgc3Ryb2tlPSIjNDU0NTQ1IiBzdHJva2Utd2lkdGg9IjEiIHdpZHRoPSI0OTEiIHg9IjQ1NS41IiB5PSIxNTUuNSIgLz48dGV4dCBjbGFzcz0iRGF0YVBrZyIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iNDU1IiB5PSIxNTUiPjx0c3BhbiB4PSI3MDAuNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTY3LjI4NTcxNDI4NTcxNDI4Ij5yZXFpZjwvdHNwYW4+PC90ZXh0PjwvZz48ZyBjbGFzcz0iQm94IENsYXNzIGNvbnRleHQtX3FFVHRZTGlyRWV1UUhzSmMwUU8yRGcgY29udGV4dC1fcUVVVWNMaXJFZXVRSHNKYzBRTzJEZyBjb250ZXh0LV9xRVVVZGJpckVldVFIc0pjMFFPMkRnIGNvbnRleHQtX3FFVVVlcmlyRWV1UUhzSmMwUU8yRGcgY29udGV4dC1fcUVVVWY3aXJFZXVRSHNKYzBRTzJEZyIgaWQ9Il9xRUNBazdpckVldVFIc0pjMFFPMkRnIj48cmVjdCBjbGFzcz0iQ2xhc3MiIGZpbGw9InVybCgmcXVvdDsjQ3VzdG9tR3JhZGllbnRfRkZFQkE3X0ZGRkZGRiZxdW90OykiIGhlaWdodD0iMTI1IiByeD0iMTBweCIgcnk9IjEwcHgiIHN0cm9rZT0iI0VBQTkwMCIgc3Ryb2tlLXdpZHRoPSIxIiB3aWR0aD0iMTMwIiB4PSI0NzUuNSIgeT0iMjA0LjUiIC8+PHRleHQgY2xhc3M9IkNsYXNzIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiBmaWxsPSIjQzA2RTAwIiBmb250LXN0eWxlPSJpdGFsaWMiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjQ3NSIgeT0iMjA0Ij48dHNwYW4geD0iNTUxLjAiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjIxNC4yODU3MTQyODU3MTQyOCI+UmVxSUZFbGVtZW50PC90c3Bhbj48L3RleHQ+PHVzZSBoZWlnaHQ9IjIwIiB3aWR0aD0iMjAiIHg9IjQ5Mi4zMzMzMzMzMzMzMzMzIiB4bGluazpocmVmPSIjQ2xhc3NTeW1ib2wiIHk9IjIwNC4yODU3MTQyODU3MTQyOCIgLz48bGluZSBzdHJva2U9IiNFQUE5MDAiIHgxPSI0NzUuNSIgeDI9IjYwNS41IiB5MT0iMjMzLjA3MTQyODU3MTQyODU4IiB5Mj0iMjMzLjA3MTQyODU3MTQyODU4IiAvPjx0ZXh0IGNsYXNzPSJGZWF0dXJlcyIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSIgZmlsbD0iI0MwNkUwMCIgZm9udC1zdHlsZT0iaXRhbGljIiB0ZXh0LWFuY2hvcj0ic3RhcnQiIHg9IjQ4Ny41IiB5PSIyMzMuMDcxNDI4NTcxNDI4NTgiPjx0c3BhbiB4PSI0ODcuNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjQ3LjM1NzE0Mjg1NzE0Mjg2Ij5pZGVudGlmaWVyIDo8L3RzcGFuPjx0c3BhbiB4PSI0ODcuNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjY1LjkyODU3MTQyODU3MTQ0Ij5TdHJpbmc8L3RzcGFuPjx0c3BhbiB4PSI0ODcuNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjg0LjUiPmxvbmdfbmFtZSA6PC90c3Bhbj48dHNwYW4geD0iNDg3LjUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjMwMy4wNzE0Mjg1NzE0Mjg1NiI+U3RyaW5nPC90c3Bhbj48dHNwYW4geD0iNDg3LjUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjMyMS42NDI4NTcxNDI4NTcxIj5kZXNjcmlwdGlvbiA6PC90c3Bhbj48dHNwYW4geD0iNDg3LjUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjM0MC4yMTQyODU3MTQyODU2NyI+U3RyaW5nPC90c3Bhbj48dHNwYW4geD0iNDg3LjUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjM1OC43ODU3MTQyODU3MTQyIj5uYW1lIDouLi48L3RzcGFuPjwvdGV4dD48L2c+PGcgY2xhc3M9IkJveCBDbGFzcyBjb250ZXh0LV9xRVVVY0xpckVldVFIc0pjMFFPMkRnIiBpZD0iX3FFQ25vN2lyRWV1UUhzSmMwUU8yRGciPjxyZWN0IGNsYXNzPSJDbGFzcyIgZmlsbD0idXJsKCZxdW90OyNDdXN0b21HcmFkaWVudF9GRkVCQTdfRkZGRkZGJnF1b3Q7KSIgaGVpZ2h0PSI1NCIgcng9IjEwcHgiIHJ5PSIxMHB4IiBzdHJva2U9IiNFQUE5MDAiIHN0cm9rZS13aWR0aD0iMSIgd2lkdGg9IjE1MSIgeD0iNTQ1LjUiIHk9IjUxMi41IiAvPjx0ZXh0IGNsYXNzPSJDbGFzcyIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSIgZmlsbD0iI0MwNkUwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iNTQ1IiB5PSI1MTIiPjx0c3BhbiB4PSI2MzEuNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNTIyLjI4NTcxNDI4NTcxNDMiPlJlcXVpcmVtZW50c0ZvbGRlcjwvdHNwYW4+PC90ZXh0Pjx1c2UgaGVpZ2h0PSIyMCIgd2lkdGg9IjIwIiB4PSI1NTUuMjE0Mjg1NzE0Mjg1NyIgeGxpbms6aHJlZj0iI0NsYXNzU3ltYm9sIiB5PSI1MTIuMjg1NzE0Mjg1NzE0MyIgLz48bGluZSBzdHJva2U9IiNFQUE5MDAiIHgxPSI1NDUuNSIgeDI9IjY5Ni41IiB5MT0iNTQxLjA3MTQyODU3MTQyODYiIHkyPSI1NDEuMDcxNDI4NTcxNDI4NiIgLz48L2c+PGcgY2xhc3M9IkJveCBDbGFzcyBjb250ZXh0LV9xRVVVZGJpckVldVFIc0pjMFFPMkRnIiBpZD0iX3FFRE9zN2lyRWV1UUhzSmMwUU8yRGciPjxyZWN0IGNsYXNzPSJDbGFzcyIgZmlsbD0idXJsKCZxdW90OyNDdXN0b21HcmFkaWVudF9GRkVCQTdfRkZGRkZGJnF1b3Q7KSIgaGVpZ2h0PSI3NyIgcng9IjEwcHgiIHJ5PSIxMHB4IiBzdHJva2U9IiNFQUE5MDAiIHN0cm9rZS13aWR0aD0iMSIgd2lkdGg9IjE0NCIgeD0iNzA1LjUiIHk9IjM2NC41IiAvPjx0ZXh0IGNsYXNzPSJDbGFzcyIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSIgZmlsbD0iI0MwNkUwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iNzA1IiB5PSIzNjQiPjx0c3BhbiB4PSI3ODguMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMzczLjU3MTQyODU3MTQyODU2Ij5SZXF1aXJlbWVudDwvdHNwYW4+PC90ZXh0Pjx1c2UgaGVpZ2h0PSIyMCIgd2lkdGg9IjIwIiB4PSI3MzEuMjM4MDk1MjM4MDk1MiIgeGxpbms6aHJlZj0iI0NsYXNzU3ltYm9sIiB5PSIzNjMuNTcxNDI4NTcxNDI4NTYiIC8+PGxpbmUgc3Ryb2tlPSIjRUFBOTAwIiB4MT0iNzA1LjUiIHgyPSI4NDkuNSIgeTE9IjM5MS42NDI4NTcxNDI4NTcxNyIgeTI9IjM5MS42NDI4NTcxNDI4NTcxNyIgLz48dGV4dCBjbGFzcz0iRmVhdHVyZXMiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIGZpbGw9IiNDMDZFMDAiIHRleHQtYW5jaG9yPSJzdGFydCIgeD0iNzE3LjUiIHk9IjM5MS42NDI4NTcxNDI4NTcxNyI+PHRzcGFuIHg9IjcxNy41IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0MDUuOTI4NTcxNDI4NTcxNDQiPnRleHQgOiBTdHJpbmc8L3RzcGFuPjx0c3BhbiB4PSI3MTcuNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNDI0LjUiPmZvcmVpZ25faWQgOjwvdHNwYW4+PHRzcGFuIHg9IjcxNy41IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0NDMuMDcxNDI4NTcxNDI4NTYiPkludGVnZXI8L3RzcGFuPjx0c3BhbiB4PSI3MTcuNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNDYxLjY0Mjg1NzE0Mjg1NzEiPmNoYXB0ZXJfbmFtZS4uLjwvdHNwYW4+PC90ZXh0PjwvZz48ZyBjbGFzcz0iQm94IENsYXNzIGNvbnRleHQtX3FFVVVlcmlyRWV1UUhzSmMwUU8yRGciIGlkPSJfcUVEMXdyaXJFZXVRSHNKYzBRTzJEZyI+PHJlY3QgY2xhc3M9IkNsYXNzIiBmaWxsPSJ1cmwoJnF1b3Q7I0N1c3RvbUdyYWRpZW50X0ZGRUJBN19GRkZGRkYmcXVvdDspIiBoZWlnaHQ9IjY2IiByeD0iMTBweCIgcnk9IjEwcHgiIHN0cm9rZT0iI0VBQTkwMCIgc3Ryb2tlLXdpZHRoPSIxIiB3aWR0aD0iMTAwIiB4PSI3ODUuNSIgeT0iNTE4LjUiIC8+PHRleHQgY2xhc3M9IkNsYXNzIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiBmaWxsPSIjQzA2RTAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSI3ODUiIHk9IjUxOCI+PHRzcGFuIHg9Ijg0Ni4wIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI1MjYuMTQyODU3MTQyODU3MSI+TW9kdWxlPC90c3Bhbj48L3RleHQ+PHVzZSBoZWlnaHQ9IjIwIiB3aWR0aD0iMjAiIHg9IjgwMy41MjM4MDk1MjM4MDk1IiB4bGluazpocmVmPSIjQ2xhc3NTeW1ib2wiIHk9IjUxNi4xNDI4NTcxNDI4NTcxIiAvPjxsaW5lIHN0cm9rZT0iI0VBQTkwMCIgeDE9Ijc4NS41IiB4Mj0iODg1LjUiIHkxPSI1NDIuNzg1NzE0Mjg1NzE0MyIgeTI9IjU0Mi43ODU3MTQyODU3MTQzIiAvPjx0ZXh0IGNsYXNzPSJGZWF0dXJlcyIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSIgZmlsbD0iI0MwNkUwMCIgdGV4dC1hbmNob3I9InN0YXJ0IiB4PSI3OTcuNSIgeT0iNTQyLjc4NTcxNDI4NTcxNDMiPjx0c3BhbiB4PSI3OTcuNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNTU2LjM1NzE0Mjg1NzE0MjkiPnR5cGUgOiBTdHJpbmc8L3RzcGFuPjwvdGV4dD48L2c+PGcgY2xhc3M9IkJveCBDbGFzcyBjb250ZXh0LV9xRVVVZjdpckVldVFIc0pjMFFPMkRnIiBpZD0iX3FFRWMwcmlyRWV1UUhzSmMwUU8yRGciPjxyZWN0IGNsYXNzPSJDbGFzcyIgZmlsbD0idXJsKCZxdW90OyNDdXN0b21HcmFkaWVudF9GRkVCQTdfRkZGRkZGJnF1b3Q7KSIgaGVpZ2h0PSI1MSIgcng9IjEwcHgiIHJ5PSIxMHB4IiBzdHJva2U9IiNFQUE5MDAiIHN0cm9rZS13aWR0aD0iMSIgd2lkdGg9IjgwIiB4PSI3NTUuNSIgeT0iMjMzLjUiIC8+PHRleHQgY2xhc3M9IkNsYXNzIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiBmaWxsPSIjQzA2RTAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSI3NTUiIHk9IjIzMyI+PHRzcGFuIHg9IjgwNi4wIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyNDEuMTQyODU3MTQyODU3MTQiPlJlbGF0aW9uPC90c3Bhbj48L3RleHQ+PHVzZSBoZWlnaHQ9IjIwIiB3aWR0aD0iMjAiIHg9Ijc2Mi4wOTUyMzgwOTUyMzgxIiB4bGluazpocmVmPSIjQ2xhc3NTeW1ib2wiIHk9IjIzMS4xNDI4NTcxNDI4NTcxNCIgLz48bGluZSBzdHJva2U9IiNFQUE5MDAiIHgxPSI3NTUuNSIgeDI9IjgzNS41IiB5MT0iMjU3Ljc4NTcxNDI4NTcxNDMiIHkyPSIyNTcuNzg1NzE0Mjg1NzE0MyIgLz48L2c+PGcgY2xhc3M9IkVkZ2UgR2VuZXJhbGl6YXRpb24iIGlkPSJfcUVUdFlMaXJFZXVRSHNKYzBRTzJEZyI+PHBhdGggY2xhc3M9IkVkZ2UiIGQ9Ik0gNTM5LjUgMjA0LjUgNTM5LjUgMTE2LjUiIGZpbGw9Im5vbmUiIG1hcmtlci1lbmQ9InVybCgmcXVvdDsjR2VuZXJhbGl6YXRpb25NYXJrXzAwMDAwMCZxdW90OykiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxIiAvPjwvZz48ZyBjbGFzcz0iRWRnZSBHZW5lcmFsaXphdGlvbiIgaWQ9Il9xRVVVY0xpckVldVFIc0pjMFFPMkRnIj48cGF0aCBjbGFzcz0iRWRnZSIgZD0iTSA1NDUuNSA1MzguNSA1MjUuNSA1MzguNSA1MjUuNSAzMjkuNSIgZmlsbD0ibm9uZSIgbWFya2VyLWVuZD0idXJsKCZxdW90OyNHZW5lcmFsaXphdGlvbk1hcmtfMDAwMDAwJnF1b3Q7KSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEiIC8+PC9nPjxnIGNsYXNzPSJFZGdlIEdlbmVyYWxpemF0aW9uIiBpZD0iX3FFVVVkYmlyRWV1UUhzSmMwUU8yRGciPjxwYXRoIGNsYXNzPSJFZGdlIiBkPSJNIDcwNS41IDM5My41IDUyNS41IDM5My41IDUyNS41IDMyOS41IiBmaWxsPSJub25lIiBtYXJrZXItZW5kPSJ1cmwoJnF1b3Q7I0dlbmVyYWxpemF0aW9uTWFya18wMDAwMDAmcXVvdDspIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMSIgLz48L2c+PGcgY2xhc3M9IkVkZ2UgR2VuZXJhbGl6YXRpb24iIGlkPSJfcUVVVWVyaXJFZXVRSHNKYzBRTzJEZyI+PHBhdGggY2xhc3M9IkVkZ2UiIGQ9Ik0gODE2LjUgNTg0LjUgODE2LjUgNjA0LjUgNTI2LjUgNjA0LjUgNTI2LjUgMzI5LjUiIGZpbGw9Im5vbmUiIG1hcmtlci1lbmQ9InVybCgmcXVvdDsjR2VuZXJhbGl6YXRpb25NYXJrXzAwMDAwMCZxdW90OykiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxIiAvPjwvZz48ZyBjbGFzcz0iRWRnZSBHZW5lcmFsaXphdGlvbiIgaWQ9Il9xRVVVZjdpckVldVFIc0pjMFFPMkRnIj48cGF0aCBjbGFzcz0iRWRnZSIgZD0iTSA3NTUuNSAyNzMuNSA2MDUuNSAyNzMuNSIgZmlsbD0ibm9uZSIgbWFya2VyLWVuZD0idXJsKCZxdW90OyNHZW5lcmFsaXphdGlvbk1hcmtfMDAwMDAwJnF1b3Q7KSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEiIC8+PC9nPjwvc3ZnPg==
class capellambse.extensions.reqif.AbstractRequirementsAttribute

Bases: GenericElement

definition

The definition of this AbstractRequirementsAttribute.

value: c.AttributeProperty | c.AttrProxyAccessor
class capellambse.extensions.reqif.AbstractRequirementsRelation

Bases: ReqIFElement

source

The source of this AbstractRequirementsRelation.

target

The target of this AbstractRequirementsRelation.

type: c.Accessor

The type of this AbstractRequirementsRelation.

class capellambse.extensions.reqif.AbstractType

Bases: ReqIFElement

attribute_definitions

The attribute definitions of this AbstractType.

owner

The owner of this AbstractType.

class capellambse.extensions.reqif.AttributeAccessor

Bases: DirectProxyAccessor[AbstractRequirementsAttribute]

__init__()

Create a DirectProxyAccessor.

Parameters:
  • class – The proxy class.

  • xtypes – The xsi:type(s) of the child element(s). If None, then the constructed proxy will be passed the original element instead of a child.

  • aslist – If None, only a single element must match, which will be returned directly. If not None, must be a subclass of ElementList, which will be used to return a list of all matched objects.

  • follow_abstract – Follow the link in the abstractType XML attribute of each list member and instantiate that object instead. The default is to instantiate the child elements directly.

  • list_extra_args – Extra arguments to pass to the ElementList constructor.

  • rootelem – A class or xsi:type (or list thereof) that defines the path from the current object’s XML element to the search root. If None, the current element will be used directly.

  • single_attr – If objects can be created with only a single attribute specified, this argument is the name of that attribute. This create_singleattr().

Return type:

None

follow_abstract: bool
rootelem: cabc.Sequence[str]
class capellambse.extensions.reqif.AttributeDefinition

Bases: ReqIFElement

An attribute definition for requirement types.

data_type

The data type of this AttributeDefinition.

class capellambse.extensions.reqif.AttributeDefinitionEnumeration

Bases: ReqIFElement

An enumeration attribute definition for requirement types.

data_type

The data type of this AttributeDefinitionEnumeration.

multi_valued

Boolean flag for setting multiple enumeration values on the attribute

class capellambse.extensions.reqif.BooleanValueAttribute

Bases: AbstractRequirementsAttribute

A string value attribute.

value: c.AttributeProperty | c.AttrProxyAccessor
class capellambse.extensions.reqif.CapellaIncomingRelation

Bases: AbstractRequirementsRelation

A Relation between a requirement and an object.

class capellambse.extensions.reqif.CapellaModule

Bases: ReqIFElement

A ReqIF Module that bundles multiple Requirement folders.

attributes

The attributes of this CapellaModule.

folders

The folders of this CapellaModule.

requirement_types_folders

The requirement types folders of this CapellaModule.

requirements

The requirements of this CapellaModule.

to_reqif(to, *, metadata=None, pretty=False, compress=None)

Export this module as ReqIF XML.

You can override some auto-generated metadata placed in the header section by passing a dictionary as metadata. The following keys are supported. Unsupported keys are silently ignored.

  • creation_time: A datetime.datetime object that specifies this document’s creation time. Default to the current time.

  • comment: Override the ReqIF file’s comment. Defaults to a text derived from the model and module names.

  • title: Specify the document title. Defaults to the module’s long_name.

Parameters:
  • to (str | PathLike | IO[bytes]) – Where to export to. Can be the name of a file, or a file-like object opened in binary mode.

  • metadata (Mapping[str, Any] | None) – A dictionary with additional metadata (see above).

  • pretty (bool) – Format the XML human-readable.

  • compress (bool | None) – Write compressed data (*.reqifz). Defaults to True if target is a string or path-like and its name ends in .reqifz, otherwise defaults to False.

Return type:

None

type: c.Accessor

The type of this CapellaModule.

class capellambse.extensions.reqif.CapellaOutgoingRelation

Bases: AbstractRequirementsRelation

A Relation between an object and a requirement.

source

The source of this CapellaOutgoingRelation.

target

The target of this CapellaOutgoingRelation.

class capellambse.extensions.reqif.CapellaTypesFolder

Bases: ReqIFElement

data_type_definitions

The data type definitions of this CapellaTypesFolder.

module_types

The module types of this CapellaTypesFolder.

relation_types

The relation types of this CapellaTypesFolder.

requirement_types

The requirement types of this CapellaTypesFolder.

class capellambse.extensions.reqif.DataTypeDefinition

Bases: ReqIFElement

A data type definition for requirement types.

class capellambse.extensions.reqif.DateValueAttribute

Bases: AbstractRequirementsAttribute

A value attribute that stores a date and time.

value: c.AttributeProperty | c.AttrProxyAccessor
class capellambse.extensions.reqif.ElementRelationAccessor

Bases: WritableAccessor[rq.AbstractRequirementsRelation]

Provides access to RequirementsRelations of a GenericElement.

__init__()
Return type:

None

aslist: type[ElementListCouplingMixin] | None
purge_references(obj, target)

Do nothing.

This is a no-op, as this accessor provides a virtual relation.

The relation objects it handles are cleaned up by removing the source or target attribute.

Parameters:
Return type:

Generator[None, None, None]

class capellambse.extensions.reqif.EnumValue

Bases: ReqIFElement

An enumeration value for EnumerationDataTypeDefinition.

class capellambse.extensions.reqif.EnumerationDataTypeDefinition

Bases: ReqIFElement

An enumeration data type definition for requirement types.

values

The values of this EnumerationDataTypeDefinition.

class capellambse.extensions.reqif.EnumerationValueAttribute

Bases: AbstractRequirementsAttribute

An enumeration attribute.

definition

The definition of this EnumerationValueAttribute.

property value
values

The values of this EnumerationValueAttribute.

class capellambse.extensions.reqif.Folder

Bases: Requirement

A folder that stores Requirements.

folders: c.Accessor

The folders of this Folder.

requirements

The requirements of this Folder.

class capellambse.extensions.reqif.IntegerValueAttribute

Bases: AbstractRequirementsAttribute

An integer value attribute.

value: c.AttributeProperty | c.AttrProxyAccessor
class capellambse.extensions.reqif.InternalRelation

Bases: AbstractRequirementsRelation

A Relation between two requirements.

class capellambse.extensions.reqif.ModuleType

Bases: AbstractType

A requirement-module type.

class capellambse.extensions.reqif.RealValueAttribute

Bases: AbstractRequirementsAttribute

A floating-point number value attribute.

value: c.AttributeProperty | c.AttrProxyAccessor
class capellambse.extensions.reqif.RelationType

Bases: AbstractType

A requirement-relation type.

class capellambse.extensions.reqif.RelationsList

Bases: ElementList[rq.AbstractRequirementsRelation]

__init__(model, elements, elemclass=None, *, source)
Parameters:
Return type:

None

by_relation_class(class_)
Parameters:

class_ (Literal['incoming', 'outgoing', 'internal'])

Return type:

RelationsList

by_relation_type(reltype)
Parameters:

reltype (str)

Return type:

RelationsList

class capellambse.extensions.reqif.ReqIFElement

Bases: GenericElement

Attributes shared by all ReqIF elements.

description: str
identifier
long_name
name
prefix
property type
class capellambse.extensions.reqif.Requirement

Bases: ReqIFElement

A ReqIF Requirement.

attributes

The attributes of this Requirement.

chapter_name
foreign_id
owner

The owner of this Requirement.

related: c.Accessor[c.GenericElement]

The related of this Requirement.

relations: c.Accessor[AbstractRequirementsRelation]

The relations of this Requirement.

text
type: c.Accessor

The type of this Requirement.

class capellambse.extensions.reqif.RequirementType

Bases: AbstractType

A requirement type.

class capellambse.extensions.reqif.RequirementsRelationAccessor

Bases: WritableAccessor[rq.AbstractRequirementsRelation]

Searches for requirement relations in the architecture layer.

__init__(*args, **kw)
Return type:

None

aslist: type[ElementListCouplingMixin] | None
create(elmlist, /, *type_hints, **kw)

Create and return a new element of type elmclass.

Parameters:
  • elmlist (ElementListCouplingMixin) – The (coupled) ElementList to insert the new object into.

  • type_hints (str | None) – Hints for finding the correct type of element to create. Can either be a full or shortened xsi:type string, or an abbreviation defined by the specific Accessor instance.

  • kw (Any) – Initialize the properties of the new object. Depending on the object’s type, some attributes may be required.

Return type:

InternalRelation | CapellaIncomingRelation

delete(elmlist, obj)

Delete the obj from the model.

Return type:

None

insert(elmlist, index, value)

Insert the value object into the model.

The object must be inserted at an appropriate place, so that, if elmlist were to be created afresh, value would show up at index index.

Parameters:
Return type:

None

purge_references(obj, target)

Do nothing.

This is a no-op, as this accessor provides a virtual relation.

The relation objects it handles are cleaned up by removing the source or target attribute.

Parameters:
Return type:

Generator[None, None, None]

class capellambse.extensions.reqif.StringValueAttribute

Bases: AbstractRequirementsAttribute

A string value attribute.

value: c.AttributeProperty | c.AttrProxyAccessor
capellambse.extensions.reqif.init()
Return type:

None

Submodules

capellambse.extensions.reqif.exporter module

Implementation of a ReqIF 1.1 and 1.2 exporter.

capellambse.extensions.reqif.exporter.export_module(module, target, *, metadata=None, pretty=False, compress=None)
Parameters:
Return type:

None