Hi Laurent,
This is all without warranty, I am not an expert on rng.
Laurent Balland schrieb am 07.02.2023 um 21:50:
Hello,
I'm trying to modify
schema/libreoffice/OpenDocument-v1.3+libreoffice-schema.rng to add a new
attribute to number:text
I added:
<rng:define name="number-text" combine="interleave">
<rng:ref name="number-text-attlist"/>
</rng:define>
<rng:define name="number-text-attlist">
<rng:interleave>
<rng:optional>
<rng:attribute name="loext:blank-width-char">
<rng:ref name="string"/>
</rng:attribute>
</rng:optional>
</rng:interleave>
</rng:define>
But I got the following error:
.../schema/libreoffice/OpenDocument-v1.3+libreoffice-schema.rng[7078,43]: Fatal:
<attribute> is grouped and that group is repeated
The line number corresponds to nothing, and if I move the upper code on
a different place in the file, the error is always at this unknown
7078th line. >
Any idea about what I could try?
The line 7078 belongs to <rng:element name="number:date-style">
That can have several <rng:ref name="number-text-with-fillchar"/>.
Such is in line 7427. It can have several <rng:ref name="number-text"/>.
Currently all together resolves to several <rng:element
name="number:text"> and <rng:element name="number:fill-character">. So
currently <number:date-style> element can have several child elements
<number:text>. That is no problem, because several child elements with
the same name are possible.
Now you introduce an attribute into <rng:ref name="number-text"/>. That
means, that when resolving it for <number:date-style> element this would
get several attributes with the same name. And that is not possible.
You need to look, to which element your new attribute belongs.
Kind regards,
Regina