Skip to content

Adding listOrg to event#2882

Draft
trishaoconnor wants to merge 8 commits into
devfrom
trishaoconnor_2827
Draft

Adding listOrg to event#2882
trishaoconnor wants to merge 8 commits into
devfrom
trishaoconnor_2827

Conversation

@trishaoconnor

Copy link
Copy Markdown
Contributor

Creating this PR for adding listOrg to event.

@trishaoconnor trishaoconnor added this to the 4.12.0 milestone Apr 10, 2026
@trishaoconnor trishaoconnor requested a review from HelenaSabel May 3, 2026 19:16
@trishaoconnor trishaoconnor marked this pull request as draft May 4, 2026 16:46
@martindholmes

Copy link
Copy Markdown
Contributor

@trishaoconnor The test failure seems to be caused by an ambiguous content model in the XML Schema (xsd) generated from the RNG. The exact error (per Xerces) is:

"http:// www.tei-c.org/ ns/1.0":org and "http:// www.tei-c.org/ns/1.0":org (or elements from their substitution group) violate "Unique Particle Attribution". During validation against this schema, ambiguity would be created for those two particles.

This is caused because there are two different ways an <org> element can get into an <event> in the spec as presented in this PR. The first is through model.personLike, of which <org> is a member; and the other is through the literal mention of <org> in your added clause. When the same element can appear through two different routes, XSD validators don't know what path to take when validating, so they reject the schema.

I think the simplest solution might be to replace your clause with a simple <elementRef> for <listOrg> alone, but that would allow something which you presumably wanted to prevent: having both <org> and <listOrg> as children of the same <event>. That could be constrained by Schematron, but there is surely a more elegant way to do it.

@trishaoconnor

trishaoconnor commented May 5, 2026 via email

Copy link
Copy Markdown
Contributor Author

@jamescummings

Copy link
Copy Markdown
Member

Thinking about whether you might want <listOrg> and <org> inside the same <event> (or similar listX and X inside Y situations), the only reason that occurs to me is that if you want to encode that the event was organised by org1 and group-of-orgs2 then you might want both. However, if one thinks about this, then that is why listOrg can self-nest. So you'd have a listOrg with an org (for org1) and as a sibling to that a nested listOrg (for group-of-orgs2). So yeah, a schematron constraint saying you can only have a single <org> or one-or-more <listOrg> would make sense to me.

@ebeshero ebeshero modified the milestones: Future release, 4.12.0 May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants