ImportXML
Script function

world.ImportXML

DOC_scripting Read about scripting

Type

Method

Summary

Imports configuration data in XML format

Prototype

long ImportXML(BSTR XML);

DOC_data_types View list of data type meanings


Description

This duplicates the functionality in the File menu -> Import -> Clipboard.

It allows you to import one or more triggers, aliases, macros, timers, variables, colours, numeric keypad configuration items.

The two things you cannot import here are general world configuration (use SetOption and SetAlphaOption for that), and plugins.

The XML text should start with one of the following, or -1 will be returned:

<?xml
<!--
<!DOCTYPE
<muclient
<world
<triggers
<aliases
<timers
<macros
<variables
<colours
<keypad
<printing
<comment
<include
<plugin
<script


In other words, to import a trigger you should start with <triggers>. You can import more than one type of thing, eg.

<triggers> ... </triggers> <aliases> ... </aliases>


The syntax is exactly the same as used in the world file, or if you copy a trigger/alias/timers/variable to the clipboard from the world configuration screens.

If there is a parsing error (eg. bad XML format, like unterminated element, or unknown option for an item) then a text window will open with the error description shown. Also, the function will return -2.

If there is no parsing error then the function will return the number of items imported, which might be zero if the syntax was OK, but nothing was actually added, eg. "<triggers></triggers>" would parse OK but not add anything.

If you copy triggers etc. from the world configuration then you will need to "double" the quotes (or escape them appropriately) as you will probably have quotes within quotes. See the examples below for more details.



VBscript example

ImportXML _
  "<timers>" & _
  "<timer name=""mylabel"" script=""timerscript"" enabled=""y"" hour=""16"" at_time=""y"" >" & _
  "</timer>" &_
  "</timers>"



Jscript example

ImportXML (
  "<timers>" +
  "<timer name="mylabel" script="timerscript" enabled="y" hour="16" at_time="y" >" +
  "</timer>" +
  "</timers>");



PerlScript example

ImportXML (
  "<timers>" .
  "<timer name="mylabel" script="timerscript" enabled="y" hour="16" at_time="y" >" .
  "</timer>" .
  "</timers>");



Python example

world.ImportXML (
  "<timers>" +
  "<timer name="mylabel" script="timerscript" enabled="y" hour="16" at_time="y" >" +
  "</timer>" +
  "</timers>")



Lua example

ImportXML
[[
<timers>
  <timer name="mytimer" 
         enabled="y" 
         minute="10" 
         group="battle" >
  <send>sigh</send>
  </timer>
</timers>
]]



Lua notes

A useful trick in Lua is to use multiple-line constants, as illustrated above.



Return value

-1 : not XML format - failed initial check
-2 : error parsing XML - see error window
0 or more: count of items imported




See Also ...

Topics

DOC_scripting Scripting
DOC_utils Utilities

Functions

FNC_AddAlias AddAlias (Adds an alias)
FNC_AddTimer AddTimer (Adds a timer)
FNC_AddTrigger AddTrigger (Adds a trigger)
FNC_Base64Decode Base64Decode (Takes a base-64 encoded string and decodes it.)
FNC_Base64Encode Base64Encode (Encodes a string using base-64 encoding.)
FNC_ChangeDir ChangeDir (Changes the MUSHclient working directory)
FNC_CreateGUID CreateGUID (Creates a GUID - Global Unique Identifier)
FNC_EditDistance EditDistance (Returns the Levenshtein Edit Distance between two words)
FNC_ErrorDesc ErrorDesc (Converts a MUSHclient script error code into an human-readable description)
FNC_ExportXML ExportXML (Exports a world item in XML format)
FNC_FixupEscapeSequences FixupEscapeSequences (Converts "escape sequences" like &#x5C;t to their equivalent codes.)
FNC_FixupHTML FixupHTML (Fixes up text for writing as HTML)
FNC_GenerateName GenerateName (Generates a random character name)
FNC_GetClipboard GetClipboard (Gets the clipboard contents)
FNC_GetScriptTime GetScriptTime (Returns the amount of time spent in script routines)
FNC_GetUniqueID GetUniqueID (Creates a unique ID for general use, or for making Plugin IDs)
FNC_GetUniqueNumber GetUniqueNumber (Returns a unique number)
FNC_Hash Hash (Produces a hash (checksum) of a specified piece of text)
FNC_Help Help (Shows help for a script function, or a list of functions)
FNC_Metaphone Metaphone (Returns the metaphone code for the supplied word)
FNC_MtRand MtRand (Returns pseudo-random number using the Mersenne Twister algorithm)
FNC_MtSrand MtSrand (Seed the Mersenne Twister pseudo-random number generator)
FNC_ReadNamesFile ReadNamesFile (Loads in a file for generating character names)
FNC_Replace Replace (Replaces one substring with another)
FNC_SetAlphaOption SetAlphaOption (Sets value of a named world alphanumeric option)
FNC_SetClipboard SetClipboard (Sets the clipboard contents)
FNC_SetOption SetOption (Sets value of a named world option)
FNC_SetStatus SetStatus (Sets the status line text)
FNC_Simulate Simulate (Simulate input from the MUD, for debugging purposes)
FNC_Sound Sound (Plays a sound)
FNC_StripANSI StripANSI (Strips ANSI colour sequences from a string)
FNC_Trace Trace (Trace mode property)
FNC_TraceOut TraceOut (Outputs the supplied message to the world Trace)
FNC_TranslateGerman TranslateGerman (Translate German umluat sequences)
FNC_Transparency Transparency (Sets the transparency of the main MUSHclient window under Windows XP)
FNC_Trim Trim (Trims leading and trailing spaces from a string)

(Help topic: function=ImportXML)

DOC_contents Documentation contents page