Extended ODF schema

Regina Henschel rb.henschel at t-online.de
Tue Feb 7 22:39:22 UTC 2023


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



More information about the LibreOffice mailing list