discovery-api/Overview.src.html
changeset 185 ef42cb5f9a60
parent 183 21b44409354f
child 192 3ecf12df315d
     1.1 --- a/discovery-api/Overview.src.html	Fri Aug 03 15:49:17 2012 +0200
     1.2 +++ b/discovery-api/Overview.src.html	Fri Aug 03 15:58:23 2012 +0200
     1.3 @@ -28,358 +28,6 @@
     1.4        };
     1.5      </script>
     1.6  
     1.7 -    <style type="text/css">
     1.8 -      /**
     1.9 -       * SyntaxHighlighter
    1.10 -       * http://alexgorbatchev.com/SyntaxHighlighter
    1.11 -       *
    1.12 -       * SyntaxHighlighter is donationware. If you are using it, please donate.
    1.13 -       * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
    1.14 -       *
    1.15 -       * @version
    1.16 -       * 3.0.83 (July 02 2010)
    1.17 -       *
    1.18 -       * @copyright
    1.19 -       * Copyright (C) 2004-2010 Alex Gorbatchev.
    1.20 -       *
    1.21 -       * @license
    1.22 -       * Dual licensed under the MIT and GPL licenses.
    1.23 -       */
    1.24 -      .syntaxhighlighter a,
    1.25 -      .syntaxhighlighter div,
    1.26 -      .syntaxhighlighter code,
    1.27 -      .syntaxhighlighter table,
    1.28 -      .syntaxhighlighter table td,
    1.29 -      .syntaxhighlighter table tr,
    1.30 -      .syntaxhighlighter table tbody,
    1.31 -      .syntaxhighlighter table thead,
    1.32 -      .syntaxhighlighter table caption,
    1.33 -      .syntaxhighlighter textarea {
    1.34 -        -moz-border-radius: 0 0 0 0 !important;
    1.35 -        -webkit-border-radius: 0 0 0 0 !important;
    1.36 -        background: none !important;
    1.37 -        border: 0 !important;
    1.38 -        bottom: auto !important;
    1.39 -        float: none !important;
    1.40 -        height: auto !important;
    1.41 -        left: auto !important;
    1.42 -        line-height: 1.1em !important;
    1.43 -        margin: 0 !important;
    1.44 -        outline: 0 !important;
    1.45 -        overflow: visible !important;
    1.46 -        padding: 0 !important;
    1.47 -        position: static !important;
    1.48 -        right: auto !important;
    1.49 -        text-align: left !important;
    1.50 -        top: auto !important;
    1.51 -        vertical-align: baseline !important;
    1.52 -        width: auto !important;
    1.53 -        box-sizing: content-box !important;
    1.54 -        font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
    1.55 -        font-weight: normal !important;
    1.56 -        font-style: normal !important;
    1.57 -        font-size: 1em !important;
    1.58 -        min-height: inherit !important;
    1.59 -        min-height: auto !important;
    1.60 -      }
    1.61 -
    1.62 -      .syntaxhighlighter {
    1.63 -        width: 100% !important;
    1.64 -        margin: 1em 0 1em 0 !important;
    1.65 -        position: relative !important;
    1.66 -        overflow: auto !important;
    1.67 -        font-size: 0.8em !important;
    1.68 -      }
    1.69 -      .syntaxhighlighter.source {
    1.70 -        overflow: hidden !important;
    1.71 -      }
    1.72 -      .syntaxhighlighter .bold {
    1.73 -        font-weight: bold !important;
    1.74 -      }
    1.75 -      .syntaxhighlighter .italic {
    1.76 -        font-style: italic !important;
    1.77 -      }
    1.78 -      .syntaxhighlighter .line {
    1.79 -        white-space: pre !important;
    1.80 -      }
    1.81 -      .syntaxhighlighter table {
    1.82 -        width: 100% !important;
    1.83 -      }
    1.84 -      .syntaxhighlighter table caption {
    1.85 -        text-align: left !important;
    1.86 -        padding: .5em 0 0.5em 1em !important;
    1.87 -      }
    1.88 -      .syntaxhighlighter table td.code {
    1.89 -        width: 100% !important;
    1.90 -      }
    1.91 -      .syntaxhighlighter table td.code .container {
    1.92 -        position: relative !important;
    1.93 -      }
    1.94 -      .syntaxhighlighter table td.code .container textarea {
    1.95 -        box-sizing: border-box !important;
    1.96 -        position: absolute !important;
    1.97 -        left: 0 !important;
    1.98 -        top: 0 !important;
    1.99 -        width: 100% !important;
   1.100 -        height: 100% !important;
   1.101 -        border: none !important;
   1.102 -
   1.103 -        padding-left: 1em !important;
   1.104 -        overflow: hidden !important;
   1.105 -        white-space: pre !important;
   1.106 -      }
   1.107 -      .syntaxhighlighter table td.gutter .line {
   1.108 -        text-align: right !important;
   1.109 -        padding: 0 0.5em 0 1em !important;
   1.110 -      }
   1.111 -      .syntaxhighlighter table td.code .line {
   1.112 -        padding: 0 1em !important;
   1.113 -      }
   1.114 -      .syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
   1.115 -        padding-left: 0em !important;
   1.116 -      }
   1.117 -      .syntaxhighlighter.show {
   1.118 -        display: block !important;
   1.119 -      }
   1.120 -      .syntaxhighlighter.collapsed table {
   1.121 -        display: none !important;
   1.122 -      }
   1.123 -      .syntaxhighlighter.collapsed .toolbar {
   1.124 -        padding: 0.1em 0.8em 0em 0.8em !important;
   1.125 -        font-size: 1em !important;
   1.126 -        position: static !important;
   1.127 -        width: auto !important;
   1.128 -        height: auto !important;
   1.129 -      }
   1.130 -      .syntaxhighlighter.collapsed .toolbar span {
   1.131 -        display: inline !important;
   1.132 -        margin-right: 1em !important;
   1.133 -      }
   1.134 -      .syntaxhighlighter.collapsed .toolbar span a {
   1.135 -        padding: 0 !important;
   1.136 -        display: none !important;
   1.137 -      }
   1.138 -      .syntaxhighlighter.collapsed .toolbar span a.expandSource {
   1.139 -        display: inline !important;
   1.140 -      }
   1.141 -      .syntaxhighlighter .toolbar {
   1.142 -        position: absolute !important;
   1.143 -        right: 1px !important;
   1.144 -        top: 1px !important;
   1.145 -        width: 11px !important;
   1.146 -        height: 11px !important;
   1.147 -        font-size: 10px !important;
   1.148 -        z-index: 10 !important;
   1.149 -      }
   1.150 -      .syntaxhighlighter .toolbar span.title {
   1.151 -        display: inline !important;
   1.152 -      }
   1.153 -      .syntaxhighlighter .toolbar a {
   1.154 -        display: block !important;
   1.155 -        text-align: center !important;
   1.156 -        text-decoration: none !important;
   1.157 -        padding-top: 1px !important;
   1.158 -      }
   1.159 -      .syntaxhighlighter .toolbar a.expandSource {
   1.160 -        display: none !important;
   1.161 -      }
   1.162 -      .syntaxhighlighter.ie {
   1.163 -        font-size: .9em !important;
   1.164 -        padding: 1px 0 1px 0 !important;
   1.165 -      }
   1.166 -      .syntaxhighlighter.ie .toolbar {
   1.167 -        line-height: 8px !important;
   1.168 -      }
   1.169 -      .syntaxhighlighter.ie .toolbar a {
   1.170 -        padding-top: 0px !important;
   1.171 -      }
   1.172 -      .syntaxhighlighter.printing .line.alt1 .content,
   1.173 -      .syntaxhighlighter.printing .line.alt2 .content,
   1.174 -      .syntaxhighlighter.printing .line.highlighted .number,
   1.175 -      .syntaxhighlighter.printing .line.highlighted.alt1 .content,
   1.176 -      .syntaxhighlighter.printing .line.highlighted.alt2 .content {
   1.177 -        background: none !important;
   1.178 -      }
   1.179 -      .syntaxhighlighter.printing .line .number {
   1.180 -        color: #bbbbbb !important;
   1.181 -      }
   1.182 -      .syntaxhighlighter.printing .line .content {
   1.183 -        color: black !important;
   1.184 -      }
   1.185 -      .syntaxhighlighter.printing .toolbar {
   1.186 -        display: none !important;
   1.187 -      }
   1.188 -      .syntaxhighlighter.printing a {
   1.189 -        text-decoration: none !important;
   1.190 -      }
   1.191 -      .syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
   1.192 -        color: black !important;
   1.193 -      }
   1.194 -      .syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
   1.195 -        color: #008200 !important;
   1.196 -      }
   1.197 -      .syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
   1.198 -        color: blue !important;
   1.199 -      }
   1.200 -      .syntaxhighlighter.printing .keyword {
   1.201 -        color: #006699 !important;
   1.202 -        font-weight: bold !important;
   1.203 -      }
   1.204 -      .syntaxhighlighter.printing .preprocessor {
   1.205 -        color: gray !important;
   1.206 -      }
   1.207 -      .syntaxhighlighter.printing .variable {
   1.208 -        color: #aa7700 !important;
   1.209 -      }
   1.210 -      .syntaxhighlighter.printing .value {
   1.211 -        color: #009900 !important;
   1.212 -      }
   1.213 -      .syntaxhighlighter.printing .functions {
   1.214 -        color: #ff1493 !important;
   1.215 -      }
   1.216 -      .syntaxhighlighter.printing .constants {
   1.217 -        color: #0066cc !important;
   1.218 -      }
   1.219 -      .syntaxhighlighter.printing .script {
   1.220 -        font-weight: bold !important;
   1.221 -      }
   1.222 -      .syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
   1.223 -        color: gray !important;
   1.224 -      }
   1.225 -      .syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
   1.226 -        color: #ff1493 !important;
   1.227 -      }
   1.228 -      .syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
   1.229 -        color: red !important;
   1.230 -      }
   1.231 -      .syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
   1.232 -        color: black !important;
   1.233 -      }
   1.234 -    </style>
   1.235 -    <style type="text/css">
   1.236 -      /**
   1.237 -       * SyntaxHighlighter
   1.238 -       * http://alexgorbatchev.com/SyntaxHighlighter
   1.239 -       *
   1.240 -       * SyntaxHighlighter is donationware. If you are using it, please donate.
   1.241 -       * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
   1.242 -       *
   1.243 -       * @version
   1.244 -       * 3.0.83 (July 02 2010)
   1.245 -       *
   1.246 -       * @copyright
   1.247 -       * Copyright (C) 2004-2010 Alex Gorbatchev.
   1.248 -       *
   1.249 -       * @license
   1.250 -       * Dual licensed under the MIT and GPL licenses.
   1.251 -       */
   1.252 -      .syntaxhighlighter {
   1.253 -        background-color: none !important;
   1.254 -      }
   1.255 -      .syntaxhighlighter .line.alt1 {
   1.256 -        background-color: none !important;
   1.257 -      }
   1.258 -      .syntaxhighlighter .line.alt2 {
   1.259 -        background-color: none !important;
   1.260 -      }
   1.261 -      .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
   1.262 -        background-color: none !important;
   1.263 -      }
   1.264 -      .syntaxhighlighter .line.highlighted.number {
   1.265 -        color: black !important;
   1.266 -      }
   1.267 -      .syntaxhighlighter table caption {
   1.268 -        color: black !important;
   1.269 -      }
   1.270 -      .syntaxhighlighter .gutter {
   1.271 -        color: #afafaf !important;
   1.272 -      }
   1.273 -      .syntaxhighlighter .gutter .line {
   1.274 -        border-right: 3px solid #6ce26c !important;
   1.275 -      }
   1.276 -      .syntaxhighlighter .gutter .line.highlighted {
   1.277 -        background-color: #6ce26c !important;
   1.278 -        color: white !important;
   1.279 -      }
   1.280 -      .syntaxhighlighter.printing .line .content {
   1.281 -        border: none !important;
   1.282 -      }
   1.283 -      .syntaxhighlighter.collapsed {
   1.284 -        overflow: visible !important;
   1.285 -      }
   1.286 -      .syntaxhighlighter.collapsed .toolbar {
   1.287 -        color: blue !important;
   1.288 -        background: none !important;
   1.289 -        border: 1px solid #6ce26c !important;
   1.290 -      }
   1.291 -      .syntaxhighlighter.collapsed .toolbar a {
   1.292 -        color: blue !important;
   1.293 -      }
   1.294 -      .syntaxhighlighter.collapsed .toolbar a:hover {
   1.295 -        color: red !important;
   1.296 -      }
   1.297 -      .syntaxhighlighter .toolbar {
   1.298 -        color: white !important;
   1.299 -        background: #6ce26c !important;
   1.300 -        border: none !important;
   1.301 -      }
   1.302 -      .syntaxhighlighter .toolbar a {
   1.303 -        color: white !important;
   1.304 -      }
   1.305 -      .syntaxhighlighter .toolbar a:hover {
   1.306 -        color: black !important;
   1.307 -      }
   1.308 -      .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
   1.309 -        color: black !important;
   1.310 -      }
   1.311 -      .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
   1.312 -        color: #008200 !important;
   1.313 -      }
   1.314 -      .syntaxhighlighter .string, .syntaxhighlighter .string a {
   1.315 -        color: blue !important;
   1.316 -      }
   1.317 -      .syntaxhighlighter .keyword {
   1.318 -        color: #006699 !important;
   1.319 -      }
   1.320 -      .syntaxhighlighter .preprocessor {
   1.321 -        color: gray !important;
   1.322 -      }
   1.323 -      .syntaxhighlighter .variable {
   1.324 -        color: #aa7700 !important;
   1.325 -      }
   1.326 -      .syntaxhighlighter .value {
   1.327 -        color: #009900 !important;
   1.328 -      }
   1.329 -      .syntaxhighlighter .functions {
   1.330 -        color: #ff1493 !important;
   1.331 -      }
   1.332 -      .syntaxhighlighter .constants {
   1.333 -        color: #0066cc !important;
   1.334 -      }
   1.335 -      .syntaxhighlighter .script {
   1.336 -        font-weight: bold !important;
   1.337 -        color: #006699 !important;
   1.338 -        background-color: none !important;
   1.339 -      }
   1.340 -      .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
   1.341 -        color: gray !important;
   1.342 -      }
   1.343 -      .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
   1.344 -        color: #ff1493 !important;
   1.345 -      }
   1.346 -      .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
   1.347 -        color: red !important;
   1.348 -      }
   1.349 -
   1.350 -      .syntaxhighlighter .keyword {
   1.351 -        font-weight: bold !important;
   1.352 -      }
   1.353 -    </style>
   1.354 -    <script src="tools/syntaxhighlighter/js/shCore.js" type="text/javascript" class='remove'></script>
   1.355 -    <script src="tools/syntaxhighlighter/js/shAutoloader.js" type="text/javascript" class='remove'></script>
   1.356 -    <script src="tools/syntaxhighlighter/js/shBrushXml.js" type="text/javascript" class='remove'></script>
   1.357 -    <script src="tools/syntaxhighlighter/js/shBrushJScript.js" type="text/javascript" class='remove'></script>
   1.358 -
   1.359      <script src='http://www.w3.org/Tools/respec/respec-w3c-common' type="text/javascript" class='remove' async></script>
   1.360      <style type="text/css">
   1.361        /* Custom CSS optimizations (Richard Tibbett) */
   1.362 @@ -413,7 +61,7 @@
   1.363    <body>
   1.364      <section id='abstract'>
   1.365        <p>
   1.366 -        This specification defines a mechanism for an HTML document to discover and subsequently communicate with <acronym title="Hypertext Transfer Protocol">HTTP</acronym>-based services
   1.367 +        This specification defines a mechanism for an HTML document to discover and subsequently communicate with <abbr title="Hypertext Transfer Protocol">HTTP</abbr>-based services
   1.368          advertised via common discovery protocols within a user's network.
   1.369        </p>
   1.370      </section>
   1.371 @@ -432,7 +80,7 @@
   1.372        <a href="#navigatornetworkservice"><code>NavigatorNetworkService</code></a> interface.</p>
   1.373  
   1.374        <p>
   1.375 -         Using this <acronym title="Application Programming Interface">API</acronym> consists of requesting a well-known service type, known by developers and advertised by Local-networked Devices. User authorization, where the user connects the web page to one or more discovered services,
   1.376 +         Using this <abbr title="Application Programming Interface">API</abbr> consists of requesting a well-known service type, known by developers and advertised by Local-networked Devices. User authorization, where the user connects the web page to one or more discovered services,
   1.377           is expected before the web page is able to interact with any Local-networked Services.
   1.378        </p>
   1.379  
   1.380 @@ -460,7 +108,7 @@
   1.381        <div class="example">
   1.382         <p>Example of requesting a DNS-SD advertised service:</p>
   1.383         <hr />
   1.384 -       <pre class="brush:js">function showServices( services ) {
   1.385 +       <pre class="highlight">function showServices( services ) {
   1.386    // Show a list of all the services provided to the web page
   1.387    for(var i = 0, l = services.length; i < l; i++) console.log( services[i].name );
   1.388  }
   1.389 @@ -471,7 +119,7 @@
   1.390        <div class="example">
   1.391          <p>Example of requesting a UPnP advertised service, also handling error conditions:</p>
   1.392          <hr />
   1.393 -        <pre class="brush:js">function showServices( services ) {
   1.394 +        <pre class="highlight">function showServices( services ) {
   1.395    // Show a list of all the services provided to the web page
   1.396    for(var i = 0, l = services.length; i < l; i++) console.log( services[i].name );
   1.397  }
   1.398 @@ -486,7 +134,7 @@
   1.399        <div class="example">
   1.400          <p>Example of requesting either a DNS-SD or UPnP advertised service:</p>
   1.401          <hr />
   1.402 -        <pre class="brush:js">function showServices( services ) {
   1.403 +        <pre class="highlight">function showServices( services ) {
   1.404    // Show a list of all the services provided to the web page (+ service type)
   1.405    for(var i = 0, l = services.length; i < l; i++)
   1.406       console.log( services[i].name + '(' + services[i].type + ')' );
   1.407 @@ -756,7 +404,7 @@
   1.408  
   1.409                 <ol class="rule">
   1.410                    <li>
   1.411 -                     Add the <var>service</var>'s <code>url</code> parameter to the <a>entry script origin's <acronym title="Uniform Resource Locator">URL</acronym> whitelist</a>.
   1.412 +                     Add the <var>service</var>'s <code>url</code> parameter to the <a>entry script origin's <abbr title="Uniform Resource Locator">URL</abbr> whitelist</a>.
   1.413                    </li>
   1.414                    <li>
   1.415                      If <var>service</var> was originally created from a UPnP discovery process and the <var>service</var>'s <code>eventsUrl</code> parameter is not empty then <a>setup a UPnP Events Subscription</a> for <var>service</var>.
   1.416 @@ -1271,7 +919,7 @@
   1.417              <h2>Service Discovery</h2>
   1.418  
   1.419        <p>
   1.420 -         A <a>user agent</a> conforming to this specification MAY implement <acronym title="Simple Service Discovery Protocol">SSDP</acronym> [[!UPNP-DEVICEARCH11]] and Zeroconf [[!ZEROCONF]] service discovery mechanisms
   1.421 +         A <a>user agent</a> conforming to this specification MAY implement <abbr title="Simple Service Discovery Protocol">SSDP</abbr> [[!UPNP-DEVICEARCH11]] and Zeroconf [[!ZEROCONF]] service discovery mechanisms
   1.422           to enable Web pages to request and connect with HTTP services running on networked devices, discovered via either mechanism, through this API. When a <a>user agent</a> implements either of these service discovery mechanisms, then it MUST conform to the corresponding algorithms provided in this section of the specification.
   1.423        </p>
   1.424        <p>
   1.425 @@ -1292,10 +940,10 @@
   1.426        </p>
   1.427  
   1.428              <section>
   1.429 -         <h4>Zeroconf (<acronym title="Multicast DNS">mDNS</acronym> + <acronym title="Domain Name System">DNS</acronym>-<acronym title="Service Discovery">SD</acronym>)</h4>
   1.430 +         <h4>Zeroconf (<abbr title="Multicast DNS">mDNS</abbr> + <abbr title="Domain Name System">DNS</abbr>-<abbr title="Service Discovery">SD</abbr>)</h4>
   1.431  
   1.432           <p>
   1.433 -            For each DNS response received from a user-agent-initiated Multicast DNS Browse for <acronym title="DNS Pointer Record">PTR</acronym> records with the name <code>_services._dns-sd._udp</code> on the resolved recommended automatic browsing
   1.434 +            For each DNS response received from a user-agent-initiated Multicast DNS Browse for <abbr title="DNS Pointer Record">PTR</abbr> records with the name <code>_services._dns-sd._udp</code> on the resolved recommended automatic browsing
   1.435     domain [[!MDNS]], the <a>user agent</a> MUST run the following steps:
   1.436           </p>
   1.437  
   1.438 @@ -1367,7 +1015,7 @@
   1.439        </section>
   1.440  
   1.441        <section>
   1.442 -         <h5>Universal Plug-and-Play (<acronym title="Universal Plug-and-Play">UPnP</acronym>)</h5>
   1.443 +         <h5>Universal Plug-and-Play (<abbr title="Universal Plug-and-Play">UPnP</abbr>)</h5>
   1.444  
   1.445           <p>
   1.446              For each SSDP Presence Announcement [[!UPNP-DEVICEARCH11]] - a HTTP NOTIFY request - received from a user-agent-initiated SSDP Discovery Request [[!UPNP-DEVICEARCH11]], the <a>user agent</a> MUST run the following steps:
   1.447 @@ -1698,7 +1346,7 @@
   1.448              <p>The button is re-enabled only when the connected network service disconnects for whatever reason (the service becomes unavailable on the network, the user disconnects from their current network or the user revokes access to the service from the current web page). At this point the user can re-click the button to select a new network service to connect to the web page and the above steps are repeated.</p>
   1.449              <p>The provided service type identifier and service interaction used in this example is based on the well-defined service type and messaging format supported by the <a href="http://xbmc.org/about/">XBMC Media Server</a>. </p>
   1.450              <hr />
   1.451 -            <pre class="brush:js">&lt;input type="button" value="Start" onclick="start()" id="startBtn"/&gt;
   1.452 +            <pre class="highlight">&lt;input type="button" value="Start" onclick="start()" id="startBtn"/&gt;
   1.453  &lt;div id="debugconsole">&lt;/div>
   1.454  
   1.455  &lt;script>
   1.456 @@ -1768,7 +1416,7 @@
   1.457               <br /><br />Once the user has authorized the device, the web page sends a simple mute command according to the messaging format supported by the device.
   1.458              </p>
   1.459              <hr />
   1.460 -            <pre class="brush:js">&lt;select name="make" id="make"&gt;
   1.461 +            <pre class="highlight">&lt;select name="make" id="make"&gt;
   1.462    &lt;option selected="selected" disabled="disabled"&gt;Select make&lt;/option&gt;
   1.463    &lt;option&gt;Sony&lt;/option&gt;
   1.464    &lt;option&gt;Philips&lt;/option&gt;
   1.465 @@ -1885,14 +1533,5 @@
   1.466        <br /></br />
   1.467        CableLabs, Opera Software ASA, W3C Device APIs Working Group, W3C Web and TV Interest Group, ...</p>
   1.468      </section>
   1.469 -
   1.470 -    <script class='remove'>
   1.471 -    if(SyntaxHighlighter) {
   1.472 -      SyntaxHighlighter.defaults['gutter'] = false;
   1.473 -      SyntaxHighlighter.defaults['toolbar'] = false;
   1.474 -      SyntaxHighlighter.all()
   1.475 -    }
   1.476 -    </script>
   1.477 -
   1.478  </body>
   1.479  </html>