Parsing error during XML import

I’ve been unable to import a few scores from MusicXML because of a parsing error stating that

ERROR - Element 'ending', attribute 'number': [facet 'pattern'] The value '1.' is not accepted by the pattern '([ ]*)|([1-9][0-9]*(, ?[1-9][0-9]*)*)'.

It appears that Dorico trips up on 1st/2nd bar lines that use dots after the repeat number. Now perhaps this is simply because Dorico doesn’t support alternating repeats yet, but the error message is rather specific for this - and the underlying regex might be improved. How about using

( *)|([1-9][0-9]*\.?([,-] *[1-9][0-9]*\.?)*)

That would also allow repeats like “1., 3.” or “1, 3-5”. You can test it on https://regex101.com/r/mvtdJi/1 (I added anchors and a non-capturing group to allow testing several variations on different lines in the test panel at once).

Thanks for reporting this. That regular expression is actually defined in the MusicXML XSD schema, rather than being something we came up with ourselves. As such, the error you are seeing is a legitimate one: the MusicXML file you are importing is invalid per the MusicXML schema. I will pass your feedback on to Michael Good at MakeMusic to see whether he would be interested in changing this regex in a future version of MusicXML.

Can you say what software is producing these problematic MusicXML files? That MusicXML is incorrect. The number attribute of the ending element is for playback, and should be a comma-separated list of numbers. Repeats and other formatting go in the content of the ending element. Could you please report this problem to the makers of whatever software is producing these MusicXML files?

That’s capella (in an old and no longer supported version). I don’t own the current version and I don’t plan to, so I can’t tell whether that problem has already been fixed.