anansi-project / comicinfo

ComicInfo.xml's new home
https://anansi-project.github.io/docs/category/comicinfo
MIT License
136 stars 8 forks source link

Replace `xs:sequence` by `xs:all` #10

Open gotson opened 2 years ago

gotson commented 2 years ago

Someone on Discord (i think @therobbiedavis) brought up the point that the current elements are contained in a xs:sequence.

The sequence would mean that (source):

The sequence element specifies that the child elements must appear in a sequence

@ajslater brought up that we could replace it with xs:all, which represents an unordered list. It has an additional constraint in XSD 1.0 of limiting elements to 0 or 1 occurrence, but all the elements in the existing schema already have minOccurs="0" maxOccurs="1", so that's fine.

This would make the validation of the XML using the XSD schema easier, where it would probably throw errors if elements are out of order.

gotson commented 2 years ago

@ajslater @majora2007 would you confirm whether your respective parsers ignore the order of the elements? Komga doesn't care for sure.

ajslater commented 2 years ago

My parser doesn't pay attention to element order when reading comicinfo.xml.

majora2007 commented 2 years ago

Kavita also does not pay attention to element order.

IngBertolini commented 1 year ago

Also why ComicPageType is defined as axs:list when a page can be only of one type?