1<?php
2
3/*
4    <p style='ps-0' dir='ltr'>
5        <c style='cs-0' lang='tl-0'>Test</c>
6    </p>
7    <p style='ps-0' dir='ltr'>
8        <c style='cs-0' lang='tl-0' over='co-0'>Fett</c><c style='cs-0' lang='tl-0' over='co-1'/>
9        <c style='cs-0' lang='tl-0' over='co-2'>Kursiv</c><c style='cs-0' lang='tl-0' over='co-1'/>
10        <c style='cs-0' lang='tl-0' over='co-3'>Unterstrichen</c><c style='cs-0' lang='tl-0' over='co-4'> Freitext</c>
11    </p>
12    <p style='ps-0' dir='ltr'>
13        <c style='cs-0' lang='tl-0' over='co-4'>Test String am Ende.</c>
14        <c style='cs-0'>
15            <selection-insertion-point/>
16            <page-break/>
17        </c>
18    </p>
19    <p style='ps-1' dir='ltr'>
20        <c style='cs-0'/>
21    </p>
22</section>
23*/
24
25
26
27$m = array(
28    // p = function name (either "p" or "p_open" and p_close)
29    // replacement = The pattern to replace bzw. to split the template
30    // template = template with replacement
31    // alias = other common names for the tag
32    // subpattern = when there are additional parts in the template which have to be replaced (ex. h1 and footnotes)
33
34
35//<c style="cs-0">
36
37
38    'p' => array(
39        'replacement'   => 'normaler Text',
40        'alias'         => array('section'),
41        'subpattern'    => array(),
42
43        // Normaler Text mit Absatz!
44        'template'      => "<p style='ps-0' dir='ltr'>normaler Text</p>",
45//        'template'      => "<c style='cs-0'>normaler Text</c>",
46    ),
47
48    // normaler Text
49    'cdata' => array(
50        'replacement'   => 'CDATA',
51        'alias'         => array(),
52        'subpattern'    => array(),
53        'template'      => "<c style='cs-0'>CDATA</c>",
54    ),
55
56    'header' => array(
57        'replacement'   => 'UEBERSCHRIFT',
58        'alias'         => array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'),
59        'subpattern'    => array('{{LEVEL}}'),
60        'template'      => "<p style='ps-1' dir='ltr'>
61                                <c style='cs-2'><autotitle level='{{LEVEL}}' index='0' model-string-length='{{LENGTH}}'><c style='cs-2' lang='tl-0'>UEBERSCHRIFT</c></autotitle></c>
62                            </p>",
63    ),
64
65    'footnote' => array(
66        'replacement'   => 'Fussnote',
67        'alias'         => array(),
68        'subpattern'    => array('{{NOTE}}'),
69
70        // Template contains another template of "normaler Text"!
71//      'template'      => "<p style='ps-0' dir='ltr'>
72//                                <c style='cs-3'>{{NOTE}}<note stream='nsm-0'>
73//                                  <p style='ps-0' dir='ltr'>
74//                                    <c style='cs-0' lang='tl-0'>Fussnote</c>
75//                                  </p>
76//                                </note>
77//                              </c>
78//                            </p>",
79        'template'      => "<c style='cs-3'>{{NOTE}}<note stream='nsm-0'>
80                              <p style='ps-0' dir='ltr'>
81                                <c style='cs-0' lang='tl-0'>Fussnote</c>
82                              </p>
83                              </note>
84                            </c>",
85    ),
86    'externallink' => array(
87        'replacement'   => 'EXTERNALLINK',
88        'alias'         => array('internallink', 'internalmedia'), // TODO internalmedia might not work
89        'subpattern'    => array('{{TITLE}}'),
90        'template'      => "<c style='cs-0'><hyperlink display-as-link='yes'><display-text><c style='cs-0'>{{TITLE}}</c><c style='cs-0'/></display-text><url-string>EXTERNALLINK</url-string></hyperlink></c>",
91    ),
92
93    // http://mountaindragon.com/html/iso.htm
94    'doublequoteopening' => array(
95        'replacement'   => 'DOUBLEQUOTEOPENING',
96        'alias'         => array(),
97        'subpattern'    => array(),
98        #'template'      => '&qout;',
99        'template'      => '<c style="cs-0">"</c>',
100    ),
101
102    'doublequoteclosing' => array(
103        'replacement'   => 'DOUBLEQUOTECLOSING',
104        'alias'         => array(),
105        'subpattern'    => array(),
106        #'template'      => '&qout;',
107        'template'      => '<c style="cs-0">"</c>',
108    ),
109
110    'singlequoteopening' => array(
111        'replacement'   => 'SINGLEQUOTEOPENING',
112        'alias'         => array(),
113        'subpattern'    => array(),
114        'template'      => '<c style="cs-0">\'</c>',
115    ),
116
117    'singlequoteclosing' => array(
118        'replacement'   => 'SINGLEQUOTECLOSING',
119        'alias'         => array(),
120        'subpattern'    => array(),
121        'template'        => '<c style="cs-0">\'</c>',
122    ),
123
124    'plain' => array(
125        'replacement'   => 'PLAIN',
126        'alias'         => array('entity', 'acronym', 'preformatted'),
127        'subpattern'    => array(),
128        'template'      => "<c style='cs-0'>PLAIN</c>", // same template as "p", correct?
129    ),
130
131
132//  <list style="ls-0">
133//  <p style="ps-0" dir="ltr" list-level="1">
134//    <c style="cs-0">Erstens </c>
135//  </p>
136//  <p style="ps-0" dir="ltr" list-level="1">
137//    <c style="cs-0">Zweitens <selection-insertion-point/></c>
138//  </p>
139//  <p style="ps-0" dir="ltr" list-level="1">
140//    <c style="cs-0">Drittens</c>
141//  </p>
142//  </list>
143
144    'list' => array(
145        'replacement'   => 'LIST',
146        'alias'         => array('listu', 'listo'),
147        'subpattern'    => array(),
148        'template'      => '<list style="ls-0">LIST</list>',
149        'template_p_open' => '</p><list style="ls-0">LIST</list><p style="ps-0" dir="ltr">',
150    ),
151
152    'listcontent' => array(
153        'replacement'   => 'LISTCONTENT',
154        'alias'         => array(),
155        'subpattern'    => array(),
156        'template'      => 'LISTCONTENT',
157    ),
158
159    'listitem' => array(
160        'replacement'   => 'LISTITEM',
161        'alias'         => array(),
162        'subpattern'    => array('{{LEVEL}}'),
163        'template'      => '<p style="ps-0" dir="ltr" list-level="{{LEVEL}}">LISTITEM</p>',
164    ),
165
166    'strong' => array(
167        'replacement'   => 'BOLD',
168        'alias'         => array(),
169        'subpattern'    => array(),
170        'template'      => "<c style='cs-0' lang='tl-0' over='co-0'>BOLD</c>",
171    ),
172
173    'emphasis' => array(
174        'replacement'   => 'EMPHASIS',
175        'alias'         => array('italic'),
176        'subpattern'    => array(),
177        'template'      => "<c style='cs-0' lang='tl-0' over='co-2'>EMPHASIS</c>",
178    ),
179
180    'underline' => array(
181        'replacement'   => 'UNDERLINE',
182        'alias'         => array(),
183        'subpattern'    => array(),
184        'template'      => "<c style='cs-0' over='co-3'>UNDERLINE</c>",
185    ),
186
187    'deleted' => array(
188        'replacement'   => 'DELETED',
189        'alias'         => array(),
190        'subpattern'    => array(),
191        'template'      => '<c style="cs-0" over="co-4">DELETED</c>',
192    ),
193
194    'monospace' => array(
195        'replacement'   => 'MONOSPACE',
196        'alias'         => array(),
197        'subpattern'    => array(),
198        'template'      => '<c style="cs-0" over="co-5">MONOSPACE</c>',
199    ),
200
201    'code' => array(
202        'replacement'   => 'CODE',
203        'alias'         => array(),
204        'subpattern'    => array(),
205        'template'      => '<p  style="ps-0" dir="ltr"><c style="cs-0" lang="tl-0" over="co-5">CODE</c></p>',
206    ),
207
208    'smiley' => array(
209        'replacement'   => 'SMILEY',
210        'alias'         => array(),
211        'subpattern'    => array(),
212        'template'      => 'SMILEY',
213    ),
214
215    'table' => array(
216        'replacement'   => 'TABLE',
217        'alias'         => array(),
218        'subpattern'    => array(),
219        'template'      => 'TABLE',
220    ),
221
222    'tablerow' => array(
223        'replacement'   => 'TABLEROW',
224        'alias'         => array(),
225        'subpattern'    => array(),
226        'template'      => "<p style='ps-0' dir='ltr'>TABLEROW</p>",
227    ),
228
229    'tablecell' => array(
230        'replacement'   => 'TABLECELL',
231        'alias'         => array(),
232        'subpattern'    => array(),
233        'template'      => '<c style="cs-0"> | </c>TABLECELL<c style="cs-0"> | </c>',
234//        'template'      => 'TABLECELL ',
235    ),
236);