Как патчить XML-документы?

C# development for linux
http://arsenshnurkov.github.io/gentoo-mono-handbook/xml-files/index.htm
https://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools

RFC5261 и зачем он

http://tools.ietf.org/search/rfc5261
http://ru.stackoverflow.com/questions/451926/Зачем-придумали-rfc5261-если-существует-xslt

Как применить патч

http://softwarerecs.stackexchange.com/questions/22840/cli-tool-for-xml-patching-on-c

https://github.com/Bonuspunkt/XmlPatch
License: unlicense
эта либа берет патч и накатывает его.

Как создать патч

Кратко - никак, надо программировать свою утилиту.
Какой утилитой можно создать патч в формате RFC5261? -
Which utility can create a patch in RFC5261 format?

Diffplex

утилита - аналог meld.
позволяет создавать unufued diff-ы как это делает юниксовый diff,
нет примера, как создавать файл в формате RFC5261
Лицензия: Apache 2.0
https://github.com/mmanela/diffplex

xmlunit.net

https://github.com/xmlunit/xmlunit.net
focused on unit-testing, there is no examples of patching in the internet

другие варианты

xmlpatch - An XML patch library utilizing libxml2
    http://sourceforge.net/projects/xmlpatch
Xml Specification Compare and XPath discovery (на C#, инфа с http://letmeask.co/foxfeedspro/details/item_68014/):
    https://xmlspecificationcompare.codeplex.com/

Java

http://www.roseindia.net/opensource/xmldiff.php
X-Diff

JavaScript

https://en.wikipedia.org/wiki/Pretty_Diff

Использование XSLT

Зачем

https://github.com/Bonuspunkt/XmlPatch/issues/2

Как накатить xslt

Есть множество xslt-процессоров:
http://stackoverflow.com/tags/xslt/info
Процессор надо запустить в командной строке и передать ему входные файлы

как создать xslt

http://ru.stackoverflow.com/questions/451932/Как-имея-два-xml-файла-получить-xslt-файл-преобразующий-первый-xml-во-второй
В русском вопросе есть ссылка на английский, в английском есть список литературы и ссылка на алгоритм 2007, Tekli
"Algorithms that allow insertion and deletion of single nodes anywhere in the tree - RTED, Demain, Zhang-Shasha."
"Algorithms that allow insertion and deletion of single nodes only at leaves of the trees - Selkow, Chawathe"
"Algorithms that allow insertion and deletion of whole sub-trees - Nierman, Tekli."
"algorithms in the third group, were mainly developed to use in practice with XML documents"
"inserting multiple identical(Nierman) or similar(Tekli) sub-trees, would result in less operations, provide more suitable edit script and edit distance"
"Tekli algorithm provides more accurate result than Nierman’s approach"
http://le2i.cnrs.fr/IMG/publications/Efficient XML Structural Similarity Detection using Sub-tree Commonalities.pdf
2007, Joe Tekli; Richard Chbeir; Kokou Yetongnon, Efficient XML Structural Similarity Detection using Sub-tree Commonalities

Алгоритм

Ооо, да тут на докторскую распиcать можно:
2008, http://www.zora.uzh.ch/16421/1/fluri_dissertation_2008.pdf

X-Diff: An Effective Change Detection Algorithm for XML Documents , Yuan Wang, David J. DeWitt, Jin-Yi Cai
    (http://www.inf.unibz.it/~nutt/Teaching/XMLDM1112/XMLDM1112Coursework/WangEtAl-ICDE2003.pdf)

http://stackoverflow.com/questions/32656577/if-i-have-2-xml-files-how-to-create-xslt-which-will-transform-first-file-into
http://www.grantjenks.com/wiki/_media/ideas:simple_fast_algorithms_for_the_editing_distance_between_tree_and_related_problems.pdf
http://research.cs.queensu.ca/TechReports/Reports/1995-372.pdf

Разные ссылки

http://xsltdev.ru/lib/xmltools

вообще говоря, надо почитать:
1) про API и исходники библиотеки в mono (разобраться, какие там классы зачем, хотя бы сколько их в единицах/штуках)
2) как не делать собственный парсер XPath, а заиспользовать готовый
3) ещё есть пяток .pdf-ов, которые можно прочитать (но не очень хочется)

MSXmlDiffPatch (EULA)

XmlDiff.Exe and XmlDiffPatch.dll
Xml Diff Language Diffgram (XDL diffgram or just diffgram)
Source code:
https://github.com/idanmnr/XmlCompare/tree/master/MSXmlDiffPatch
.nupkg-package (unofficial):
https://www.nuget.org/packages/XMLDiffPatch/

ещё ссылки

http://msgroups.net/microsoft.public.dotnet.xml/xslt-s-for-ms-xml-diff-patch-tool/616487
http://stackoverflow.com/questions/32656577/if-i-have-2-xml-files-how-to-create-xslt-which-will-transform-first-file-into

"I'm sure with exslt:dynamic you could write an interpreter for RFC5261 patches" (o11c)

www.codeproject.com/Articles/759021/All-about-XML-transformation-using-XSLT-and-Csharp