Quantcast
Channel: Adobe Community: Message List
Viewing all articles
Browse latest Browse all 108516

Re: XFL and source control

$
0
0

In case this happens to be useful to others in their workflow to try and minimize the non-deterministic reordering that happens with some unordered lists in DOMDocument.xml every time you save a .xfl, I have created an XSL transform that will canonicalize an input DOMDocument.xml into an output version that sorts the <fonts> and <persistedData> sections based on their name attributes, producing a consistent deterministic order of child elements:

 

https://dl.dropboxusercontent.com/u/83837/CanonicalizeDOMDocument.xsl

 

So if your team/or yourself wanted to hit the DOMDocument.xml with this transform before each commit to your version control, you should be able to minimize the unnecessary changes that happen in the <fonts> and <persistedData> sections.

If anyone knows of any other non-deterministic sections of the DOMDocument.xml that could use a fix like this, let me know and I can update the transform (or you can update the .xsl above and share as it is very short and straightforward to extend)

 

You can use any flavor of XSL/XSLT tool you want with the above .xsl.

If you are on OS X there is a builtin 'xsltproc' commandline tool you can use in Terminal on the command line with a call like:

xsltproc -o DOMDocument-new.xml CanonicalizeDOMDocument.xsl  DOMDocument.xml

 

If you use a text editor that lets you setup custom Text Filters like BBEdit, you can set up a .sh filter with the contents of the following two lines:

#!/bin/sh

xsltproc CanonicalizeDOMDocument.xsl -


Viewing all articles
Browse latest Browse all 108516

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>