odb ODF standard conformance [was: minutes of ESC call ...]

Michael Stahl mstahl at redhat.com
Mon Jan 6 12:45:54 PST 2014


On 20/12/13 14:40, Lionel Elie Mamane wrote:
> On Thu, Dec 19, 2013 at 08:24:29PM +0000, Michael Meeks wrote:
> 
>> * Crashtest update (Markus)
>>     + cf. http://dev-builds.libreoffice.org/crashtest/
>>       new crash testing result is available (cf. the date & git hash)
>>       All files tested, and the results are complete for the 1st time.
>>       and that all odb files are not valid according to the validator
>>         + need to look at the standard (Lionel)
>>             + presumably some silly error ...
> 
> Here are the main classes of "low hanging fruit" conformance errors I
> see:
> 
> 1) xlink:href without xlink:type
> 
>    Easy to fix if (as I assume) I can always put "simple" in these
>    places. I have a patch sitting in my tree to do that.

sounds good.

> 2) manifest:manifest without version attribute: I have no clue what
>    version I should put there. Any hint?

to expand on Thorsten's answer, "1.2", but only if that's the ODF
version; the attribute did not exist in ODF 1.1/1.0.

> 3) ODF mimetype 'application/vnd.oasis.opendocument.base' is invalid
> 
>    Well,
>    http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1420388_253892949
>    lists this as the "recommended" mimetype but that the
>    RFC4288-registration is "in progress". Shouldn't we rather move
>    forward on the registration... which has been stalled... why?

it's more complicated than that: there is a MIME type registration, but
unfortunately the MIME type registered with IANA is different from the
one given in the ODF specification... not sure what to do about that.

https://bugs.freedesktop.org/show_bug.cgi?id=45854
https://lists.oasis-open.org/archives/office-comment/201202/msg00001.html
https://tools.oasis-open.org/issues/browse/OFFICE-3745

> I need help on these:
> 
> 1) fdo36288-2.odb/forms/Obj42/content.xml[2,17145]:  Error: attribute
>    "xlink:href" has a bad value: ".uno:FormController/saveRecord" does
>    not satisfy the "anyURI" type
> 
>    What is the "right" way to put a .uno URI?

anyURI is actually an IRI reference in ODF (not that it makes a
difference here).  RFC3987 says:

   scheme         = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )

... so the problem is that it starts with "." where only ALPHA is
allowed.  was that perhaps legal in a previous URI RFC or how did we end
up with this?

> 2) ooo103006-1.odb/reports/Obj131/content.xml[2,6115]:  Error: element
>    "form:hidden" is missing "id" attribute
> 
>    This one probably just needs an ID generated. Shall we just call
>    something like BASE64ENCODE(RANDOM(give me 9 bytes))? Or is there a
>    more structured system in LibreOffice?

it's a mandatory xml:id attribute with an optional form:id (with same
value as xml:id) for backward compatibility with ODF 1.1.  the only
correct way to implement that is via com.sun.star.rdf.XMetadatable,
which will take care of both uniqueness and persistence.  could possibly
be tricky though, since no form thingy supports this currently; adding
whatever hack is used for other form:* may be easier.

> I doubt that these actually come from base-specific code, but who
> knows:
> 
> 1) forms/Obj11/styles.xml:  Error: unexpected attribute "style:layout-grid-snap-to-characters"

see c1e1ef80e8428514499b061e00801a6a6298d0b0

> 2) fdo36288-2.odb/content.xml[2,2887]:  Error: tag name
>    "db:font-charset" is not allowed. Possible tag names are:
>    <character-set>,<table-settings>

dbaccess/source/filter/xml/xmlExport.cxx:        SvXMLElementExport
aElem(*this,XML_NAMESPACE_DB, XML_FONT_CHARSET, sal_True, sal_True);

guessing maybe it should be db:character-set?




More information about the LibreOffice mailing list