UserAgent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.9) 
Gecko/20050711 Firefox/1.0.5
IP: 198.54.202.234
URI: http://wesnoth.slack.it/?SyntaxWML
 - - - - -
Index: SyntaxWML
===================================================================
RCS file: /home/wesnoth/cvsroot/wikiroot/SyntaxWML,v
retrieving revision 1.19
diff -u -r1.19 SyntaxWML
--- SyntaxWML   2 Jul 2005 19:14:27 -0000       1.19
+++ SyntaxWML   18 Jul 2005 15:03:55 -0000
@@ -1,46 +1,55 @@
-Wesnoth syntax has three basic elements: //tags//, //keys//, and //values//.
-
+Wesnoth syntax has two basic elements: //tags// and //attributes//.
+Further, //attributes// consist of //keys// and //values//.
+Tag names and keys cannot contain whitespace.
+Any line beginning with a pound (||#||) sign is considered by WML as
+a comment, except for preprocessor declarations beginning with #.
 * ||[//tag-name//] //data// [///tag-name//]|| is a tag.
-Tags are used to partition information.
-A //top level// tag is one that is not inside any other tag.
-Each top level tag describes something about the game.
-Different tags work differently.
-For information about how a certain tag works, see ReferenceWML
+  Tags are used to partition information.
+  A //top level// tag is one that is not inside any other tag.
+  Each top level tag describes something about the game.
+  Different tags work differently.
+  For information about how a certain tag works, see ReferenceWML.
 * ||[+//tag-name//] //data// [///tag-name//]|| means that //data//
-will be considered as part of the data for the most recent [//tagname//] tag.
-The //data// of [+//tag-name//] will be considered as coming after all data in 
[//tag-name//],
-so attributes of [+//tagname//] will replace attributes of the original 
[//tagname//].
-* ||//key//=//value// //newline//|| is an //attribute//, or an assignment of a 
value to a key.
-When this line is processed, the value of //key// for the tag
-that the attribute is in is set or changed to //value//
-All text from '=' until the end of the line is considered to be part of 
//value//.
-Note that //key// is not a WML variable (with the exception of VariablesWML);
-the value it is set to has a use which is determined by C++ code, not WML code.
-In order to change the value of a WML variable,
-you need to use ||[set_variable]|| (see InternalActionsWML).
+  will be considered as part of the data for the most recent [//tagname//]
+  tag.  The //data// of [+//tag-name//] will be considered as coming after
+  all data in [//tag-name//], so attributes of [+//tagname//] will replace
+  attributes of the original [//tagname//].
+* ||//key//=//value// //newline//|| is an //attribute//, or an assignment
+  of a value to a key.  When this line is processed, the value of //key//
+  for the tag that the attribute is in is set or changed to //value//.
+  All text from '=' until the end of the line is considered to be part
+  of //value//.  Note that //key// is not a WML variable (with the
+  exception of VariablesWML); the value it is set to has a use which
+  is determined by C++ code, not WML code.
+  In order to change the value of a WML variable,
+  you need to use ||[set_variable]|| (see InternalActionsWML).
+  ||There should be no space between the key and the '=' symbol!||
+  If there is whitespace, the attribute assignment is ignored.
 * ||//key1//,//key(s)2//=//value1//,//value(s)2// //newline//|| is the same as
-||//key1//=//value1// //newline// //key(s)2//=//value(s)2// //newline//||.
-If there are extra keys, they will be set to an empty value.
-If there are extra values the last key will be set to the CSV list of all 
remaining values
+  ||//key1//=//value1// //newline// //key(s)2//=//value(s)2// //newline//||.
+  If there are extra keys, they will be set to an empty value.
+  If there are extra values the last key will be set to the comma
+  separated list of all remaining values.
 
-Although a value can be just text corresponding to a function of its key
-(these values are displayed in quotes(||'||) in ReferenceWML),
+Although a value can be just text corresponding to a function of its
+key (these values are displayed in quotes (||'||) in ReferenceWML),
 a value can also be encoded:
-* ||"//multiple-line-value//"|| a multiple-line value must be enclosed in 
quotes,
-to prevent it being interpreted as a single-line value.
-Note that //multiple-line-value// doesn't have to have multiple lines;
-it can simply be a single-line value enclosed in quotes for clarity.
+* ||"//multiple-line-value//"|| a multiple-line value must be enclosed in
+  quotes, to prevent it being interpreted as a single-line value.
+  Note that //multiple-line-value// doesn't have to have multiple lines;
+  it can simply be a single-line value enclosed in quotes for clarity.
 * ||_ "//text//"|| is a //translatable// value.
-//text// is English text that will be displayed in-game at some point.
-Gettext (see GetText) is used to determine what to display if English is not 
the current language.
-* ||//value-1// + //value-2//|| can be used to concatenate two different 
translatable strings,
-to reduce the work of translators.
-Note that //value-1// or //value-2// can also be a concatenated value,
-so if you want to have a value that actually has a plus sign in it,
-you need to enclose the plus sign in quotes (see ||"//multiple-line-value//"|| 
above).
-* ||$//variable-name//|| a //variable// value depends on the value of the WML 
variable //variable-name//.
-See VariablesWML for more information on WML-variable based values.
-
+  //text// is English (US) text that will be displayed in-game at
+  some point.  Gettext (see GetText) is used to determine what to
+  display if English (US) is not the current language.
+* ||//value-1// + //value-2//|| can be used to concatenate two
+  different strings.  If you want to have a value that actually
+  has a plus sign (||+||) in it, you need to enclose the string
+  containing the ||+|| character in quotes
+  (see ||"//multiple-line-value//"|| above).
+* ||$//variable-name//|| a //variable// value depends on the value of
+  the WML variable //variable-name//.  See VariablesWML for
+  more information on WML-variable based values.
 
 Example:
  [scenario]
@@ -52,21 +61,20 @@
          recruit=Elvish Fighter,Elvish Archer
          [/side]
  [/scenario]
-
-In this example, [scenario] is a top level tag.
-When these lines are read, WML will know that there is a scenario with the ID 
"Elves Besieged".
-Later, when WML is told to play that scenario,
-it will read the [side] tag and give 100 gold to side 1.
-Then it will read the [+side] tag.
-It interprets this tag as belonging to side 1, since the most recent [side] 
belonged to side 1.
-So the [+side] tag allows side 1 to recruit Elvish Fighters and Elvish Archers.
+In this example, [scenario] is a top level tag.  When these
+lines are read, WML will know that there is a scenario with
+the ID "Elves Besieged".  Later, when WML is told to play
+that scenario, it will read the [side] tag and give 100 gold
+to side 1.  Then it will read the [+side] tag.
+It interprets this tag as belonging to side 1, since the
+most recent [side] belonged to side 1.  So the [+side] tag
+allows side 1 to recruit Elvish Fighters and Elvish Archers.
 (Then it will crash, as the leader of side 1 has no unit type.
 But this isn't really important.)
 
-Notes: Normally the order and indentation of attributes and tags does not 
matter,
-as long as the levels within tags are not changed.
+Notes: Normally the order and indentation of attributes and tags
+does not matter, as long as the levels within tags are not changed.
 So the above example could have been written:
-
  [scenario]
  [side]
  gold=100
@@ -74,25 +82,10 @@
  [/side]
  id=Elves Besieged
  [/scenario]
-
-However, you cannot add whitespace into tag names, key names, value names, or 
between WML processing symbols.
 Data inside tags should be separated with tabbing; see ConventionsWML.
-Any line beginning with a pound(||#||) sign is considered by WML as a comment,
-except for preprocessor functions beginning with #.
+
 
 ||See Also||
 
 * PreprocessorRef
 * ReferenceWML
-
-
-
-
-
-
-
-
-
-
-
-




_______________________________________________
Wesnoth-wiki-changes mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/wesnoth-wiki-changes

Reply via email to