I have an XML file sample.xml that looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd">
<changeSet author="x" id="y">
<sqlFile
endDelimiter="\nGO"
path="ChangeSetScripts/1.sql"
relativeToChangelogFile="true"
splitStatements="true"
stripComments="false"/>
<rollback>
<sqlFile path="ChangeSetScripts/1_rollback.sql" />
</rollback>
</changeSet>
<changeSet author="a" id="b">
<sqlFile
endDelimiter="\nGO"
path="ChangeSetScripts/2.sql"
relativeToChangelogFile="true"
splitStatements="true"
stripComments="false"/>
</changeSet>
<changeSet author="p" id="q">
<sqlFile
endDelimiter="\nGO"
path="ChangeSetScripts/3.sql"
relativeToChangelogFile="true"
splitStatements="true"
stripComments="false"/>
<rollback>
<sqlFile path="ChangeSetScripts/5_rollback.sql" />
</rollback>
</changeSet>
...
</databaseChangeLog>
I want to add a new changeSet entry to this file using F# XMLProvider. There may or may not be a rollback file as apparent from the sample. How can I do this? (id, author and path will be passed as argument)