Using XML and Regular Expressions in the Syntactic Analysis of Inflectional Language
Adobe Flash Professional CS5 使用手册说明书
Flash Professional CS5Adobe Flash Professional CS5 onDemand, Portable DocumentsTable of ContentsContentsIntroduction1 Getting Started with Flash CS5Preparing to Install FlashInstalling FlashStarting FlashViewing the Flash WindowCreating a Project PlanBuilding a Flash ProjectCreating a New DocumentCreating a New Document from a TemplateOpening an Existing DocumentChanging Document PropertiesWorking with Document WindowsSaving a DocumentSaving a Document in Different FormatsGetting Help While You WorkGetting Online Updates and SupportFinishing Up2 Working Within the Flash EnvironmentExamining the Flash WindowUsing the TimelineTable of ContentsWorking with LayersViewing LayersOrganizing LayersChanging Layer PropertiesUsing Guide LayersWorking with FramesWorking with ScenesUsing the Edit BarUsing the Main ToolbarResizing PanelsUsing the Tools PanelWorking with PanelsDocking and Undocking PanelsGrouping and Ungrouping PanelsCreating a WorkspaceCreating Keyboard ShortcutsSetting General PreferencesSetting Text PreferencesSetting Clipboard PreferencesSetting Warning PreferencesWorking with Page Setup in MacintoshWorking with Page Setup in WindowsPrinting a Document in MacintoshPrinting a Document in Windows3 Creating GraphicsWorking with Object DrawingDrawing with the Line ToolTable of ContentsDrawing with the Pencil ToolDrawing Shapes with the Rectangle and Oval Tools Using the Polystar ToolUnderstanding SelectionsSelecting Strokes with the Selection Tool Selecting Strokes and Fills with the Selection Tool Making Selections with the Lasso ToolZooming In and Out with the Magnifying Glass Moving Around with the Hand ToolDisplaying RulersUsing Grids and GuidesModifying Grid and Guide SettingsUsing Snap AlignChanging Stroke and Fill ColorsCreating Custom ColorsAdding Colors Using the Kuler PanelEditing Strokes with the Ink BottleEditing Fills with the Paint BucketEditing Strokes and Fills with the Eyedropper Creating GradientsUsing the Fill LockUsing Paint Brush ModesUsing the Spray Brush ToolUsing the Deco ToolDrawing with the Pen ToolDrawing Curves with the Pen ToolModifying Shapes with the Selection ToolTable of ContentsModifying Shapes with the Subselection ToolUsing the Free Transform ToolUsing Transform Options for ShapesTransforming Gradient FillsMoving and Rotating Objects in 3D SpaceChanging the Perspective Angle in 3D SpaceAdjusting the Vanishing Point in 3D SpaceCutting and Pasting Graphics Between LayersWorking with Graphics on Different LayersDistributing Graphics to LayersChanging Drawing Settings4 Working with Groups, Symbols, and InstancesCreating GroupsArranging Multiple GroupsOpening the Library PanelWorking with the Library PanelCreating SymbolsEditing in Symbol ModeCreating InstancesChanging Symbol and Instance TypeSwapping Symbol InstancesUsing Graphic SymbolsUsing Button SymbolsEnabling and Disabling ButtonsCreating Invisible ButtonsUsing Movie Clip SymbolsBreaking Symbols ApartTable of ContentsModifying Instance PropertiesModifying Instance Color Styles and BlendsUsing Advanced Color OptionsUsing 9-Slice Scaling on a Movie Clip SymbolSetting Highlight Color Preferences5 Working with TextCreating Classic Static TextCreating TLF TextLinking Text TogetherChanging Font Type, Style, Size, and ColorModifying Tracking and KerningChanging Text AlignmentCreating Text ColumnsChanging Text DirectionChanging Text OrientationChanging Advanced Text OptionsUsing Break Apart to Modify CharactersUsing Anti-Alias TextUsing Font MappingSetting Device Fonts Versus Embedded FontsCreating Dynamic Text and Input TextChecking SpellingUsing Find and ReplaceUsing Cascading Style Sheets with HTML6 Importing GraphicsUnderstanding Vector and Bitmap GraphicsExamining Import File FormatsTable of ContentsSetting Illustrator Import PreferencesSetting Photoshop Import PreferencesImporting Photoshop and Illustrator FilesImporting BitmapsImporting Fireworks PNG FilesImporting Multiple FilesCopying Images from Other ProgramsEditing Bitmaps in an Outside EditorSetting Bitmap CompressionUsing Break Apart to Create Fill PatternsModifying a Bitmap FillEditing a Bitmap with the Magic WandUsing Trace Bitmap to Create Vector Shapes7 Creating Frame-by-Frame AnimationUnderstanding Frame-by-Frame AnimationCreating KeyframesConverting Frames to KeyframesUsing Frame-Based Versus Span-Based Selection Clearing Keyframes Versus Removing FramesEditing KeyframesCreating a Simple Frame-by-Frame AnimationPlaying an AnimationUsing Onion SkinningModifying Onion Skin MarkersEditing Multiple Frames8 Animating with Motion TweeningUnderstanding Motion TweeningTable of ContentsApplying Motion Tween PresetsCreating a Motion TweenAdjusting Motion Tween PropertiesEditing Motion Tween Properties with the Motion Editor Adding Color Effects and FiltersWorking with Property KeyframesEditing the Path of a Motion TweenCopying Motion as ActionScript9 Animating with Classic TweeningWorking with Classic TweeningUnderstanding Frame and Instance PropertiesCreating a Classic TweenAdjusting Classic Tween PropertiesCopying and Pasting a TweenChanging the Length of a TweenChanging the Frame RateReversing FramesAdding and Removing Keyframes from a Classic Tween Scaling and Rotating a Classic TweenAdding Color Effects to a Classic TweenCreating a Classic Motion Guide LayerAnimating Along a Classic Motion GuideOrienting Objects to a Classic Motion PathEasing In and Out of a Classic Tween10 Animating with Shape TweeningUsing Shape TweeningCreating a Shape Tween FormTable of ContentsAdding and Removing Keyframes from a Shape Tween Changing Shape Positions with Shape TweeningChanging Shape Position and Form SimultaneouslyAdjusting Shape Tween PropertiesChanging Shape Tweening Color and Alpha OptionsUsing Shape HintsCreating Animation Using ActionScriptUsing Inverse KinematicsAdding Bones to an ArmatureEditing Armatures and BonesBinding Bones11 Creating MasksUnderstanding MasksCreating a Mask LayerDrawing a MaskActivating a MaskEditing a MaskRemoving a MaskAdding Layers to a MaskAnimating a Mask Layer12 Working with SoundsImporting AudioUsing Audio on the TimelineLoading a Sound from a Shared LibraryUsing Audio with ActionScriptLoading a Streaming MP3 FileSyncing Sounds to the TimelineAdding Effects and Looping SoundsPublishing Documents Containing AudioEditing SoundsEditing Sounds Using Soundbooth13 Working with VideoUsing the Video Import WizardWorking with Video on the StageWorking with Video on the TimelineUsing Movie Clips with Video FilesAdding Cue Points to a VideoUsing Video with ActionScriptControlling Video Through Movie ClipsUsing the FLV Playback ComponentWorking with the Video EncoderWorking with Alpha Channel MasksExporting as a QuickTime VideoExporting as a FLV File14 Using Basic ActionScriptsViewing the Actions PanelSetting ActionScript PreferencesUnderstanding Properties and MethodsApplying Properties and Methods to an Object Using Dot SyntaxUnderstanding Data TypesUsing FunctionsUsing Conditional StatementsAttaching a Mouse Event to a ButtonWorking with Frame EventsWorking with Clip EventsAttaching a Clip Event to a Movie ClipWorking with LoopsUsing For LoopsWorking with ActionScript Behaviors15 Working with ActionScript 3.0Using Object-Oriented ProgrammingEnabling Flash to Execute Solutions Faster with AVM 2.0 Using ActionScript 3.0Changing ActionScript 3.0 SettingsInserting Code with Code HintsInserting and Creating Code SnippetsDeveloping Solutions Built with the DOM3 Event Model Working with ClassesWorking with Objects and ClassesUsing Namespaces in your ProjectsControlling DataManipulating XML with E4XUsing Regular ExpressionsControlling TextDrawing with the Shape Class16 Developing iPhone ApplicationsBecoming an Apple Certified DeveloperRegistering an iPhone and Other Apple Testing Devices Creating App ID'sCreating a Developers Provisioning ProfilesCreating and Publishing an iPhone AppControlling the AccelerometerSaving Images to the Camera RollUnderstanding the Limits of FlashIdentifying Devices to Deploy an Ad Hoc App Creating an Ad Hoc Distribution ProfilePackaging an Ad Hoc AppPackaging an App for the iTunes App StoreUsing iTunes Connect to Publish an AppUsing Screen Orientation in an AppUsing Geolocation in an AppUsing Multitouch in an App17 Debugging a MovieDebugging ConceptsDebugging with the ActionScript EditorUsing the Movie ExplorerDebugging for ActionScript 3.0Resolving Compiler ErrorsDebugging for ActionScript 2.0Viewing VariablesAdding Variables to the Watch ListViewing PropertiesSetting BreakpointsStepping Through CodeDebugging Manually18 Adding and Modifying ComponentsUnderstanding Basic ComponentsUsing the Component InspectorAdding a Text InputAdding a Combo Text BoxAdding a Check BoxAdding a Radio ButtonAdding a Text AreaAdding a ButtonAdding a ListAdding a LabelAdding a Data GridUsing a Local Data ProviderAdding a LoaderAdding a Numeric StepperAdding a Progress BarAdding a Scroll PaneCreating BindingsModifying BindingsModifying SchemaModifying Component AttributesUsing Components to Build a Form 19 Automating Your WorkExamining the History PanelUsing the History PanelWorking with Object-Level Undo Mode Undoing and Redoing StepsReplaying StepsSaving Steps and Using CommandsCopying Steps Between Documents20 Publishing a MoviePublishing ConsiderationsModifying Publish SettingsSpecifying Flash OptionsSpecifying Adobe AIR OptionsInserting File InformationSpecifying HTML OptionsSpecifying GIF OptionsSpecifying PNG OptionsSpecifying JPEG OptionsCreating a Windows or Macintosh ProjectorCreating a Publishing ProfileEditing Profile PropertiesExporting and Importing a ProfileDuplicating a ProfilePreviewing a MovieTesting a MovieUsing the Bandwidth ProfilerExporting a Movie to Different FormatsPrinting from the Flash Player21 Working with Projects and Other ProgramsWorking with Adobe Flash BuilderExchanging Content with Adobe FXGCreating an Adobe AIR ApplicationCreating Content for a Mobile DeviceMapping MIDI Sounds on a Mobile DeviceCreating and Managing a ProjectManaging Project FilesTesting a ProjectSending a Document Using E-mail Exploring CS Live ServicesSharing My ScreenUse Adobe Extension Manager New FeaturesAdobe Certified ExpertIndex。
Regular Expression Injection
Regular Expression InjectionChristian WenzHauser Wenz Partnerschaftsgesellschaftchw at hauser dash wenz dot deLast update: October 24, 2005Abtract. In order to combat web application security issues, two main aspectsmust always be considered: Input must be validated, output must be escaped. Alack of input validation can lead to a dangerous injection attack, mostprominently known are SQL Injections or command injections, and morerecently XPath injections [1]. This paper presents a new way of attack calledRegEx Injections/Regular Expression Injections.1 IntroductionThe term …injection“ is quite common when it comes to web application security. Most prominent is …SQL Injection“, an approach where an attacker injects SQL code and lets the application execute it. Another well-known attack is command injection, where a web application starts a process and the attacker succeeds in injecting something in the call. Álvarez and Pettrvić describe a taxonomy for web attacks and also mention XPath injection where an attacker uses injection to modify an XPath query [1]. Klein took this approach one step further and showed that also blind, automated XPath injections are possible [2].Unfortunately, this is not the end of possible injections. Many web technologies provide a special modifier for regular expressen queries, e, that allows the execution of code. Whereas this alone is no bad idea and rather rarely in use, if applied wrongly this can introduce a very severe security vulnerability in the web application. Section 2 demonstrates how Regular Expression Injection/RegEx Injection works, section 3 shows counter measures and section 3 concludes this paper.2 Regular Expression InjectionRegular Expression Injection or RegEx Injection uses the substitution modifier e for regular expressions to inject code in a web application. Perl supports this modifier, and other technologies include a PCRE (Perl-compatible regular expressions) library like for instance PHP. If this is used, the substitution term is evaluated. This can be very powerful, since this does not only allow variable names to be used, but also any other commands the technology supports.2 Christian WenzAn example for Regular Expression Injection is given as follows. Consider a system where user credentials are saved in an XML file like this (a similar example was originally used in Klein´s paper on Blind XPath Injection [2]):XML file that stores user information<?xml version="1.0"?><userdata><user><username>administrator</username><password>Secret</password></user><user><username>John Doe</username><password>SecretAsWell</password></user></userdata>Also, consider the following PHP script to change the user password. For some reason, a regular expression is used for that task (file is read in, the old password is replaced by the new one, file is written back). Also, the e modifier is used to convert the username in lowercase—in the sample system, user names are case-insensitive so they are stored in lowercase only, saving one call to strtolower() or a related function when logging in. The following code demonstrates the codes used for that; mind that line breaks withing regular expressions are used for legibility only.PHP code to change a user´s password, vulnerable to RegEx Injection<?php// input: $username, $password, $newpassword// e.g.:// $username = (isset($_POST['username'])) ?// $_POST['username'] : '';// $password = (isset($_POST['password'])) ?// $_POST['password'] : '';// $newpassword = (isset($_POST['newpassword'])) ?// $_POST['newpassword'] : '';$users = file_get_contents('users.xml');$users = preg_replace("#(<username\s*>\s*$username\s*</username>\s*<password\s*>)$password</password>#e","'\\1'.strtolower('$newpassword').'</password>'", $users);file_put_contents('users.xml', $users);?>The modifier e was used to make sure that strtolower()is called, however user-supplied data (in this case, the variable $newpassword) is made part of the replacement term of the call to preg_replace(). Therefore, the code is vulnerable toRegular Expression Injection 3 Regular Expression Injection. Consider the following password being sent to the script in $_POST['newpassword']:'.system('reboot').'Then, the replacement term turns out as:"'\\1'.strtolower(''.system('reboot').'').'</password>'"So the call to the system()function was injected in the application. While this specific attack will have no effect on most systems since the user PHP is running under does not have the rights to call reboot, the implications of such a security vulnerability are obvious, since PHP functions and also system calls can be executed if not deactivated in the configuration.3 CountermeasuresThe preceding exploit only worked because the string parameter to strtolower() could contain single quotes, ending the string. Therefore, escaping all quotes using the backslash may be a viable solution—PHP offers addslashes()for automatically fulfilling this request. On the other hand, this generates an undesired output when the replacement string itself contains backslashes. Therefore, avoiding the e modifier for regular expressions is considered as the best and safest solution. PHP offers an alternative way to execute code when preg_replace() is called in forms of the function preg_replace_callback().4 ConclusionThis paper introduced a novel web application security attack called Regular Expression Injection or RegEx Injection. If code is vulnerable to it, the implications are similar to the ones of code injection. Although real-world applications quite rarely user the e modifier in Perl-compatible regular expressions, the attack is very dangerours and the author has found one instance of it (with no resemblance to the example presented in this paper) in a web application some time ago.Since this is a new idea, there are several options where research could continue. For instance, it may be interesting to evaluate more web technologies on their support for the e modifier. Also, the error messages when the attack does not work but make the script fail could be analyzed to fingerprint the application. Ultimately, it may be interesting to find out whether Bling RegEx Injection is possible.4 Christian WenzReferences1. Álvarez, G., Petrovi ć, S.: Encoding a Taxonomy of Web Attacks with Different-LengthVectors. /PS_cache/cs/pdf/0210/0210026.pdf2. Klein, A.: Blind XPath Injection. /papers/bypass/Blind_XPath_Injection_20040518.pdf。
A Preliminary Aircraft Design Process
> Aircraft Design Process > Martin Hepperle > 27 June 2012
A Preliminary Aircraft Design Process Developments at DLR
Martin Hepperle
Space
www.DLR.de • Chart 4
> Aircraft Design Process > Martin Hepperle > 27 June 2012
Conceptual & Preliminary Aircraft Design in DLR
We deal with a very wide range of scenarios, configurations, technologies and methods.
www.DLR.de • Chart 10 > Aircraft Design Process > Martin Hepperle > 27 June 2012
Data Exchange Format „CPACS“
Common Parametric Aircraft Configuration Scheme
Extensible Markup Language (XML)
tree-like structure central catalogues cross references via “UID”-attributes Extensible Stylesheet Language (XSL),
www.DLR.de • Chart 7
> Aircraft Design Process > Martin Hepperle > 27 June 2012
vfp函数大全(VFPfunctionDaquan)
vfp函数大全(VFP function Daquan)Visual foxpro数据库函数Adatabases () 将所有打开数据库的名称和路径放到内存变量数组中Adbobjects () 把当前数据库中的命名连接名、关系名、表名或sql 视图名放到一个内存变量数组中Afields () 把当前表的结构信息存放在一个数组中, 并且返回表的字段数返回当前表或指定工作区衰的别名 (alias)Asessions () 创建一个已存在的数据工作期id数组Ataginfo () 创建一个包含索引和键表达式的名字、数量和类型信息的数组Aused () 将一个数据工作期中的表别名和工作区存入内存变量数组确定当前记录指针是否在表头 BOF ()判断索引是否为候选索引 (candidate)根据指定的索引位置编号 (CDX), 返回打开的复合索引 (CDX) 文件名称Cpdbp () 返回一个打开表所使用的代码页Createoffline () 由已存在的视图创建一个游离视图Cursorgetprop () 返回visualfoxpro表或临时表的当前属性设置Cursorsetprop () 指定visualfoxpro表或临时表的属性设置Cursortoxml () 转换visualfoxpro临时表为xml文本从磁盘上的表或远程数据源中直接返回字段值 Curval ()返回当前数据库的名称和路径 (DBC)返回指定工作区中打开的表名 (DBF), 或根据表别名返回表名Dbsetprop () 给当前数据库或当前数据库中的字段、命名连接、表或视图设置一个属性返回一个表明当前记录是否标有删除标记的逻辑值 (deleted)是否用descending关键字创建了一个索引标识 (Descending)Dropoffline () 放弃对游离视图的所有修改, 并把游离视图放回到数据库中确定记录指针位置是否超出当前表或指定表中的最后一个记录 EOF ()Fcount () 返回衰中的字段数目根据编号返回表中的字段名 (FIELD)返回setfilter命令中指定的表筛选表达式 (Filter)Fldlist () 对于setmelds命令指定的字段列表, 返回其中的字段和计算结果字段表达式尝试锁定当前表或指定表 flock ()For 返回一个己打开的单项索引文件或索引标识的索引筛选表达式()如果continue、find、locate或seek命令执行成功 found (), 函数的返回值为 "真"(以字节为单位, 返回指定字段或文件的大小 fsize)Getfldstate () 返回一个数值, 标明表或临时表中的字段是否已被编辑, 或是否有追加的记录, 或者记录的删除状态是否已更改Getnextmodified () 返回一个记录号, 对应于缓冲表或临时表中下一个被修改的记录返回当前或指定表文件的表头所占的字节数 (header)(IDXCOLLATE) sequence returns the index or index mark(INDBC) if the specified database object in the current database, returns true (.T.)(INDEXSEEK) in search of a record first appeared in an indexed table(ISEXCLUSIVE) to determine whether a table or database is openin exclusive mode(ISFLOCKED) return to the locked table(ISREADONLY) to determine whether the table open in read-only mode(ISRLOCKED) locked return records(KEY) index keyword expression returns the index mark or index file(KEYMATCH) search a keyword index in the index or index file(LOOKUP) the search field value with the specified expression, the first record in the tableLUPDATE () returns a date table last updatedMDX (.CDX) according to the composite index file number specified index return open nameMEMLINES () returns the number of rows in the memo fieldMLINE () returns the specified row in the memo field in string formNDX () returns for the current table or an index table to open the specified file name (JDX)ORDER () returns the current table or the specified table masterindex file or logo(PRIMARY) check index, if the main index, it returns "true" (.T.)RECCOUNT () returns the specified number or record in the tableRECNO () returns the current table or specify the current record number in the tableRECSIZE () returns the size for the record in the table (width)(REFRESH) refresh the data in the SQL view can be updated inRELATION () returns the expression specified for a given open workspace in the table(SEEK) in an indexed table in the search for the first time the position of a record(SELECT) the maximum number returned number or use the current workspace workspace(SETFLDSTATE) for a table or a temporary table in the field or record the specified field state value or delete state value(SQLCANCEL) request to cancel an executing SQL statements(SQLCOLUMNS) to specify the data source table column name and information on each column is stored in a temporary table in VisualFoxPro(SQLCOMMIT) submitted a transaction(SQLCONNECT) to establish a connection to the data source(SQLDISCONNECT) to terminate the connection with the data source(SQLEXEC) will be sent to a SQL statement in the source data processing(SQLGETPROP) returns an active connection the current settings or default settings(SQLMORERESULTS) if there is more than one set of results, will be another set of results copied to a temporary table in VisualFoxPro(SQLPREPARE) in the use of SQLEXEC () to perform remote data before operation, you can use this function to make the remote data ready for the command to execute(SQLROLLBACK) cancel any changes made during the current transaction(SQLSETPROP) specify a set of active connections(SQLSTRINGCONNECT) connection using a connection string and a data source(SQLTABLES) the data source table name stored in the temporarytable in VisualFoxProSYS (14) index expressionSYS (21) control index numberSYS (22) to control the name or index nameSYS (2011) returns the current workspace or record locking table locking stateSYS (2012) returns the memo field block size tableSYS (2021) screening indexSYS (2029) and returns the value corresponding to the table typeSYS (3054) Rushmore - grade optimizationTAG (.CDX) name returns the number of composite index file open, or return to the open.IDX index file nameTAGCOUNT (return) composite index file (.CDX) logo and open index file (.IDX) numberTAGNO (return) composite index file (.CDX) identification and open index (.IDX) index file(TARGET) returns a table alias, the table is specified in the INTO clause SETRELATION command relationship goals(UNIQUE) is used to test whether the only way to establish the index(UPDATED) for testing in recent READ commands, whether the data has been modified(USED) to determine whether the specified workspace opens a tableXMLTOCURSOR (XML) convert text to VisualFoxPro cursor or table----------------------------------------------Visual FoxPro date and time functions(CTOD) the character expressions into expressions date.(CDOW) returns a value from a given week date or date time expression.(CMONTH) the name of the month returns a date or a date time expressions.(CTOD) the character expressions into expressions date.CTOT () returns a date time value from a character expression.(DATE) returned by the date of the current system operating system controls, or create a compatible with the 2000 date value.(DATETIME) to date and time value returns the current date and time, or create a 2000 compatible date time value.(DAY) to return to a given date or numeric expression date and time expressions are the first few days.(DMY) a character expression from a date or date and time expression returns a "day month year" format (for example, 31 May 1995). Not abbreviated month name.(DTOC) returned by the date or the date and time expression character date.DTOS (string) returns yyyymmdd date format from the specified date or date and time in the expression.(DTOT) the return date time value from the date.(GOMONTH) for a given date or date and time expressions expressions, before or after the date of the month returns the specified number.(HOUR) return date and time expressions part hours.MDY () returns the specified date or date and time expressions to "month day year" format, which is abbreviated month name.(MINUTE) some minutes to return to date and time in the expression of type.MONTH () returns the date or date and time expressions in thevalue.QUARTER () returns a date or date and time expressions in quarter value.(SEC) part second to return to date and time in the expression of type.(SECONDS) in seconds since midnight after the return time.SYS (1) returns the current system date to date number string.SYS (2) returned since the start of the midnight time, in seconds.SYS (10) (Julian) the date will be converted into a string.SYS (11) the date format date expressions or string converted to date (Julian).(TIME) for 24 hours, the 8 string (hours: Minutes: seconds) returns the current system date and time format.(TTOC) returns a character value from the date and time expressions.TTOD () returns a date value from the date and time.WEEK () returns a value representative of the year the first few weeks from the date or date and time expressions in expression.YEAR () returns the year from the date specified in the.Visual FoxPro character function(ALLTRIM). Delete the specified character expression spaces before and afterASC () returns the leftmost characters in a character expression value of ANSIAT (return) first appeared in another character expression or memo field of a character expression or memo field locationAT_C (return) first appeared in another character expression or memo field of a character expression or memo field locationATC (return) first appeared in another character expression or memo field of a character expression or memo field locationATCC (return) first appeared in another character expression or memo field of a character expression or memo field location(ADDBS) if necessary, add a backslash to a path expressionATCLINE () returns the line number first appeared in another character expression or memo field a character expression or memo field.ATLINE () returns the line number first appeared in another character expression or memo field a character expression ormemo field.(BETWEEN) to determine the value of an expression is in between the other two expressions of the same data type valueCHR (ANSI) according to the numerical code specified the corresponding character(CHRTRAN) will replace the first character in the expression and the second expression character matching character for the corresponding character in the third expression(CHRTRANC) will replace the first character in the expression and the second expression character matching character for the corresponding character in the third expression(CPCONVERT) the character, character expression or memo field conversion to other code page(CHRSAW) to determine whether a character appears in the keyboard buffer(CHRTRAN) in a character expression, to replace the second match the expression character for the corresponding character in the third expression(CHRTRANC) will replace the first character in the expression and the second expression character matching character for the corresponding character in the third expressionDIFFERENCE () returns an integer from 0 to 4, indicatingrelative phonetic difference between expressions of two characters(EMPTY) determines whether the expression is null(GErWORDCOUNr) count a few words in(GETWORDNUM) returns a specified word from a string(INLIST) to determine whether an expression and a set of expressions in a match. '(ISALPHA) to determine the leftmost character expression whether a character is a letter(ISBLANK) to determine whether the expression of null values(ISDIGIT) determine the character expression to the left of a character is digital (0 to 9)(ISLEADBYTE) if the first byte character expression of the first character is a byte, returns true (.T.)(ISLOWER) determine the character expression the leftmost character is lowercase letters(ISMOUSE) to determine whether the computer with mouse(ISNULL) to determine whether the NULL value calculation results(ISUPPER) to determine the first character character expression is uppercase (A ~ z)(LEFT), a character from the leftmost character expression returns a specified number of characters(LEPTC) from the beginning of a character expression of a character on the left returns a specified number of charactersLEN () returns the number of characters in a character expressionLENC () returns the number of characters in the expression to the word(LIKE) to determine whether a character expression is matched with another character expression(LIKEC) to determine whether a character expression is matched with another character expression(LOWER) returns a character expression specified in lowercase letters(LTRIM) a leading space delete character specified, and then return the resulting expression(OCCURS) the number of returns in another character in the expression of a character expression(OEMTOANSI) for a character in the string expression isconverted into the corresponding ANSI character set(PADL), PADR (), PADC () by an expression that returns a character, and from the left, right or from both sides with spaces or characters to fill to the specified length of the string(PROPER) returns a string from a character expression, each string in uppercase first letterRAT (return) first appeared in another character expression or memo field within a character expression or memo field position, from the rightmost character.(RATC) returns a character expression in another character expression or memo field last appeared in the line, from the last line.(RATLINE) line number back to a character expression or memo field in another character expression or memo field appears at the end of the last line, from the start counting.(REPUCATE) returns a string, the string is the specified character expression after repeated a specified number of times(RIGHT) from the beginning of the right string returns a specified number of charactersRIGHTC () returns the right from a specified number of characters in a string(RTRIM) delete a character expression following space after return result stringSOUNDEX (voice) returns a character expression specified representation(SPACE) returns a string consisting of the specified number of spacesSTR () returns the specified numeric expression corresponding to the character(STRCONV) the character expression into another formSTREXTRACT (two) returns a string delimiter between(STRTRAN) in the first character expression or memo field search, second character expressions or memo field, and third character expression - type or memo field replace each occurrence of the second character expressions or memo field(STUFF) returns a string,This string is obtained by the number specified by another character expression to replace the existing character expression of the characters(STUFFC) returns a string, the string is the number specified by another character expression to replace the existing character expression in character, the(SUBSTR) returns a string from a given character expression or memo field(SUBSTRC) returns a string from a given character expression or memo fieldSYS (15) to replace the characters in a stringSYS (20) German text conversion(TEXTMERGE) provide an evaluation on the expression.TRIM () returns the specified character expression after delete all suffix spaces(TXTWIDTH) according to the average width of the character font return character expression length(TYPE) calculation of character expression and returns its contents, data typeUPPER () returns uppercase character expression specified----------------------------------------------Visual FoxPro numerical functionABS (absolute value) returns the specified numeric expressionACOS () returns the arccosine specified numerical value of the expression(ASIN) anyway returns a numeric expression string value radianATAN () returns the arctangent numerical value curve(ATN2) the value of the specified value returned anyway, no limit quadrant return value(BINTOC) the integer represented by binary character.BITAND (two) returns the numeric values in the AND operation by the results(BITCLEAR) refers to a clear positioning numerical numeric (this bit set to 0), and returns the result value(BITLSHIFr) returns a numeric numerical result after moving to the left to the positionBrrNOT () returns a value of type NOT according to the numerical calculation resultsBITOR (two) returns the numeric OR operation according to the numerical results(BITRSHIFF) returns a numeric value to move right after positioning results(BITSET) will be a set value of a numeric 1 and returns the result(BITTEST) to determine the value of a numeric finger positioning is 1BITXOR (two) returns the numeric numerical XOR bitwise resultsCEILING () returns the smallest integer greater than or equal to the specified numeric expressionCOS () returns the numeric expression of Yu Xianzhi(CTOmN) will be converted to an integer type representation of binary characters(DTOR) radians(EVALUATE) to calculate the value of the expression character and returns the result(EVL) a non null value from the two expressions to returnEXP () returns the value of eAx, where x is a numeric expression of a given(FLOOR) on the numerical expression of the given value, returns the largest integer less than or equal to it.FV () returns the future value of a financial investment(INT) a numerical calculation of the value of the expression, and returns the integer part(LOG) the natural logarithm returns a numeric expression (base C)(LOGl0) the common logarithm returns a numeric expression (base 10).(MAX) on the expressions, and returns the expression with maximum value(MIN) to calculate a set of expressions, and returns with the minimum value of the expression(MOD) to remove another numeric expression with a numeric expression that returns the remainder(MTON) a numeric value returned by a currency.(NORMALIZE) to provide users with a character expression can be converted to VisualFoxPro and compared the format function return value(NTOM) returned by a numeric expression containing four decimal currency value(NVL) returns a non null value from two.(PAYMENT) the number of each payment return fixed interest loan repayPI (n) returns a numeric constant(PV) the present value of an investment return(RAND) returns a random number between 0 and 1.ROUND (return) rounded to the specified numeric expression of decimal digits(RTOD) the degree of curvature into(SIGN) when the specified numeric expression value is positive, negative or 0, respectively, 1 -1 or 0 returnSIN () returns a value of the sine angle.SQRT () returns the square root of the specified numeric expressionSYS (2007) returns a character expression check sum valueTAN () returns the value of the tangent angle(VAL) a character expression consists of digits return numeric values----------------------------------------------FTP://********************.net find the help9.chm file in the FTPThis is a function of vfp9.0 command manual contains all command function vfp.You can also join the QQ group VFP heaven:Nineteen million thirty-nine thousand one hundred andthirty-nineNineteen million six hundred and forty-four thousand six hundred and ninety-twoTwenty million one hundred and forty-nine thousand eight hundred and ninety-threeTwenty-one million seven hundred and nine thousand six hundred and twentyThe inside of the master can meet all your questions。
Stata软件使用指南说明书
18Learning more about StataWhere to go from hereYou now know plenty enough to use Stata.There is still much,much more to learn because Stata is a rich environment for doing statistical analysis and data management.What should you do to learn more?•Get an interesting dataset and play with Stata.e the menus and dialog system to experiment with commands.Notice what commandsshow up in the Results window.You willfind that Stata’s simple and consistent commandsyntax will make the commands easy to read so that you will know what you have doneand easy to remember so that typing some commands will be faster than using menus.b.Play with graphs and the Graph Editor.•If you venture into the Command window,you willfind that many things will go faster.You will alsofind that it is possible to make mistakes where you cannot understand why Stata is balking.a.Try help commandname or Help>Stata command...and entering the command name.b.Look at the command syntax and the examples in the helpfile,and compare themwith what you pare them closely:small typographical errors make commandsimpossible for Stata to parse.•Explore Stata by selecting Help>Search....You will uncover many statistical routines that could be of great use.•Look through the Combined subject table of contents in the Stata Index.•Read and work your way through the User’s Guide.It is designed to be read from cover to cover,and it contains most of the information you need to become an expert Stata user.It is well worth reading.If you are not this ambitious and instead prefer to sample the User’s Guide and the references,there is some advice later in this chapter for you.•Browse through the reference manuals to read about statistical methods you like to use,making use of the links to jump to other topics.The reference manuals are not meant to be read from cover to cover—they are meant to be referred to as you would an encyclopedia.You canfind the datasets used in the examples in the manuals by selecting File>Example datasets...and then clicking on Stata18manual datasets.Doing so will enable you to work through the examples quickly.•Stata has much information,including answers to frequently asked questions(FAQ s),at https:///support/faqs/.•There are many useful links to Stata resources at https:///links/.Be sure to look at these materials because many outstanding resources about Stata are listed here.•Join Statalist,a forum devoted to discussion of Stata and statistics.•Read The Stata Blog:Not Elsewhere Classified at https:// to read articles written by people at Stata about all things Stata.•Visit Stata on Facebook at https:///statacorp,join Stata on Instagram at https:///statacorp,find Stata on LinkedIn at https:///company/statacorp,and follow Stata on Twitter at https:///stata to keep up with Stata.•Subscribe to the Stata Journal,which contains reviewed papers,regular columns,book reviews, and other material of interest to researchers applying statistics in a variety of disciplines.Visit https://.12[GSM]18Learning more about Stata•Many supplementary books about Stata are available.Visit the Stata Bookstore athttps:///bookstore/.•Take a Stata NetCourse R .NetCourse101is an excellent choice for learning about Stata.See https:///netcourse/for course information and schedules.•Attend a classroom or a web-based training course taught by StataCorp.Visithttps:///training/classroom-and-web/for course information and schedules.•View a webinar led by Stata developers.Visit https:///training/webinar/for the current list of topics and schedule.•Watch Stata videos at https:///user/statacorp.Suggested reading from the User’s Guide and reference manuals The User’s Guide is designed to be read from cover to cover.The reference manuals are designed as references to be sampled when necessary.Ideally,after reading this Getting Started manual,you should read the User’s Guide from cover to cover,but you probably want to become at least somewhat proficient in Stata right away.Here isa suggested reading list of sections from the User’s Guide and the reference manuals to help you onyour way to becoming a Stata expert.This list covers fundamental features and points you to some less obvious features that you might otherwise overlook.Basic elements of Stata[U]11Language syntax[U]12Data[U]13Functions and expressionsData management[U]6Managing memory[U]22Entering and importing data[D]import—Overview of importing data into Stata[D]append—Append datasets[D]merge—Merge datasets[D]compress—Compress data in memory[D]frames intro—Introduction to framesGraphics[G]Stata Graphics Reference ManualReproducible research[U]16Do-files[U]17Ado-files[U]13.5Accessing coefficients and standard errors[U]13.6Accessing results from Stata commands[U]21Creating reports[RPT]Dynamic documents intro—Introduction to dynamic documents[RPT]putdocx intro—Introduction to generating Office Open XML(.docx)files[RPT]putexcel—Export results to an Excelfile[RPT]putpdf intro—Introduction to generating PDFfiles[R]log—Echo copy of session tofile[GSM]18Learning more about Stata3Useful features that you might overlook[U]29Using the Internet to keep up to date[U]19Immediate commands[U]24Working with strings[U]25Working with dates and times[U]26Working with categorical data and factor variables[U]27Overview of Stata estimation commands[U]20Estimation and postestimation commands[R]estimates—Save and manipulate estimation resultsBasic statistics[R]anova—Analysis of variance and covariance[R]ci—Confidence intervals for means,proportions,and variances[R]correlate—Correlations of variables[D]egen—Extensions to generate[R]regress—Linear regression[R]predict—Obtain predictions,residuals,etc.,after estimation[R]regress postestimation—Postestimation tools for regress[R]test—Test linear hypotheses after estimation[R]summarize—Summary statistics[R]table intro—Introduction to tables of frequencies,summaries,and command results [R]tabulate oneway—One-way table of frequencies[R]tabulate twoway—Two-way table of frequencies[R]ttest—t tests(mean-comparison tests)Matrices[U]14Matrix expressions[U]18.5Scalars and matrices[M]Mata Reference ManualProgramming[U]16Do-files[U]17Ado-files[U]18Programming Stata[R]ml—Maximum likelihood estimation[P]Stata Programming Reference Manual[M]Mata Reference ManualSystem values[R]set—Overview of system parameters[P]creturn—Return c-class values4[GSM]18Learning more about StataInternet resourcesThe Stata website(https://)is a good place to get more information about Stata.You willfind answers to FAQ s,ways to interact with other users,official Stata updates,and other useful information.You can also join Statalist,a forum devoted to discussion of Stata and statistics.You will alsofind information on Stata NetCourses R ,which are interactive courses offered over the Internet that vary in length from a few weeks to eight weeks.Stata also offers in-person and web-based training sessions,as well as webinars on Stata features.Visit https:///learn/ for more information.At the website is the Stata Bookstore,which contains books that we feel may be of interest to Stata users.Each book has a brief description written by a member of our technical staff explaining why we think this book may be of interest.We suggest that you take a quick look at the Stata website now.You can register your copy of Stata online and request a free subscription to the Stata News.Visit https:// for information on books,manuals,and journals published by Stata Press.The datasets used in examples in the Stata manuals are available from the Stata Press website.Also visit https:// to read about the Stata Journal,a quarterly publication containing articles about statistics,data analysis,teaching methods,and effective use of Stata’s language.Visit Stata’s official blog at https:// for news and advice related to the use of Stata.The articles appearing in the blog are individually signed and are written by the same people who develop,support,and sell Stata.The Stata Blog:Not Elsewhere Classified also has links to other blogs about Stata,written by Stata users around the world.Follow Stata on Facebook at https:///statacorp,Twitter at https:///stata, Instagram at https:///statacorp,and LinkedIn athttps:///company/statacorp.You may also follow Stata on Twitter athttps:///stata fr or https:///stata es.These are good ways to stay up-to-the-minute with the latest Stata information.Watch short example videos of using Stata on YouTube at https:///user/statacorp.See[GSM]19Updating and extending Stata—Internet functionality for details on accessing official Stata updates and free additions to Stata on the Stata website.[GSM]18Learning more about Stata5 Stata,Stata Press,and Mata are registered trademarks of StataCorp LLC.Stata andStata Press are registered trademarks with the World Intellectual Property Organization®of the United Nations.Other brand and product names are registered trademarks ortrademarks of their respective companies.Copyright c 1985–2023StataCorp LLC,College Station,TX,USA.All rights reserved.。
20个在线代码编辑器和开发工具
20个在线代码编辑器和开发工具1. BluePen EditorBluePen Editor is a PHP-powered CSS editor that can be installed to any static or dynamic website and makes live CSS editing possible. Once triggered (with a bookmarklet), it opens the editor widget and makes all HTML elements hoverable so that blupePen can locate the CSS rules of them (like Chrome Dev Tools).Source2. Dirty Markup Dirty Markup is a free web-based application for cleaning up such code very easily. It has support for HTML(5), CSS and JavaScript by combining the powers of the popular HTML Tidy, CSS Tidy and JS Beautify.The editor used is the simple + functional AceEditor and there are multiple options for each beautifier to get the bestresults.Source3. Rendra Online HTML5 Editor Rendera is an online HTML5 editor which renders a realtime preview of your current work also transform your current work into CSS, Rendera supports HAML and SASS. Rendera makes learning HTML5 and CSS3 easy and it is built with CoffeeScript and Sinatra.Source4. Maqetta Maqetta is an open source project that provides WYSIWYG visual authoring of HTML5 user interfaces. The Maqetta application itself is authored in HTML, and therefore runs in the browser without requiring additional plugins or downloads. Maqetta is available under a commercial-friendly open source license. You can download the source code and install it on your own server,customize the code to fit your needs and/or contribute improvements to the open source project.Source5. Amy Editor Amy Editor is a collaborative text and source code editor for developers. It support JavaScript, Ruby, PHP, C#, Java, HTML, YAML, etc… programming languages. It has Syntax Highlighting, Smart indentation for each language, Code folding, Unlimited undo/redo, Customizable key shortcuts, etc… You c an easily change the color themes of the editor easily.Source6. JS Bin JS Bin is a webapp specifically designed to help JavaScript and CSS folk test snippets of code, within some context, and debug the code collaboratively.JS Bin allows you to edit and test JavaScript and HTML.Once you’re happy you can save, and send the URL to a peer for review or help. They can then make further changes saving anew if required.Source7. CSSDesk CSSDesk is an Online CSS Sandbox. It allows people to quickly test snippets of CSS code, and watch the result appear live. I had very high ambitions for the project. There are line numbers and syntax highlighting appear live in the text box as you type. One of the greatest things is that it allows users to share their code with others as well.Source8. Editpad EditPad is simple and minimal. No syntax highlighting, no project management…Just a plain page to type your text without any distractions.Source9. RegExr RegExr is an online tool for editing and testing Regular Expressions (RegExp / RegEx). It provides a simple interface to enter RegEx expressions, and visualize matches in real-time editable source text. It also provides a handy RegExp snippet sidebar with descriptions and usage examples to make it easier to learn Regular Expressions through trial and error.Source10. Codeanywhere Codeanywhere is a code editor in a browser with an integrated ftp client, and all popular web formats are supported (HTML, PHP, JavaScript, CSS, and XML).Source11. 9ne 9ne (Pronounced Nine) is a nice online text editor, based on the well known GNU Emacs. 9ne provides most of the basic Emacs functionalities and currently supports XML and Javascript syntax highlighting modes.Source12. Drawter Drawter is a tool written in JavaScript and based on jQuery library. It provides you the possibility to literally draw your website’s code. It runs on every single web-browser which makes it really useful and helpful. Each tag is presented as a layer you have drawn.Source13. Shift Edit Shift Edit provides code completion, syntax highlighting, live editing, revision history and many more.Source14. Darkcopy DarkCopy is a simple, full-screen text editor for distraction free writing. DarkCopy is for anyone who enjoys the simplicity of a typewriter, and wants to increase productivity by focusing only on writing.Source15. jsFiddle jsFiddle is a shell editor that eases writing JavaScript code by creating a custom environment based on popular JS frameworks. You can select the framework & the version of your choice (MooTools, jQuery, Dojo, Prototype, YUI, Glow,Vanilla). Also, if there is, you can add a complimentary framework like jQuery UI or MooTools More A great feature is the ability to save & share the code created with a unique URL generated. Optionally, jsFiddle has an embedding feature too. It is an almost perfect platform for trying & sharing your JavaScript code without the need of a website.Source16. Cloud9IdE Cloud9 IDE is an open source application that aims to provide a powerful and focused IDE for JavaScript developers. It is powered by the platform + makes use of HTML5, node.js, socket.io and many other projects. The application has a pretty fast text editor with bundled syntax highlighting support for JS, HTML, CSS and mixed modes. Cloud9 IDE has integrated debuggers for node.js and Google Chrome which can be started, paused and stopped from the IDE.Source17. Dabblet Dabblet is an interactive playground for quickly testing snippets of CSS and HTML code. It uses-prefix-free, so that you won’t have to add any prefixes in your CSS code. You can save your work in Github gists, embed it in other websites and share it with others.Source18. JS Hint JSHint is a community-driven tool to detect errors and potential problems in JavaScript code and to enforce your team’s coding conventions. It is very flexible so you can easily adjust it to your particular coding guidelines and the environment you expect your code to execute in. The goal is to help JavaScript developers write complex programs without worrying about typos and language gotchas.Source19. jsdo.it jsdo.it is a coding community for front-end engineers such as web designers, mark-up engineers, and JavaScript engineers. This is an online editor where you can try running your codes as you write. You can save your codes online as well as show them to the public as your work. Don’t worry even if you are not confident in your skill! Arrange shared codes and learn cutting-edge techniques.Source20. Gist BoxFinally I am adding Gist Box which lets you easily organize code snippets. Your library is saved to the cloud for backup. Never worry about snippets getting lost in the shuffle. GistBox was built on standard HTML5 technologies. On the go or at the office, you’ll always have GistBox.。
ASP.NET外文翻译
TechniqueAnd not only being Active Server Page (ASP) next edition, be that a kind of builds the procedure truss on General Purpose Language , can be used to build Web application big and powerful coming one Web server. provides a lot of bigger and powerful than Web now exploitation pattern advantage.Carry out wide efficiency rise is that General Purpose Language-based procedure is run on the server. Carry out compiling , carry out effect , certainly compete with each other in a bar like this when working first unlike that before ASP explaining procedure immediately, but being that procedure is held in the server make an explanation strong many.The world-level implement holds outThe truss is to be able to use up to the minute product of Microsoft (R) company Visual exploitation environment to carry out exploitation , WYSIWYG (what What Y ou See Is What Y ou Get is gains) editor. These are only strong-rization one fraction of software support.Big and powerful and adaptabilityIts big and powerful and adaptability compiling and translating working procedure , reason why because of is General Purpose Language-based, on being able to make it run 2000 Server applying the upper (author of nearly all platform of software developer to Web knowing it can only use in Windows up to now only). General Purpose Language fundamental warehouse , information mechanism, data interface treatment all can have no integrating sewing applying middle to the Web. is also that language-independent language melts on one's own at the same time, reason why, you can choose one kind of the procedure being fit to compile and compose you coming your language most , your procedure is written or coming using very various language, (the association having C # C + + and Java) , VB , Jscript already holding out now. Such various program language associate ability protects your COM + exploitation-based procedure now in the future, the transplanting being able to entirely faces .Simplicity and easy to learn is that dignity verifies , the distribution system and website allocation become very simple run a few very common missions submit customer whole course of if the form is single. That the for example page of face truss allows you to foundyour own consumer interface, makes the person be unlike the common VB-Like interface. Besides, that General Purpose Language facilitates exploitation makes to become simple accommodating oneself to of software combining with a code like assembling a computer.High-effect but administrationThat uses one kind of character basis's , classification's deploys system , makes your server environment and the application interposition especially simple. Because of allocation information all preserves in simple version , new interposition has an implement to may all do not need to start local administrative person can come true. That this is called "Zero Local Administration philosophy concept makes because of applicative exploitation more concrete, and rapid. A application requires that simple copy few must get a document , not requiring that systematic again starting , everything are that such is simple in systematic installation of one server.Many processor environments reliabilityThe quilt already designs painstakingly becoming one kind of the exploitation implement being able to be used for many processor , it uses peculiar seamless the speed linking a technology , very big rise being run to sew under many processor environments. Even if that your now applies a software is to be that one processor is development many processor do not require that any changes the efficacy being able to improve them when working, but ASP now cannot achieve indeed in the future this one point.Certainly definition, and augmentabilityWhen is designed have considered the module let website develop a personnel to be able to be hit by self definition plug-in in self code. This is different from original inclusion relation , can add self definition's how module. Website procedure exploitation has been all along not so simple.SecurityOwing to that the Windows attestation technology and every application deplo ying , you can be true your plain procedure is now and then absolutely safe.The grammar to a great extent with ASP compatible, it provides one kind of new programming model and structure at the same time , may generate flexibility and much better application of stability , provide the much better safeguard and. Add the function gradually in being able to pass in now available ASP application, function strengthening ASP application at any time. is that one already has compiled and translated, because of. The NET environment, runs General Purpose Language-based procedure on the server. Carry out compiling when procedure is held in the server working first, than ASP makes it snappy immediately on INTERP speed many. And be to be able to use any and. Compatible language of NET (includes Visual Basic. NET , C # and Jscript. NET.) Create application. Besides, any application all can be put into use entire. NET Framework. The personnel who develops can gain these technology merit conveniently , include the trusteeship common language running warehouse environment , type safety , inheriting and so on among them. can edit an implement seamlessly with WYSIWYG HTML and weave the Cheng implement other (including Microsoft Visual Studio. NET) works together. Page of GUI and completely integrated debugging this not only feasible Web is developed to go to the lavatory especially, and can provide all merit that these implements provide be obliged to , include Web developing a personnel to be able to be used server control drag and drop to be arrived at hold out.While establishing application, the personnel who develops can use the Web window body or XML Web services , carry out combination or with any way that they regard as rightly. That every function all can get the same architectural support, makes you be able to use dignity to verify a scheme , the data that slow exist often uses, carries out self definition on the application allocation or.2. Building Pages and the .NET Framework is part of Microsoft's overall .NET framework, which contains a vast set of programming classes designed to satisfy any conceivable programming need. In the following two sections, you learn how fits within the .NET framework, and you learn about the languages you can use in your pages.The .NET Framework Class LibraryImagine that you are Microsoft. Imagine that you have to support multiple programming languages—such as Visual Basic, JScript, and C++. A great deal of the functionality of these programming languages overlaps. For example, for each language, you would have to include methods for accessing the file system, working with databases, and manipulating strings.Furthermore, these languages contain similar programming constructs. Every language, for example, can represent loops and conditionals. Even though the syntax of a conditional written in Visual Basic differs from the syntax of a conditional written in C++, the programming function is the same.Finally, most programming languages have similar variable data types. In most languages, you have some means of representing strings and integers, for example. The maximum and minimum size of an integer might depend on the language, but the basic data type is the same.Maintaining all this functionality for multiple languages requires a lot of work. Why keep reinventing the wheel? Wouldn't it be easier to create all this functionality once and use it for every language?The .NET Framework Class Library does exactly that. It consists of a vast set of classes designed to satisfy any conceivable programming need. For example,the .NET framework contains classes for handling database access, working with the file system, manipulating text, and generating graphics. In addition, it contains more specialized classes for performing tasks such as working with regular expressions and handling network protocols.The .NET framework, furthermore, contains classes that represent all the basic variable data types such as strings, integers, bytes, characters, and arrays.Most importantly, for purposes of this book, the .NET Framework Class Library contains classes for building pages. You need to understand, however, that you can access any of the .NET framework classes when you are building your pages.Understanding NamespacesAs you might guess, the .NET framework is huge. It contains thousands of classes (over 3,400). Fortunately, the classes are not simply jumbled together. The classes of the .NET framework are organized into a hierarchy of namespaces.ASP Classic NoteIn previous versions of Active Server Pages, you had access to only five standard classes (the Response, Request, Session, Application, and Server objects). , in contrast, provides you with access to over 3,400 classes!A namespace is a logical grouping of classes. For example, all the classes that relate to working with the file system are gathered together into the System.IO namespace. The namespaces are organized into a hierarchy (a logical tree). At the root of the tree is the System namespace. This namespace contains all the classes for the base data types, such as strings and arrays. It also contains classes for working with random numbers and dates and times.You can uniquely identify any class in the .NET framework by using the full namespace of the class. For example, to uniquely refer to the class that represents a file system file (the File class), you would use the following:System.IO.FileSystem.IO refers to the namespace, and File refers to the particular class.NOTEYou can view all the namespaces of the standard classes in the .NET Framework Class Library by viewing the Reference Documentation for the .NET Framework. Standard NamespacesThe classes contained in a select number of namespaces are available in your pages by default. (You must explicitly import other namespaces.) These default namespaces contain classes that you use most often in your applications:System— Contains all the base data types and other useful classes such as those related to generating random numbers and working with dates and times.System.Collections— Contains classes for working with standard collection types such as hash tables, and array lists.System.Collections.Specialized— Contains classes that represent specializedcollections such as linked lists and string collections.System.Configuration— Contains classes for working with configuration files (Web.config files).System.Text— Contains classes for encoding, decoding, and manipulating the contents of strings.System.Text.RegularExpressions— Contains classes for performing regularexpression match and replace operations.System.Web— Contains the basic classes for working with the World Wide Web, including classes for representing browser requests and server responses.System.Web.Caching— Contains classes used for caching the content of pages and classes for performing custom caching operations.System.Web.Security— Contains classes for implementing authentication and authorization such as Forms and Passport authentication.System.Web.SessionState— Contains classes for implementing session state.System.Web.UI— Contains the basic classes used in building the user interface of pages.System.Web.UI.HTMLControls— Contains the classes for the HTML controls.System.Web.UI.WebControls— Contains the classes for the Web controls..NET Framework-Compatible LanguagesFor purposes of this book, you will write the application logic for your pages using Visual Basic as your programming language. It is the default language for pages. Although you stick to Visual Basic in this book, you also need to understand that you can create pages by using any language that supports the .NET Common Language Runtime. Out of the box, this includes C#, , and the Managed Extensions to C++.NOTEThe CD included with this book contains C# versions of all the code samples.Dozens of other languages created by companies other than Microsoft have been developed to work with the .NET framework. Some examples of these other languages include Python, SmallTalk, Eiffel, and COBOL. This means that you could, if you really wanted to, write pages using COBOL.Regardless of the language that you use to develop your pages, you need to understand that pages are compiled before they are executed. This means that pages can execute very quickly.The first time you request an page, the page is compiled into a .NET class, and the resulting class file is saved beneath a special directory on your server named Temporary Files. For each and every page, a corresponding class file appears in the Temporary Files directory. Whenever you request the same page in the future, the corresponding class file is executed.When an page is compiled, it is not compiled directly into machine code. Instead, it is compiled into an intermediate-level language called Microsoft Intermediate Language (MSIL). All .NET-compatible languages are compiled into this intermediate language.An page isn't compiled into native machine code until it is actually requested by a browser. At that point, the class file contained in the Temporary Files directory is compiled with the .NET framework Just in Time (JIT) compiler and executed.The magical aspect of this whole process is that it happens automatically in the background. All you have to do is create a text file with the source code for your page, and the .NET framework handles all the hard work of converting it into compiled code for you.ASP CLASSIC NOTEWhat about VBScript? Before , VBScript was the most popular language for developing Active Server Pages. does not support VBScript, and this is good news. Visual Basic is a superset of VBScript, which means that Visual Basic has all the functionality of VBScript and more. So, you have a richer set of functions and statements with Visual Basic.Furthermore, unlike VBScript, Visual Basic is a compiled language. This means that if you use Visual Basic to rewrite the same code that you wrote with VBScript, you can get better performance.If you have worked only with VBScript and not Visual Basic in the past, don't worry. Since VBScript is so closely related to Visual Basic, you'll find it easy to make the transition between the two languages.NOTEMicrosoft includes an interesting tool named the IL Disassembler (ILDASM) with the .NET framework. You can use this tool to view the disassembled code for any of the classes in the Temporary Files directory. It lists all the methods and properties of the class and enables you to view the intermediate-level code.This tool also works with all the controls discussed in this chapter. For example, you can use the IL Disassembler to view the intermediate-level code for the TextBox control (located in a file named System.Web.dll).Introducing Controls controls provide the dynamic and interactive portions of the user interface for your Web application. The controls render the content that the users of your Web site actually see and interact with. For example, you can use controls to create HTML form elements, interactive calendars, and rotating banner advertisements. controls coexist peacefully with HTML content. Typically, you create the static areas of your Web pages with normal HTML content and create the dynamic or interactive portions with controls.The best way to understand how controls work in an HTML page is to look at a simple Web Forms Page.Adding Application Logic to an PageThe second building block of an page is the application logic, which is the actual programming code in the page. You add application logic to a page to handle both control and page events.If a user clicks a Button control within an HTML form, for example, the Button control raises an event (the Click event). Typically, you want to add code to the page that does something in response to this event. For example, when someone clicks the Button control, you might want to save the form data to a file or database.Controls are not the only things that can raise events. An page itself raises several events every time it is requested. For example, whenever you request a page, the page's Load event is triggered. You can add application logic to the page that executes whenever the Load event occurs.3. Building Forms with Web Server ControlsBuilding Smart FormsYou use several of the basic Web controls to represent standard HTML form elements such as radio buttons, text boxes, and list boxes. You can use these controls in your pages to create the user interface for your Web application. The following sections provide detailed overviews and programming samples for each of these Web controls.Controlling Page NavigationIn the following sections, you learn how to control how a user moves from one page to another. First, you learn how to submit an HTML form to another page and retrieve form information. Next, you learn how to use the Redirect() method to automatically transfer a user to a new page. Finally, you learn how to link pages together with the HyperLink control.Applying Formatting to ControlsIn the following sections, you learn how to make more attractive Web forms. First, you look at an overview of the formatting properties common to all Web controls; they are the formatting properties of the base control class. Next, you learn how to apply Cascading Style Sheet styles and classes to Web controls.4. Performing Form Validation with Validation Controls Using Client-side ValidationTraditionally, Web developers have faced a tough choice when adding form validation logic to their pages. You can add form validation routines to yourserver-side code, or you can add the validation routines to your client-side code.The advantage of writing validation logic in client-side code is that you can provide instant feedback to your users. For example, if a user neglects to enter a value in a required form field, you can instantly display an error message without requiring a roundtrip back to the server.People really like client-side validation. It looks great and creates a better overall user experience. The problem, however, is that it does not work with all browsers. Not all browsers support JavaScript, and different versions of browsers support different versions of JavaScript, so client-side validation is never guaranteed to work.For this reason, in the past, many developers decided to add all their form validation logic exclusively to server-side code. Because server-side code functions correctly with any browser, this course of action was safer.Fortunately, the Validation controls discussed in this chapter do not force you to make this difficult choice. The Validation controls automatically generate both client-side and server-side code. If a browser is capable of supporting JavaScript, client-side validation scripts are automatically sent to the browser. If a browser is incapable of supporting JavaScript, the validation routines are automatically implemented in server-side code.You should be warned, however, that client-side validation works only with Microsoft Internet Explorer version 4.0 and higher. In particular, the client-side scripts discussed in this chapter do not work with any version of Netscape Navigator.Requiring Fields: The RequiredFieldValidator ControlYou use RequiredFieldValidator in a Web form to check whether a control has a value. Typically, you use this control with a TextBox control. However, nothing is wrong with using RequiredFieldValidator with other input controls such as RadioButtonList.Validating Expressions: The RegularExpressionValidator ControlYou can use RegularExpressionValidator to match the value entered into a form field to a regular expression. You can use this control to check whether a user has entered,for example, a valid e-mail address, telephone number, or username or password. Samples of how to use a regular expression to perform all these validation tasks are provided in the following sections.Comparing Values: The CompareValidator ControlThe CompareValidator control performs comparisons between the data entered into a form field and another value. The other value can be a fixed value, such as a particular number, or a value entered into another control.Summarizing Errors: The ValidationSummary ControlImagine that you have a form with 50 form fields. If you use only the Validation controls discussed in the previous sections of this chapter to display errors, seeing an error message on the page might be difficult. For example, you might have to scroll down to the 48th form field to find the error message.Fortunately, Microsoft includes a ValidationSummary control with the Validation controls. You can use this control to summarize all the errors at the top of a page, or wherever else you want.5. Advanced Control ProgrammingWorking with View StateBy default, almost all controls retain the values of their properties between form posts. For example, if you assign text to a Label control and submit the form, when the page is rendered again, the contents of the Label control are preserved.The magic of view state is that it does not depend on any special server or browser properties. In particular, it does not depend on cookies, session variables, or application variables. View state is implemented with a hidden form field called VIEWSTATE that is automatically created in every Web Forms Page.When used wisely, view state can have a dramatic and positive effect on the performance of your Web site. For example, if you display database data in a control that has view state enabled, you do not have to return to the database each time the page is posted back to the server. You can automatically preserve the data within the page's view state between form posts.Displaying and Hiding ContentImagine that you are creating a form with an optional section. For example, imagine that you are creating an online tax form, and you want to display or hide a section that contains questions that apply only to married tax filers.Or, imagine that you want to add an additional help button to the tax form. You might want to hide or display detailed instructions for completing form questions depending on a user's preferences.Finally, imagine that you want to break the tax form into multiple pages so that a person views only one part of the tax form at a time.In the following sections, you learn about the properties that you can use to hide and display controls in a form. You learn how to use the Visible and Enabled properties with individual controls and groups of controls to hide and display page content.Using the Visible and Enabled PropertiesEvery control, including both HTML and Web controls, has a Visible property that determines whether the control is rendered. When a control's Visible property has the value False, the control is not displayed on the page; the control is not processed for either pre-rendering or rendering.Web controls (but not every HTML control) have an additional property named Enabled. When Enabled has the value False and you are using Internet Explorer version 4.0 or higher, the control appears ghosted and no longer functions. When used with other browsers, such as Netscape Navigator, the control might not appear ghosted, but it does not function.Disabling View StateIn certain circumstances, you might want to disable view state for an individual control or for an page as a whole. For example, you might have a control that contains a lot of data (imagine a RadioButtonList control with 1,000 options). You might not want to load the data into the hidden __VIEWSTATE form field if you are worried that the form data would significantly slow down the rendering of the page.Using Rich ControlsIn the following sections, you learn how to use three of the more feature-rich controls in the framework. You learn how to use the Calendar control to display interactive calendars, the AdRotator control to display rotating banner advertisements, and the HTMLInputFile control to accept file uploads. 技术简介不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用序。
计算机专业英语试题及答案(B)
一、Give out the full names for the following abbreviations(写出下列缩写词的全称)(15%)WAN__________________________________________________HTTP__________________________________________________NT____________________________________________________CEO__________________________________________________DBMS________________________________________________ISP___________________________________________________XML__________________________________________________BIOS_________________________________________________IT____________________________________________________WWW_______________________________________________二、Match the following words and expressions in the leftcolumn with those similar in meaning in the right)(10%)1. output devices a. 操作系统2. silicon b. 扩展存储器3. expanded memory c. 硅4. database administrator d. 输出设备5. operating system e. 汇编语言6. assembly language f. 数据库管理员7. gateway g. 数字图像处理8. laser technology h. 网关9. digital image processing i. 制造过程10.manufacturing process j. 激光技术1. ( ) 6. ( )2. ( ) 7. ( )3. ( ) 8. ( )4. ( ) 9. ( )5. ( ) 10.( )1. 高速打印机()2. 随机存取存储器( )3. 软件可靠性( )4. 面向服务的( )5. 光盘驱动器( )四、For each of the following blanks, four choices are given. Choosethe most appropriate one (从下面给出的四个选项中选择最恰当的答案)(30 %)1. Most system boards have two kinds of power connectors: _________ .A. AT and ISA stylesB. ATX and ISA stylesC. AT and EISA stylesD. AT and ATX styles2. A processor is composed of two functional units, they are _________.A. an arithmetic/logic unit and a storage unitB. a control unit and some registersC. a control unit and an arithmetic/logic unitD. some registers an arithmetic/logic unit3. _________ is a storage location inside the processor.A. A registerB. ALUC. ControlD. Memory4. A periodic refresh is needed to restore the information for the _________ .A. SRAMB. DRAMC. EPROMD. EEPROM5. The raw data are stored on the disk using the _________ .A. data dictionaryB. file systemC. DBMSD. DBA6. The _______ serves as an interface between hardware and software.A. systemB. application programC. operating systemD. control unit7. Most operating system have a standard set of _________ to handle the processing of all input and output instructions.A. spreadsheetB. control instructionsC. I/O operationD. data table8. _________ uses commands that are easier for programmers to understand than are machine language commands.A. Assembly languageB. High-level languageC. C languageD. C++ language9. When a _________ is used, all the devices in the network are connected to a single cable.A. bus networkB. ring networkC. star networkD. network10. Two common applications of LANs are _________ resource sharing and information resource sharing.A. softwareB. computerC. networkD. hardware11. With Internet Explorer and an Internet connection, you can search for and view information on the _________ .A. Active DesktopB. ProgramsC. Phone DialerD. World Wide Web12. Videodisc and laser technology provide the ability to_________A. cost moreB. create some education filesC. enhance other forms of educationD. store large amounts of data13. _________ refers to the process of a two dimensional picture by a digital computer .A. Pattern recognitionB. Image compressionC. Digital image processingD. Image data file format14. “Multimedia” means that _________ .A. it can play music.B. it can show a graph.C. it can rotate a three-dimensional model.D. it can do all above at the same time.15. Many companies use _________ to train their employees.A. technologyB. entertainmentC. multimedia applicationsD. animation五. To identify the following to be True or False accordingto computer knowledge( 根据计算机知识判别是非题)(10%)1. A register is a storage location inside the processor. ( )2. A system board is a heart of a computer. ( )3. The Memory addresses are expressed as binary numbers. ( )4. Metadata means data about data. ( )5. Without an operating system, we could not execute a user program. ( )6. A high-level language can be designed to only process scientific calculation.( )7. For information about using Internet Explorer, click the Help menu in Internet Explorer. ( )8. The development of videodisc is useful for distance education. ( )9. There are three general types of compression. ( )10. Multimedia is not only a product, but also a technology. ( )六.Reading comprehension(阅读理解)(25%)(一) Fill in the blanks with suitable words or expressions from the list given below, and change the form where necessary (从下面所列词语中选择合适的词语, 以其适当的形式填空)(10%)high-level language assembly language writtenmachine language notationA programming language, designed to facilitate the communication between human and computers, is a __________________ for describing computation in readable form. There are 3 levels of programming languages, they are __________________, which can be run directly by computer; __________________and______________. There are different high-level programming languages. Fortunately, most of them have many kinds of construct in common and vary only in the way that these must be__________________ . Therefore, first thing to be decided about a task is to choose which programming language is best suited for the job.Passage AThe central processing unit(CUP) is the heart of the computer systems. Among other things, its configuration determines whether a computer is fast or slow in relation to other computers. The CPU is the most complex computer system component, responsible for directing most of the computer system activities based on the instructions provided. As one computer generation has evolved to the next, the physical size of the CPU has often become smaller and smaller, which its speedand capacity have increased tremendously. Indeed, these changes have resulted inmicro-Computers that are small enough to fit on your desk and your lap.The CPU comprise the control unit and the arithmetic/logic unit (ALU).The control unit is responsible for directing and coordinating most of the computer systems activities. It determines the movement of electronic signals between main memory and the arithmetic/logic unit, as well as the control signals between the CPU and input/output devices.The ALU performs all the arithmetic and logical(comparison) functions—that is, it adds, subtracts, multiplies, divides, and does comparison. These comparisons, which are basically “less than”, “greater than”, and “equal to”, can be combined into several common expressions , such as “greater than or equal to”. The objective of most instructions that use comparisons is to determine which instruction should be executed next.(二) Tell whether the following statements are true(T) or false(F) according to the passage A(根据上文的内容判断下列句子的正误)1. With the development of computer, the physical size of the CPU has often become bigger and bigger. ( )2. The movement of electronic signals between main memory and the ALU as well as the control signal between the CPU and input/output devices are controlled by the control unit of the CPU. ( )3. The CPU comprises the control unit and memory. ( )4. The control unit performs all the arithmetic and logical functions. ( )5. The central processing unit (CPU) is the heart of the computer systems. ( )要求:明确标注每小题或每步骤得分点一. Give out the full names for the following abbreviations(写出下列缩写词的全称)(15%)( 本题共15分, 每小题1.5分)WAN: Wide Area NetworkHTTP: Hypertext Transport ProtocolNT: Net TechnologyCEO: Chief Executive OfficerDBMS: Database Management SystemsISP: Internet Service ProviderXML: eXtensible Markup languageBIOS: Basic Input/Output UnitIT: Information TechnologyWWW: World Wide Web二. Match the following words and expressions in the left column with thosesimilar in meaning in the right column(将左列的词汇与右列相应的汉语匹配)(10%)( 本题共10分, 每小题1分)1. ( d ) 6. ( e )2. ( c ) 7. ( h )3. ( b ) 8. ( j )4. ( f ) 9. ( g )5. ( a ) 10.( i )三. Translate the following phrases into English(将下列短语翻译成英语)(10%)( 本题共10分, 每小题2分)1. high-speed printer2. Random Access Memory3. software reliability4. service-oriented5. optical disk driver四. For each of the following blanks, four choices are given. Choose the most appropriate one (从下面给出的四个选项中选择最恰当的答案)(30 %)( 本题共30分, 每小题2分)1. D2. C3. A4. B5. B6. C7. B8. A9. A 10. D 11. D 12. D13. C 14. D 15. C五.To identify the following to be True or False according to computer knowledge( 根据计算机知识判别是非题)(10%)( 本题共10分, 每小题1分)1. ( T )2. ( F)3. ( T )4. ( T )5. ( T )6. ( F )7. ( T )8. ( T )9. ( F )10. ( F )六.Reading comprehension(阅读理解)(25%)(一) Fill in the blanks with suitable words or expressions from the list given below, and change the form where necessary (从下面所列词语中选择合适的词语, 以其适当的形式填空)(10%)( 本题共10分, 每空2分)notation machine language assembly language high-level language written (3空和4空答案可互换)(二) Tell whether the following statements are true(T) or false(F) according to the passage A(根据上文的内容判断下列句子的正误) (15%)( 本题共15分, 每小题3分)1. ( F )2. ( T )3. ( F )4. ( F )5. ( T )。
《电子商务英语教程》-Unit3
3.3.2 Translation practice
3)他之所以取得成功是他努力的结果。(achieve success) He achieved success because he was a hard worker. 4) 我 们 可 以 利 用 互 联 网 采 集 各 种 各 样 的 商 品 信 息 。 (leverage) We can leverage the Internet to collect various product information.
privacy?
@ Activities On Passage A
3.3.2 Translation practice
3.3.2.1 Give the Chinese equivalents of the following words or expressions:
1) SSL encryption 2) server-centric SSL加密 (技术) 以服务器为中心的 订单咨询 维修费用 店面管理系统 认证 提高效率
电子商务应用适应范围应较广,以满足在当今的网络环 境下处理多变及不可预料的工作需求。
5) Electronic commerce could lead to improvements in both developed nations and developing nations. 发达国家与发展中国家都能从电子商务中受益。 @ Activities On Passage A
5)你把这根电线和电视机连上好吗?(connect)
Will you connect this wire to the television? End @ Activities On Passage A
IBM Cognos Express 10.2.1 用户指南说明书
IBM Cognos Express Framework Manager Version10.2.1User GuideNoteBefore using this information and the product it supports,read the information in“Notices”on page547.Product InformationThis document applies to IBM Cognos Express Version10.2.1and may also apply to subsequent releases. Licensed Materials-Property of IBM©Copyright IBM Corporation2005,2013.US Government Users Restricted Rights–Use,duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.Contents Introduction (xxiii)Chapter1.What's new? (1)New features in10.2.1 (1)New features in10.2 (1)Changed features in10.2 (1)New features in10.1.1 (2)Changed features in10.1.1 (2)New features in10.1.0 (3)Removed features in10.1.0 (5)Chapter2.Getting started with Framework Manager (7)Analyzing the problem (7)Building IBM Cognos business intelligence applications (8)Objects you will use (9)Creating projects (12)Opening projects (13)The project page (13)The Project Viewer (14)Changing options for projects (16)Reordering objects (17)The Explorer tab (18)The Diagram tab (18)The Dimension Map tab (19)The Properties pane (20)The Tools pane (21)Naming conventions for objects in a project (23)Sample models (24)The Great Outdoors Warehouse model (25)The Great Outdoors Sales model (26)Chapter3.Model Design Accelerator (27)Explorer tree (27)Explorer diagram (28)The Model Accelerator workspace (29)Query Subject Diagram (29)Using the Relationship Editing Mode (29)Model Warning view (30)Changing the settings for diagrams (31)Creating a project (31)The star schema (32)Managing your star schema (33)Chapter4.Importing metadata from data sources (35)Data sources (35)Data source security (35)Types of data source connections (36)Native metadata (36)Data source connections (37)Creating data source connections (40)Steps to create a data source connection (41)Importing metadata (42)Importing metadata from relational databases (42)Importing metadata from IBM Cognos models (44)©Copyright IBM Corp.2005,2013iiiImporting metadata from IBM Cognos DecisionStream or IBM Cognos Data Manager (44)Importing from IBM metadata sources (48)Importing metadata from third party metadata sources (51)Troubleshooting metadata from other sources (56)Importing metadata using XML as a data source (58)Importing objects with the same name (58)Chapter5.Modeling relational metadata (61)Setting up the import view (61)Setting up the business view (61)Relationships (62)Cardinality (63)Modifying a relationship (66)Creating complex expressions for a relationship (66)Creating relationships (67)Creating a relationship shortcut (67)Detecting and generating relationships (68)Query subjects (69)Data source query subjects (69)Model query subjects (71)Stored procedure query subjects (72)Determinants (76)Creating model query subjects based on existing objects (79)Viewing related objects (80)Creating query sets (80)Testing query subjects or query sets (84)Validating query subjects (86)Updating query subjects (87)Converting query subjects into dimensions (88)Converting model query subjects into data source query subjects (88)Editing the SQL (89)Changing the type of SQL (89)Changing how the SQL is generated (94)Dimensions (96)Normalized data sources (97)Creating regular dimensions (97)Sorting members of a level (103)Roles (104)Creating measure dimensions (106)Converting measures into query items (107)Scope relationships (107)Creating regular dimensions based on existing objects (108)Viewing related objects (109)Testing dimensions (109)Converting regular dimensions into query subjects (112)Multilingual metadata (112)Supporting multilingual metadata (112)Setting up a Multilingual Reporting Environment (113)Modeling with multilingual data sources (114)Using macros to model multilingual data (115)Adding a language to a project (115)Exporting translation tables (116)Importing translation tables (117)Example-create multilingual projects for relational metadata (117)Query items (119)Modifying how query items are aggregated (122)Formatting query items (130)Defining prompt controls (131)Converting query items into measures (136)Business rules (136)Creating calculations (136)iv IBM Cognos Express Framework Manager Version10.2.1:User GuideCreating filters (139)Applying filters (141)Example-showing the currency name for each country (142)Creating parameter maps (143)Example-Specifying language values for relational metadata (145)Creating session parameters (146)Using parameters with relational data source query subjects (147)Creating prompts with query macros (147)Organizing models (158)Creating star schema groups (158)Shortcuts (163)Creating folders or namespaces (166)Creating query item folders (167)Creating measure folders (168)Durable models (168)Creating a durable model (169)Testing a durable model (170)Analyzing models (171)Steps to analyze a model (175)Chapter6.Publishing packages (177)Verifying models or packages (177)Creating or modifying packages (179)Creating a package (180)Modifying a package (181)Security (181)Users,groups,and roles (182)Adding data security (182)Object security (184)Modifying package security (186)Specifying languages (187)Specifying languages for one package (187)Specifying languages for all packages (188)Setting suppression options (188)Externalized query subjects and dimensions (188)Publishing packages (191)Publishing packages based on OLAP data sources (193)Publishing packages by running scripts (194)Updating reports to use the latest version of packages (195)Chapter7.Project management (197)Metadata in your model (197)Exploring packages (197)Viewing the distribution of objects in packages (198)Creating model documentation (198)Multiuser modeling (198)Branching and merging projects (199)Segmented and linked projects (205)External repository control (209)Metadata administration (209)Copying,moving,renaming,or deleting projects (210)Analyzing the impact of changes to packages (212)Remapping objects to new sources (214)Exporting metadata (215)Project reuse (216)Model portability (218)Synchronizing projects (225)Steps to synchronize (226)Query behavior (227)Governors (228)Contents vSpecifying where aggregate rollups are processed (234)Improving performance by setting the query processing type (235)Improving performance by reusing cached data when running a report (236)Specify transaction modes (237)Selecting function sets (238)Quality of service (239)Controlling and optimizing queries (241)Chapter8.Guidelines for Modeling Metadata (243)Understanding IBM Cognos Modeling Concepts (243)Relational Modeling Concepts (243)Model Design Considerations (253)Dimensional Modeling Concepts (261)Building the Relational Model (263)Defining the Relational Modeling Foundation (263)Defining the Dimensional Representation of the Model (271)Organizing the Model (275)Chapter9.The SQL Generated by IBM Cognos Software (279)Understanding Dimensional Queries (279)Single Fact Query (279)Multiple-fact,Multiple-grain Query on Conformed Dimensions (281)Modeling1-n Relationships as1-1Relationships (283)Multiple-fact,Multiple-grain Query on Non-Conformed Dimensions (285)Resolving Ambiguously Identified Dimensions and Facts (289)Query Subjects That Represent a Level of Hierarchy (289)Resolving Queries That Should Not Have Been Split (291)Chapter10.Upgrading models (295)Verifying the models before upgrading (295)Opening and upgrading the models (295)Upgrade and governors (296)Upgrade and data types (296)Verifying and repairing the upgraded IBM Cognos ReportNet models (297)Converting dimension information to either determinants or dimensions (297)Selecting and repairing objects in the upgraded IBM Cognos ReportNet models (300)Upgrading segmented and linked projects (301)Appendix A.Accessibility features (303)Accessibility features in Framework Manager (303)Keyboard shortcuts for Framework Manager (303)Keyboard shortcuts for Model Design Accelerator (303)IBM and accessibility (304)Appendix B.Troubleshooting (305)Unable to Compare Two CLOBs in Oracle (305)An Out of Memory Error with ERWin Imported Metadata (305)Framework Manager Cannot Access the Gateway URI (305)Object Names Appear in the Wrong Language (306)Full Outer Joins in Oracle Return Incorrect Results (306)Error When Testing Query Subjects in a Model Imported from Teradata (306)Error for Type-In SQL Query Subject (307)QE-DEF-0259Error (307)Externalized Key Figures Dimension Retains Old Prompt Value (308)Older Models Display Level Object Security (308)Exporting a Framework Manager Model to a CWM File Fails With Error MILOG.TXT was not found (308)Difference in SQL for Inner Joins After Upgrading to IBM Cognos BI,Version8.3and Later (308)Full Outer Joins Not Sent to Oracle9i and10GR1 (309)Unexplained Discrepancies in Number Calculations (309)Searching for values might return unexpected results (310)vi IBM Cognos Express Framework Manager Version10.2.1:User GuideAppendix ing the expression editor (311)Operators (311)( (311)) (311)* (311), (311)/ (311)|| (312)+ (312)- (312)< (312)<= (312)<> (312)= (312)> (312)-> (313)>= (313)and (313)auto (313)between (313)case (314)contains (314)currentMeasure (314)default (314)distinct (314)else (314)end (315)ends with (315)escape (315)for (315)for all (315)for any (315)for report (316)if (316)in (316)in_range (316)is missing (317)is null (317)is not missing (317)is not null (317)like (317)lookup (318)not (318)or (318)prefilter (318)rows (319)rows (319)starts with (319)then (319)when (319)Summaries (319)Statistical functions (319)aggregate (327)average (328)count (328)maximum (328)median (329)minimum (329)moving-average (329)moving-total (330)percentage (330)Contents viipercentile (331)quantile (331)quartile (332)rank (332)running-average (333)running-count (334)running-difference (334)running-maximum (335)running-minimum (335)running-total (336)total (336)Member Summaries (337)aggregate (337)average (337)count (337)maximum (338)median (338)minimum (338)percentage (338)percentile (339)quantile (339)quartile (339)rank (339)standard-deviation (339)standard-deviation-pop (340)total (340)variance (340)variance-pop (340)Constants (340)date (340)date-time (340)time with time zone (340)timestamp with time zone (340)interval (341)interval year (341)interval month (341)interval year to month (341)interval day (341)interval hour (341)interval minute (341)interval second (341)interval day to hour (341)interval day to minute (341)interval day to second (341)interval hour to minute (341)interval hour to second (341)interval minute to second (341)null (341)number (341)string (342)time (342)Constructs (342)if then else (342)in_range (342)search case (343)simple case (343)Business Date/Time Functions (343)_add_days (343)_add_months (344)_add_years (344)_age (345)viii IBM Cognos Express Framework Manager Version10.2.1:User Guide_day_of_week (345)_day_of_year (345)_days_between (345)_days_to_end_of_month (346)_first_of_month (346)_last_of_month (346)_make_timestamp (347)_months_between (347)_week_of_year (347)_years_between (348)_ymdint_between (348)Aster Data (348)Aster Data String (348)Aster Data Data Type Formatting (350)Aster Data Math (350)Aster Data Trigonometry (351)ascii (352)chr (352)current_schema (352)translate (352)date_trunc (353)version (353)DB2 (353)DB2Math (353)DB2Trigonometry (353)ascii (355)ceiling (355)char (355)chr (356)concat (356)date (356)day (356)dayname (357)dayofweek (357)dayofweek_iso (357)dayofyear (358)days (358)dec (358)decimal (358)difference (358)digits (359)double (359)event_mon_state (359)float (359)hex (359)hour (360)insert (360)integer (360)int (360)julian_day (361)lcase (361)left (361)length (361)locate (362)long_varchar (362)ltrim (362)microsecond (362)midnight_seconds (363)minute (363)month (363)monthname (363)Contents ixquarter (364)radians (364)repeat (364)replace (364)right (365)round (365)rtrim (365)second (365)sign (366)smallint (366)soundex (366)space (366)substr (366)table_name (367)table_schema (367)time (367)timestamp (367)timestamp_iso (367)timestampdiff (368)to_char (368)translate (368)trunc (369)truncate (369)ucase (369)value (369)varchar (370)week (370)year (370)Greenplum (370)Greenplum String (370)Greenplum Data type formatting (372)Greenplum Math (373)Greenplum Trigonometry (373)ascii (374)chr (375)current_database (375)current_schema (375){current_user} (375){session_user} (375)translate (375)date_trunc (375)version (375)Informix (376)Informix Math (376)Informix Trigonometry (376)cardinality (377)char_length (377)concat (377)date (378)day (378)extend (378)hex (378)initcap (378)length (378)lpad (379)mdy (379)month (379)nvl (379)octet_length (379)replace (379)round (380)x IBM Cognos Express Framework Manager Version10.2.1:User Guiderpad (380)substr (380)to_char (381)to_date (381)trunc (381)weekday (381)year (381)MS Access (381)MS Access Cast (381)MS Access Math (382)MS Access Trigonometry (383)ascii (383)ceiling (383)chr (383)concat (383)curdate (384)curtime (384)dayname (384)dayofmonth (384)dayofweek (384)dayofyear (384)hour (385)instr (385)lcase (385)left (385)length (385)locate (385)ltrim (386)minute (386)month (386)monthname (386)now (386)position (386)quarter (387)right (387)round (387)rtrim (387)sign (387)space (388)substr (388)substring (388)truncate (388)ucase (388)week (389)year (389)MySQL (389)MySQL String (389)MySQL Math (390)MySQL Trigonometry (391)ascii (392)database (392)schema (392)session_user (392)system_user (392)version (393)Netezza (393)Netezza Math (393)Netezza Trigonometry (393)Netezza Fuzzy (394)Netezza Phonetic (394)ascii (395)Contents xichr (395)decode (395)initcap (396)instr (396)lpad (396)ltrim (396)months_between (396)next_day (396)nvl (397)round (397)rpad (397)rtrim (397)substr (397){current_db} (398){current_user} (398){session_user} (398)to_char (398)to_date (398)to_number (398)translate (398)date_trunc (398)trunc (399)version (399)Oracle (399)Oracle Math (399)Oracle Trigonometry (399)add_months (400)ascii (401)ceil (401)char_length (401)chr (401)concat (401)decode (402)dump (402)greatest (402)initcap (402)instr (402)instrb (402)least (403)length (403)lengthb (403)lpad (403)ltrim (403)months_between (403)new_time (404)next_day (404)nls_initcap (404)nls_lower (404)nls_upper (404)nvl (404)replace (405)round (405)rpad (405)rtrim (405)sign (406)soundex (406)substr (406)substrb (406){sysdate} (406)to_char (407)to_date (407)xii IBM Cognos Express Framework Manager Version10.2.1:User Guideto_number (407)translate (407)trunc (407)trunc (408){user} (408)vsize (408)Paraccel (408)Paraccel String (408)Paraccel Data type formatting (409)Paraccel Math (409)current_database (409)current_schema (409){current_user} (410){session_user} (410)translate (410)version (410)Postgres (410)Postgres String (410)Postgres Data type formatting (412)Postgres Math (412)Postgres Trigonometry (413)ascii (414)chr (414){current_db} (415){current_catalog} (415){current_schema} (415){current_user} (415){session_user} (415)translate (415)date_trunc (415)version (415)Red Brick (415)ceil (415)concat (416){current_user} (416)date (416)dateadd (416)datediff (416)datename (416)dec (417)decimal (417)decode (417)float (417)ifnull (417)int (417)integer (417)length (418)lengthb (418)ltrim (418)nullif (418)positionb (418)real (419)round (419)rtrim (419)sign (419)string (419)substr (420)substrb (420)time (420)timestamp (420)timestamp (420)Contents xiiito_char (420) (421)Date Functions (421)convertCurrency (424)convertTimezone (424)SQL Server (424)SQL Server Math (424)SQL Server Trigonometry (425)ascii (426)char (426)charindex (426){current_user} (427)datalength (427)dateadd (427)datediff (427)datename (427)datepart (428)day (428)difference (428)getdate (429)isnull (429)left (429)ltrim (429)month (429)patindex (429)replace (430)replicate (430)reverse (430)right (430)round (430)rtrim (431)sign (431)soundex (431)space (431)str (431)stuff (431)year (432)Sybase (432)Sybase Math (432)Sybase Trigonometry (432)ascii (434)char (434)charindex (434)datalength (434)dateadd (434)datediff (435)datename (435)datepart (435)day (436)difference (436)getdate (436)left (436)ltrim (437)month (437)patindex (437)rand (437)replicate (437)reverse (437)right (437)round (438)rtrim (438)xiv IBM Cognos Express Framework Manager Version10.2.1:User Guidesoundex (438)space (438)str (438)stuff (439)substring (439)to_unichar (439)uhighsurr (439)ulowsurr (439)uscalar (440)year (440)Teradata (440)Teradata Trigonometry (440)account (442)add_months (442)bytes (442)case_n (442)char2hexint (442)characters (443)database (443)date (443)format (443)index (443)log (443)nullif (443)nullifzero (443)profile (444)random (444)role (444)session (444)soundex (444)substr (444)time (445)type (445)user (445)vargraphic (445)zeroifnull (445)Vectorwise (445)Vectorwise String (445)Vectorwise Math (446)Vectorwise Trigonometry (447){initial_user} (448){session_user} (448)numeric_trunc (448)Vertica (448)Vertica String (448)Vertica Data type formatting (449)Vertica Math (450)Vertica Trigonometry (450)ascii (452)chr (452)current_database (452)current_schema (452){current_user} (452){session_user} (452)translate (452)date_trunc (453)version (453)Macro Functions (453)+ (453)_add_days (453)_add_months (454)Contents xv_add_years (454)array (455)csv (455)dq (456)getConfigurationEntry (456)grep (456)_first_of_month (456)_last_of_month (457)join (457)lstrip (457)prompt (458)promptmany (459)rstrip (459)sb (460)sq (460)sort (460)split (460)strip (461)substitute (461)timestampMask (462)toLocal (462)tolower (463)toupper (463)toUTC (464)unique (464)urlencode (465)CSVIdentityName (465)CSVIdentityNameList (465)CAMPassport (466)CAMIDList (466)CAMIDListForType (466)simple case (466)Common Functions (467)abs (467)cast (467)ceil (468)ceiling (468)char_length (468)character_length (469)coalesce (469)current_date (469)current_time (469)current_timestamp (470)exp (470)extract (470)floor (471)ln (471)localtime (471)localtimestamp (472)lower (472)mod (472)nullif (472)octet_length (472)position (473)power (473)_round (474)row (474)sqrt (475)substring (475)trim (475)upper (476)xvi IBM Cognos Express Framework Manager Version10.2.1:User Guidewidth-bucket (476)Trigonometric functions (476)Dimensional Functions (479)ancestor (479)ancestors (479)bottomCount (480)bottomPercent (480)bottomSum (481)caption (481)children (481)closingPeriod (482)cousin (482)completeTuple (483)currentMember (484)defaultMember (484)descendants (484)except (486)filter (486)firstChild (487)firstSibling (487)_format (487)emptySet (488)generate (488)head (488)hierarchize (489)hierarchy (489)item (490)intersect (490)lag (490)lastChild (491)lastPeriods (491)lastSibling (492)lead (492)level (493)levels (493)linkMember (494)members (494)nextMember (494)openingPeriod (495)order (495)ordinal (496)parallelPeriod (496)parent (497)periodsToDate (497)prevMember (498)member (498)nestedSet (499)set (499)siblings (499)tail (499)topCount (500)topPercent (500)topSum (501)tuple (501)union (501)roleValue (502)rootMember (503)rootMembers (503)subset (503)unique (504)value (504)Contents xviiReport Functions (504)Today (504)Now (504)AsOfDate (505)AsOfTime (505)ReportDate (505)ReportName (505)ReportPath (505)ReportDescription (505)ReportLocale (505)GetLocale (505)Locale (506)ReportProductLocale (506)ReportAuthorLocale (506)ReportSaveDate (506)ReportCreateDate (506)ReportID (506)ReportOutput (506)ReportOption (506)ServerName (507)ServerLocale (507)ModelPath (507)BurstKey (507)BurstRecipients (507)IsBursting (507)ParamNames (507)ParamName (508)ParamDisplayValue (508)ParamValue (508)ParamCount (508)RowNumber (508)PageNumber (508)PageCount (508)IsPageCountAvailable (508)HorizontalPageNumber (509)HorizontalPageCount (509)PageName (509)URLEncode (509)TOCHeadingCount (509)IsAccessible (509)ColumnNumber (509)IsCrosstabRowNodeMember (509)IsCrosstabColumnNodeMember (510)IsInnerMostCrosstabRowNodeMember (510)IsInnerMostCrosstabColumnNodeMember (510)IsOuterMostCrosstabRowNodeMember (510)IsOuterMostCrosstabColumnNodeMember (510)IsFirstColumn (510)IsLastColumn (510)IsLastInnerMostCrosstabColumnNodeMember (510)IsLastInnerMostCrosstabRowNodeMember (511)CubeName (511)CubeDescription (511)CubeCreatedOn (511)CubeDataUpdatedOn (511)CubeSchemaUpdatedOn (511)CubeIsOptimized (511)CubeDefaultMeasure (512)CubeCurrentPeriod (512)CellValue (512)InScope (512)xviii IBM Cognos Express Framework Manager Version10.2.1:User GuideData Type Casting Functions (512)_add_days (512)_add_months (512)_add_years (513)_age (513)_day_of_week (513)_day_of_year (513)_days_between (513)_days_to_end_of_month (514)_first_of_month (514)_last_of_month (514)_make_timestamp (514)_months_between (514)_week_of_year (515)_years_between (515)_ymdint_between (515)abs (515)ceiling (515)character_length (516)date2string (516)date2timestamp (516)date2timestampTZ (516)DTinterval2string (516)DTinterval2stringAsTime (516)exp (516)extract (517)floor (517)int2DTinterval (517)int2YMinterval (518)ln (518)lower (518)mapNumberToLetter (518)mod (518)nullif (518)number2string (518)octet_length (519)position (519)power (519)round (519)sqrt (519)status (520)string2date (520)string2double (520)string2DTinterval (520)string2int32 (520)string2int64 (520)string2time (520)string2timestamp (520)string2timestampTZ (521)string2YMinterval (521)substring (521)time2string (521)timestamp2date (521)timestamp2string (521)timestamp2timestampTZ (522)timestampTZ2date (522)timestampTZ2string (522)timestampTZ2timestamp (522)timeTZ2string (522)trim (522)upper (522)Contents xixYMinterval2string (523)Appendix D.Data formatting reference (525)Data Formatting Properties (525)"Not Applicable"Characters (525)Any Error Characters (525)Calendar Type (525)Clock (525)Currency (525)Currency Display (525)Currency Symbol (526)Currency Symbol Position (526)Date Ordering (526)Date Separator (526)Date Style (526)Decimal Separator (526)Digit Shaping (526)Digit Shaping (526)Display AM/PM Symbols (527)Display As Exponent (527)Display Days (527)Display Eras (527)Display Hours (527)Display Milliseconds (527)Display Minutes (527)Display Months (527)Display Months (527)Display Seconds (527)Display Time Zone (528)Display Weekdays (528)Display Years (528)Display Years (528)Divide By Zero Characters (528)Exponent Symbol (528)Group Size(digits) (528)International Currency Symbol (528)Mantissa(digits) (528)Maximum No.of Digits (528)Minimum No.of Digits (529)Missing Value Characters (529)Negative Pattern (529)Negative Sign Position (529)Negative Sign Symbol (529)No.of Decimal Places (529)Numeric Overflow Characters (529)Padding Character (529)Pattern (529)Percentage Symbol (529)Percent Scale(integer) (530)Scale (530)Secondary Group Size(digits) (530)Security Error Characters (530)Thousands Separator (530)Time Separator (530)Time Style (530)Time Unit (530)Use Thousands Separator (530)Zero Value Characters (531)xx IBM Cognos Express Framework Manager Version10.2.1:User GuideAppendix ing Patterns to Format Data (533)Pattern Guidelines (533)Date and Time Symbols (534)Decimal Format Symbols (541)Appendix F.Reserved words (543)Appendix G.XML data types (545)Notices (547)Glossary (551)A (551)B (551)C (552)D (553)E (553)F (554)G (554)H (554)I (554)J (554)L (554)M (554)N (555)O (555)P (556)Q (556)R (556)S (557)T (557)U (558)W (558)Index (559)Contents xxixxii IBM Cognos Express Framework Manager Version10.2.1:User GuideIntroductionIBM®Cognos®Framework Manager is a metadata modeling tool.A model is abusiness presentation of the information in one or more data sources.When youadd security and multilingual capabilities to this business presentation,one modelcan serve the needs of many groups of users around the globe.This document includes the procedures,examples,notes,tips,and otherbackground information to help you prepare a model for reporting and deployinga package.AudienceThis document is intended to help data modelers use IBM Cognos FrameworkManager.Before using Framework Manager,you should understand data modelingand how to write queries.Finding informationTo find IBM Cognos product documentation on the web,including all translateddocumentation,access one of the IBM Cognos Information Centers(/infocenter/cogic/v1r0m0/index.jsp).Release Notes arepublished directly to Information Centers,and include links to the latest technotesand APARs.You can also read PDF versions of the product release notes and installation guidesdirectly from IBM Cognos product disks.Forward-looking statementsThis documentation describes the current functionality of the product.Referencesto items that are not currently available may be included.No implication of anyfuture availability should be inferred.Any such references are not a commitment,promise,or legal obligation to deliver any material,code,or functionality.Thedevelopment,release,and timing of features or functionality remain at the solediscretion of IBM.Samples disclaimerThe Sample Outdoors Company,Great Outdoors Company,GO Sales,anyvariation of the Sample Outdoors or Great Outdoors names,and Planning Sampledepict fictitious business operations with sample data used to develop sampleapplications for IBM and IBM customers.These fictitious records include sampledata for sales transactions,product distribution,finance,and human resources.Any resemblance to actual names,addresses,contact numbers,or transactionvalues is coincidental.Other sample files may contain fictional data manually ormachine generated,factual data compiled from academic or public sources,or dataused with permission of the copyright holder,for use as sample data to developsample applications.Product names referenced may be the trademarks of theirrespective owners.Unauthorized duplication is prohibited.©Copyright IBM Corp.2005,2013xxiii。
2013年的Hewlett-Packard安全事件优化技巧与方法说明书
AgendaIn this session, you will learn•How to enrich your security events in smart connectors by–Adding missing information from raw logs or from sources outside of the raw logs –Correcting event fields populated incorrectly–Further parsing of some event fields•Using well known mechanisms such as–Parser Overrides–Categorization Overrides–Map Files•And not so well known mechanisms such as–Conditional Mappings–Event Merging–Extra Processors–Additional Regex Parsers–External Map Files–Field ExtractorsParser overridesSupport generally provides parser overrides to customers to fix parsing and mapping issues•You can write your own parser overrides by requesting Support for–Unobfuscated parsers for a given connector and device–Location where the overrides are to be placed for the connector and device (current/user/agent/fcp/<folder-path>/) •Unobfuscated parsers are HP’s IP and are provided only based on a business justification provided by the customer•In all types of parsers, you can–Add new event field mappings for the unmapped existing tokens–Capture more tokens from raw logs and map them–Fix or enhance the existing event field mappings with the help of•Operations(documented in flex connector guide)•Conditional Mappings (discussed in a later slide)–Further parse the individual fields using extra processors (discussed in a later slide)•In regular expression parsers, you can–Combine information from individual log lines that are part of a larger event into a single event using Event Merging (discussed in a later slide) •Simple example - parser override for oracle audit db connector to correct the event time from GMT to local time zone–Add the following property to the override file current/user/agent/fcp/oracle_db/10_X.sdktbdatabase.properties event.deviceReceiptTime=__toLocalTimeStamp(TIMESTAMP)Categorization overridesFixes and enhancements to categorization come in biweekly AUP updates for subscribed customers•You can also come up with your own fixes and enhancements and place them–In a file named after the ‘Device Product’–In a subfolder named after the ‘Device Vendor’ under the folder “current/user/agent/acp/categorizer/current”–ExamplesCISCO, CiscoRouter cisco/ciscorouter.csvCISCO, Cisco VPN cisco/cisco_vpn.csvBarracuda Networks, Spam Firewall barracuda_networks/spam_firewall.csv•Categorization files are also used to set agent severities where a device does not provide device severity. You can use the same concept to provide agent severities–In the case of your own flex connector when the device does not have a concept of a device severity–In the case of some event types where the category fields and severities are either missing or populated incorrectly•Example: A categorization file the provides missing categories and agent severities for VMWare VirtualCentre–current/user/agent/acp/categorizer/current/vmware/virtualcentre.csvevent.deviceEventClassId,set.event.categoryObject,set.event.categoryBehavior,set.event.categoryTechnique,set.event.categoryDeviceGroup ,set.event.categorySignificance,set.event.categoryOutcome,set.event.originator,set.agentSeverityUserLoginSessionEvent,/Host/Operating System,/Access/Start,,/Operating System,/Informational,/Success,Source,LowUserLogoutSessionEvent,/Host/Operating System,/Access/Stop,,/Operating System,/Informational,/Success,Source,LowMap filesCSV files that allow you to set values for some event fields based on the values of other event fields event.deviceCustomString1,regex.event.deviceCustomString2,range.event.deviceCustomNumber1,set.event.customerURI North America,americas_.*,1-99,/All Customers/Americas/CustomerAEurope,emea_.*,100-199,/All Customers/EMEA/CustomerBAsia,apj_.*,200-299, /All Customers/APJ/CustomerC•Header of the CSV file defines the Getter and Setter fields–Getter Fields•Constant values - specified in the header as event.field•Regular Expressions - specified in the header as regex.event.field•Ranges (Integers, IP Addresses, MAC Addresses) – specified in the header as range.event.field–Setter Fields•Only constant values – specified in the header as set.event.field•Contents of the file come from a public or private knowledge outside of raw logs•Location and Naming of files–Are placed under current/user/agent/map folder–Named as map.N.properties where N is the next available number in the numerical sequence 0,1,2…–Caveat: If there is a missing file in the sequence, map files that follow in the sequence will not be picked upConditional mappingsAllow you to do some of the event field mappings differently based on a certain token or event field •Widely used in windows unified connector parsers to do mappings differently based on the windows event id •In firewall and IDS events, source and destination mappings can be reversed based on the direction of traffic •You can use them for use cases such as above in parser overrides or flex connectors•Example:conditionalmap.count=1conditionalmap[0].field=event.deviceEventClassIdORconditionalmap[0].token=EventIDconditionalmap[0].mappings.count=2conditionalmap[0].mappings[0].values=532,534conditionalmap[0].mappings[0].event.sourceAddress=TOKEN_ADDRESSconditionalmap[0].mappings[1].values=533conditionalmap[0].mappings[1].event.destinationAddress=TOKEN_ADDRESSconditionalmap[0].mappings[1].additionaldata.DATA=TOKEN_DATAEvent mergingAllows you to combine multiple log lines into a single event•Used when the log lines happen to be segments of a single logical event spanning over a period of time•Currently limited to regular expression parser•ExampleUnix Sendmail logssendmail[24080]: h8ULinI24080: from=<dasusr1>, size=184, class=0, nrcpts=1, msgid=<200309302144.h8ULinI24080@n030->, proto=SMTP, daemon=MTA, relay= [192.168.30.102] (may be forged)sendmail[1987]: g8AEvxpV001987:from=root,size=643,class=0,nrcpts=1,msgid=<***************************************>, relay=root@localhostsendmail[27596]: h8ULinI24080: to=<dasusr1@n030-h102>, ctladdr=<dasusr1> (111/101), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30116, dsn=2.0.0, stat=Sentsendmail[1987]: g8AEvxpV001987: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30051, relay=localhost [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by localhost–Individual log lines contain only partial info. Event is not complete without the info from log lines for the same email message –Log lines for the same email message need not come in order–Common token is a requirement for merging events. In this case it is the email message idEvent merging - continued•Merging Propertiesregex=.*?(?:sendmail|sm-mta).*? (\\S+?): ((from|to|ruleset|lost input channel)(?:=|\\s).*) token.count=3token[0].name=messageIdtoken[1].name=eventtoken[2].name=identifiermerge.count=1merge[0].pattern.count=1merge[0].pattern[0].token= Identifiermerge[0].pattern[0].regex=(from|to)merge[0].starts.count=1merge[0].starts[0].token=identifiermerge[0].starts[0].regex=frommerge[0].ends.count= 1merge[0].ends[0].token=Identifiermerge[0].ends[0].regex= tomerge[0].id.tokens= messageIdmerge[0].timeout=6000merge[0].sendpartialevents=falseExtra processorsChained parsers called from inside an existing parser to parsed the contents of an event field further •Used when the content of the field is in a different format than parsed by the parent parser–Example: When a portion of the log message or a database column has xml content, an xml extra processor is used extraprocessor[0].type=xmlextraprocessor[0].filename=fpsmc_db/notification/xmlforefrontextraprocessor[0].field=event.deviceCustomString1extraprocessor[0].conditionfield=event.deviceCustomString1extraprocessor[0].conditiontype=regexextraprocessor[0].conditionvalues=(^<\\?xml.*)extraprocessor[0].clearfieldafterparsing=false•Extra Processor Typesregex regular expression parserkeyvalue keyvalue parserdelimited delimited token parser (ex:- csv)xml xml parsermap map file•Condition Typesregex field content matches regular expression conditionequals field value equals one of the condition valuesAdditional Regex parsersRegex parsers deployed for a connector type to further parse the contents of one or more event fields •Contents of the parser file are very much like a regular expression parser used in a flex connector or supported connector –The only extra property is ‘source.field’ which defines the event field that needs to be further parsed–Simple Example:source.field=event.messageregex=(.*?):(.*)token.count=2token[0].name=String1token[0].name=String2event.flexString1=String1event.flexString2=String2•Location and Naming of files–Placed under current/user/agent/fcp/additionalregexparsing/<agent-type> folder where <agent-type> is the value of agents[0].type in current/user/agent/agent.properties file–Named as regex.N.properties where N is the next available number in the numerical sequence 0,1,2…–Caveat: If there is a missing file in the sequence, map files that follow in the sequence will not be picked up•Advantages over a regex extra processor–Independent of original parsers or parser overrides and kicks in after both of them in the event flow–In connectors such as syslog connector with subagents, same event enrichment may require multiple parser overrides for different subagents. Insuch cases, a single additional regex parser can be used to achieve the same resultExternal map filesA type of map file mechanism where the data to set resides in an external source like a database •Contents of the file are properties that define the mapping unlike map files which are CSV files with a header–Example Propertiestype=sql (Only database type supported currently for external source)field.getter=destinationAddress (Only one getter field can be specified)field.setter.count=2 (At least one setter field needs to be specified)field.setter[0]=deviceCustomString1field.setter[1]=deviceCustomDate1jdbc.class=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@myhost:1521:arcsight (URL syntax varies based on the jdbc driver used)ername=arcsightjdbc.password=OBFUSCATE.4.8.1:5pEDYBZpXFJGsYID9GibEA== (encrypted password)jdbc.query=select IPADDR, Info, TimeStamp from mytable where IPADDR in (?\u0000?)field.addrs.as.numbers=true (whether address columns in the database are numbers or strings) •Encrypted password–Clear text value for jdbc.password has to be encrypted using the following commandcurrent/bin/arcsight agent obfuscate -p <clear-text-password>External map files – continued•SQL Query–jdbc.query=select IPADDR, Info, TimeStamp from mytable where IPADDR in (?\u0000?)–Is executed for every batch of events (default batch size is 100)–Needs to return the getter column as the first column followed by all of the setter columns in the defined order–The where class needs to employ a condition involving the getter column with the ‘in’ operator followed by a special placeholder “?\u0000?” which will be replaced by the actual values of the defined getter field from the batch of events–The values of the setter columns returned in the query result will be set to the defined setter fields in the batch of events •Naming and Location of the files–Placed under current/user/agent/extmap/id folder, where id is the identifier for a specific destination–Named as extmap.N.properties where N is the next available number in the numerical sequence 0,1,2…Field extractorsAllow you to extract relevant information from the log file names or paths into event fields •Particularly useful when this information is missing from the raw logs•Example1: For a file reader connector–Assume that your log file name is 'myhost.1.log' and that when it rotates, it is 'myhost.2.log' and so on.–If you need to extract both the host name and the index. You can accomplish extraction by specifying the following properties agents[0].usefieldextractor=trueagents[0].extractsource=File Nameagents[0].extractregex=(\\w+)\\.(\\d+)\\.logagents[0].extractfieldnames=deviceHostName,deviceCustomNumber1•Example2: For a multiple folder follower connector–Assume that your multiple folder flex connector is processing logs from multiple web server instances running on different ports on multiple machines and the logs are deposited in a folder named after the machine IP Address and the instance’s port number (/opt/mnt/webservers/1.1.1.1/443, /opt/mnt/webservers/1.1.1.1/8443, /opt/mnt/webservers/2.2.2.2/443 …)–You can extract the IP Address and Port Number with the following properties specified for every folderagents[0].folder[N].usefieldextractor=trueagents[0].folder[N]. extractsource=File Pathagents[0].folder[N].extractregex=.*?(\\d+.\\d+.\\d+.\\d+)/(\\d+)/.*?.logagents[0].folder[N].extractfieldnames=deviceIPAddress,deviceCustomNumber1Customer use case•OriginalAgentHostName and OriginalAgentIPAddress for system health events from C1 connectors on ESM console are being set to host name and IP Address of CA2 and not CA1•When observed on Logger, the originalAgent fields were set correctly to CA1•Development agreed it is a bug and will provide a fix in the long term•Support provided short term workaroundWorkaround•Map files on C1 connectors (current/user/agent/fcp/map/map.0.properties )set.event.flexString1, set.event.flexString2 Host-name1, 192.168.10.1 •Additional regex parsers on the Logger onboard connectorunder current/user/agent/fcp/additionalregexparsing/loggerCA1 C2 = UDP encrypted CEF Syslog connectors forwarding system health events from C1 to Logger Logger is forwarding all events from C2 to ESM Connector Appliances regex.0.sdkrfilereader.propertiesregex.1.sdkrfilereader.properties。
Groovy编程语言基础教程说明书
About the T utorialGroovy is an object oriented language which is based on Java platform. Groovy 1.0 was released in January 2, 2007 with Groovy 2.4 as the current major release. Groovy is distributed via the Apache License v 2.0. In this tutorial, we would explain all the fundamentals of Groovy and how to put it into practice.AudienceThis tutorial is going to be extremely useful for all those software professionals who would like to learn the basics of Groovy programming.PrerequisitesBefore proceeding with this tutorial, you should have some hands-on experience of Java or any other object-oriented programming language. No Groovy experience is assumed.Copyright & Disclaimer© Copyright 2016 by Tutorials Point (I) Pvt. Ltd.All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher.We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, ******************************************T able of ContentsAbout the Tutorial (i)Audience (i)Prerequisites (i)Copyright & Disclaimer (i)Table of Contents (ii)1.GROOVY – OVERVIEW (1)2.GROOVY – ENVIRONMENT (2)3.GROOVY – BASIC SYNTAX (12)Creating Your First Hello World Program (12)Import Statement in Groovy (12)Tokens in Groovy (13)Comments in Groovy (13)Semicolons (13)Identifiers (14)Keywords (14)Whitspaces (15)Literals (15)4.GROOVY – DATA TYPES (16)Built-in Data Types (16)Bound values (16)Class Numeric Types (17)5.GROOVY – VARIABLES (19)Variable Declarations (19)Naming Variables (20)Printing Variables (20)6.GROOVY – OPERATORS (22)Arithmetic Operators (22)Relational operators (24)Logical Operators (26)Bitwise Operators (27)Assignment operators (28)Range Operators (29)Operator Precedence (30)7.GROOVY – LOOPS (31)while Statement (31)for Statement (32)for-in Statement (34)Loop Control Statements (36)Continue Statement (37)8.GROOVY – DECISION MAKING (39)if Statement (39)if / else Statement (40)Nested If statements (42)switch Statements (43)Nested Switch Statements (45)9.GROOVY – METHODS (48)Method Parameters (48)Default Parameters (49)Method Return Values (50)Instance methods (51)Local and External Parameter Names (52)this method for Properties (52)10.GROOVY – FILE I/O (54)Reading files (54)Reading the Contents of a File as an Entire String (55)Writing to Files (55)Getting the Size of a File (55)Testing if a File is a Directory (56)Creating a Directory (56)Deleting a File (57)Copying files (57)Getting Directory Contents (57)11.GROOVY – OPTIONALS (59)12.GROOVY – NUMBERS (61)Number Methods (62)13.GROOVY – STRINGS (84)String Indexing (84)Basic String Operations (85)String Repetition (86)String Methods (87)14.GROOVY – RANGES (105)contains() (105)get() (106)getFrom() (107)getTo() (107)isReverse() (108)size() (109)subList() (109)15.GROOVY – LISTS (111)add() (111)contains() (112)get() (113)isEmpty() (113)minus() (114)plus() (115)pop() (116)remove() (116)reverse() (117)size() (118)sort() (118)16.GROOVY – MAPS (120)containsKey() (120)get() (121)keySet() (121)put() (122)size() (123)values() (124)17.GROOVY – DATES AND TIMES (125)Date() (125)Date (long millisec) (125)after() (126)equals() (127)compareTo() (128)toString() (129)before() (129)getTime() (130)setTime() (131)18.GROOVY – REGULAR EXPRESSIONS (133)19.GROOVY – EXCEPTION HANDLING (134)Catching Exceptions (135)Multiple Catch Blocks (136)Finally Block (137)20.GROOVY – OBJECT ORIENTED (141)getter and setter Methods (141)Instance Methods (142)Creating Multiple Objects (143)Inheritance (144)Extends (144)Inner Classes (145)Abstract Classes (146)Interfaces (147)21.GROOVY – GENERICS (149)Generic for Collections (149)Generalized Classes (150)22.GROOVY – TRAITS (151)Implementing Interfaces (152)Properties (152)Composition of Behaviors (153)Extending Traits (154)23.GROOVY – CLOSURES (156)Formal parameters in closures (156)Closures and Variables (157)Using Closures in Methods (157)Closures in Collections and String (158)Methods used with Closures (160)24.GROOVY – ANNOTATIONS (164)Annotation Member Values (165)Closure Annotation Parameters (165)Meta Annotations (165)25.GROOVY – XML (167)What is XML? (167)XML Support in Groovy (167)XML Markup Builder (168)XML Parsing (171)26.GROOVY – JMX (174)Monitoring the JVM (174)Monitoring Tomcat (176)27.GROOVY – JSON (177)JSON Functions (177)Parsing Data using JsonSlurper (177)JsonOutput (180)28.GROOVY – DSLS (182)29.GROOVY – DATABASES (184)Database Connection (184)Creating Database Table (185)Insert Operation (185)READ Operation (187)Update Operation (188)DELETE Operation (188)Performing Transactions (189)Commit Operation (189)Rollback Operation (190)Disconnecting Databases (190)30.GROOVY – BUILDERS (191)Swing Builder (191)Event Handlers (193)DOM Builder (195)JsonBuilder (196)NodeBuilder (197)FileTreeBuilder (197)31.GROOVY – COMMAND LINE (198)Classes and Functions (198)Commands (199)32.GROOVY – UNIT TESTING (201)Writing a Simple Junit Test Case (201)The Groovy Test Suite (202)33.GROOVY – TEMPLATE ENGINES (203)Simple Templating in Strings (203)Simple Template Engine (203)StreamingTemplateEngine (204)XMLTemplateEngine (205)34.GROOVY – META OBJECT PROGRAMMING (206)Missing Properties (206)Missing methods (207)Metaclass (208)Method Missing (209)Groovy Programming10Groovy is an object oriented language which is based on Java platform. Groovy 1.0 was released in January 2, 2007 with Groovy 2.4 as the current major release. Groovy is distributed via the Apache License v 2.0.Features of GroovyGroovy has the following features:∙ Support for both static and dynamic typing ∙ Support for operator overloading∙ Native syntax for lists and associative arrays ∙ Native support for regular expressions∙ Native support for various markup languages such as XML and HTML∙Groovy is simple for Java developers since the syntax for Java and Groovy are very similar ∙ You can use existing Java libraries ∙Groovy extends the ng.ObjectThe official website for Groovy is /1.Groovy Programming11Groovy Programming12There are a variety of ways to get the Groovy environment setup.Once you launch the installer, follow the steps given below to complete the installation. Step 1: Select the language installer2.Step 2: Click the Next button in the next screen.13Step 3: Click the ‘I Agree’ button.14Step 4: Accept the default components and click the Next button.15Step 5: Choose the appropriate destination folder and then click the Next button.16Step 6: Click the Install button to start the installation.17Step 7: Once the installation is complete, click the Next button to start the configuration.18Step 8: Choose the default options and click the Next button.19Step 9: Accept the default file associations and click the Next button.20Step 10: Click the Finish button to complete the installation.21Once the above steps are followed, you can then start the groovy shell which is part of the Groovy installation that helps in testing our different aspects of the Groovy language without the need of having a full-fledged integrated development environment for Groovy. This can be done by running the command groovysh from the command prompt.If you want to include the groovy binaries as part of you maven or gradle build, you can add the following linesGradleMaven22Groovy ProgrammingIn order to understand the basic syntax of Groovy, let’s first look at a simple Hello World program.Creating your first hello world program is as simple as just entering the following code line: When we run the above program, we will get the following result: The import statement can be used to import the functionality of other libraries which can be used in your code. This is done by using the import keyword.The following example shows how to use a simple import of the MarkupBuilder class which is probably one of the most used classes for creating HTML or XML markup. By default, Groovy includes the following libraries in your code, so you don’t need to explicitly import them.3.24A token is either a keyword, an identifier, a constant, a string literal, or a symbol. In the above code line, there are two tokens, the first is the keyword println and the next is the string literal of “Hello World”.Comments are used to document your code. Comments in Groovy can be single line or multiline.Single line comments are identified by using the // at any position in the line. An example is shown below:Multiline comments are identified with /* in the beginning and */ to identify the end of the multiline comment.25Just like the Java programming language, it is required to have semicolons to distinguish between multiple statements defined in Groovy.The above example shows semicolons are used to distinguish between different lines of code statements.Identifiers are used to define variables, functions or other user defined variables. Identifiers start with a letter, a dollar or an underscore. They cannot start with a number. Here are some examples of valid identifiers: where def is a keyword used in Groovy to define an identifier.Here is a code example of how an identifier can be used in our Hello World program.In the above example, the variable x is used as an identifier.Keywords as the name suggest are special words which are reserved in the Groovy Programming language. The following table lists the keywords which are defined in Groovy.Whitespace is the term used in a programming language such as Java and Groovy to describe blanks, tabs, newline characters and comments. Whitespace separates one part of a statement from another and enables the compiler to identify where one element in a statement.26For example, in the following code example, there is a white space between the keyword def and the variable x. This is so that the compiler knows that def is the keyword which needs to be used and that x should be the variable name that needs to be defined.A literal is a notation for representing a fixed value in groovy. The groovy language has notations for integers, floating-point numbers, characters and strings. Here are some of the examples of literals in the Groovy programming language:27Groovy Programming28In any programming language, you need to use various variables to store various types of information. Variables are nothing but reserved memory locations to store values. This means that when you create a variable you reserve some space in memory to store the value associated with the variable.You may like to store information of various data types like string, character, wide character, integer, floating point, Boolean, etc. Based on the data type of a variable, the operating system allocates memory and decides what can be stored in the reserved memory.Groovy offers a wide variety of built-in data types. Following is a list of data types which are defined in Groovy:∙ byte – This is used to represent a byte value. An example is 2.∙ short - This is used to represent a short number. An example is 10.∙ int – This is used to represent whole numbers. An example is 1234.∙ long – This is used to represent a long number. An example is 10000090.∙ float – This is used to represent 32-bit floating point numbers. An example is 12.34.∙double - This is used to represent 64-bit floating point numbers which are longer decimalnumber representations which may be required at times. An example is 12.3456565.∙ char – This defines a single character literal. An example is ‘a’.∙ Boolean – This represents a Boolean value which can either be true or false.∙String – These are text literals which are represented in the for m of chain of characters. For example “Hello World”.The following table shows the maximum allowed values for the numerical and decimal literals. 4.Groovy ProgrammingIn addition to the primitive types, the following object types (sometimes referred to as wrapper types) are allowed:∙ng.Byte∙ng.Short∙ng.Integer∙ng.Long∙ng.Float∙ng.DoubleIn addition, the following classes can be used for supporting arbitrary precision arithmetic: The following code example showcases how the different built-in data types can be used:Groovy ProgrammingWhen we run the above program, we will get the following result:30Groovy Programming 31Variables in Groovy can be defined in two ways – using the native syntax for the data type or the next is by using the def keyword . For variable definitions it is mandatory to either provide a type name explicitly or to use "def" in replacement. This is required by the Groovy parser.There are following basic types of variable in Groovy as explained in the previous chapter: ∙byte – This is used to represent a byte value. An example is 2. ∙short - This is used to represent a short number. An example is 10. ∙int – This is used to represent whole numbers. An example is 1234. ∙long – This is used to represent a long number. An example is 10000090. ∙float – This is used to represent 32-bit floating point numbers. An example is 12.34. ∙ double - This is used to represent 64-bit floating point numbers which are longer decimal number representations which may be required at times. An example is 12.3456565.∙ char – This defines a single character literal. An example is ‘a’.∙ Boolean – This represents a Boolean value which can either be true or false.∙String – These are text literals which are represented in the for m of chain of characters. For example “Hello World”. Groovy also allows for additional types of variables such as arrays, structures and classes which we will see in the subsequent chapters.V ariable DeclarationsA variable declaration tells the compiler where and how much to create the storage for the variable.Following is an example of variable declaration:5.When we run the above program, we will get the following result:Naming V ariablesThe name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because Groovy, just like Java is a case-sensitive programming language.When we run the above program, we will get the following result:32We can see that x and X are two different variables because of case sensitivity and in the third case, we can see that _Name begins with an underscore.Printing V ariablesYou can print the current value of a variable with the println function. The following example shows how this can be achieved.When we run the above program, we will get the following result:33End of ebook previewIf you liked what you saw…Buy it from our store @ https://34。
Adobe Dreamweaver Developer Toolbox 使用说明书
Adobe®Dreamweaver® Developer Toolbox Read MeWelcome to Adobe® Dreamweaver® Developer Toolbox. This document contains late-breaking product information, updates, and troubleshooting tips not covered in the product documentation.Minimum system requirementsInstall your softwareUninstall your softwareKnown IssuesCustomer careOther resourcesMinimum system requirementsWindows●Adobe® Dreamweaver® CS3●Adobe® Extension Manager CS3●One of the following web servers: Microsoft Internet Information Server 5.1 (Windows XP Professional) or 6.0(Windows 2003), Apache 1.3.x or 2.0, or the built-in web server in ColdFusion 6.0 or later.●One of the following application servers: PHP 4.4.0 or later, ColdFusion 6.0 or later, ASP 5.5 or later.●If using PHP, the following libraries must be installed and enabled: Expat and mbstring. Expat is an XML parser libraryand should be built-in on most server installations. The mbstring library handles multibyte encodings in PHP. Forimage processing, one of the following image libraries must be installed: GD or ImageMagick 6.2.5 or later.ImageMagick needs execute permissions on web server. Each of these libraries have limitations to what imagehandling operations can perform. Please refer to the Developer Toolbox documentation and its tech notes.●If using ColdFusion, the following features must be enabled: XML parsing tags, CreateObject, shell rights on image lib,and the <cfhttp> tag. In addition, cfexecute must be allowed on the web server and one of the following imagelibraries must be installed: tmt_img, ImageMagick, CFX_Image 1.4.9, CFX_imageCR3 3.1. Each of these libraries have limitations to what image handling operations can perform. Please refer to the Developer Toolbox documentation and its tech notes. Note: You can enable and disable ColdFusion server functions in the ColdFusion Administrator,ColdFusion Basic Security, Tag Restrictions page.●If using ASP, the following libraries are required: Collaborative Data Object (for sending e-mail), MSXML library andWScript.Shell. For better image processing the following libraries could be installed: .NET framework installed and ASP.NET extension enabled for IIS or ImageMagick. Version 6.2.5 or later. Each of these libraries have limitations to what image handling operations can perform. Please refer to the Developer Toolbox documentation and its tech notes. In addition, the following configuration options must be installed / enabled: CreateObject rights, FileSystemObject,ParentPaths.Macintosh●Adobe® Dreamweaver® CS3●Adobe® Extension Manager CS3●One of the following web servers: Microsoft Internet Information Server 5.1 (Windows XP Professional) or 6.0(Windows 2003), Apache 1.3.x or 2.0, or the built-in web server in ColdFusion 6.0 or later.●One of the following application servers: PHP 4.4.0 or later, ColdFusion 6.0 or later, ASP 5.5 or later.●If using PHP, the following libraries must be installed and enabled: Expat and mbstring. Expat is an XML parser libraryand should be built-in on most server installations. The mbstring library handles multibyte encodings in PHP. Forimage processing, one of the following image libraries must be installed: GD or ImageMagick 6.2.5 or later.ImageMagick needs execute permissions on web server. Each of these libraries have limitations to what imagehandling operations can perform. Please refer to the Developer Toolbox documentation and its tech notes.●If using ColdFusion, the following features must be enabled: XML parsing tags, CreateObject, shell rights on image lib,and the <cfhttp> tag. In addition, cfexecute must be allowed on the web server and one of the following imagelibraries must be installed: tmt_img, ImageMagick, CFX_Image 1.4.9, CFX_imageCR3 3.1. Each of these libraries have limitations to what image handling operations can perform. Please refer to the Developer Toolbox documentation and its tech notes. Note: You can enable and disable ColdFusion server functions in the ColdFusion Administrator,ColdFusion Basic Security, Tag Restrictions page.●If using ASP, the following libraries are required: Collaborative Data Object (for sending e-mail), MSXML library andWScript.Shell. For better image processing the following libraries could be installed: .NET framework installed and ASP.NET extension enabled for IIS or ImageMagick. Version 6.2.5 or later. Each of these libraries have limitations to what image handling operations can perform. Please refer to the Developer Toolbox documentation and its tech notes. In addition, the following configuration options must be installed / enabled: CreateObject rights, FileSystemObject,ParentPaths.Install your softwareAdobe® Dreamweaver® Developer Toolbox extension must be installed using Adobe Extension Manager. If you don't have this Adobe application installed, please refer to the Adobe Extension Manager Install Guide, before trying to install Adobe Dreamweaver Developer Toolbox.1. Make sure Adobe Dreamweaver CS3 and Adobe Extension Manager CS3 are installed on your system.2. Double-click the .mxp extension file in Windows Explorer (Windows) or in the Finder (Macintosh).3. Read the Adobe extensions disclaimer and select "Accept" to continue with the installation, or select "Decline" tocancel the installation.4. You must close and then restart Dreamweaver for the changes to take effect.If you have previously installed XML Export registration incentive into Dreamweaver CS3 you may be asked to overwrite existing files. Please select 'Yes to All' to accept these changes.Uninstall your softwareAdobe® Dreamweaver® Developer Toolbox extension must be uninstalled using Adobe Extension Manager.1. Close Adobe Dreamweaver CS3.2. Open Adobe Extension Manager CS3.3. Select Adobe® Dreamweaver® Developer Toolbox extension from the list. To select, please click on the extensionname.4. Click on the Remove Extension button from the Extension Manager Toolbar.5. Click Yes to confirm the uninstall and follow the onscreen instructions to complete the uninstallPlease note that the uninstall process might take more than 30 minutes in some configurations. In those cases, don't stop Extension Manager during uninstall.Known issuesThe following are known issues with this release.When applying the Developer Toolbox Server Formats (Escape Attribute, Format Date and FormatFor List) the generated code in page is incorrectTo fix this follow these steps: After applying the Server Format, an alert message will appear. "Found somemissing SSIs. Please edit the 'Fix Includes' Server Behavior to fix them.". Also in the Server Behavior panel a"Fix Includes" behaviour will appear. Double click on it so the generated code in page will be fixed. An alertmessage will confirm a successful operation ("The SSIs have now been fixed.").Also, for the Format For List Server Format, you will manually have to add the second required parameter ofthe function (should use an integer value, default recommended is 30).When editing the Developer Toolbox Server Formats, the correct values are not selected in the"Dynamic Text" interface. (Coldfusion Server Model only)When you edit a "Dynamic Text" server behavior that uses an Adobe Dreamweaver Developer Toolbox format,the introspected values are not correct. To workaround this, please make sure when editing Developer ToolboxServer Formats to correctly re-select the "Field", "Format" and "Code" values before hitting the OK button.When applying Developer Toolbox Server Formats on a Dynamic Text, that Dynamic Text ServerBehavior will no longer be displayed correctlyFor the PHP_MySQL server model only, the Dynamic Text will no longer be displayed in the list of appliedServer Behaviors. To change the Server format for that Dynamic Text, select it, switch to the Bindings paneland use the Format dropdown to change the Server Format.For the ASP VBScript server model, the Format For List won't be recognized as a format when you edit thecorresponding Dynamic Text Server Behavior from the list of applied Server Behaviors. To be recognized as aformat, you will manually have to add the second required parameter of the function (should use an integervalue, default recommended is 30) in Code view.Adobe Dreamweaver Developer Toolbox Favorites command doesn't work on some configurationsWhen you install Adobe Dreamweaver Developer Toolbox from the "Administrator" account on Windowsmachines, and from the "root" account on MAC machines, the Developer Toolbox Favorites interface does notpopulate when opened from another user account. To workaround this, install Adobe Dreamweaver DeveloperToolbox under the user account which you want to use."Links relative to site root" setting not supportedAdobe Dreamweaver Developer Toolbox does not support links relative to site root, it supports only linksrelative to document. In order to set links relative to document, open the Site definition panel, and check the"Links relative to: Document" setting, from the Local info category.You cannot use more than one "Multiple File Upload with save to database" command on thesame pageYou cannot use more than one "Multiple File Upload with save to database" behaviors on the same page.Applying more than one on a page will break the feature's behavior. Unfortunately, there is no workaround forthis problem.Customer careCustomer ServiceAdobe Customer Service provides assistance with product information, sales, registration, and other non-technical issues. To find out how to contact Adobe Customer Service, please visit ’s main page for your region or country and click on ‘Contact’.Technical Plan Options and Technical ResourcesIf you require technical assistance for your product, including information on free and paid support options and troubleshooting resources, more information is available at /go/support/. For outside of North America www. /go/intlsupport/. Free troubleshooting resources include Adobe’s support knowledgebase, Adobe user-to-user forums and more.If you are having any issues with installing or uninstalling Adobe® Dreamweaver® Developer Toolbox, please try rebooting your system before contacting Support.Other resourcesDocumentationRead the online documentation at /en_US/Dreamweaver/9.0_ADDT/help.html. Online ResourcesDesign Center at /designcenter.Developer Center at /go/developer.。
xplain R包用户指南说明书
Package‘xplain’October14,2022Type PackageTitle Providing Interactive Interpretations and Explanations ofStatistical ResultsVersion0.2.2Maintainer Joachim Zuckarelli<*********************>Description Allows to provide live interpretations and explanations of statisticalfunctions in R.These interpretations and explanations are shown when the explained function is called by the user.They can interact with the values of the explained function's actualresults to offer relevant,meaningful insights.The'xplain'interpretations and explanationsare based on an easy-to-use XML format that allows to include R code to interact with the returns of the explained function.Suggests car,methodsDepends R(>=4.0.0)License GPL-3Encoding UTF-8BugReports https:///jsugarelli/xplain/issuesURL https:///jsugarelli/xplain/,https://www.zuckarelli.de/xplain/index.htmlRepository CRANLazyData trueImports XML,readr,RCurl,httrRoxygenNote7.1.1NeedsCompilation noAuthor Joachim Zuckarelli[aut,cre](<https:///0000-0002-9280-3016>)Date/Publication2020-07-3011:10:02UTC12xplain-package R topics documented:xplain-package (2)xplain (3)xplain.getcall (6)xplain.overview (7)Index10 xplain-package xplain PackageDescriptionThis package allows to provide live interpretations and explanations of statistical functions in R.These interpretations and explanations are shown when the explained function is called by the user.They can interact with the values of the explained function’s actual results to offer relevant, meaningful insights.The xplain interpretations and explanations are based on an easy-to-use XML format that allows to include R code to interact with the returns of the explained function. Ressources on the internetWeb tutorial on how to work with xplain:https://www.zuckarelli.de/xplain/index.html xplain cheat sheet:https://www.zuckarelli.de/xplain/xplain_cheatsheet.pdfxplain on GitHub:https:///jsugarelli/xplainComments and suggestionsYour comments and suggestions are highly appreciated.Author(s)Author and maintainer:Joachim Zuckarelli,<*********************>.See Alsoxplain,xplain.overview,xplain.getcallxplain Showing interpretation information for the results of a functionDescriptionInterprets/explains the results of a function call.Main function of the xplain package.Usagexplain(call,xml="",lang="",level=-1,filename="",sep="\n",title.char="-", before=TRUE,addfun="",addfun.args="",addfun.title="")Argumentscall Function call(as string)to be explained/interpreted.xml Path to the xplain XMLfile containing the interpretation/explanation informa-tion(optional).Can be either a local path or an URL.See below for more detailson how xplain()tries tofind xplain XMLfiles if nofile is specified with xml.lang ISO country code of the language of the interpretations/explanations that shall beshown(optional).If none is specified,xplain()tries to determine the languageof the user’s current work environment.If that is not possible then English istaken as defualt value(same effect as lang="EN").level Integer number indicating the complexity level of the interpretations/explanations that shall be shown(optional).level is cumulative:All interpretations/explanationswith a level number up to the number provided are shown.Default:-1,i.e.allinterpretations/explanations are shown.filename File to write the xplain()output to(optional).If nofile name is provided thexplain()output is shown in the console.sep Separator used to separate the outputs from consecutive XML text elements(<text>...</text>)(optional).Default:"\n".title.char Character used for underlining titles(optional).Default:"-".before Indicates if the results of the call of the explained function shall be shown beforethe xplain interpretations/explanations,or after(optional).Default:TRUE,i.e.function output is shown before the interpretations/explanations.addfun Vector of names of additional functions that shall be called(e.g.summary()),without brackets(optional).It is assumed that these functions take the returnobject of the explained function as theirfirst argument.Further arguments canbe specified with addfun.args.Results of the additional functions are shownright after the output of the explained function.addfun.args Vector of arguments(apart from the return object of the explained function)for the additional functions(optional).Example:addfun.args="trim=0,na.rm=FALSE".Argument must be of the same length as addfun;addfun.argsmust be""(empty string)if the respective additional function does not take anyadditional arguments.addfun.title Vector of titles that will be shown as headers to the outputs of the addional func-tions(optional).Argument must be of the same length as addfun;addfun.argsmust be""(empty string)if the respective the output of the additional functionshall have no title.Detailsxplain interprets/explains the results of a function call(argument call)by using the information provided in the xplain XMLfile specified by the xml argument.1.xplain XMLfiles:xplain XMLfiles follow a simple structure(here an example for the lm()function from the stats package):<xml>____<xplain>________<package name="stats">____________<function name="lm">________________<title>...</title>________________<text>...</text>________________<result name="coefficients">____________________<title>...<title>____________________<text>...</text>________________</result>____________</function>________</package>____</xplain></xml><title>elements contain plain text and can be used to structure the output of xplain().They are underlined by the character given in the title.char argument.<text>elements contain the actual explanations and interpretations.They may consist of plain text as well as R code.R code must be enclosed by special opening and closing tags like this:!%% Here comes the R code%%!.The placeholder@can be used to access the explained function’s return object,e.g.!%%summary(@)%%!.With a<result>block you can interpret specific elements of the explained function’s return object.The element of the current<result>block can be accessed with the##placeholder from within an R code section delimited by!%%and%%!.Example:<text>The mean is:!%% mean(##)%%!</text>.If you use certain R code expressions multiple times and want to save typing effort and reduce error-proness,you can work with a<define>block.Like a<text>block,<define>can encom-pass both,plain text and R code,e.g.<define name="my.summary">The summary is:!%%summary(@)%%!</define>.After having defined an expression this way,you can call it from within an R code section by using its name and placing it between the special placeholder tags!**and**!,like<text>Let us have a lookt at the summary:!**my.summary**!</text>.Sometimes you will want to apply a<text>block not only to one element of the explained func-tion’s return object.Consider,for example,the case in which the return object contains a vector andyou want to run through each element of that vector.In this case,you can use a<text>element with the foreach attribute,e.g.<text foreach="rows">.The attribute’s value defines how xplain iterates over the object.Possible values are"rows","columns","rows,columns","columns, rows"and"items"for list items.Within R code included in your<text>block you can then refer to the index of the current object with the$placeholder,e.g.!%%The current element is:@$coefficients[$,1]%%!.If two different indices are in play(e.g.when foreach="rows, columns")then you can work with two index placeholders$,e.g.coefficients[$,$].Because xplain()needs to know which object to iterate over,you can use<text>with the foreach attribute only form within a<result>block.xplain()can access XMLfiles both locally and from the internet.xplain XMLfiels are not case-sensitive.2.XML Attributes:<package>,<function>,<result>and<define>blocks always need aname attribute.<title>and<text>blocks can have lang and level attributes,for the language and the com-plexity level of the explanations,ng is an ISO country code and level an integernumber(for details,see the explanantion of the corresponding arguments of xplain()above).The values of these two attributes are inherited from higher-level XML elements,e.g.from<package>or<function>.Attributes defined at lower levels(e.g.in an individual<text>element)overrule these inherited attributes.3.Search paths from xplain XMLfiles:If no path is provided with the xml argument ofxplain()or the providedfile does not exist then xplain()searches for a suitable XMLfile invarious locations:1.in the path of the package containing the function from which xplain()was called for afileof the name"package_of_the_calling_function.xml";2.in the same path for afile with the name"package_of_the_explained_function.xml"(thefunction given in the call argument);3.in the path of the package containing the explained function for afile with the name"pack-age_of_the_explained_function.xml";4.in the current working directory for afile with the name"package_of_the_explained_function.xml";and5.in the current working directory for afile with the name"explained_function.xml".4.More information on xplain XMLfiles:For more details on the structure of xplain XMLfiles,please consult the web tutorial on http://www.zuckarelli.de/xplain/index.html.Valuexplain()returns the return value of the explained function call(argument call)as if the function were called without xplain().The interpretation/explanation information is either shown on the screen or written to afile(depending on the filename argument).6xplain.getcallMore material on the internetWeb tutorial on how to work with xplain:http://www.zuckarelli.de/xplain/index.html xplain cheat sheet:https://www.zuckarelli.de/xplain/xplain_cheatsheet.pdfAuthor(s)Joachim Zuckarelli,<*********************>See Alsoxplain-package,xplain.overview,xplain.getcallExampleslibrary(car)xml.path<-system.file("","example_lm.xml",package="xplain")xplain(call="lm(education~young+income+urban,data=Anscombe)",xml=xml.path)xplain.getcall Generating function calls for xplain wrapper functionsDescriptionThis function returns a string containing the call to the explained function to be used in an xplain wrapper function.Usagexplain.getcall(fun)Argumentsfun Name of the explained function as stringDetailsxplain.getcall()can be called from an xplain wrapper function.It returns a string contain-ing the call to the explained function with all arguments provided to the wrapper function.With xplain.getcall()it is very easy to write xplain wrapper functions.Wrapper functions are an elegant way to provide access to xplain interpretation/explanation in-formation.The wrapper function takes the sames arguments as the explained function and then calls xplain().xplain.getcall()identifies the arguments provided to the wrapper function and returns the complete call of the explained function as a string which can then be handed over to xplain()as argument call.The Examples section illustrates how to build a wrapper function using xplain.getcall().ValueThe full call of the explained function as a string,including the arguments provided by the user to the wrapper function.More material on the internetWeb tutorial on how to work with xplain:https://www.zuckarelli.de/xplain/index.html xplain cheat sheet:https://www.zuckarelli.de/xplain/xplain_cheatsheet.pdfAuthor(s)Joachim Zuckarelli,<*********************>See Alsoxplain-package,xplain,xplain.overviewExampleslibrary(car)xml.path<-system.file("","example_lm.xml",package="xplain")#Example of a wrapper function for lm()lm.xplain<-function(formula,data,subset,weights,na.action,method="qr",model=TRUE,x=FALSE,y=FALSE,qr=TRUE,singular.ok=TRUE,contrasts=NULL,offset,...){ call<-xplain.getcall("lm")xplain(call,xml=xml.path)}lm.xplain(education~young+income+urban,data=Anscombe)xplain.overview Summarizing the content of xplain XMLfilesDescriptionxplain.overview summarizes the content of an xplain XMLfile.Usagexplain.overview(xml,show.text=FALSE,preserve.seq=FALSE)Argumentsxml Path to the xplain XMLfile.Can be either a local path or an URL.show.text Indicates if the full interpretation/explanation texts shall be included in the sum-mary(optional).Default:FALSE.preserve.seq Indicates if the overview results for the interpretation/explanation texts shall be shown in the same sequence as they appear in the XMLfile(optional).If FALSE,the results are sorted,e.g.by package,function,language and complexity level.Default:FALSE.ValueA data frame summarizing the XMLfile.Each row corresponds to a<title>or<text>elementin the xplain XMLfile.The column structure is as follows:•Package:The package to which the explained function belongs.•Function:The explained function.•Type:Indicates whether the element is a<title>or a<text>element.•Language:Language of the element(also considering inheritance from higher-level XML elements).•Level:Complexity level of the element(also considering inheritance from higher-level XML elements).•Result object:Element of the explained function’s return object to which the<title>or <text>element relates(if any).•Iteration:Type of iteration(if any).Value of the foreach attribute of the<text>element.•Has R code:Indicates if the<text>element includes R code.•Uses return obj.:Indicates if the<text>element refers to the explained function’s return object.•Text:The text of the respective<text>or<title>element(including R code).This column is only included if show.text=TRUE.To learn more about the structure of xplain XMLfiles,go to the xplain help page or consult the web tutorial.More material on the internetWeb tutorial on how to work with xplain:https://www.zuckarelli.de/xplain/index.html xplain cheat sheet:https://www.zuckarelli.de/xplain/xplain_cheatsheet.pdfAuthor(s)Joachim Zuckarelli,<*********************>See Alsoxplain-package,xplain,xplain.getcallExamplesxml.path<-system.file("","example_lm.xml",package="xplain") xplain.overview(xml.path)Indexxplain,2,3,7,8xplain-package,2xplain.getcall,2,6,6,8xplain.overview,2,6,7,710。
软件开发十钟关键技术
软件开发十钟关键技术本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的开展。
虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。
一、XML在十种技术中,最重要的一种技术我想应该非XML莫属。
这里不仅仅指XML标准本身,还包括一系列有关的基于XML的语言:主要有XHTML,XSLT,XSL,DTDs,XML Schema 〔XSD〕,XPath,XQuery和SOAP。
如果你现在还对XML一无所知,那么赶快狂补吧。
XML 是包含类似于HTML标签的一个文本文件,在这个文件中定义了一个树型结构来描述它所保存的数据。
XML最大的优点是你既可以在这个文本文件中存储结构化数据,也可以在其中存储非结构化数据——也就是说,它能包含和描述“粗糙的〞文档数据,就像它描述“规那么的〞表格数据一样。
XHTML是目前编写HTML的首选方法;因为XHTML本身就是格式良好的XML,与通常畸形的HTML文档相比,XHTML格式文档更容易处理。
XSLT和XSL是对XML文档进行转换的语言。
它们可以将XML文档转换成各种格式,比方另一个文本文件、PDF文件、HTML文件、逗号分割的文件,或者转换成其它的XML 文档。
DTDs和XML Schema用来描述XML文件所包含的数据内容的类型,使你不用编写定制的代码就能对XML文档的内容进行“有效性〞检查,使内容强行遵守给出的规那么。
XPath和XQuery是查询语言,用它们可以从XML文档中吸取单个的数据项或者数据项列表。
XQuery的功能特别强大,因为它对XPath查询进行了扩展。
实际上,XQuery和XML的关系就像SQL之于关系数据库一样。
SOAP是Web services间进行通讯的标准协议。
你不必知道SOAP协议的所有细节,但是你应该熟悉其常用规那么及其工作原理,这样你才能使用它。
二、Web ServicesWeb效劳是XML流行后的直接产物。
flash动作脚本ActionScript外文翻译
《动作脚本》,摘自自维基百科,自由的百科全书《ActionScript》Designed by Gary Grossman英文译文:动作脚本ActionScript是Macromedia(现已被Adobe收购)为其Flash产品开发的,最初是一种简单的脚本语言,此刻最新版本3.0,是一种完全的面向对象的编程语言,功能壮大,类库丰硕,语法类似JavaScript,多用于Flash互动性、娱乐性、有效性开发,网页制作和RIA应用程序开发。
ActionScript 是一种基于ECMAScript的脚本语言,可用于编写Adobe Flash动画和应用程序。
由于ActionScript和JavaScript都是基于ECMAScript语法的,理论上它们相互能够很流畅地从一种语言翻译到另一种。
只是JavaScript的文档对象模型(DOM)是以阅读器窗口,文档和表单为主的,ActionScript的文档对象模型(DOM)那么以SWF格式动画为主,可包括动画,音频,文字和事件处置。
历史在Mac OS X 10.2操作系统上的Macromedia Flash MX专业版里,这些代码能够创建一个与MAC OS X启动进程中看见的类似的动画。
ActionScript第一次以它目前的语法显现是Flash 5版本,这也是第一个完全可对Flash编程的版本。
那个版本被命名为ActionScript1.0。
Flash 6通过增加大量的内置函数和对动画元素更好的编程操纵更进一步增强了编程环境的功能。
Flash 7(MX 2004)引进了ActionScript2.0,它增加了强类型(strong typing)和面向对象特点,如显式类声明,继承,接口和严格数据类型。
ActionScript1.0和2.0利用相同的编译形式编译成Flash SWF文件(即Shockwave Flash files,或'Small Web Format').时刻表Flash Player 2:第一个支持脚本的版本,包括操纵时刻轴的gotoAndPlay, gotoAndStop, nextFrame和nextScene等动作。
Cheatsheet
Search CheatSheetHere are some examples illustrating some useful things you can do with the search language.Learn more about the commands used in these examples by referring to the search command reference.Add fieldsExtract data from events into fields so that you can analyze and run reports on it in a meaningful way.Extract field/value pairs and reload field extraction settings from disk. * | extract reload=trueExtract field/value pairs that are delimited by "|;", and values of fields that are delimited by "=:". * | extract pairdelim="|;", kvdelim="=:", auto=f Extract the COMMAND field when it occurs in rows that contain "splunkd". * | xmlkvAdd the field: comboIP. Values of comboIP = "sourceIP + "/" + destIP". * | multikv fields COMMAND filter splunkd Extract "from" and "to" fields using regular expressions. If a raw event contains "From: Susan To: Bob", * | rex field=_raw "From: (?<from>.*) To:then from=Susan and to=Bob. (?<to>.*)"Add the field: comboIP. Values of comboIP = "sourceIP + "/" + destIP". * | strcat sourceIP "/" destIP comboIPAdd the field: velocity. Values of velocity = distance field value / time field value (using an SQLite evaluation). * | eval velocity=distance/timeAdd location information (based on IP address) to the first twenty events that contain "404" and are from 404 host=webserver1 | head 20 | iplocation from webserver1.Convert fieldsChange the names of fields, the units of values stored in fields, the types of data stored in fields, or the attributes of fields.Convert every field value to a number value except for values in the field "foo" (use the {{none}} * | convert auto(*) none(foo)argument to specify fields to ignore).Change all memory values in the virt field to Kilobytes. * | convert memk(virt)Change the sendmail syslog duration format (D+HH:MM:SS) to seconds. For example, * | convert dur2sec(delay)if delay="00:10:15", the resulting value will be delay="615".Convert values of the duration field into number value by removing string values in the field value. * | convert rmunit(duration)}}For example, if duration="212 sec", the resulting value will be duration="212".Rename the _ip field as IPAddress. * | rename _ip as IPAddressChange any host value that ends with "localhost" to "localhost". * | replace *localhost with localhost in host Filter and order fieldsFilter and re-arrange how Splunk displays fields within search results.Keep only the host and ip fields, and display them in the order: host, ip. * | fields host, ipKeep only the host and ip fields, and remove all internal fields (for example, * | fields + host, ip_time, _raw, etc.) that may cause problems in Splunk Web.Remove the host and ip fields. * | fields - host, ipFilter resultsFilter search result sets by removing duplicate events, using regular expressions, or by searching within a result set.Keep only search results that have matching src or dst values. * | search src="10.9.165.*" OR dst="10.9.165.8" Keep only search results whose _raw field contains IP addresses in the * | regex _raw=(?<!\d)10.\d{1,3}\.\d{1,3}\.\dnon-routable class A (10.0.0.0/8). {1,3}(?!\dRemove duplicates of results with the same host value. * | dedup hostOrder resultsSort, re-order, or return a portion of a search result set.Sort results by ip value in ascending order and then by url value in descending order. * | sort ip, -urlReverse the order of a result set. * | reverseReturn the first 20 results. * | head 20Return the last 20 results (in reverse order). * | tail 20Group resultsGroup search results into a transaction (a single observation of any event stretching over multiple logged events) based on related pieces of information,or group results by statistical correlation.Group search results that have the same host and cookie, occur within 30 seconds of each * | transaction fields="host,cookie"other, and do not have a pause greater than 5 seconds between each event into a transaction. maxspan=30s maxpause=5sGroup search results that share the same value of from, with a maximum span of 30 seconds, * | transaction fields=from maxspan=30sand a pause between events no greater than 5 seconds into a transaction. maxpause=5sGroup search results into 4 clusters based on the values of the date_hour and date_minute fields. * | kmeans k=4 date_hour date_minute Cluster events together, sort them by their cluster_count values, and then return the 20 largest * | cluster t=0.9 showcount=true | sort -cluster_count | head 20}}||Classify EventsClassify events as a type (event type), or have Splunk automatically classify events.Force Splunk to apply event types that you have configured (Splunk Web automatically * | typerdoes this when you view the eventtype field).Have Splunk automatically discover and apply event types to events that contain the error | typelearnerstring "error".Change display formattingChange how Splunk displays events by highlighting terms, displaying summarized raw data, showing the differences between events, or unescaping XML characters. Highlight the terms "login" and "logout". * | highlight login,logoutSearch for events from "xml_escaped", and unescape XML characters. source="xml_escaped" | xmlunescapeShow a summary of up to 5 lines for each search result. * | abstract maxlines=5Compare the ip values of the first and third search results. * | diff pos1=1 pos2=3 attribute=ipGenerate dataGenerate search results from your data using commands other than search.Note: You must use a pipe ( | ) before any data-generating command that isn't the search command.Read in results from the CSV file: $SPLUNK_HOME/var/run/splunk/all.csv, keep any that | inputcsv all.csv | search error | outputcsv errors.csvcontain the file: $SPLUNK_HOME/var/run/splunk/error.csvDisplay events from the file messages.1 as if the events were indexed in Splunk. | file /var/log/messages.1Run the mysecurityquery saved search, and email any results to user@. | savedsearch mysecurityquery AND _count > 0 or | sendemailto=user@ReportSummarize the results of any search as a report by performing statistical operations, and graphing functions.Return the least common values of the url field. * | rare urlReturn the 20 most common values of the url field. * | top limit=20 urlRemove duplicates of results with the same host value and return the total count * | stats dc(host)of the remaining results.Return the average for each hour, of any unique field that ends with the string "lay" * | stats avg(*lay) BY date_hour(for example, delay, xdelay, relay, etc).Search the access logs, and return the number of hits from the top 100 values of sourcetype=access_combined | top limit=100 referer_domain referer_domain. | stats sum(count)Search the access logs, and return the results associated with each other (that have sourcetype=access_combined | associate supcnt=3at least 3 references to each other).Return the average (mean) size for each distinct host. * | chart avg(size) by hostReturn the the maximum delay by size, where size is broken down into a maximum * | chart max(delay) by size bins=10of 10 equal sized buckets.Graph the average thruput of hosts over time. * | timechart span=5m avg(thruput) by hostCreate a timechart of average cpu_seconds by host, and remove data (outlying values) * | timechart avg(cpu_seconds) by host | outlier action=TRthat may distort the timechart's axis.Search for all ps events, extract values, and calculate the average value of CPU each sourcetype=ps | multikv | timechart span=1m avg(CPU) by host minute for each host.Create a timechart of the count of from web sources by host, and fill all null values sourcetype=web | timechart count by host | fillnull value=NULL with "NULL".Build a contingency table of datafields from all events. * | contingency datafield1 datafield2 maxrows=5 maxcols=5usetotal=FCalculate the co-occurrence correlation between all fields. * | correlate type=cocurCalculate the sums of the numeric fields of each result, and put the sums in the field sum. * | addtotals fieldname=sumReturn events with uncommon values. * | anomalousvalue action=filter pthresh=0.02Bucket search results into 10 bins, and return the count of raw events for each bucket. * | bucket size bins=10 | stats count(_raw) by sizeReturn the average thruput of each host for each 5 minute time span. * | bucket _time span=5m | stats avg(thruput) by=_time host AdministrativePerform administration tasks using search commands. Crawl your servers to discover more data to index, view configuration settings, or see audit information.Crawl root and home directories and add all possible inputs found (adds configuration | crawl root="/;/Users/" | input addinformation to inputs.conf).View processing properties stored in props.conf - time zones, breaking characters, etc. | admin propsView audit trail information stored in the local audit index. Also decrypt signed audit index=audit | auditevents while checking for gaps and tampering.SubsearchUse subsearches to use search results as an argument to filter search result sets with more granularity.Return values of URL that contain the string "404" or "303" but not both. * | set diff [search 404 | fields url] [search 303 | fields url] Search for events around events associated with "root" and "login", and then search login root | localize maxspan=5m maxpause=5m | map search= each of those time ranges for "failure". "search failure starttimeu=$starttime$ endtimeu=$endtime$" Create a search string from the values of the host, source and sourcetype fields. [* | fields + source, sourcetype, host | format ]。
上下文无关文法与语言
第 5 章上下文无关文法及语言现在我们把注意力从正则语言转移到另外一大类语言上来,它们叫做“上下文无关语言”。
这个语言类有着自然、递归的表示方法,这种表示方法叫做“上下文无关文法”。
从1960年以来,上下文无关文法一直在编译技术中扮演着重要的角色。
它们能够把分析器(一类用来在编译过程中发掘源程序结构的程序)的实现从一种费时的、不通用方式的设计工作转变成为一种能够很快完成的工作。
近年来,上下文无关文法也被用来描述文档格式:XML(eXtensible Markup Language 可扩展标记语言)中使用的DTD(Document-Type Definition 文档类型定义)就是用来描述Web上的信息交换格式的。
在本章中,我们将首先介绍上下文无关文法的表示方法,然后将介绍怎样用文法来定义语言。
我们将会讨论到“语法分析树”──对一个文法处在它所表示的语言的字符串中结构的图形描述。
语法分析树是对一个编程语言的语法分析器的产物,也是通常用来获得程序结构的途径。
上下文无关语言还有另外一种等价的自动机表示叫做“下推自动机”。
我们将在第6章介绍下推自动机。
虽然它不如有穷自动机重要,但仍然要介绍它,原因是作为一种语言的定义机制来说,它跟上下文无关文法具有等价性,后面在第7章研究如何判定上下文无关语言以及研究上下文无关语言的封闭性时,这种等价性是非常有用的。
5.1 上下文无关文法这一章的内容将从非形式化地介绍上下文无关文法的表示法开始。
形式化的定义会在读者了解到这些文法的一些重要的能力之后给出。
届时我们将会说明怎样形式地定义一个文法,并将介绍一种叫作“推导”的过程:它能够决定在一个文法的语言中到底有哪些串。
5.1.1一个非形式化的例子下面来考虑一个“回文(palindrome)”的语言。
“回文”是指正向和反向读起来都一样的串,比如otto或者madamimadam(“Madam, I’m Adam,”引自Eve在Eden的花园里听到的第一句话)。
【读书笔记】《MasteringRegularExpressions》读书笔记
《MasteringRegularExpressions^ 读书笔记近段涉及到了数据的解析,自然离不开对regular expressions (正则表达式)的温习;在jdk官方源码中看到了对《mastering regular expressions, 2nd edition》的推荐;由jeffrey e.f. friedl 大师主刀,oreilly 于XX 年再版。
对oreilly 的书向有好感,像当年误入ja旧的歧途,没看jove编程思想之类的,倒看了oreilly的一本影印版^java in a nutshell》,颇留记忆。
正则表达式的“祖先〃可以一直上溯至对人类神经系统如何工作的早期研究。
warren mcculloch和waiter pitts这两位神经生理学家研究出一种数学方式来描述这些神经网络。
1956年,一位叫stephen kleene的数学家在mcculloch 和pitts早期工作的基础上,发表了一篇标题为“神经网事件的表示法〃的论文,引入了正则表达式的概念。
正则表达式就是用来描述他称为〃正则集的代数〃的表达式,因此采用“正则表达式〃这个术语。
随后,发现可以将这一工作应用于使用ken thompson的计算搜索算法的一些早期研究,ken thompson是unix的主要发明人。
正则表达式的第一个实用应用程序就是unix中的qed编辑器。
目前,正则表达式已经在很多软件中得到广泛的应用,包K*nix (linux, unix 等),hp等操作系统;php, perl, python, c#, jeva等开发环境,以及很多的应用软件中,for example:网络上的搜索引擎,数据库的全文检索etc...本笔记是是自我学习过程的一个整理,例子或来源于书本,或自己枚举。
好了,废话一勢筐,切入正题。
1、正则表达式的介绍1.2、行开始和结束1 / 2A begin line o匹配行开头,如Mat匹配以cat开头的$end lineo匹配行结束,如cet$匹配以cat结束的;八曲$仅仅匹配该行有cat1.2、匹配给定的字符序列表示in。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Using XML and Regular Expressions in theSyntactic Analysis of Inflectional LanguageMarek Trabalka and M´a ria Bielikov´aSlovak University of TechnologyDepartment of Computer Science and EngineeringIlkoviˇc ova3,81219Bratislava,Slovakiatrabalka@dcs.elf.stuba.sk,bielik@elf.stuba.skAbstract.In this paper we describe an approach to representation ofdata and knowledge using two technologies:XML and regular expres-sions in a domain of natural language syntactic analysis.Analysis of textwritten in natural language requires several lexicons that aid the pro-cess of syntactic analysis.Moreover knowledge about the language(e.g.,syntactic rules)should be represented and interpreted.An effective syn-tactic parser requires effective representation and manipulation of thesedata and knowledge.XML and regular expressions allow unified repre-sentation of static and dynamic aspects of the natural language analysis.One of the major features of our approach is its extensibility and opencharacter.We used this representation within our method of syntacticanalysis,which is based on the bottom-up model.1IntroductionSyntactic parsing plays an important role in the natural language processing. It can be used for tasks related to correcting documents and searching relevant information.The mentioned area of research has growing importance with the growth of the use of World Wide Web as an environment for sharing information. Syntactic analysis can be employed for improving search on Internet[3,2].The analysis allows,for example,extracting noun phrases of the user request written in natural language,which can serve for further searching orfiltering relevant information.Analysis of the text can be employed also in the task of classification of documents.For the tasks mentioned above an efficient syntactic parser is required.We deal with the problem of syntactic analysis for inflectional languages,n-guages,where words have usually several different morphological forms that are created by changing a suffix.Analysis of text written in the inflectional language requires several lexicons, which aid the process of syntactic analysis.Syntactic analysis depends heavily The work reported here was partially supported by Slovak Science Grant Agency, grant No.95/5195/605and project INCO Copernicus,No.977069,European Re-search Network for Intelligent Support of Electromyographic Studies:EMG-Net.on our knowledge about the language(e.g.,knowledge about paradigms and their forms).An effective syntactic parser requires effective representation and manipulation of these data and knowledge.An effective implementation of the natural language syntactic parser requires that we represent these knowledge and reason effectively about them.The purpose of this paper is to report on our approach to representation of data and knowledge using the eXtensible Markup Language(XML)and regular bination of XML and regular expressions provides interesting and robust features of the application.It enables unified representation of static and dynamic aspects of the natural language analysis.One of the major features of this approach is its extensibility and open character.We describe the use of such representation within our method of syntactic analysis,which is based on the bottom-up model.2Syntactic Parser for Inflectional LanguageA syntactic parser can be designed and implemented in a few lines of program(in languages,which allow effective representation of the parser,e.g.Prolog or Perl). Unfortunately such”simple”solutions produce exponential growth of possible word combinations during the analysis.Problem arises with the efficiency and then usability of such parser.Most of today’s research and practice in syntactic parsing is concerned with the English language.The concentration on English has resulted in advances in solving of its linguistic problems.However parsing text written in other languages often requires solving different problems.Performance of the syntactic parsers for the English language is often not satisfactory,in particular for inflectional languages[12].We proposed bottom-up syntactic parsing method,which starts with words in a sentence(the terminals)and attempts tofind series of reductions that yield the sentence.This approach is suitable for inflectional languages(e.g., Slavic languages such as the Slovak,Czech,or Russian languages),which are characteristic by their relatively high degree of word order nguages like English have strong word order and the position of the word expresses its role in the sentence.In that situation,usage of a top-down parser is highly recommended because of its prediction features.On the other hand the order of sentence constituents in the inflectional language is not strict and often is driven more by a human intuition rather than byfirmly given rules[8].Therefore design of the top-down syntactic parser for the inflectional language requires consideration of many possible combinations of words in the sentence.In the inflectional language it is possible to determine role of the word even at the centre of the sentence when no analysis of the previous words has been made.We adopted this feature to parse the sentence in an effective way.We use morphological categories of words and syntactic rules for connecting words into the phrases to built larger and larger phrases andfinally combine them into the sentence.In our method,words are not processed from left to right(suchFig.1.Process of a sentence analysis.as e.g.in[5]),but processing depends on a word’s potential role and priority of syntactic rules defined in the knowledge base.Analysis of a sentence is performed at the three levels:phonological,morpho-logical and syntactical.Phonological analysis is aimed to the sound examination that is combined to form a language.We consider phonology only at the level of symbols recognition,which belong to the particular language.Figure1illus-trates the main steps of our method of the sentence analysis,which comprises morphological and syntactic levels.At the beginning of the process all possible morphological categories of each word are found.Our approach to morphological analysis is based on subsequent refining of partial results.A base form of a word is created and its presence is checked in the lexicon.Next,the suffix of the word is analysed in order tofilter impossible forms.Finally,all potential paradigms are checked tofind match-ing forms.The result of morphological analysis is often ambiguous.Determined base form and grammatical categories of matching word constitute a basis for syntactic parsing.The principle of the suffix analysis is based on the fact that many words have typical endings,which determine some of their morphological categories.This approach is applicable also for checking letters before the actual grammatical suffix(which is used obviously in the suffix analysis).For example,the suffix -pcia is in the Slovak language typical for famine nouns in singular nominative. However,the suffix-a(grammatical suffix of words with the suffix-pcia)is much more ambiguous.It can determine verb,noun,or adjective in various numbers cases and genders.In order to perform suffix analysis we checked a stock of language words and defined meaningful suffixes into a lexicon.The main advantage of the proposed approach is that the process of suffix analysis is straightforward and fast.It can also disambiguate some alternatives in very early stage of the analysis.However, such analysis can produce more results(possible word categories)because not all suffixes are unambiguous.This limitation is resolved by including the adaptive morphological analysis and the syntactic analysis that reduce the number of possible alternatives.The method of adaptive morphological analysis[10]automates the process of binding an unknown word to an appropriate paradigm.It uses knowledge about paradigms and heuristics to compute an acceptance probability of the form for the particular word.Input to the method is a word,which is subject to the morphological analysis(in an arbitrary form).Output presents determination of the form for the analysed word(a set of morphological tags)with an accep-tance probability.Output can be ambiguous,i.e.several different forms with their acceptance probabilities are returned.Alternatives and their acceptance probabilities are computed by means of linguistic knowledge.Linguistic knowl-edge is eitherfilled in advance by an expert,or learned by the system during the previous analysis.By the use of morphological analysis an initial graph for syntactic analysis is created.The nodes represent forms of words.Oriented edges connect forms of neighbouring words.The process of syntactical analysis then creates new nodes using syntactic rules about connections forms into a phrase.The new node represents particular phrase.It is connected to all predecessors of thefirst node and to all successors of the last node of the phrase was made of.The parser has to remember the application of each rule on each combination of nodes.If a node without neither predecessors nor successors is created,parsing is successful.Such node represents full sentence and parsing trees can be created by analysing history of the analysis.If there is no such node and no syntactic rule can be further applicable,parsing was unsuccessful.Our approach takes advantage of refined processing of the sentence in several adjoin phases.The analysis exploits the morphological information about par-ticular suffixes.Suffix analysis often produces ambiguous results although in the particular context the word has often only one meaningful form.This limitation is resolved by including the adaptive morphological analysis[10]and the syntac-tic analysis that starts analysis with the most promising part of the sentence. The number of possible alternatives is significantly reduced.3XML and Regular Expressions RepresentationXML is a metamarkup language that allows a document’s structure to be de-scribed in terms of a hierarchy of named elements with additional properties expressed as attribute-value pairs.It provides platform for standard infrastruc-ture in situations where text and other media are to be combined,exchanged and published[1].Popularity of XML is strongly influenced by the World WideWeb development:XML is designed to be used on the Web.This deployment on the Web opens up many new opportunities for using XML that was never available with SGML[4].XML offers greatflexibility in data structuring.It is often used as an im-port/export format or as a universal data exchange format.However XML can be used also directly within a data processing as an internal pli-cated internal structures are often used to describe less or more complex entities and relations between them.We believe that XML can and should be exploited in many such cases instead internal structures.It will enhance interoperabil-ity of different systems(software agents in particular)[7].Undoubtedly,XML alone does not provide the job itself.We need powerful tools to manipulate data represented by XML.We can see the XML document as a tree of nodes with their defined attributes and values(many existing tools manipulate with the XML document in this way).Then various functions are designed for the manipulation and query such a tree and its nodes[6].On the other hand,we can look and manipulate the XML document as a string(often long and complicated).Strings are effectively manipulated by the use of regular expressions.Regular expression is used to search or replace text fragments specified by a special syntax.The richness and power of regular expressions is acceptable for most of the XML processing tasks.Such processing can be effectively and easy expressed in several programming languages(e.g., Perl).3.1Perl:Comparison of Tree-Parsing Functions and RegularExpressions UsagePerl is an efficient programming language for text processing.Perl has built-in regular expressions support.Together with lot of various libraries,portability and a free of charge policy,Perl is an effective tool for many text-processing tasks.Perl is suitable for the use of combination of regular expressions and the XML. We used for this task the library XML-Parser aimed to parse and manipulate XML and the library XML-DOM that provides functions conforming to API of the Document Object Model.Various functions of these two libraries allow parsing of the XML document,selecting specified node(tag),modifying nodes’attributes, adding sub-nodes etc.Simple example bellow shows the way of manipulation with the XML docu-ments in Perl:$xml=’<doc1><item1attr1="val1">Hello</item1></doc1>’;#1$root=$parser->parse($xml);#2$doc=$root->getElementsByTagName("doc1",0)->item(0);#3$item=$doc->getElementsByTagName("item1",0)->item(0);#4print$doc->getAttribute("attr1");#5Thefirst line defines the XML string.The parser parses this string and returns root node at the second line.After the successful parse we can manipulate the XML string,e.g.query child nodes by their name(lines3and4)or work with the node’s attribute(line5).We can also manipulate the XML document by the use of string functions for regular expressions.The following example matches the tag<item1>preceded by the tag<doc1>and remembers the value of the attribute attr1.Everything matched inside brackets()is automatically stored into special variables$1,$2, etc.Number after$sign is determined by the sequence of the opening bracket, so the contents of thefirst bracket pair is stored in the$1variable,contents of the second brackets will be in variable$2etc.$xml=~m{<doc1><item1[^>].*attr1="(.*?)"};print$1;It is clear that in some cases usage of regular expressions can be very efficient for writing,but it is limited to relatively simple manipulations.4Data and Knowledge for Syntactic ParserWe use XML and regular expressions to represent data and knowledge required for realisation of the method of syntactic analysis described in Section2.Our approach to analysis of a sentence is based on subsequent refining of partial re-sults.During the analysis different data and knowledge are used and subsequent result(tagged text)travels through defined stages.It would be advantageous to use a platform independent and extensible format,i.e.XML,for respective text analysis steps.Figure2illustrates relation between data and particular steps of the syntac-tic analysis.Suffix analysis belongs to the step of morphological analysis.It is depicted also within sentence analysis frame,because our method of syntactic analysis actually does not need a base form of the word.We found out that result of combination of the suffix analysis and the syntactic analysis is satisfactory for several applications of the method.4.1Static ViewIt is obvious that we need a large repository of linguistic data and knowledge to perform parsing and checking a sentence.There are many ways how different authors solve the storage of these data and knowledge.They often use some self-defined text formats or database tables(see e.g.how word can be tagged[11]).We use the XML language to represent all kinds of data and knowledge in the system.It is well-readable and easy manipulating format for both people and computers.The following example shows the record for the word in a dictionary, which represents pronoun ja(I in English):<PRONOUN case="1"number="sg"gender="m|f|n"person="1">ja</PRONOUN>Fig.2.Steps of the analysis and required lexicons.Similarly we define rules for suffix analysis.The rule defines probability of a word form for its particular ending.The example bellow shows such rules for suffixes-aca and-iaca):<NOUN cf="2"animate="y|n"case="2|4"number="sg"gender="m">+aca</NOUN> <ADJECTIVE cf="2"case="1"number="sg"gender="f">+iaca</ADJECTIVE> Although XML provides an efficient representation for lexicon definitions there is also another possibility how to use it within our system.XML can be used as an internal representation of the current state of the computation process.We use XML directly during parsing to manipulate already parsed fragments and replace them with a new one,also written in XML.Thefigure2illustrates primary data and knowledge necessary to the analysis of a sentence.In order to achieve good results of the analysis,different statistics and heuristics should be represented.For example,to perform an adaptive morphological analysis(mentioned in Section2)we represent the statistical information about particular word forms in the following form:<WORD occ="2"ref="1"sk="1">adresou</WORD>(occ attribute represents total number of the particular word occurences).However,for the sake of the efficiency lexicon data should be stored in a database.Data are extracted from the database(on thefly while being read from the database)and transformed into the XML document between the successive steps of the analysis.4.2Dynamic ViewRegular expressions represent transformations of static structures,their modifi-cation,matching and manipulation.Matching expressions are used to categorise or check static elements.In a definition of incorrect words such matching rule can express non-existent letter combination.For example,<INCORRECT>m{b[bdfgpqwxz]}</INCORRECT>means that word where letter b is followed by one of letters b or d or f,etc.is incorrect in the Slovak language.More often we use substitution expressions that specify rewriting of the XML string during the analysis.Substitution expressions are used to express syntactic rules of the analysed language.Substitution expressions are stored inside a tag RULE.The rule consists of the two parts:<RULE>s{left-hand-side}{right-hand side}</RULE>Left-hand side of the rule determines text to be substituted.Right-hand side specifies the text used for a substitution.The following example rule specifies the combination of attribute and noun phrase with the same grammatical categories into one phrase:<RULE cf="8.5">s{<ATTRIBUTE(animate="\w*")(case="\d*")(number="\w*")(gender="\w*")>(\r*)</ATTRIBUTE><NOUNPHRASE\1\2\3\4(person="\d*")(compoundnumber="\w*")>(\r*)</NOUNPHRASE>}{<NOUNPHRASE$1$2$3$4$6$7>$5$8</NOUNPHRASE>}m</RULE>Rules are exploited on all levels of the analysis.On the morphological level,rules are used for paradigm specification.In this case the rule specifies transformations between various forms of a word.On the syntactical level,rules describe trans-formation of morphological categories of words and into phrases and phrases intoa sentence.4.3Co-operation of the Static and Dynamic viewsIn order to provide useful results of syntactic analysis,the system should stick static and dynamic point of view together.Static structures represent necessary framework for information needed for parsing and also define status of the pars-ing process and different alternatives.On the other hand,regular expressions are used for representation of a dynamic behaviour of the system,i.e.how status structures are changing.The appendix demonstrates example of parsing phrase ”mal´a cesta”(”small road”in English).5ConclusionsIn the paper we describe our approach to syntactical analysis realisation by the use of XML and regular expressions.The main advantage of described approach is platform independence and extensibility.XML is used as a means for specify-ing data and knowledge needed for performing particular steps of the sentence analysis.Our approach provides space for defining specific vocabulary for natural lan-guage analysis similarly to existing standards aimed to different application do-mains(e.g.,MathML,a markup language for mathematical equations and for-mulae,GedML for marking up genealogical data,RDF(Resource DescriptionFormat)describing a standard for representing information about web resources, etc.).We started this work by defining DTD’s for data and knowledge needed for morphological and syntactical analysis.We developed software tools to validate described approach.Two programs, CheckText and VisualCheck perform grammar checking of the Slovak language. Thefirst one receives text for checking and returns the XML document,which represents a parsing tree of correct sentences and incorrect words or sentences. VisualCheck is the simple GUI program for interactive usage.It allows a user to write down some sentences and invoke the grammar checker.Then program highlights errors and suggests corrections to the user.Important part of our system is an agent-based subsystem used for automatic intelligent expansion of system’s morphological lexicon.It is based on a central synchronisation server and group of independent agents that browse Internet web pages and collect various forms of Slovak words.They exchange collected information through the central server.Such agents can be a part of grammar checker on the user’s machine and can perform self-improvement of the sentence analysis as the background process[10].One of the most interesting areas of usage of natural language analysis is an intelligent database interface.Such interfaces allow users to query database using commands and queries written in natural language and bring the power of querying to the wider range of users.In fact,natural language interface should not be limited to databases only,it is useful in almost any information system.Also searching in texts written in other languages than English often requires additional pre-processing based on the linguistic knowledge.Various word forms in inflectional languages make it hard tofind in texts all forms of a word.As a result a user often receives only a small portion of appropriate results.Another promising application for natural language analysis is informationfiltering.Our realisation based on XML enables to incorporate content basedfiltering into the existing collaborativefiltering approaches[9].Proper use of linguistic knowledge and tools in information systems can pro-vide easier user interface and interesting new functionality.The use of XML with regular expressions brings many advantages including simplicity,platform and application independence and extensibility.References1.Bradley.N.The XML companion.Addison Wesley,Harlow,England,1998.2.Clark,D.Natural language relevancy ranking,and common sense.IEEE IntelligentSystems,July/August1999,17-19.3.Cowie,J.,Lehnert,rmation munications of the ACM,Vol.39,No.1,80-91,January1996.4.Garshol,L.M.What can we do with XML?White paper,Infotek A/S,paper pre-sented at the SGML/XML Finland’98conference in Jyv¨a skyl¨a and at SGML User Group meeting in Oslo,1999.Available also athttp://www.stud.ifi.uio.no/∼lmariusg/download/artikler/fin s gml98.html.5.Hausser,R.Newcat:Parsing Natural Language using Left-Associative Grammar.Berlin,Springer-Verlag,1986.forest,F.,Tchounikine,A.A Model for Querying Annotated Documents.In Proc.of Advances in Databases and Information Systems,ADBIS’99,J.Eder et.al.(Eds.), Springer Verlag,LNCS1691,pp.61-74,1999.7.Leskovar,R.T.,Gy¨o rk¨o s,J.Interoperability in an Agent-based Workflow System.InProc.of Short Papers Advances in Databases and Information Systems,ADBIS’99, J.Eder,I.Rozman,T.Welzer(Eds.),pp.88-94,1999.8.Smrˇz,P.,Hor´a k,A.Implementation of Efficient and Portable Parser for Czech.InProc.of the Second Int.Workshop,TSD’99,V.Matouˇs ek et.al.(Eds.),Springer Verlag,LNAI1692,pp.105-108,1999.9.Polˇc icov´a,G.Recommending HTML-documents using Feature Guided AutomatedCollaborative Filtering.In Proceedings of Short Papers Advances in Databases and Information Systems,ADBIS’99,J.Eder et.al.(Eds.),pp.81-87,1999.10.Trabalka,M.,Bielikov´a,M.Performing Adaptive Morphological Analysis UsingInternet Resources.In Proc.of Text,Speech and Dialog,TSD’99,V.Matouˇs ek et.al.(Eds.),Springer Verlag,LNAI1692,pp.66-71,1999.11.Nenadic,G.,Vitas,ing Local Grammars for Agreement Modeling in HighlyInflective Languages.In Proc.of Text,Speech and Dialog,TSD’98,P.Sojka et.al.(Eds.),Masaryk University Press,pp.91-96,1998.12.P´a leˇs,E.Sapfo.Paraphraser of Slovak Language.Bratislava,1993.(In Slovak) Appendix:Example of ParsingInput:<TEXT>mal´a cesta</TEXT>Output of morphological analysis:<ADJECTIVE animate=""case="1"number="sg"gender="f">mal´a</ADJECTIVE><NOUN animate=""case="1"number="sg"gender="f">cesta</NOUN>Output of1st syntactic analysis step:<ATTRIBUTE animate=""case="1"number="sg"gender="f">mal´a</ATTRIBUTE> Used rule:<RULE cf="10">s{<ADJECTIVE(animate="\w*")(case="\d*")(number="\w*")(gender="\w*")>(\r*)</ADJECTIVE>}{<ATTRIBUTE$1$2$3$4>$5</ATTRIBUTE>}m</RULE>Output of2nd syntactic analysis step:<NOUNPHRASE animate=""case="1"number="sg"gender="f"person="3">mal´a cesta</NOUNPHRASE>Used rule:<RULE cf="8.5">s{<ATTRIBUTE(animate="\w*")(case="\d*")(number="\w*")(gender="\w*")>(\r*)</ATTRIBUTE><NOUN\1\2\3\4>(\r*)</NOUN>}{<NOUNPHRASE$1$2$3$4person="3">$5$6</NOUNPHRASE>}m</RULE>。