How to: Create XML snippets
The XML editor can be used to create new XML snippets. The editor includes an XML snippet, named "Snippet", that is a boilerplate snippet for creating new XML snippets.
To create a new XML snippet
To create a new XML code snippet create a new XML file and use the Insert Snippet feature.
On the File menu, click New and then click File.
Click XML File and then click Open.
Right-click in the editor pane and select Insert Snippet.
Select Snippet from the list and press Enter.
Make any changes to the new snippet.
From the File menu select Save XMLFile.xml.
The Save File As dialog box is displayed.
Enter the name for the new snippet and select Snippet Files from the Save as type drop-down window.
Use the Save in drop-down list to change the file location to the My Documents\Visual Studio 2005\Code Snippets\XML\My XML Snippets folder and then press Save.
This section describes some of the key elements in the boilerplate snippet. For more information about schema elements used by the XML snippets, see Code snippets schema reference.
The editor supports two snippet types:
<SnippetTypes> <SnippetType>SurroundsWith</SnippetType> <SnippetType>Expansion</SnippetType> </SnippetTypes>
Expansion type determines whether the snippet appears when you invoke the Insert Snippet command. The
SurroundsWith type determines whether the snippet appears when you invoke the Surrounds With command.
Code element defines the XML text that will be inserted when the snippet is invoked.
The XML snippet text must be enclosed in a
The following is the
Code element that is created by the boilerplate snippet.
<Code Language="XML"> <![CDATA[<test> <name>$name$</name> $selected$ $end$</test>]]> </Code>
Code element includes three variables.
$name$ is user-defined variable. It creates a
nameelement, which has an editable value that defaults to "name". User-defined variables are defined using the
$selected$ is a predefined variable. It represents the text that was selected in the XML editor before invoking the snippet. The placement of this variable determines where the selected text appears in the code snippet that surrounds that selection.
$end$ is a predefined variable. When the user presses Enter to finish editing the code snippet fields, this variable determines where the caret (^) is moved to.
Codeelement inserts the following XML text:
<test> <name>name</name> </test>
The value of the name element is marked as an editable region.
Literal element is used to identify replacement text that can be customized after it is inserted into the file. For example, literal strings, numeric values, and some variable names can be declared as literals. You can define any number of literals in your XML snippet and you can refer to them multiple times from within the snippet. The following is an example of a
Literal element that defines a $name$ variable whose default value is "name."
<Literal> <ID>name</ID> <Default>name</Default> </Literal
Literals can also refer to functions. The XML editor includes a function named LookupPrefix. The LookupPrefix function looks up the given namespace URI from the location in the XML document that this snippet is invoked from and returns the namespace prefix that is defined for that namespace, if any, and it includes the colon (:) in that name. The following is an example of a
Literal element that uses the LookupPrefix function.
<Literal Editable="false"> <ID>prefix</ID> <Function>LookupPrefix("namespaceURI")</Function> </Literal>
The $prefix$ variable can then be used elsewhere in your XML snippet.