* Holds the default template to be used by _makeNode when none is explicitly provided.
* The string should contain HTML code with placeholders made of a set of curly braces
* enclosing an initial processing code and arguments.
* Placeholders can be nested, any of the arguments in a placeholder can be another placeholder.
* The template may also contain regular placeholders as used by Y.substitute,
* whose values will be extracted from the second argument to _makeNode.
* The processing codes are:

{@ attributeName} configuration attribute values

{p propertyName} instance property values

{m methodName arg1 arg2 ....} return value from instance method.
The m code should be followed by the
method name and any number of arguments. The
placeholder is replaced by the return value or the named method.

{1 arg1 arg2 arg3} If arg1 is 1 it returns arg2 otherwise arg3. Used to produce singular/plural text.
Argument arg1 is usually a nested placeholder.

{} any other value will be handled just like Y.substitute does.

* For placeholders containing several arguments they must be separated by white spaces.
* Strings must be enclosed in double quotes, no single quotes allowed.
* The backslash is the escape character within strings.
* Numbers, null, true and false will be recognized and converted to their native values.
* Any argument can be a further placeholder, enclosed in its own set of curly braces.
* @property _TEMPLATE
* @type String
* @static
* @protected
*/
/**
* ** This is a documentation entry only.
* This property is not defined in this file, it should be defined by the developer. **

* Holds an array of strings, each the suffix used to define a CSS className using the
* _cssPrefix of each class. The names listed here are used as the keys into
* this._classNames,
* as the argument to the {c} template placeholder
* and as keys for the entries in the _EVENTS property.
* They are also used by _locateNodes to create the private properties that hold
* references to the nodes created.
* @property _CLASS_NAMES
* @type [String]
* @static
* @protected
*/
/**
* ** This is a documentation entry only.
* This property is not defined in this file, it should be defined by the developer. **

* Lists the attributes whose value should be reflected in the UI.
* It contains an object with two properties, BIND and SYNC, each
* containing the name of an attribute or an array of names of attributes.
* Those listed in BIND will have listeners attached to their change event
* so every such change is refreshed in the UI.
* Those listed in SYNC will be refreshed when the UI is rendered.
* For each entry in either list there should be a method named using the _uiSet prefix, followed by
* the name of the attribute, with its first character in uppercase.
* This function will receive the value to be set and the source of the change.
* @property _ATTRS_2_UI
* @type Object
* @static
* @protected
*/
/**
* ** This is a documentation entry only.
* This property is not defined in this file, it should be defined by the developer. **

* Contains a hash of elements to attach event listeners to.
* Each element is identified by the suffix of its generated className,
* as declared in the _CLASS_NAMES property.
* There are three further element identifiers,
* a "." identifies the boundingBox of the Widget, "content" its contextBox, and a ".." identifies the document
* where the component is in.
* If the Y.WidgetStdMod extension is used the "HEADER", "BODY" and "FOOTER" identifiers will also be available.
* Each entry is made of a further hash using the type of event to listen to ("key", "mousedown", etc)
* as the key to each handler.
* For each type of event, you can list either a string with the name of an instance method that will handle the event
* or an object with properties fn with a string with the name of the instance method and an args property with extra
* arguments for the listener, such as a key descriptor for key events
* @property _EVENTS
* @type Object
* @static
* @protected
*/
Y.MakeNode = MakeNode;
},0.9,{
requires:['substitute','classnamemanager']
});