| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_i18n_KParseTokens_idl__ |
| #define __com_sun_star_i18n_KParseTokens_idl__ |
| |
| //============================================================================ |
| |
| module com { module sun { module star { module i18n { |
| |
| //============================================================================ |
| |
| /** |
| These constants specify the characters a name or identifier token to |
| be parsed can have. |
| |
| <p> They are passed to |
| <member>XCharacterClassification::parseAnyToken()</member> and |
| <member>XCharacterClassification::parsePredefinedToken()</member>. |
| They are also set in the <member>ParseResult::StartFlags</member> |
| and <member>ParseResult::ContFlags</member>. </p> |
| */ |
| |
| published constants KParseTokens |
| { |
| /// ASCII A-Z upper alpha |
| const long ASC_UPALPHA = 0x00000001; |
| |
| /// ASCII a-z lower alpha |
| const long ASC_LOALPHA = 0x00000002; |
| |
| /// ASCII 0-9 digit |
| const long ASC_DIGIT = 0x00000004; |
| |
| /// ASCII '_' underscore |
| const long ASC_UNDERSCORE = 0x00000008; |
| |
| /// ASCII '$' dollar |
| const long ASC_DOLLAR = 0x00000010; |
| |
| /// ASCII '.' dot/point |
| const long ASC_DOT = 0x00000020; |
| |
| /// ASCII ':' colon |
| const long ASC_COLON = 0x00000040; |
| |
| /// Special value to allow control characters (0x00 < char < 0x20) |
| const long ASC_CONTROL = 0x00000200; |
| |
| /** Special value to allow anything below 128 except control |
| characters. <strong>Not</strong> set in |
| <type>ParseResult</type>. */ |
| const long ASC_ANY_BUT_CONTROL = 0x00000400; |
| |
| /** Additional flag set in <member>ParseResult::StartFlags</member> |
| or <member>ParseResult::ContFlags</member>. Set if none of the |
| above ASC_... (except ASC_ANY_...) single values match an ASCII |
| character parsed. */ |
| const long ASC_OTHER = 0x00000800; |
| |
| /// Unicode (above 127) upper case letter |
| const long UNI_UPALPHA = 0x00001000; |
| |
| /// Unicode (above 127) lower case letter |
| const long UNI_LOALPHA = 0x00002000; |
| |
| /// Unicode (above 127) decimal digit number |
| const long UNI_DIGIT = 0x00004000; |
| |
| /// Unicode (above 127) title case letter |
| const long UNI_TITLE_ALPHA = 0x00008000; |
| |
| /// Unicode (above 127) modifier letter |
| const long UNI_MODIFIER_LETTER = 0x00010000; |
| |
| /// Unicode (above 127) other letter |
| const long UNI_OTHER_LETTER = 0x00020000; |
| |
| /// Unicode (above 127) letter number |
| const long UNI_LETTER_NUMBER = 0x00040000; |
| |
| /// Unicode (above 127) other number |
| const long UNI_OTHER_NUMBER = 0x00080000; |
| |
| /** If this bit is set in <em>nContCharFlags</em> parameters and a |
| string enclosed in double quotes is parsed and two consecutive |
| double quotes are encountered, the string is ended. If this bit |
| is not set, the two double quotes are parsed as one escaped |
| double quote and string parsing continues. The bit is ignored in |
| <em>nStartCharFlags</em> parameters. |
| |
| <p> Example: <br/> |
| "abc""def" --> bit not set => abc"def <br/> |
| "abc""def" --> bit set => abc </p> |
| */ |
| const long TWO_DOUBLE_QUOTES_BREAK_STRING = 0x10000000; |
| |
| /** Additional flag set in <member>ParseResult::StartFlags</member> |
| or <member>ParseResult::ContFlags</member>. Set if none of the |
| above UNI_... single values match a Unicode character parsed. */ |
| const long UNI_OTHER = 0x20000000; |
| |
| /** Only valid for <em>nStartCharFlags</em> parameter to |
| <method>ChararacterClassification::parseAnyToken</method> and |
| <method>ChararacterClassification::parsePredefinedToken</method>, |
| ignored on <em>nContCharFlags</em> parameter. |
| <strong>Not</strong> set in <type>ParseResult</type>. */ |
| const long IGNORE_LEADING_WS = 0x40000000; |
| |
| |
| // useful combinations |
| |
| /// ASCII a-zA-Z lower or upper alpha |
| const long ASC_ALPHA = ASC_UPALPHA | ASC_LOALPHA; |
| |
| /// ASCII a-zA-Z0-9 alphanumeric |
| const long ASC_ALNUM = ASC_ALPHA | ASC_DIGIT; |
| |
| /// Unicode (above 127) lower or upper or title case alpha |
| const long UNI_ALPHA = UNI_UPALPHA | UNI_LOALPHA | UNI_TITLE_ALPHA; |
| |
| /// Unicode (above 127) alphanumeric |
| const long UNI_ALNUM = UNI_ALPHA | UNI_DIGIT; |
| |
| /// Unicode (above 127) alpha or letter |
| const long UNI_LETTER = UNI_ALPHA | UNI_MODIFIER_LETTER | |
| UNI_OTHER_LETTER; |
| |
| /// Unicode (above 127) number |
| const long UNI_NUMBER = UNI_DIGIT | UNI_LETTER_NUMBER | |
| UNI_OTHER_NUMBER; |
| |
| /// any (ASCII or Unicode) alpha |
| const long ANY_ALPHA = ASC_ALPHA | UNI_ALPHA; |
| |
| /// any (ASCII or Unicode) digit |
| const long ANY_DIGIT = ASC_DIGIT | UNI_DIGIT; |
| |
| /// any (ASCII or Unicode) alphanumeric |
| const long ANY_ALNUM = ASC_ALNUM | UNI_ALNUM; |
| |
| /// any (ASCII or Unicode) letter |
| const long ANY_LETTER = ASC_ALPHA | UNI_LETTER; |
| |
| /// any (ASCII or Unicode) number |
| const long ANY_NUMBER = ASC_DIGIT | UNI_NUMBER; |
| |
| /// any (ASCII or Unicode) letter or number |
| const long ANY_LETTER_OR_NUMBER = ANY_LETTER | ANY_NUMBER; |
| }; |
| |
| //============================================================================ |
| }; }; }; }; |
| |
| #endif |