powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsl для event log -> rss
3 сообщений из 3, страница 1 из 1
xsl для event log -> rss
    #33858887
blzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кто то организовывал сабж?
хочу организовать конвертирование event log -> rss новость -> выкладывать на web-cервер, и с помощью rss-агрегатора, быть в курсе событий что творится на серверах.

на сайте ms скачал LogParser, который в том числе умеет конвертировать evt2xml используя xsl шаблон.
http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&DisplayLang=en

но к сожалению, моих знаний в xml не хватает чтобы наклепать xsl для перегонки в rss-новость,

там был примерчик, на базе него сделал
Query.sql
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT 	top  20 
	TimeGenerated as Date,
	SourceName,
	Message,
             SID as sid
FROM System
TO rss.xml
WHERE EventTypeName='Error event'
ORDER by Date DESC

Table.xsl
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

 <xsl:template match="/">
  <xsl:for-each select="ROOT">
   <HTML>
    <HEAD><TITLE><xsl:value-of select="@CREATED_BY"/> Generated Log</TITLE></HEAD>
    <BODY>

     <CENTER><H1><xsl:value-of select="@CREATED_BY"/> Generated Log</H1></CENTER>
     <CENTER><H2>Generated on <xsl:value-of select="@DATE_CREATED"/></H2></CENTER>

     <CENTER>
      <TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5">
       <xsl:apply-templates select="ROW"/>
      </TABLE>
     </CENTER>

    </BODY>
   </HTML>
  </xsl:for-each>
 </xsl:template> 

 <xsl:template match="ROW">
      <TR BGCOLOR="#F0F0F0">
	<xsl:for-each select="*">
	 <TD>
	  <xsl:value-of select="."/>
	 </TD>
	</xsl:for-each>
      </TR>
 </xsl:template> 
</xsl:stylesheet>
потом выполнить
Код: plaintext
LogParser file:Query.sql -xsllink:Table.xsl
и это дает мне файлик с html-табличкой со столбцами Date, SourceName, Message и т.д. и в полях таблицы соотв. значения.



хочется сделать для того чтобы получать такого типа xml-ку
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<?xml version="1.0"?>
<rss version="2.0">

  <channel>
    <title>Error eventlog SERVER1</title>
    <link>http://что.ни.будть</link>
    <description>Error eventlog SERVER1</description>
    <language>en-us</language>
    <pubDate>дата генерации или максимальное значение поля Date </pubDate>

    <item>
      <title>значение поля SourceName</title>
      <link>неважно</link>
      <description>значение поля Message</description>
      <pubDate>значение поля Date</pubDate>
      <guid>значение поля sid</guid>
    </item>

  </channel>
</rss version="2.0">


ЗЫ. т.к. цель администирование винды, сперва создал трид в windows
...
Рейтинг: 0 / 0
xsl для event log -> rss
    #33884038
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В документации к Log Parser 2.2 нет ни слова о возможности выполнения XSL преобразования внутри этой программы. Поэтому придётся преобразовать полученный из Log Parser файл rss.xml к нужному виду посредством другой программы или скрипта.
...
Рейтинг: 0 / 0
xsl для event log -> rss
    #33920299
Akrisiun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Priviet vsiem, sorry for English.
Thanks blzz for rss log idea.

LogParser does not transform XLST files.
But you may use TPL tranformation way:

Query.tpl
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<LPHEADER><?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0">
  <channel>
    <title>Error eventlog %COMPUTERNAME%</title>
    <link>http://%COMPUTERNAME%</link>
    <description>Error eventlog %COMPUTERNAME%</description>
    <language>en-us</language>
    <pubDate>%SYSTEM_TIMESTAMP%</pubDate>
    <lastBuildDate>%SYSTEM_TIMESTAMP%</lastBuildDate>
</LPHEADER>
<LPBODY>	
    <item>
      <title>error from %SourceName%</title>
      <description>%Message%</description>
      <pubDate>%Date%</pubDate>
      <guid>%sid%</guid>
      <link>?event=%sid%</link>
    </item>
</LPBODY>
<LPFOOTER>
  </channel>
</rss>
</LPFOOTER>

Here's command batch is for rss.xml output
Код: plaintext
1.
LogParser file:Query.sql?EventLog=System -o:TPL -tpl:Query.tpl

If empty sid field, rss.xml will be unvalidated
fix Query.sql
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT TOP  20 
  TimeGenerated as Date, SourceName,
  Message, 
  RecordNumber AS sid    -- SID as sid
FROM System
TO rss.xml
WHERE EventTypeName = 'Error event'
ORDER by Date DESC

More info:
http://www.logparser.com/instantforum33/shwmessage.aspx?ForumID=1&MessageID=2153
"XSLT more flexible than TPL but its if you're guru in XML. For simple things use a simple tools"
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsl для event log -> rss
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]