3 package org.scilab.modules.helptools.XML;
6 import java.io.StringReader;
7 import java.io.IOException;
9 @javax.annotation.Generated("JFlex")
21 private int whitesOnFirstLine;
22 private int saveLexState;
23 private AbstractXMLCodeHandler handler;
27 private String trimEnd(String str) {
28 int end = str.length() - 1;
31 char c = str.charAt(i);
32 if (c != ' ' && c != '\t' && c != '\r' && c != '\n') {
37 return str.substring(0, i + 1);
43 public String convert(AbstractXMLCodeHandler h, String code) {
44 Reader reader = new StringReader(trimEnd(code));
45 String str = convert(h, reader, true);
48 } catch (IOException e) { }
53 public String convert(AbstractXMLCodeHandler h, Reader code, boolean ret) {
58 whitesOnFirstLine = 0;
63 } catch (IOException e) {
74 %x COMMENT, CDATA, TAG, PI, CLEAN, CLEANFIRST
76 /* main character classes */
77 /* http://www.w3.org/TR/REC-xml/ */
81 entity = "&"[#a-zA-Z0-9]*";"
83 nameStartChar = ":" | [A-Z] | "_" | [a-z] | [\u00C0-\u00D6] | [\u00D8-\u00F6] | [\u00F8-\u02FF] | [\u0370-\u037D] | [\u037F-\u1FFF] | [\u200C-\u200D] | [\u2070-\u218F] | [\u2C00-\u2FEF] | [\u3001-\uD7FF] | [\uF900-\uFDCF] | [\uFDF0-\uFFFD]
84 nameChar = {nameStartChar} | "-" | "." | [0-9] | \u00B7 | [\u0300-\u036F] | [\u0203F-\u2040]
85 name = {nameStartChar} {nameChar}*
89 comment = ([^\r\n-]* | [^\r\n-]* "-" [^\r\n-] | [^\r\n-]* "--" [^\r\n>])+
91 cdataBeg = "<![CDATA["
93 cdata = ([^\r\n\]]* | [^\r\n\]]* "]" [^\r\n\]] | [^\r\n\]]* "]]" [^\r\n>])+
98 openTagBeg = "<" {name}
101 closeTag = "</" {name} {white}* ">"
103 attribute = {name} "="
104 value = ("\"" [^\r\n\"]* "\"") | ("\'" [^\r\n\']* "\'")
113 whitesOnFirstLine = yylength();
125 handler.handleNothing("\n");
129 int len = yylength() - whitesOnFirstLine;
133 yybegin(saveLexState);
138 yybegin(saveLexState);
144 handler.handleEntity("&" + yytext().substring(1));
149 handler.handleOpenInstr("<?");
150 handler.handleInstrName(yytext().substring(2));
155 handler.handleLow("<");
156 handler.handleOpenTagName(yytext().substring(1));
160 handler.handleLowClose("</");
161 String str = yytext();
162 handler.handleOpenTagName(str.substring(2, str.length() - 1).trim());
163 handler.handleGreat(">");
168 handler.handleOpenComment("<!--");
173 handler.handleOpenCdata("<![CDATA[");
177 handler.handleDefault(yytext());
181 handler.handleNothing("\n");
182 saveLexState = YYINITIAL;
189 String str = yytext();
190 handler.handleAttributeName(str.substring(0, str.length() - 1));
191 handler.handleEqual("=");
195 handler.handleAttributeValue(yytext());
200 handler.handleCloseInstr("?>");
204 handler.handleNothing(" ");
208 handler.handleNothing("\n");
218 String str = yytext();
219 handler.handleAttributeName(str.substring(0, str.length() - 1));
220 handler.handleEqual("=");
224 handler.handleAttributeValue(yytext());
229 handler.handleAutoClose("/>");
234 handler.handleGreat(">");
238 handler.handleNothing(" ");
242 handler.handleNothing("\n");
253 handler.handleCommentEnd("-->");
257 handler.handleNothing("\n");
258 saveLexState = COMMENT;
263 handler.handleComment(yytext());
270 handler.handleCdataEnd("]]>");
274 handler.handleNothing("\n");
275 saveLexState = CDATA;
280 handler.handleCdata(yytext());