Преобразование файла конфигурации в HTML

У меня есть куча файлов конфигурации, которые обычно представляют собой файлы свойств, которые открываются из приложения и редактируются как блокнот. Теперь требуется выбрать каждое свойство и найти, какой HTML-тег соответствует ему, и отобразить весь файл свойств в виде HTML-страницы. Например:

Файл Security.Properties

//This property checks if the user has already logged or not
//Possible values Y N

order.security.Login=Y

Таким образом, указанное выше свойство имеет два возможных значения Y N . Эквивалентным форматом HTML может быть переключатель с Y N. Точно так же, если другое свойство принимает значения 1,2, HTML представляет собой Listbox с этими двумя значениями.

Я знаю, что это немного громоздко, но это необходимо сделать. Разработка JAVA JAVASCRIPT VELOCITY Моя идея заключается в том, чтобы преобразовать все файлы свойств в XML, а затем использовать XSLT для рендеринга в виде HTML. Я хотел бы услышать больше идей, включая проблемы с производительностью.


person GustyWind    schedule 15.07.2009    source источник
comment
Вам необходимо знать метаданные о наборе значений каждого свойства. Вы хотите, чтобы это было извлечено из комментариев?   -  person akarnokd    schedule 15.07.2009
comment
Возможно, да, я еще не исследовал способы. Просто ищу некоторые идеи. Одна вещь основана на входном значении, тег должен быть определен, поэтому определенно его нужно извлечь из комментариев. Да, теперь я понял, что проблема еще более сложная чем я думал.Спасибо   -  person GustyWind    schedule 15.07.2009
comment
Если это два состояния да/нет, тогда вы должны использовать флажок, а не радиогруппу.   -  person Quentin    schedule 15.07.2009
comment
Я не вижу способа сделать это, если вам нужно анализировать комментарии, если только комментарии не являются очень строгими и регулярными (т. Е. Поддающимися анализу).   -  person Chii    schedule 15.07.2009


Ответы (3)


Я бы определил файл XML, в котором перечислены все ключи свойств и для каждого способ отображения в HTML.

<property key="order.security.Login">
    <display type="radio" values="Y,N" />
</property>

затем, если вы хотите отобразить свойства в виде HTML-файла, просто проанализируйте этот XML-файл с помощью XSLT, используя ключ свойства, чтобы сопоставить правильный элемент и хорошо отобразить его содержимое (с файлом XSL, который преобразует ‹display type="radio" › в список ‹input type="radio"›)

Не знаю, подойдет ли он к конфигурации вашего приложения, но это будет моя первая идея.

person Erik Clairiot    schedule 15.07.2009
comment
Но, пожалуйста, не изобретайте XML-схему заново. Существуют инструменты Java для динамического создания редакторов из XSD. - person akarnokd; 15.07.2009

Как вы сказали, XSLT кажется подходящим вариантом.

person Gab Royer    schedule 15.07.2009
comment
Но проблема в том, что нужно изменить около 1200 файлов конфигурации. Можно ли это масштабировать? - person GustyWind; 15.07.2009
comment
С правильными шаблонами и если ваш XML сделан аналогичным образом, для этого потребуется всего 1 лист XSLT. XSLT обычно более эффективен, чем манипуляции с DOM. - person Gab Royer; 15.07.2009

Как насчет небольшого javadoc/c#doc:

//<desc>This property checks if the user has already logged or not
//Possible values Y N</desc>
//<type>YN</type>
order.security.Login=Y
person akarnokd    schedule 15.07.2009
comment
Что будет следующим шагом после JavaDoc. Вторая часть проблемы определения соответствующего тега HTML - person GustyWind; 15.07.2009