U4-2742 - Remove legacy xsltExtensions.config - xslt extensions are configured using attributes

Created by Shannon Deminick 29 Aug 2013, 05:57:08 Updated by Shannon Deminick 18 Sep 2013, 23:45:54

Subtask of: U4-115


Shannon Deminick 29 Aug 2013, 07:13:49

This means we also remove these:

umbraco.macro.GetPredefinedXsltExtensions Umbraco.Core.IO.SystemFiles.XsltextensionsConfig umbraco.IO.SystemFiles.XsltextensionsConfig


Shannon Deminick 29 Aug 2013, 07:14:43

rev 733b6aa94597974917dec89b9191fcffc6d3ee32

Lee Kelleher 06 Sep 2013, 08:58:06

Wondering if we should remove the EXSLT classes/methods from the core? (They been fundamentally broken since .NET 4.0)

Maybe they could be spun out to a package - if anyone needs them?

Shannon Deminick 08 Sep 2013, 23:18:28

@Lee, I haven't tested these but can you explain why they are fundamentally broken since .net 4.0 ?

Lee Kelleher 09 Sep 2013, 08:54:37

The key issue is that in .NET 4.0 an internal class {{XPathArrayIterator}} was moved to a different namespace.

The culprit code is at {{umbraco.presentation.xslt.Exslt.ExsltCommon.ExsltNodeListToXPathNodeIterator}}, where reflection is used to construct the XPathArrayIterator.

Moved from: {{System.Xml.XPath.XPathArrayIterator}} to {{MS.Internal.Xml.XPath.XPathArrayIterator}}.

Previously I had tried to rectify this issue, but it seems there are other surrounding issues (that I kept hitting a blocks with), which lead me to think that no one has actually raised a bug about this (and it's been broken since v4.7), so is anyone actually using it? (Is it worth the effort of fixing?)

The {{ExsltNodeListToXPathNodeIterator}} method is used by:

  • {{umbraco.presentation.xslt.Exslt.ExsltMath.highest}}
  • {{umbraco.presentation.xslt.Exslt.ExsltMath.lowest}}
  • {{umbraco.presentation.xslt.Exslt.ExsltSets.difference}}
  • {{umbraco.presentation.xslt.Exslt.ExsltSets.distinct}}
  • {{umbraco.presentation.xslt.Exslt.ExsltSets.intersection}}
  • {{umbraco.presentation.xslt.Exslt.ExsltSets.leading}}
  • {{umbraco.presentation.xslt.Exslt.ExsltSets.trailing}}

(The rest of the EXSLT methods still work fine)

Shannon Deminick 09 Sep 2013, 09:00:27

ha! ok then well if these methods haven't worked since then, then maybe we should get rid of them ? Like you said, people are clearly not using these otherwise there would be issues logged for them.

Maybe we should post on g-groups about it to get some feedback as it might be a pain to fix?

Lee Kelleher 09 Sep 2013, 09:44:53

Thanks Shannon - I've posted on the mailing list https://groups.google.com/d/msg/umbraco-dev/1-lhkqfe3xs/rrbZCknMAlAJ

Priority: Normal

Type: Task

State: Fixed

Assignee: Shannon Deminick

Difficulty: Normal


Backwards Compatible: False

Fix Submitted:

Affected versions:

Due in version: 7.0.0


Story Points: