mod_macro.html.en revision aaed4ebc116f5862aff2610a809a9a9e9a28f50e
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe This file is generated from xml source: DO NOT EDIT
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<title>mod_macro - Apache HTTP Server Version 2.5</title>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<script src="/style/scripts/prettify.min.js" type="text/javascript">
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<link href="/images/favicon.ico" rel="shortcut icon" /></head>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div>
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
0066eddda7203f6345b56f77d146a759298dc635gryzor<p><span>Available Languages: </span><a href="/en/mod/mod_macro.html" title="English"> en </a> |
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<a href="/fr/mod/mod_macro.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a></p>
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides macros within apache httpd runtime configuration files</td></tr>
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>macro_module</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_macro.c</td></tr></table>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>Provides macros within Apache httpd runtime configuration files,
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe to ease the process of creating numerous similar configuration
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin blocks. When the server starts up, the macros are expanded using the
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin provided parameters, and the result is processed as along with the
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin rest of the configuration file.</p>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<li><img alt="" src="/images/down.gif" /> <a href="#usage">Usage</a></li>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<li><img alt="" src="/images/down.gif" /> <a href="#tips">Tips</a></li>
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin<li><img alt="" src="/images/down.gif" /> <a href="#examples">Examples</a></li>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<li><img alt="" src="/images/down.gif" /> <a href="#macro"><Macro></a></li>
57b31f30545668d28e895efe7f5c0eb15d37a03figalic<li><img alt="" src="/images/down.gif" /> <a href="#undefmacro">UndefMacro</a></li>
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin<li><img alt="" src="/images/down.gif" /> <a href="#use">Use</a></li>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>Macros are defined using <code class="directive"><Macro></code> blocks, which contain the portion of
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweyour configuration that needs to be repeated, complete with variables
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowefor those parts that will need to be substituted.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>For example, you might use a macro to define a <code class="directive"><VirtualHost></code> block, in order to define
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowemultiple similar virtual hosts:</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<pre class="prettyprint lang-config"><Macro VHost $name $domain>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<VirtualHost *:80>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe ServerName $domain
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe ServerAlias www.$domain
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</VirtualHost>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</Macro></pre>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>Macro names are case-insensitive, like httpd configuration
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowedirectives. However, variable names are case sensitive.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>You would then invoke this macro several times to create virtual
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<pre class="prettyprint lang-config">Use VHost example example.com
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrinUse VHost myhost hostname.org
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrinUse VHost apache apache.org
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrinUndefMacro VHost</pre>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<p>At server startup time, each of these <code class="directive">Use</code>
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrininvocations would be expanded into a full virtualhost, as
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrindescribed by the <code class="directive">Macro</code> definition.</p>
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin<p>The <code class="directive">UndefMacro</code> directive is used so that later
27dcd8d81085fd60aadcd8a9bad35a607b26b758nilgunmacros using the same variable names don't result in conflicting
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrindefinitions.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>A more elaborate version of this example may be seen below in the
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweExamples section.</p>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>Parameter names should begin with a sigil such as <code>$</code>,
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<code>%</code>, or <code>@</code>, so that they are clearly
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweidentifiable, and also in order to help deal with interactions with
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweother directives, such as the core <code class="directive"><a href="/mod/core.html#define">Define</a></code> directive. Failure to do so will
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweresult in a warning. Nevertheless, you are encouraged to have a good
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweknowledge of your entire server configuration in order to avoid reusing
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowethe same variables in different scopes, which can cause confusion.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>Parameters prefixed with either <code>$</code> or <code>%</code> are
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowenot escaped. Parameters prefixes with <code>@</code> are escaped in
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>Avoid using a parameter which contains another parameter as a prefix,
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe(For example, <code>$win</code> and <code>$winter</code>) as this may
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowecause confusion at expression evaluation time. In the event of such
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweconfusion, the longest possible parameter name is used.</p>
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin<p>If you want to use a value within another string, it is useful to
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowesurround the parameter in braces, to avoid confusion:</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<pre class="prettyprint lang-config"><Macro DocRoot ${docroot}>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</Macro></pre>
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>A common usage of <code class="module"><a href="/mod/mod_macro.html">mod_macro</a></code> is for the creation of
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowedynamically-generated virtual hosts.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<pre class="prettyprint lang-config">## Define a VHost Macro for repetitive configurations
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<Macro VHost $host $port $dir>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe Listen $port
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <VirtualHost *:$port>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe ServerName $host
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe DocumentRoot "$dir"
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe # Public document root
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <Directory "$dir">
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe Require all granted
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe </Directory>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe # limit access to intranet subdir.
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin Require ip 10.0.0.0/8
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe </Directory>
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf </VirtualHost>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</Macro>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe## Use of VHost with different arguments.
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweUse VHost www.example.fr 1234 /vhosts/example.fr/htdocs</pre>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p>It's recommended that you undefine a macro once you've used it. This
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweavoids confusion in a complex configuration file where there may be
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweconflicts in variable names.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<pre class="prettyprint lang-config"><Macro DirGroup $dir $group>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <Directory "$dir">
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe Require group $group
c8ea2fd531ec56b7969ee48fc05655b503fa57a3minfrin </Directory>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</Macro>
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweUndefMacro DirGroup</pre>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<div class="directive-section"><h2><a name="Macro" id="Macro"><Macro></a> <a name="macro" id="macro">Directive</a></h2>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a configuration file macro</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>The <code class="directive">Macro</code> directive controls the definition of
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe a macro within the server runtime configuration files.
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe The first argument is the name of the macro.
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe Other arguments are parameters to the macro. It is good practice to prefix
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe parameter names with any of '<code>$%@</code>', and not macro names
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe with such characters.
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin <pre class="prettyprint lang-config"><Macro LocalAccessPolicy>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</Macro>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<Macro RestrictedAccessPolicy $ipnumbers>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe Require ip $ipnumbers
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</Macro></pre>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<div class="directive-section"><h2><a name="UndefMacro" id="UndefMacro">UndefMacro</a> <a name="undefmacro" id="undefmacro">Directive</a></h2>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Undefine a macro</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UndefMacro <var>name</var></code></td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>The <code class="directive">UndefMacro</code> directive undefines a macro
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe which has been defined before hand.</p>
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf <pre class="prettyprint lang-config">UndefMacro LocalAccessPolicy
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweUndefMacro RestrictedAccessPolicy</pre>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<div class="directive-section"><h2><a name="Use" id="Use">Use</a> <a name="use" id="use">Directive</a></h2>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use a macro</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Use <var>name</var> [<var>value1</var> ... <var>valueN</var>]
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>The <code class="directive">Use</code> directive controls the use of a macro.
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe The specified macro is expanded. It must be given the same number of
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe arguments as in the macro definition. The provided values are
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe associated to their corresponding initial parameters and are substituted
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe before processing.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <pre class="prettyprint lang-config">Use LocalAccessPolicy
5f4e50966b2b9b58436a1651cbe588d1b595657ewroweUse RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"</pre>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>is equivalent, with the macros defined above, to:</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <pre class="prettyprint lang-config">Require ip 10.2.16.0/24
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<p><span>Available Languages: </span><a href="/en/mod/mod_macro.html" title="English"> en </a> |
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<a href="/fr/mod/mod_macro.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a></p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<script type="text/javascript"><!--//--><![CDATA[//><!--
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowevar comments_shortname = 'httpd';
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowevar comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_macro.html';
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe(function(w, d) {
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
0066eddda7203f6345b56f77d146a759298dc635gryzor d.write('<div id="comments_thread"><\/div>');
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung var s = d.createElement('script');
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--