Способ сделать это в XSLT - использовать шаблон по умолчанию, который просто копирует содержимое документа, например:
<xsl:template match="*|@*|text()">
<xsl:copy>
<xsl:apply-templates select="*|@*|text()"/>
</xsl:copy>
</xsl:template>
Затем добавьте в таблицу стилей шаблоны, которые будут соответствовать конкретным узлам, которые вы хотите изменить. Эти узлы будут переопределять шаблон копирования по умолчанию выше, когда они совпадают. Например, если вы хотите, чтобы каждый числовой атрибут элемента Setting имел значение 314, вы бы добавили шаблон:
<xsl:template match="Setting/@number">
<-- this copies in an attribute 'number' in place; with different contents -->
<xsl:copy>314</xsl:copy>
<xsl:template/>
Оба эти шаблона, а также любые другие с другими заменами, которые вы хотите сделать, будут в вашей таблице стилей в любом порядке