Author: buildbot
Date: Tue Oct 13 11:14:13 2015
New Revision: 968751
Log:
Staging update by buildbot for olingo
Modified:
websites/staging/olingo/trunk/content/ (props changed)
websites/staging/olingo/trunk/content/doc/odata4/tutorials/media/tutorial_media.html
Propchange: websites/staging/olingo/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Oct 13 11:14:13 2015
@@ -1 +1 @@
-1708327
+1708329
Modified:
websites/staging/olingo/trunk/content/doc/odata4/tutorials/media/tutorial_media.html
==============================================================================
---
websites/staging/olingo/trunk/content/doc/odata4/tutorials/media/tutorial_media.html
(original)
+++
websites/staging/olingo/trunk/content/doc/odata4/tutorials/media/tutorial_media.html
Tue Oct 13 11:14:13 2015
@@ -155,11 +155,11 @@ This tutorial can be found in subdirecto
<span class="c1">// ...</span>
<span class="o">}</span> <span class="k">else</span> <span
class="k">if</span><span class="o">(</span><span
class="n">entityTypeName</span><span class="o">.</span><span
class="na">equals</span><span class="o">(</span><span
class="n">ET_ADVERTISMENT_FQN</span><span class="o">))</span> <span
class="o">{</span>
<span class="n">CsdlProperty</span> <span class="n">id</span> <span
class="o">=</span> <span class="k">new</span> <span
class="n">CsdlProperty</span><span class="o">().</span><span
class="na">setName</span><span class="o">(</span><span
class="s">"ID"</span><span class="o">)</span>
- <span class="o">.</span><span
class="na">setType</span><span class="o">(</span><span
class="n">EdmPrimitiveTypeKind</span><span class="o">.</span><span
class="na">Guid</span><span class="o">.</span><span
class="na">getFullQualifiedName</span><span class="o">());</span>
+ <span class="o">.</span><span
class="na">setType</span><span class="o">(</span><span
class="n">EdmPrimitiveTypeKind</span><span class="o">.</span><span
class="na">Guid</span><span class="o">.</span><span
class="na">getFullQualifiedName</span><span class="o">());</span>
<span class="n">CsdlProperty</span> <span class="n">name</span> <span
class="o">=</span> <span class="k">new</span> <span
class="n">CsdlProperty</span><span class="o">().</span><span
class="na">setName</span><span class="o">(</span><span
class="s">"Name"</span><span class="o">)</span>
- <span class="o">.</span><span
class="na">setType</span><span class="o">(</span><span
class="n">EdmPrimitiveTypeKind</span><span class="o">.</span><span
class="na">String</span><span class="o">.</span><span
class="na">getFullQualifiedName</span><span class="o">());</span>
+ <span class="o">.</span><span
class="na">setType</span><span class="o">(</span><span
class="n">EdmPrimitiveTypeKind</span><span class="o">.</span><span
class="na">String</span><span class="o">.</span><span
class="na">getFullQualifiedName</span><span class="o">());</span>
<span class="n">CsdlProperty</span> <span class="n">airDate</span>
<span class="o">=</span> <span class="k">new</span> <span
class="n">CsdlProperty</span><span class="o">().</span><span
class="na">setName</span><span class="o">(</span><span
class="s">"AirDate"</span><span class="o">)</span>
- <span class="o">.</span><span
class="na">setType</span><span class="o">(</span><span
class="n">EdmPrimitiveTypeKind</span><span class="o">.</span><span
class="na">DateTimeOffset</span><span class="o">.</span><span
class="na">getFullQualifiedName</span><span class="o">());</span>
+ <span class="o">.</span><span
class="na">setType</span><span class="o">(</span><span
class="n">EdmPrimitiveTypeKind</span><span class="o">.</span><span
class="na">DateTimeOffset</span><span class="o">.</span><span
class="na">getFullQualifiedName</span><span class="o">());</span>
<span class="n">CsdlPropertyRef</span> <span
class="n">propertyRef</span> <span class="o">=</span> <span
class="k">new</span> <span class="n">CsdlPropertyRef</span><span
class="o">();</span>
<span class="n">propertyRef</span><span class="o">.</span><span
class="na">setName</span><span class="o">(</span><span
class="s">"ID"</span><span class="o">);</span>
@@ -168,7 +168,7 @@ This tutorial can be found in subdirecto
<span class="n">entityType</span><span class="o">.</span><span
class="na">setName</span><span class="o">(</span><span
class="n">ET_ADVERTISMENT_NAME</span><span class="o">);</span>
<span class="n">entityType</span><span class="o">.</span><span
class="na">setProperties</span><span class="o">(</span><span
class="n">Arrays</span><span class="o">.</span><span
class="na">asList</span><span class="o">(</span><span class="n">id</span><span
class="o">,</span> <span class="n">name</span><span class="o">,</span> <span
class="n">airDate</span><span class="o">));</span>
<span class="n">entityType</span><span class="o">.</span><span
class="na">setKey</span><span class="o">(</span><span
class="n">Collections</span><span class="o">.</span><span
class="na">singletonList</span><span class="o">(</span><span
class="n">propertyRef</span><span class="o">));</span>
- <span class="n">entityType</span><span class="o">.</span><span
class="na">setHasStream</span><span class="o">(</span><span
class="kc">true</span><span class="o">);</span> <span class="c1">// <-
Enable the media entity stream</span>
+ <span class="n">entityType</span><span class="o">.</span><span
class="na">setHasStream</span><span class="o">(</span><span
class="kc">true</span><span class="o">);</span> <span class="c1">// <-
Enable the media entity stream</span>
<span class="o">}</span>
<span class="k">return</span> <span class="n">entityType</span><span
class="o">;</span>
@@ -177,31 +177,30 @@ This tutorial can be found in subdirecto
<p>Further we have to create a new entity set. Add the following snipped to
<code>DemoEdmProvider.getEntitySet</code></p>
-<div class="codehilite"><pre><span class="p">@</span><span
class="n">Override</span>
-<span class="n">public</span> <span class="n">CsdlEntitySet</span> <span
class="n">getEntitySet</span><span class="p">(</span><span
class="n">FullQualifiedName</span> <span class="n">entityContainer</span><span
class="p">,</span> <span class="n">String</span> <span
class="n">entitySetName</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">CsdlEntitySet</span> <span class="n">entitySet</span>
<span class="p">=</span> <span class="n">null</span><span class="p">;</span>
+<div class="codehilite"><pre><span class="nd">@Override</span>
+<span class="kd">public</span> <span class="n">CsdlEntitySet</span> <span
class="nf">getEntitySet</span><span class="o">(</span><span
class="n">FullQualifiedName</span> <span class="n">entityContainer</span><span
class="o">,</span> <span class="n">String</span> <span
class="n">entitySetName</span><span class="o">)</span> <span class="o">{</span>
+ <span class="n">CsdlEntitySet</span> <span class="n">entitySet</span>
<span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
- <span class="k">if</span> <span class="p">(</span><span
class="n">entityContainer</span><span class="p">.</span><span
class="n">equals</span><span class="p">(</span><span
class="n">CONTAINER</span><span class="p">))</span> <span class="p">{</span>
- <span class="k">if</span> <span class="p">(</span><span
class="n">entitySetName</span><span class="p">.</span><span
class="n">equals</span><span class="p">(</span><span
class="n">ES_PRODUCTS_NAME</span><span class="p">))</span> <span
class="p">{</span>
- <span class="o">//</span> <span class="n">Definition</span> <span
class="n">of</span> <span class="n">entity</span> <span class="n">set</span>
<span class="n">Products</span>
- <span class="p">}</span> <span class="k">else</span> <span
class="k">if</span> <span class="p">(</span><span
class="n">entitySetName</span><span class="p">.</span><span
class="n">equals</span><span class="p">(</span><span
class="n">ES_CATEGORIES_NAME</span><span class="p">))</span> <span
class="p">{</span>
- <span class="o">//</span> <span class="n">Definition</span> <span
class="k">if</span> <span class="n">entity</span> <span class="n">set</span>
<span class="n">Categories</span>
- <span class="p">}</span> <span class="k">else</span> <span
class="k">if</span> <span class="p">(</span><span
class="n">entitySetName</span><span class="p">.</span><span
class="n">equals</span><span class="p">(</span><span
class="n">ES_ADVERTISMENTS_NAME</span><span class="p">))</span> <span
class="p">{</span>
- <span class="n">entitySet</span> <span class="p">=</span> <span
class="n">new</span> <span class="n">CsdlEntitySet</span><span
class="p">();</span>
- <span class="n">entitySet</span><span class="p">.</span><span
class="n">setName</span><span class="p">(</span><span
class="n">ES_ADVERTISMENTS_NAME</span><span class="p">);</span>
- <span class="n">entitySet</span><span class="p">.</span><span
class="n">setType</span><span class="p">(</span><span
class="n">ET_ADVERTISMENT_FQN</span><span class="p">);</span>
- <span class="p">}</span>
- <span class="p">}</span>
+ <span class="k">if</span> <span class="o">(</span><span
class="n">entityContainer</span><span class="o">.</span><span
class="na">equals</span><span class="o">(</span><span
class="n">CONTAINER</span><span class="o">))</span> <span class="o">{</span>
+ <span class="k">if</span> <span class="o">(</span><span
class="n">entitySetName</span><span class="o">.</span><span
class="na">equals</span><span class="o">(</span><span
class="n">ES_PRODUCTS_NAME</span><span class="o">))</span> <span
class="o">{</span>
+ <span class="c1">// Definition of entity set Products</span>
+ <span class="o">}</span> <span class="k">else</span> <span
class="k">if</span> <span class="o">(</span><span
class="n">entitySetName</span><span class="o">.</span><span
class="na">equals</span><span class="o">(</span><span
class="n">ES_CATEGORIES_NAME</span><span class="o">))</span> <span
class="o">{</span>
+ <span class="c1">// Definition if entity set Categories</span>
+ <span class="o">}</span> <span class="k">else</span> <span
class="k">if</span> <span class="o">(</span><span
class="n">entitySetName</span><span class="o">.</span><span
class="na">equals</span><span class="o">(</span><span
class="n">ES_ADVERTISMENTS_NAME</span><span class="o">))</span> <span
class="o">{</span>
+ <span class="n">entitySet</span> <span class="o">=</span> <span
class="k">new</span> <span class="n">CsdlEntitySet</span><span
class="o">();</span>
+ <span class="n">entitySet</span><span class="o">.</span><span
class="na">setName</span><span class="o">(</span><span
class="n">ES_ADVERTISMENTS_NAME</span><span class="o">);</span>
+ <span class="n">entitySet</span><span class="o">.</span><span
class="na">setType</span><span class="o">(</span><span
class="n">ET_ADVERTISMENT_FQN</span><span class="o">);</span>
+ <span class="o">}</span>
+ <span class="o">}</span>
- <span class="k">return</span> <span class="n">entitySet</span><span
class="p">;</span>
-<span class="p">}</span>
+ <span class="k">return</span> <span class="n">entitySet</span><span
class="o">;</span>
+<span class="o">}</span>
</pre></div>
<p>And finally announce the entity type and entity set:</p>
<div class="codehilite"><pre><span class="p">@</span><span
class="n">Override</span>
-<span class="n">public</span> <span class="n">List</span><span
class="o"><</span><span class="n">CsdlSchema</span><span
class="o">></span> <span class="n">getSchemas</span><span
class="p">()</span> <span class="p">{</span>
-
+<span class="n">public</span> <span class="n">List</span><span
class="o"><</span><span class="n">CsdlSchema</span><span
class="o">></span> <span class="n">getSchemas</span><span
class="p">()</span> <span class="p">{</span>
<span class="o">//</span> <span class="p">...</span>
<span class="n">entityTypes</span><span class="p">.</span><span
class="n">add</span><span class="p">(</span><span
class="n">getEntityType</span><span class="p">(</span><span
class="n">ET_ADVERTISMENT_FQN</span><span class="p">));</span>
<span class="o">//</span> <span class="p">...</span>
@@ -219,7 +218,7 @@ This tutorial can be found in subdirecto
<h3 id="enable-the-data-store-to-handle-media-entities">Enable the data store
to handle media entities<a class="headerlink"
href="#enable-the-data-store-to-handle-media-entities" title="Permanent
link">¶</a></h3>
<p>In this tutorial, we will keep things simple. To store the value of media
entities, we create a special property <em>$value</em>. Note this is not a
valid OData Identifier.</p>
<p>To read the content to a media entity, we simple return the value of the
property <em>$value</em>.</p>
-<div class="codehilite"><pre> <span class="kd">private</span> <span
class="kd">static</span> <span class="kd">final</span> <span
class="n">String</span> <span class="n">MEDIA_PROPERTY_NAME</span> <span
class="o">=</span> <span class="s">"$value"</span><span
class="o">;</span>
+<div class="codehilite"><pre><span class="kd">private</span> <span
class="kd">static</span> <span class="kd">final</span> <span
class="n">String</span> <span class="n">MEDIA_PROPERTY_NAME</span> <span
class="o">=</span> <span class="s">"$value"</span><span
class="o">;</span>
<span class="kd">public</span> <span class="kt">byte</span><span
class="o">[]</span> <span class="nf">readMedia</span><span
class="o">(</span><span class="kd">final</span> <span class="n">Entity</span>
<span class="n">entity</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span> <span class="o">(</span><span
class="kt">byte</span><span class="o">[])</span> <span
class="n">entity</span><span class="o">.</span><span
class="na">getProperty</span><span class="o">(</span><span
class="n">MEDIA_PROPERTY_NAME</span><span class="o">).</span><span
class="na">asPrimitive</span><span class="o">();</span>
@@ -285,16 +284,15 @@ This tutorial can be found in subdirecto
<p>After that we call the data store to create the new media entity. The <a
href="http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398337">OData
Specification</a> tells us, that we have to set the location header to the
edit URL of the entity. Since we do not support Prefer Headers we have to
return the entity itself.</p>
<div class="codehilite"><pre> <span class="kd">final</span> <span
class="n">Entity</span> <span class="n">entity</span> <span class="o">=</span>
<span class="n">storage</span><span class="o">.</span><span
class="na">createMediaEntity</span><span class="o">(</span><span
class="n">edmEntitySet</span><span class="o">.</span><span
class="na">getEntityType</span><span class="o">(),</span>
- <span
class="n">requestFormat</span><span class="o">.</span><span
class="na">toContentTypeString</span><span class="o">(),</span>
- <span
class="n">mediaContent</span><span class="o">);</span>
+ <span class="n">requestFormat</span><span class="o">.</span><span
class="na">toContentTypeString</span><span class="o">(),</span><span
class="n">mediaContent</span><span class="o">);</span>
<span class="kd">final</span> <span class="n">ContextURL</span> <span
class="n">contextUrl</span> <span class="o">=</span> <span
class="n">ContextURL</span><span class="o">.</span><span
class="na">with</span><span class="o">().</span><span
class="na">entitySet</span><span class="o">(</span><span
class="n">edmEntitySet</span><span class="o">).</span><span
class="na">suffix</span><span class="o">(</span><span
class="n">Suffix</span><span class="o">.</span><span
class="na">ENTITY</span><span class="o">).</span><span
class="na">build</span><span class="o">();</span>
<span class="kd">final</span> <span
class="n">EntitySerializerOptions</span> <span class="n">opts</span> <span
class="o">=</span> <span class="n">EntitySerializerOptions</span><span
class="o">.</span><span class="na">with</span><span class="o">().</span><span
class="na">contextURL</span><span class="o">(</span><span
class="n">contextUrl</span><span class="o">).</span><span
class="na">build</span><span class="o">();</span>
<span class="kd">final</span> <span class="n">SerializerResult</span>
<span class="n">serializerResult</span> <span class="o">=</span> <span
class="n">odata</span><span class="o">.</span><span
class="na">createSerializer</span><span class="o">(</span><span
class="n">responseFormat</span><span class="o">)</span>
- <span class="o">.</span><span
class="na">entity</span><span class="o">(</span><span
class="n">serviceMetadata</span><span class="o">,</span> <span
class="n">edmEntitySet</span><span class="o">.</span><span
class="na">getEntityType</span><span class="o">(),</span> <span
class="n">entity</span><span class="o">,</span> <span
class="n">opts</span><span class="o">);</span>
+ <span class="o">.</span><span
class="na">entity</span><span class="o">(</span><span
class="n">serviceMetadata</span><span class="o">,</span> <span
class="n">edmEntitySet</span><span class="o">.</span><span
class="na">getEntityType</span><span class="o">(),</span> <span
class="n">entity</span><span class="o">,</span> <span
class="n">opts</span><span class="o">);</span>
<span class="kd">final</span> <span class="n">String</span> <span
class="n">location</span> <span class="o">=</span> <span
class="n">request</span><span class="o">.</span><span
class="na">getRawBaseUri</span><span class="o">()</span> <span
class="o">+</span> <span class="sc">'/'</span>
- <span class="o">+</span> <span
class="n">odata</span><span class="o">.</span><span
class="na">createUriHelper</span><span class="o">().</span><span
class="na">buildCanonicalURL</span><span class="o">(</span><span
class="n">edmEntitySet</span><span class="o">,</span> <span
class="n">entity</span><span class="o">);</span>
+ <span class="o">+</span> <span class="n">odata</span><span
class="o">.</span><span class="na">createUriHelper</span><span
class="o">().</span><span class="na">buildCanonicalURL</span><span
class="o">(</span><span class="n">edmEntitySet</span><span class="o">,</span>
<span class="n">entity</span><span class="o">);</span>
<span class="n">response</span><span class="o">.</span><span
class="na">setContent</span><span class="o">(</span><span
class="n">serializerResult</span><span class="o">.</span><span
class="na">getContent</span><span class="o">());</span>
<span class="n">response</span><span class="o">.</span><span
class="na">setStatusCode</span><span class="o">(</span><span
class="n">HttpStatusCode</span><span class="o">.</span><span
class="na">CREATED</span><span class="o">.</span><span
class="na">getStatusCode</span><span class="o">());</span>
@@ -318,8 +316,8 @@ This tutorial can be found in subdirecto
<span class="kd">final</span> <span class="n">Entity</span> <span
class="n">entity</span> <span class="o">=</span> <span
class="n">storage</span><span class="o">.</span><span
class="na">readEntityData</span><span class="o">(</span><span
class="n">edmEntitySet</span><span class="o">,</span> <span
class="n">uriResourceEntitySet</span><span class="o">.</span><span
class="na">getKeyPredicates</span><span class="o">());</span>
<span class="k">if</span><span class="o">(</span><span
class="n">entity</span> <span class="o">==</span> <span
class="kc">null</span><span class="o">)</span> <span class="o">{</span>
- <span class="k">throw</span> <span class="k">new</span> <span
class="nf">ODataApplicationException</span><span class="o">(</span><span
class="s">"Entity not found"</span><span class="o">,</span>
- <span class="n">HttpStatusCode</span><span
class="o">.</span><span class="na">NOT_FOUND</span><span
class="o">.</span><span class="na">getStatusCode</span><span
class="o">(),</span> <span class="n">Locale</span><span class="o">.</span><span
class="na">ENGLISH</span><span class="o">);</span>
+ <span class="k">throw</span> <span class="k">new</span> <span
class="nf">ODataApplicationException</span><span class="o">(</span><span
class="s">"Entity not found"</span><span class="o">,</span>
+ <span class="n">HttpStatusCode</span><span
class="o">.</span><span class="na">NOT_FOUND</span><span
class="o">.</span><span class="na">getStatusCode</span><span
class="o">(),</span> <span class="n">Locale</span><span class="o">.</span><span
class="na">ENGLISH</span><span class="o">);</span>
<span class="o">}</span>
<span class="kd">final</span> <span class="kt">byte</span><span
class="o">[]</span> <span class="n">mediaContent</span> <span
class="o">=</span> <span class="n">storage</span><span class="o">.</span><span
class="na">readMedia</span><span class="o">(</span><span
class="n">entity</span><span class="o">);</span>
@@ -330,7 +328,7 @@ This tutorial can be found in subdirecto
<span class="n">response</span><span class="o">.</span><span
class="na">setHeader</span><span class="o">(</span><span
class="n">HttpHeader</span><span class="o">.</span><span
class="na">CONTENT_TYPE</span><span class="o">,</span> <span
class="n">entity</span><span class="o">.</span><span
class="na">getMediaContentType</span><span class="o">());</span>
<span class="o">}</span> <span class="k">else</span> <span
class="o">{</span>
<span class="k">throw</span> <span class="k">new</span> <span
class="nf">ODataApplicationException</span><span class="o">(</span><span
class="s">"Not implemented"</span><span class="o">,</span>
- <span class="n">HttpStatusCode</span><span
class="o">.</span><span class="na">BAD_REQUEST</span><span
class="o">.</span><span class="na">getStatusCode</span><span
class="o">(),</span> <span class="n">Locale</span><span class="o">.</span><span
class="na">ENGLISH</span><span class="o">);</span>
+ <span class="n">HttpStatusCode</span><span class="o">.</span><span
class="na">BAD_REQUEST</span><span class="o">.</span><span
class="na">getStatusCode</span><span class="o">(),</span> <span
class="n">Locale</span><span class="o">.</span><span
class="na">ENGLISH</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
</pre></div>
@@ -350,7 +348,7 @@ This tutorial can be found in subdirecto
<span class="kd">final</span> <span class="n">Entity</span> <span
class="n">entity</span> <span class="o">=</span> <span
class="n">storage</span><span class="o">.</span><span
class="na">readEntityData</span><span class="o">(</span><span
class="n">edmEntitySet</span><span class="o">,</span> <span
class="n">uriResourceEntitySet</span><span class="o">.</span><span
class="na">getKeyPredicates</span><span class="o">());</span>
<span class="k">if</span> <span class="o">(</span><span
class="n">entity</span> <span class="o">==</span> <span
class="kc">null</span><span class="o">)</span> <span class="o">{</span>
<span class="k">throw</span> <span class="k">new</span> <span
class="nf">ODataApplicationException</span><span class="o">(</span><span
class="s">"Entity not found"</span><span class="o">,</span>
- <span class="n">HttpStatusCode</span><span
class="o">.</span><span class="na">NOT_FOUND</span><span
class="o">.</span><span class="na">getStatusCode</span><span
class="o">(),</span> <span class="n">Locale</span><span class="o">.</span><span
class="na">ENGLISH</span><span class="o">);</span>
+ <span class="n">HttpStatusCode</span><span
class="o">.</span><span class="na">NOT_FOUND</span><span
class="o">.</span><span class="na">getStatusCode</span><span
class="o">(),</span> <span class="n">Locale</span><span class="o">.</span><span
class="na">ENGLISH</span><span class="o">);</span>
<span class="o">}</span>
<span class="kd">final</span> <span class="kt">byte</span><span
class="o">[]</span> <span class="n">mediaContent</span> <span
class="o">=</span> <span class="n">odata</span><span class="o">.</span><span
class="na">createFixedFormatDeserializer</span><span class="o">().</span><span
class="na">binary</span><span class="o">(</span><span
class="n">request</span><span class="o">.</span><span
class="na">getBody</span><span class="o">());</span>
@@ -359,7 +357,7 @@ This tutorial can be found in subdirecto
<span class="n">response</span><span class="o">.</span><span
class="na">setStatusCode</span><span class="o">(</span><span
class="n">HttpStatusCode</span><span class="o">.</span><span
class="na">NO_CONTENT</span><span class="o">.</span><span
class="na">getStatusCode</span><span class="o">());</span>
<span class="o">}</span> <span class="k">else</span> <span
class="o">{</span>
<span class="k">throw</span> <span class="k">new</span> <span
class="nf">ODataApplicationException</span><span class="o">(</span><span
class="s">"Not implemented"</span><span class="o">,</span>
- <span class="n">HttpStatusCode</span><span
class="o">.</span><span class="na">NOT_IMPLEMENTED</span><span
class="o">.</span><span class="na">getStatusCode</span><span
class="o">(),</span> <span class="n">Locale</span><span class="o">.</span><span
class="na">ENGLISH</span><span class="o">);</span>
+ <span class="n">HttpStatusCode</span><span class="o">.</span><span
class="na">NOT_IMPLEMENTED</span><span class="o">.</span><span
class="na">getStatusCode</span><span class="o">(),</span> <span
class="n">Locale</span><span class="o">.</span><span
class="na">ENGLISH</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
</pre></div>
@@ -386,10 +384,10 @@ This tutorial can be found in subdirecto
Content-Type: image/svg+xml]</p>
<p>::::xml
<?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 100 100">
- <g stroke="darkmagenta" stroke-width="16" fill="crimson">
- <circle cx="50" cy="50" r="42"/>
- </g>
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 100
100">
+ <g stroke="darkmagenta" stroke-width="16" fill="crimson">
+ <circle cx="50" cy="50" r="42"/>
+ </g>
</svg></p>
</li>
<li>