|
View:
New views
20 Messages
—
Rating Filter:
Alert me
|
| < Prev | 1 - 2 | Next > |
|
|
Создание своей схемыЗдравствуйте.
Я хочу сделать так, чтобы в моем формате, основанном на XSLT, текст внутри тегов подсвечивался как язык программирования, например, JavaScript. Я делаю так: <type name="xlang"> <scheme name="xlang"> <inherit scheme="xslt:xslt"/> </scheme> </type> Очевидно, что нужно заместить одну из схем, наследуемых со схемой xslt, но я не знаю какую. Кто нибудь может подсказать решение?. Спасибо. -- Денис Ибаев dionys@... N╛HS^╣И ┼X╛╡ '╡┼чu╪╠<бз┌╨.²жКy╘"·╝*m┼x%jx.j╜┘╚^фв╖vф╘╕X°jь╗·х╖╤▄m╘щ ├Б∙И·v&─╤в╖vь^√+чаФэjкZ²ьХ┼{az Б≥Г^╫Иh╔ЙЮ╝▀╘n╥ ▓)Ю┼{h╤╛²Л║ь╖┌в╚╝+h╞(m╤÷Ъ╠ИZ╡КjY┌w╜Чг╔rg√y$┴вOxА╦²ш█{шGZ╢в╝6r┴h╜ЙМjY,≥╗╔┼x%┼к\╒Z+z╩Z√K%┼кl╡▀╚qГХ╝╖zьm╤⌡?ЧX╛╤к(╨╥~┼Юzw╜ЧX╛╤оЕ┼кb²З?r┴h╜ЙМjY, |
|
|
Re: Создание своей схемыВообще говоря решений несколько,
Самое правильное и нетривиальное - описать свой XSD тип, унаследованный от xslt, и для него внедрить модификации в некоторые из XSD-типов - для подсветки того-же javascript Друкой вариант - пробовать напрямую - писать HRC, наследованный от xslt и пытаться найти те компоненты, которые в нем нужно модифицировать. Но проблема здесь в том, что XSLT - автогенерируемое описание синтаксиса и завтра оно может быть сгенерировано совсем по-другому. Мой совет - разобраться как создаются HRC из XSD и описав свой XSD сгенерировать HRC для него. On 3/1/06, Denis Ibaev <dionys@...> wrote: Здравствуйте. -- Igor |
|
|
Re: Создание своей схемыПопробую "самый правильный и нетривиальный" путь - опишу XSD. Но я так
и не нашёл конвертер XSD в HRC, упоминаемый в документации. Где его можно найти? 02.03.06, Igor Russkih<irusskih@...> написал(а): > Вообще говоря решений несколько, > > Самое правильное и нетривиальное - описать свой XSD тип, унаследованный от > xslt, и для него внедрить модификации в некоторые из XSD-типов - для > подсветки того-же javascript > > Друкой вариант - пробовать напрямую - писать HRC, наследованный от xslt и > пытаться найти те компоненты, которые в нем нужно модифицировать. Но > проблема здесь в том, что XSLT - автогенерируемое описание синтаксиса и > завтра оно может быть сгенерировано совсем по-другому. > > Мой совет - разобраться как создаются HRC из XSD и описав свой XSD > сгенерировать HRC для него. > > -- > Igor |
|
|
Re: Создание своей схемыHello!
02.03.2006 19:44 Denis Ibaev wrote: > Попробую "самый правильный и нетривиальный" путь - опишу XSD. Но я так > и не нашёл конвертер XSD в HRC, упоминаемый в документации. Где его > можно найти? > > colorer/bin/xsd2hrc/xsd2hrc.xsl Рассчитано, вообще говоря, на запуск через ant. Образец для подражания - в colorer/src/hrc/*. Впрочем, никто, конечно, не мешает доработать напильником и запускать руками. WBR, Eugene. ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Создание своей схемыC ant я вроде разобрался, но не понял как в XSD указать, что
содержимое определённого элемента нужно интерпретировать, как исходный код на некотором языке программирования. 02.03.06, Eugene Efremov<4mirror@...> написал(а): > > colorer/bin/xsd2hrc/xsd2hrc.xsl > > Рассчитано, вообще говоря, на запуск через ant. Образец для подражания - > в colorer/src/hrc/*. > Впрочем, никто, конечно, не мешает доработать напильником и запускать > руками. > > > WBR, Eugene. |
|
|
Re: Создание своей схемыHello!
04.03.2006 13:46 Denis Ibaev wrote: > C ant я вроде разобрался, но не понял как в XSD указать, что > содержимое определённого элемента нужно интерпретировать, как исходный > код на некотором языке программирования. > > Там (в src/hrc/**/src) есть такие файлы вида custom.*.xml. Вот в них это все и задается. Либо напрямую, путем переопределения hrc-схемы для этого xsd-типа (если, конечно, нужный элемент имеет свой не неанонимный тип), либо -- через предназначенную специально для этого секцию script-n-style. Советую посмотреть, как это сделано для xhtml, svg или wsc. -- WBR, Eugene. ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Создание своей схемыЧто-то у меня не получается. В custom.xml я пишу:
<scheme name="init-element"> <inherit scheme="init-element-old"> <virtual scheme="string-elementContent" subst-scheme="lisp:lisp"/> </inherit> </scheme> При этом у меня выходит такой HRC: <scheme name="init-element"> <inherit scheme="init-element-old"> <virtual scheme="string-elementContent" subst-scheme="lisp:lisp"/> </inherit> </scheme> <scheme name="init-element-old"> <block end="/ > /x" start="/\M < (%nsprefix;init ([\s\/>]|$) )/x" scheme="string-elementContent" xmlns="http://colorer.sf.net/2003/hrc"/> </scheme> Но подсветки не наблюдается. 04.03.06, Eugene Efremov<4mirror@...> написал(а): > > Там (в src/hrc/**/src) есть такие файлы вида custom.*.xml. Вот в них это > все и задается. Либо напрямую, путем переопределения hrc-схемы для этого > xsd-типа (если, конечно, нужный элемент имеет свой не неанонимный тип), > либо -- через предназначенную специально для этого секцию > script-n-style. Советую посмотреть, как это сделано для xhtml, svg или wsc. > N╛HS^╣И ┼X╛╡ '╡┼чu╪╠<бз┌╨.²жКy╘"·╝*m┼x%jx.j╜┘╚^фв╖vф╘╕X°jь╗·х╖╤▄m╘щ ├Б∙И·v&─╤в╖vь^√+чаФэjкZ²ьХ┼{az Б≥Г^╫Иh╔ЙЮ╝▀╘n╥ ▓)Ю┼{h╤╛²Л║ь╖┌в╚╝+h╞(m╤÷Ъ╠ИZ╡КjY┌w╜Чг╔rg√y$┴вOxА╦²ш█{шGZ╢в╝6r┴h╜ЙМjY,≥╗╔┼x%┼к\╒Z+z╩Z√K%┼кl╡▀╚qГХ╝╖zьm╤⌡?ЧX╛╤к(╨╥~┼Юzw╜ЧX╛╤оЕ┼кb²З?r┴h╜ЙМjY, |
|
|
Re: Создание своей схемыHello!
06.03.2006 19:48 Denis Ibaev wrote: > Что-то у меня не получается. В custom.xml я пишу: > > <scheme name="init-element"> > <inherit scheme="init-element-old"> > <virtual scheme="string-elementContent" subst-scheme="lisp:lisp"/> > </inherit> > </scheme> > А второй вариант: <c:script-n-style> <c:element name="init"> <c:default name="lisp"/> </c:element> </c:script-n-style> ? > При этом у меня выходит такой HRC: > > <scheme name="init-element"> > <inherit scheme="init-element-old"> > <virtual scheme="string-elementContent" subst-scheme="lisp:lisp"/> > </inherit> > </scheme> > > <scheme name="init-element-old"> > <block end="/ > /x" start="/\M < (%nsprefix;init > ([\s\/>]|$) )/x" scheme="string-elementContent" > xmlns="http://colorer.sf.net/2003/hrc"/> > </scheme> > > Но подсветки не наблюдается. > > А посмотреть, что из себя представляют схемы вида ...-elementContent? Если идти этим путем, надо действовать по-другому: 1. В xsd описать отдельный тип для init. Что-нибудь вроде: <xs:element name="init" type="initLisp"/> <xs:simpleType name="initLiss"> <xs:restriction base="xs:string"> ....... 2. После этого в custom.xml переопределить схему для initLips: <scheme name="initLisp-content"> <inherit scheme="lisp:lisp"/> </scheme> Кстати, после этого можно глянуть в то, что сгенерилось, и понять, почему переопределение elementContent бессмысленно... -- WBR, Eugene ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Создание своей схемыВозможно я не совсем понял, но из приведенного куска элемент init может включать в себя только элементы string. если нужно чтобы содержимое string разбиралось особенно, то именно его нужно переопределять (string-content): <scheme name="string-content"> <inherit scheme="lisp:lisp"/> </scheme>
On 3/6/06, Eugene Efremov <4mirror@...> wrote: Hello! -- Igor |
|
|
Re: Создание своей схемы06.03.06, Eugene Efremov<4mirror@...> написал(а):
> А второй вариант: > > <c:script-n-style> > <c:element name="init"> > <c:default name="lisp"/> > </c:element> > </c:script-n-style> Когда делаю так, то получаю следующий код: <!-- xmlss.hrc: support 'init' element --> <scheme name="xmlss-init"> <block scheme="xmlss-lisp-elementContent" end="/>/" start="/\M <%nsprefix;init\b [^>]* (>|$)/x"/> </scheme> <scheme name="init-element"> <inherit scheme="xmlss-init"> <virtual subst-scheme="lispType-Attributes" scheme="xml:Attribute.any"/> </inherit> </scheme> <scheme name="init-element-old-xmlss"> <block end="/ > /x" start="/\M < (%nsprefix;init ([\s\/>]|$) )/x" scheme="string-elementContent" xmlns="http://colorer.sf.net/2003/hrc"/> </scheme> Но файла xmlss.hrc у меня нет и схема xmlss-lisp-elementContent нигде не определена. > А посмотреть, что из себя представляют схемы вида ...-elementContent? > Если идти этим путем, надо действовать по-другому: > > 1. В xsd описать отдельный тип для init. Что-нибудь вроде: > > <xs:element name="init" type="initLisp"/> > > <xs:simpleType name="initLiss"> > <xs:restriction base="xs:string"> > ....... > > 2. После этого в custom.xml переопределить схему для initLips: > > <scheme name="initLisp-content"> > <inherit scheme="lisp:lisp"/> > </scheme> > > Кстати, после этого можно глянуть в то, что сгенерилось, и понять, > почему переопределение elementContent бессмысленно... Этим путем тоже не получилось. Сделал <simpleType name="lispType"> <restriction base="string"/> </simpleType> <element name="init" type="lispType"/> и <scheme name="lispType-content"> <inherit scheme="lisp:lisp"/> </scheme> Получил <scheme name="init-element"> <block end="/ > /x" start="/\M < (%nsprefix;init ([\s\/>]|$) )/x" scheme="lispType-elementContent" xmlns="http://colorer.sf.net/2003/hrc"/> </scheme> <scheme name="lispType-content"> <inherit scheme="lisp:lisp"/> </scheme> <scheme name="lispType-content-error"> <inherit scheme="lispType-content" xmlns="http://colorer.sf.net/2003/hrc"/> <inherit scheme="xml:badChar" xmlns="http://colorer.sf.net/2003/hrc"/> </scheme> <scheme name="lispType-content-cdsect"> <inherit scheme="lispType-content-error" xmlns="http://colorer.sf.net/2003/hrc"> <virtual subst-scheme="xml:badCDLiter" scheme="xml:badLiter"/> <virtual subst-scheme="def:empty" scheme="xml:Reference"/> </inherit> </scheme> <scheme name="lispType-elementContent"> <inherit scheme="_hrc_int_elementContent"> <virtual subst-scheme="lispType-content-cdsect" scheme="xml:CDSect.content.stream"/> <virtual subst-scheme="lispType-content-error" scheme="xml:content.cdata.stream"/> <virtual subst-scheme="def:empty" scheme="xml:element"/> <virtual subst-scheme="lispType-Attributes" scheme="xml:Attribute.any"/> </inherit> </scheme> Но подсветки нет. N╛HS^╣И ┼X╛╡ '╡┼чu╪╠<бз┌╨.²жКy╘"·╝*m┼x%jx.j╜┘╚^фв╖vф╘╕X°jь╗·х╖╤▄m╘щ ├Б∙И·v&─╤в╖vь^√+чаФэjкZ²ьХ┼{az Б≥Г^╫Иh╔ЙЮ╝▀╘n╥ ▓)Ю┼{h╤╛²Л║ь╖┌в╚╝+h╞(m╤÷Ъ╠ИZ╡КjY┌w╜Чг╔rg√y$┴вOxА╦²ш█{шGZ╢в╝6r┴h╜ЙМjY,≥╗╔┼x%┼к\╒Z+z╩Z√K%┼кl╡▀╚qГХ╝╖zьm╤⌡?ЧX╛╤к(╨╥~┼Юzw╜ЧX╛╤оЕ┼кb²З?r┴h╜ЙМjY, |
|
|
Re: Создание своей схемыHello!
07.03.2006 10:19 Denis Ibaev wrote: > Когда делаю так, то получаю следующий код: > > <!-- xmlss.hrc: support 'init' element --> > > [skip] > Но файла xmlss.hrc у меня нет и схема xmlss-lisp-elementContent нигде > не определена. > Та-ак... Кажется, бага в xsd2hrc.xmlss.xsl. Буду проверять. А файла xmlss.hrc и не должно быть, это название от старых версий осталось... > Этим путем тоже не получилось. Сделал > [все верно, вроде] > Получил > [насколько я могу судить -- именно то, что и должно быть] > Но подсветки нет Так... Кажется я, за то время, пока колорером не занимался, успел напрочь забыть, как оно работает... ...а, вспомнил... Там был еще косяк с *-error. Можно попробовать переопределить еще и lispType-content-error, так чтобы она _не_ включала xml:badChar. Если и после этого не заработает -- я уж и не знаю, что и думать... Кстати, "подсветки нет" -- а что есть? Оно подсвечивается, как ошибка? Или как простой текст? А в логах колорера что-нибудь по этому поводу пишется? -- WBR, Eugene ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Создание своей схемыHello Igor!
07.03.2006 9:51 Igor Russkih wrote: > Возможно я не совсем понял, но из приведенного куска элемент init > может включать в себя только элементы string. если нужно чтобы > содержимое string разбиралось особенно, то именно его нужно > переопределять (string-content): > Мне показалось, что имеется в виду тип xsd:string, который переопределять, естественно, бессмысленно... А в xmlss у меня, как выяснилось, не обрабатывается ситуация, когда имеется default, но нету language. И, строго говоря, оно логично. Думаю, вместо этого надо будет предусмотреть случай, когда у language нет @expr... -- WBR, Eugene ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Создание своей схемы> Кстати, "подсветки нет" -- а что есть? Оно подсвечивается, как ошибка?
> Или как простой текст? А в логах колорера что-нибудь по этому поводу > пишется? Лог? А где это? Я смотрю через Far. Что нужно сделать, чтобы был лог? Подсвечивается как простой текст. А в варианте с script-n-style вообще весь файл подсвечивается как простой текст включая теги. N╛HS^╣И ┼X╛╡ '╡┼чu╪╠<бз┌╨.²жКy╘"·╝*m┼x%jx.j╜┘╚^фв╖vф╘╕X°jь╗·х╖╤▄m╘щ ├Б∙И·v&─╤в╖vь^√+чаФэjкZ²ьХ┼{az Б≥Г^╫Иh╔ЙЮ╝▀╘n╥ ▓)Ю┼{h╤╛²Л║ь╖┌в╚╝+h╞(m╤÷Ъ╠ИZ╡КjY┌w╜Чг╔rg√y$┴вOxА╦²ш█{шGZ╢в╝6r┴h╜ЙМjY,≥╗╔┼x%┼к\╒Z+z╩Z√K%┼кl╡▀╚qГХ╝╖zьm╤⌡?ЧX╛╤к(╨╥~┼Юzw╜ЧX╛╤оЕ┼кb²З?r┴h╜ЙМjY, |
|
|
Re[2]: óÏÚÄÁÎÉÅ Ó×ÏÅÊ ÓÈÅÍÙЗдравствуйте, Уважаемый(-ая, -ое) Denis Ibaev!
>> Кстати, "подсветки нет" -- а что есть? Оно подсвечивается, как ошибка? >> Или как простой текст? А в логах колорера что-нибудь по этому поводу >> пишется? DI> Лог? А где это? Я смотрю через Far. Что нужно сделать, чтобы был лог? DI> Подсвечивается как простой текст. А в варианте с script-n-style вообще DI> весь файл подсвечивается как простой текст включая теги. В корне диска C:\_colorer.log Если нет - включается в настройках плагина. -- С уважением Andrey Repin (colorer@...) пятница, 10.03.2006, <12:19> * Winamp наконец заткнулся... ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Создание своей схемыHello!
10.03.2006 9:26 Denis Ibaev wrote: >> Кстати, "подсветки нет" -- а что есть? Оно подсвечивается, как ошибка? >> Или как простой текст? А в логах колорера что-нибудь по этому поводу >> пишется? >> > > Лог? А где это? Я смотрю через Far. Что нужно сделать, чтобы был лог? > Путь к логфайлу задается в файле catalog.xml, в атрибуте /catalog/hrc-sets/@log-location, обычно это файл colorer.log в корне колорера. Путь к файлу catalog.xml (и, соответственно, к библиотекам колорера), в свою очередь, задается в настройках плагина в фаре. По умолчанию он ищет catalog.xml в папке с плагином (подробнее -- см. его справку). > Подсвечивается как простой текст. И переопрделение *-content-error, как я понимаю, не помогает? Может быть, оно там внутри CDATA? Вообще, наверное, имеет смысл закинуть сюда и xsd, и custom.xml. А также какой-нибудь короткий тестовый пример. А то так можно долго гадать, что там к чему... > А в варианте с script-n-style вообще > весь файл подсвечивается как простой текст включая теги. Это, как я уже писал, была бага. Сейчас я ее исправил. Правильная версия лежит на SVN колорера по адресу https://svn.sourceforge.net/svnroot/colorer/branches/BRANCH-EFREMOV-BASE/colorer/bin/xsd2hrc Соответственно, ее надо оттуда скачать, а в секции script-n-style заменить default на language. Кстати, а сами новые тэги подсвечиваются правильно? Как def:Keyword, не как def:Tag? Если как def:Tag -- то про все, что я здесь писал, можно забыть, а надо смотреть исходный xsd... Вообще, с xslt там есть свои хитрости, так что стандартный подход может и не прокатить... -- WBR, Eugene. ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Создание своей схемыHello!
02.03.2006 10:10 Igor Russkih wrote: > Самое правильное и нетривиальное - описать свой XSD тип, > унаследованный от xslt, и для него внедрить модификации в некоторые из > XSD-типов - для подсветки того-же javascript > > Мой совет - разобраться как создаются HRC из XSD и описав свой XSD > сгенерировать HRC для него. Так... Мы оба тормоза. Особенно я, потому что переписывался с Денисом уже больше недели, а за все время не сообразил, что в данном случае работать это не будет. Как ты это себе представляешь -- XSD унаследованный от xslt и генерация HRC из него? Там требуется, фактически, |