Tag library file format

 < Day Day Up > 

A tag library consists of a single root file, the TagLibraries.vtm file, that lists every installed tag, plus a VTML file for each tag in the tag library. The TagLibraries.vtm file functions as a table of contents and contains pointers to each individual tag's VTML file. The following figure shows how Dreamweaver organizes the VTML files by markup language:

Macromedia HomeSite users can recognize the VTML file structure, but Dreamweaver does not use VTML files in the same way as HomeSite. The most important difference is that Dreamweaver contains its own HTML renderer that displays extension user interfaces (UIs), so the Dreamweaver VTML files are not used in the GUI rendering process.

The following example illustrates the structure of the TagLibraries.vtm file:

<taglibraries> <taglibrary name="Name of tag library" doctypes="HTML,ASP-JS,ASP-VB" tagchooser="relative path to TagChooser.xml file" > <tagref name="tag name" file="relative path to tag .vtm file"/> </taglibrary> <taglibrary name="CFML Tags" doctypes="ColdFusion" servermodel="Cold Fusion" tagchooser="cfml/TagChooser.xml" > <tagref name="cfabort" file="cfml/cfabort.vtm"/> </taglibrary> <taglibrary name="ASP.NET Tags" doctypes="ASP.NET_CSharp,ASP.NET_VB" servermodel="ASPNet" prefix="<asp:" tagchooser="ASPNet/TagChooser.xml" > <tagref name="dataset" file="aspnet/dataset.vtm" prefix="<mm:dataset"/> </taglibrary> </taglibraries>

The taglibrary tag groups one or more tags into a tag library. When you import tags or create a new set of tags, you can group them into tag libraries. Typically, a taglibrary grouping corresponds to a set of tags that are defined in a JavaServer Pages (JSP) TLD file, an XML document type definition (DTD) file, an ASP.Net name space, or some other logical grouping.

The following table lists the taglibrary attributes:

Attribute

Description

Mandatory/optional

taglibary.name

Used to refer to the tag library in the UI.

Mandatory

taglibrary.doctypes

Indicates the document types for which this library is active. When the library is active, library tags appear in the Code Hints pop-up menu. Not all tag libraries can be active at the same time because name conflicts can occur (for example, HTML and WML files are incompatible).

Mandatory

taglibrary.prefix

When specified, tags within the tag library have the form taglibrary.prefix + tagref.name For example, if the taglibrary.prefix is "<jrun:" and the tagref.name is "if" then the tag is of the form "<jrun:if". This can be overridden for a particular tag.

Optional

taglibrary.servermodel

If the tags in the tag library execute on an application server, the servermodel attribute identifies the server model of the tag. If the tags are client-side tags (not server-side tags), the servermodel attribute is omitted. The servermodel attribute is also used for Check Target Browsers.

Optional

taglibrary.id

This can be any string that is different from the taglibrary.ID attributes of other tag libraries in the file. The Extension Manager uses the ID attribute, so the MXP files can insert new taglibrary and the tags files into the TagLibraries.vtm file.

Optional

taglibrary.tagchooser

A relative path to the TagChooser.xml file that is associated with this tag library.

Optional


The following table lists tagref attributes:

Attribute

Description

Mandatory/optional

tagref.name

Used to refer to the tag in the UI.

Mandatory

tagref.prefix

Specifies how the tag appears in Source view. When used, the tagref.prefix attribute determines the prefix of the current tag. When the attribute is defined, it overrides the value specified for the taglibrary.prefix attribute.

Optional

tagref.file

References the VTML file for the tag.

Optional


Because the tagref.prefix attribute can override the taglibrary.prefix attribute, the relationship between the two attributes can be confusing. The following table shows the relationship between the taglibrary.prefix and tagref.prefix attributes:

Is the taglibrary.prefix defined?

Is the tagref.prefix defined?

Resulting tag prefix

No

No

'<' + tagref.name

Yes

No

taglibrary.prefix + tagref.name

No

Yes

tagref.prefix

Yes

Yes

tagref.prefix


To define tags, Dreamweaver uses a modified version of the Macromedia VTML file format. The following example demonstrates all the elements that Dreamweaver must use to define an individual tag:

<tag name="input" bind="value" casesensitive="no" endtag="no"> <tagformat indentcontents="yes" formatcontents="yes" nlbeforetag nlbeforecontents=0 nlaftercontents=0 nlaftertag=1 /> <tagdialog file = "input.HTM"/> <attributes> <attrib name="name"/> <attrib name="wrap" type="Enumerated"> <attriboption value="off"/> <attriboption value="soft"/> <attriboption value="hard"/> </attrib> <attrib name="onFocus" casesensitive="yes"/> <event name="onFocus"/> </attributes> </tag>

The following table lists the attributes that define tags:

Attribute

Description

Mandatory/optional

tag.bind

Used by the Data Binding panel. When you select a tag of this type, the bind attribute indicates the default attribute for data binding.

Optional

tag.casesensitive

Specifies whether the tag name is case-sensitive. If the tag is case-sensitive, it is inserted into the user's document using exactly the case that the tag library specifies. If the tag is not case-sensitive, it is inserted using the default case that is specified in the Code Format tab in the Preferences dialog box. If casesensitive is omitted, the tag is assumed to be case-insensitive.

Optional

tag.endtag

Specifies whether the tag has both an opening and a closing tag. For example, the input tag has no closing tag; there is no matching /input tag. If the closing tag is optional, the ENDTAG attribute should be set to Yes.tag. Specify xml to enforce XML syntax for an empty tag. For example, <tag name="foo" endtag="xml" tagtype="empty"> inserts <foo/>.

Optional

Tagformat

Specifies the tag's formatting rules. In Dreamweaver versions before Dreamweaver MX, these rules were stored in the SourceFormat.txt file.

Optional

tagformat.indentcontents

Specifies whether the contents of this tag should be indented.

Optional

tagformat.formatcontents

Specifies whether the contents of this tag should be parsed. This attribute is set to No for tags such as SCRIPT and STYLE, for which content is something other than HTML.

Optional

tagformat.nlbeforetag

The number of newline characters to insert before this tag.

Optional

tagformat.nlbeforecontents

The number of newline characters to insert before the contents of this tag.

Optional

tagformat.nlaftercontents

The number of newline characters to insert after the contents of this tag.

Optional

tagformat.nlaftertag

The number of newline characters to insert after this tag.

Optional

attrib.name

The name of the attribute, as it appears in the source code.

Mandatory

attrib.type

If omitted, attrib.type is "text".

It can have the following values:

TEXT free text content

ENUMERATED a list of enumerated values

COLOR a color value (name or hex)

FONT font name or font family

STYLE CSS styles attribute

CSSSTYLE CSS class name

CSSID CSS class ID

FILEPATH a full file path

DIRECTORY a folder path

FILENAME filename only

RELATIVEPATH a relative representation of the path

FLAG an ON/OFF attribute that contains no value

Optional

attrib.casesensitive

Specifies whether the attribute name is case-sensitive. If the CASESENSITIVE attribute is missing, the attribute name is case-insensitive.

Optional


NOTE

In versions before Dreamweaver MX, tag information is stored in the Configuration/TagAttributeList.txt file.


     < Day Day Up > 


    Developing Extensions for Macromedia Dreamweaver 8
    Developing Extensions for Macromedia Dreamweaver 8
    ISBN: 0321395409
    EAN: 2147483647
    Year: 2005
    Pages: 282

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net