XML/XSL Revision Control/ Source Code Versioning: Ideas,
Methods, Tools for Specific scenario as a Content Writer?
For many years, I've been using XML/ XSL/ XSD based
mechanisms to separate:
- XML - Content/ Data
- XSL - Styling
& Data Transformations/ Translations
- XSD - Schemas / Data
- XML (Different Schema)
- XSL:FO (for
PDF), Word ML (for DOC/DOCX), XHTML - Viewable Documents (XML +
- I've done some extensive hands-on XML/ XSD modeling
& Enterprise XSLT framework development in the past.
- I do not write
much code anymore due to larger responsibilities as an Architect. But, I like to
play with the tech & models so that I can better lead the development teams.
- So I mostly do it for some Personal & Proof of Concept ideas &
projects to test thoughts & possibilities on some Directories/ Folders on my
laptop Hard Drive.
Now over time, over various projects they all go through
varying degrees of change
- XML Content - Huge Degree
- XSL - Medium
- XSD - Lesser Degree
I'd like to do Source Code Versioning/ Revision Control
for them and wondering what you guys do for the same?
- The XML Content Data
changes the most and I'd like to store versions of the Content over time &
- The XSL will change less and XSD even lesser over time
able to Compare/ Diff the content through various versions and branches
able to Merge some/ more/ or all of the "differences" between various versions
FREQUENTLY USED SCENARIOS -
e.g. XML based Project
Descriptions/ Outlines & White Paper Writeups
- XML content write up
changes made on daily & more frequent basis
- XML Content write up for
White Papers - Rearticulated and organized regularly
At the moment I can think of manually copying and
renaming each version of the XML everytime, but its kind of cumbersome.
I've used various versions of these XML tools over the
years and have access to relatively recent versions.
- Altova XML Spy &
Mission Kit, Diff Dog
- Sonic Stylus Studio
I've also used some Source Code/ Revision Control in the
past but its too far ago.
Recently, I just downloaded and am playing with Git to
learn more about it and wondering if it will work well for this.
- What do you use and how?
- What do
you suggest using in my SPECIFIC SCENARIOs? and how?
Thanks in advance.