Все, что я хочу, это то, что позволит моим пользователям писать код вроде
Ммм ... Не делай этого. Вы на самом деле не хотите этого. В конечном итоге это приведет к бесконечным небольшим проблемам, потому что вы пытаетесь навязать слишком много контента в атрибут.
Сделай это.
<Rule Name="Markup">
<Formula>(Account.PricingLevel + 1) * .05</Formula>
</Rule>
Вы должны стараться не иметь значимых, значимых вещей в атрибутах. Как общая политика разработки XML, вы должны использовать теги и сохранять атрибуты для имен, идентификаторов и т.п. Когда вы смотрите на хорошо выполненные XSD и DTD, вы видите, что атрибуты используются минимально.
Наличие тела правила в отдельном теге (не атрибуте) экономит много боли. И это позволяет инструменту предоставлять правильные разделы CDATA. Используйте такой инструмент, как Altova XML Spy, чтобы убедиться, что у ваших тегов есть место, сохраненное правильно.