Доброго времени суток.
Сразу к делу. Есть пара десятков конфигурационных файлов в xml формате. Есть пара «properties» файлов (java-style). Как в темплейтах конфигов, так и в properties-файлах, плейсхолдеры и ключи встречются с разедлителями в виде точек.
Пример конфига:
<?xml version="1.0" encoding="UTF=8" standalone="yes"?>
<common-conf>
<primary_db>${db.url.primary}</primary_db>
<some_soap_stuff>
<swifts>${url.ws.swiftinfo}</swifts>
<customer_info>${url.ws.customerinfo}</customer_info>
</some_soap_stuff>
<!-- and so on -->
</common-conf>
Есть, назовем его, common.properties файл:
db.url.primary=jdbc:oracle:thin@blah:1521/BLAH
url.ws.swiftinfo=http://endless.soap.sheet
url.ws.customerinfo=http://endless.soap.shit
Любой шаблонизатор считает себя достаточно умным, поэтому, когда он видит в placeholder'е точку, он ждет от меня dict или объект.
Ткинте пальцем в тупой шаблонизатор, который будет впиливать значения по ключам as is, или у которого этот режим опционален.
P.S.: Эту простыню ссылок на шаблонизаторы я видел, а данный тред - выбора пост.
P.P.S.: текущая имплементация шаблонов пилилась ещё в бородатые времена и, судя по всему, по той же причине, сначала темплейты преобразуются в ровно такие же, но точки заменяются на underscores, затем шаблоны обрабтываются. Никто также не догадался пропустить шаг и сразу склепать ключи и шаблоны без точек, но с underscore'ами. А у меня тут так, просто любопытство. Наверняка же есть где-то моя хотелка, воплощенная в код.
Заранее благодарен.