loext namespace in ODF strict
Mike Kaganski
mikekaganski at hotmail.com
Wed Nov 6 17:44:15 UTC 2024
Hi Regina,
On 06.11.2024 19:57, Regina Henschel wrote:
> Hi all,
>
> with ODF 1.4 we get an attribute draw:extrusion-metal-type. Its value
> is a QName. The default value is 'draw:MetalODF' and the value we use
> for MS compatibility is 'loext:MetalMSCompatible'. Using
> 'draw:MetalMSCompatible' is not allowed.
>
> Currently validation fails, because loext is not registered as
> namespace prefix in ODF strict and thus 'loext:MetalMSCompatible' is
> no valid QName.
>
> It will be detected as valid QName, when I move
> mpNamespaceMap->Add(
> GetXMLToken(XML_NP_LO_EXT), GetXMLToken(XML_N_LO_EXT),
> XML_NAMESPACE_LO_EXT);
> up from the "extended" section to the "strict" section in
> SvXMLExport::InitCtor_() in xmloff/source/core/xmlexp.cxx.
>
> But I'm not sure, whether that is the correct place to solve the problem.
>
> Is there a way to add a namespace when it is actually needed? I mean
> to add it when a shape uses this attribute?
Any element may have its own xmlns attributes, that take effect
immediately, including in its other attributes. So you may add the
attribute not to the top-level element, but right to the element using
that draw:extrusion-metal-type with a loext value, when it's not writing
an extended format maybe?
--
Best regards,
Mike Kaganski
More information about the LibreOffice
mailing list