Ymagis / ClairMeta

Clairmeta is a python package for Digital Cinema Package (DCP) probing and checking.
BSD 3-Clause "New" or "Revised" License
84 stars 22 forks source link

Update dependencies version #246

Open remia opened 9 months ago

remia commented 9 months ago

Updating lxml yielded this new error related to the DCSubtitle.xsd schema: Schema validation error : local complex type: The content model is not determinist., line 39.

It seems this is related to https://github.com/Ymagis/ClairMeta/pull/36/files so tagging @matmat if you have more thoughts. The current change seem to fix the immediate issue but I have to admit it may need more careful thinking, my XSD speak is rusty.

jamiegau commented 9 months ago

Um. the first thing that pops into my head.. DCSubtitle.xsd was updated.. the newer lxml cracks an error over the current lxml lib. But is better in other aspects.

Am I right in thinking, either the newer DCSubtitle.xsd has an issue or the current lxml has an issue? Would that be the conclusion?

remia commented 9 months ago

I tend to think it was an issue in our DCSubtitle.xsd schema as the SubtitleType was extending the FontTypeSubtitleLevel type with an additional Text element, but looking at FontTypeSubtitleLevel, it already has the same Text element included. The nesting structure is rather complex as per specifications, I tried to check this change with some test Subtitle XML and different variations of Text / Font elements but it seems to work so far.

matmat commented 9 months ago

I think the xsd is wrong and needs to be updated. I will try to look into it soon but I am extremely busy atm :/

jamiegau commented 9 months ago

If an issue does exist in the xsd file, please do get a comment on this so we can send it to SMPTE for review and rectification.

I'll be monitoring this ticket for this possibility.

remia commented 9 months ago

@jamiegau This should be only for Interop subtitle which have no official schema that I am aware of.

@matmat Thanks, appreciate it!