Kaydet (Commit) c49b87ac authored tarafından Michael Stahl's avatar Michael Stahl

xmloff: forms import: convert relative xlink:href to absolute

There is currently only one place in the forms directory that converts
relative hyperlinks to absolute on import, in
OURLReferenceImport::handleAttribute(), but there are other elements
that have xlink:href attribute as well, such as form:form.

The export of form:form xlink:href does convert absolute to relative,
in exportTargetLocationAttribute(), but if the model URL is actually
already relative it will be converted to absolute instead, oddly enough.
This leads to different absolute href attributes, depending on the
directory where the file is exported, as can be observed with e.g.
ooo95698-1.odt and fdo40634-2.odt.

Let's apply a big hammer and make all "href" attributes absolute on
import.

Change-Id: I39d05707f3a8a899c7bbde8d9c0e2bc006c39e12
üst 1ba00c21
......@@ -323,7 +323,16 @@ bool OPropertyImport::handleAttribute(sal_uInt16 /*_nNamespaceKey*/, const OUStr
aNewValue.Name = pProperty->sPropertyName;
// convert the value string into the target type
aNewValue.Value = PropertyConversion::convertString(pProperty->aPropertyType, _rValue, pProperty->pEnumMap, pProperty->bInverseSemantics);
if (token::IsXMLToken(_rLocalName, token::XML_HREF))
{
aNewValue.Value <<= m_rContext.getGlobalContext().GetAbsoluteReference(_rValue);
}
else
{
aNewValue.Value = PropertyConversion::convertString(
pProperty->aPropertyType, _rValue, pProperty->pEnumMap,
pProperty->bInverseSemantics);
}
implPushBackPropertyValue( aNewValue );
return true;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment