qualipool / swissrets

A swiss real estate transaction standard
https://swissrets.ch
MIT License
26 stars 18 forks source link

fix: co-non ambiguous issue but allows for empty <rent> #207

Closed jensstalder closed 2 years ago

jensstalder commented 2 years ago

This will fix the co-non ambiguous issue, but it will allow <rent> tag to be empty. Wich differs from <buy>. I did not find a good way to test for that. The previous change did work by using <sequences> as a work-around but caused the co-non ambiguous issue for some validators.

Either we allow for that discrepancy, (The XSD would look a bit nicer). Or we need to find some way of making the xmls fail that include empty <rend> tags. And for that matter should we also allow it for <buy> to be more consistent?

There is an unwritten rule that goes something like this:

Omitting a tag represents that there is "no info" and should be skipped when consuming, if there is existing data, leave it. This is useful for delivery systems that "enrich" data rather than dictating the entire state. Think PATCH vs PUT 😉 Sending an empty tag represents that the content is to be deleted if present.

Here it's just a bit difficult to manage since there is a wrapping <prices> tag already (which can be omitted).

Needs to be merged first

206

Relates to

204

jensstalder commented 2 years ago
merrycoder commented 2 years ago
  • [ ] Should we also adjust <buy> to behave the same? (Is in the pr)

IMO i'd say yes. Would be good be consistent.

  • [ ] Is this considered breaking? Or even just a patch?

Strictly speaking this is a breaking change.