Как разобрать комментарии (аннотации) css (таблицы стилей)? - PullRequest
3 голосов
/ 20 июля 2010

У меня есть идея, пользователь определяет набор правил CSS с некоторыми комментариями (комментарии - это простые аннотации):

/* @name Page style */
body {
   font: 16px/1.5 Arial; /* @editable */
   backgorund-color: #fff; /* @editable */
}

/* @name Section header */
h1 {
   font: 20px/1.2 Arial; /* @editable */
   color: #c44 
}

Я могу применить эту таблицу стилей к своей странице, но я также хочу проанализировать эти правила с комментариями и предоставить некоторые формы для редактирования этих стилей и позволить пользователю изменять стили на лету. Эти комментарии будут указывать, какие правила / свойства доступны для редактирования.

Я искал решение для браузера или сервера. Самым простым решением для serwer было бы проанализировать этот css с помощью некоторого java css-анализатора, преобразовать его в ex. JSON, а затем использовать этот JSON в браузере: http://www.featureblend.com/css-json.html

Проблема в том, что я не нашел ни одного парсера Java css, который мог бы обрабатывать комментарии.

То же самое в браузере, нет подходящего синтаксического анализатора. Есть идеи как это сделать?

Ответы [ 2 ]

1 голос
/ 28 июля 2010

вы смотрели реализацию синтаксического анализатора css sac?

http://www.w3.org/Style/CSS/SAC/

->

http://www.w3.org/Style/CSS/SAC/doc/org/w3c/css/sac/Parser.html

обработчик документа имеет метод комментария

http://www.w3.org/Style/CSS/SAC/doc/org/w3c/css/sac/DocumentHandler.html#comment_java.lang.String_

0 голосов
/ 26 июля 2010

Вы можете написать свой или расширить существующий. Кажется, вы можете легко сопоставить редактируемые значения с регулярным выражением. Вам нужны только редактируемые значения, включенные в объект, или все значения независимо?

...