Changes between Initial Version and Version 1 of Development/Styles/LogFileFormat


Ignore:
Timestamp:
Aug 3, 2006 8:58:32 PM (13 years ago)
Author:
rinoa
Comment:

adding the LogFileFormat page

Legend:

Unmodified
Added
Removed
Modified
  • Development/Styles/LogFileFormat

    v1 v1  
     1[[TracNav(Development)]] 
     2''This is part of the [wiki:Development Development Documentation Project], please help document Colloquy if you know anything that would be relevant here for other users to know about.'' 
     3 
     4= The Colloquy Transcript file format = 
     5 
     6This page documents the XML file format for the Colloquy Transcripts. The XML files with the irc messages Colloquy receives, get fed into your style's XSL stylesheet. If you want to create your own custom XSL stylesheet in your Colloquy style, you should know what input you could expect for the XSL stylesheet. That's what this page is about: how do the transcript files look like? 
     7 
     8Hence, a list of the elements in a Transcript file: 
     9 
     10== envelope == 
     11 
     12An envelope contains consecutive messages of the same sender. 
     13 
     14=== Content Model === 
     15 
     16 envelope:: sender,message+ 
     17 
     18=== Attributes === 
     19 
     20none 
     21 
     22=== Parents === 
     23 
     24These elements contain `envelope`: `log`. 
     25 
     26---- 
     27 
     28== event == 
     29 
     30An irc event, like joining the chat room or changing the topic. 
     31 
     32=== Content Model === 
     33 
     34 event:: message,((old)?,who|(by,topic)) 
     35 
     36=== Attributes === 
     37 
     38 id:: A unique identification number of the event. 
     39 
     40 name:: The type of event. One of `banRemoved, demotedFromFounder, demotedFromHalfOperator, demotedFromOperator, dequieted, devoiced, kicked, memberBanned, memberDemotedFromFounder, memberDemotedFromHalfOperator, memberDemotedFromOperator, memberDequieted, memberDevoiced, memberJoined, memberKicked, memberNewNickname, memberParted, memberPromotedToFounder, memberPromotedToHalfOperator, memberPromotedToOperator, memberQuieted, memberVoiced, modeChange, newNickName, promotedToFounder, promotedToHalfOperator, promotedToOperator, quieted, rejoined, topicChanged, voiced` 
     41 
     42 occurred:: The full date and time when the event has happened. 
     43 
     44=== Example === 
     45 
     46{{{ 
     47<event id="SAUB4LX7RT" name="memberJoined" occurred="2006-08-02 18:00:57 +0200"><message><span class="member">nonex</span> joined the chat room.</message> 
     48}}} 
     49 
     50---- 
     51 
     52== log == 
     53 
     54The root element of the Transcript file. It contains events and envelopes of messages. 
     55 
     56=== Content Model === 
     57 
     58 log:: (envelope|event)+ 
     59 
     60=== Attributes === 
     61 
     62 began:: 
     63  The full date and time of the beginning of the transcript. 
     64 
     65 source:: 
     66  The source of the transcript, including server and channel name or nickname (for a public and private chat, respectively). 
     67 
     68=== Example === 
     69 
     70{{{ 
     71<log began="2006-08-02 10:01:25 +0200" source="irc://irc.freenode.net/%23colloquy"> 
     72  ... 
     73</log> 
     74}}} 
     75 
     76---- 
     77 
     78== message == 
     79 
     80Contains a text message of a irc user. 
     81 
     82=== Content Model === 
     83 
     84 message:: (span|CDATA)* 
     85 
     86=== Attributes === 
     87 
     88 id:: 
     89  A unique identification number of the message. Only needed when the message is the child of an envelope element. 
     90 
     91 received:: 
     92  The full date and time when the message has been received. Only needed when the message is the child of an envelope element. 
     93 
     94 
     95=== Parents === 
     96 
     97These elements contain `message`: `event`, `envelope`. 
     98 
     99=== Examples === 
     100 
     101{{{ 
     102<message><span class="member">nonex</span> joined the chat room.</message> 
     103<message id="IR966FRVQT" received="2006-08-02 13:38:03 +0200"><span class="emoticon smile"><samp>:)</samp></span></message> 
     104}}} 
     105 
     106---- 
     107 
     108== sender == 
     109 
     110Identifies the sender of an envelope of messages. The text content of the element is the nickname of the sender. 
     111 
     112=== Content Model === 
     113 
     114 sender:: CDATA 
     115 
     116=== Attributes === 
     117 
     118 class:: The status of the sender in the chat room. This could be `operator` or `voice`. This attribute is optional. 
     119 
     120 hostmask:: The hostmask of the sender of the message. 
     121 
     122 identifier:: The username of the sender of the message. This attribute is optional. 
     123 
     124 self:: `yes` if the sender is the user of this Colloquy client. This attribute is optional. 
     125 
     126 
     127=== Parents === 
     128 
     129These elements contain `sender`: `envelope`. 
     130 
     131=== Examples === 
     132 
     133{{{ 
     134<sender self="yes" hostmask="koan@xxx.xxx.xxx.xxx">koan</sender> 
     135<sender hostmask="nitewalka@xx.yy.com" identifier="nitewalka" class="voice">nitewalka</sender> 
     136<sender hostmask="nonex@xx.yy.net" class="operator">nonex</sender> 
     137}}}