doc-exports/docs/dws/dev/dws_06_0025.html
Lu, Huayi e6fa411af0 DWS DEV 830.201 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:24:04 +00:00

79 lines
8.1 KiB
HTML

<a name="EN-US_TOPIC_0000001233510111"></a><a name="EN-US_TOPIC_0000001233510111"></a>
<h1 class="topictitle1">XML</h1>
<div id="body1597307016136"><p id="EN-US_TOPIC_0000001233510111__p8060118">XML data type stores Extensible Markup Language (XML) formatted data. XML data can also be stored as text, but the advantage of the XML data type is that it checks whether each stored value is a well-formed XML value. XML can store well-formed documents and content fragments defined by XML standards. A content fragment can have multiple top-level elements or character nodes.</p>
<p id="EN-US_TOPIC_0000001233510111__p9740121791816">For functions that support the XML data type, see <a href="dws_06_0067.html">XML Functions</a>.</p>
<div class="section" id="EN-US_TOPIC_0000001233510111__section19631743172120"><h4 class="sectiontitle">Configuring XML Parameters</h4><p id="EN-US_TOPIC_0000001233510111__p8891241181920">The syntax is as follows:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510111__screen1411251771018"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SET</span><span class="w"> </span><span class="n">XML</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="n">DOCUMENT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">CONTENT</span><span class="w"> </span><span class="err">}</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="n">xmloption</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="n">DOCUMENT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">CONTENT</span><span class="w"> </span><span class="err">}</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233510111__p41194291111">If a string value is not converted to XML using the <strong id="EN-US_TOPIC_0000001233510111__b16107539203711">XMLPARSE</strong> or <strong id="EN-US_TOPIC_0000001233510111__b16125184219378">XMLSERIALIZE</strong> function, the <strong id="EN-US_TOPIC_0000001233510111__b17804522123813">XML OPTION</strong> session parameter determines it is <strong id="EN-US_TOPIC_0000001233510111__b1450711673812">DOCUMENT</strong> or <strong id="EN-US_TOPIC_0000001233510111__b1741313198383">CONTENT</strong>.</p>
<p id="EN-US_TOPIC_0000001233510111__p161722392179">The default value is CONTENT, indicating that all types of XML data are allowed.</p>
<p id="EN-US_TOPIC_0000001233510111__p1017263951714">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510111__screen432711188148"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SET</span><span class="w"> </span><span class="n">XML</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="n">DOCUMENT</span><span class="p">;</span>
<span class="k">SET</span>
<span class="k">SET</span><span class="w"> </span><span class="n">xmloption</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="n">DOCUMENT</span><span class="p">;</span>
<span class="k">SET</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001233510111__section364673518228"><h4 class="sectiontitle">Configuring Binary Data Encoding Format</h4><p id="EN-US_TOPIC_0000001233510111__p125892513223">Syntax:</p>
</div>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510111__screen2049548162313"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SET</span><span class="w"> </span><span class="n">xmlbinary</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="n">base64</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">hex</span><span class="err">}</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233510111__p417217395175">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510111__screen1337752582316"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SET</span><span class="w"> </span><span class="n">xmlbinary</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="n">base64</span><span class="p">;</span>
<span class="k">SET</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xmlelement</span><span class="p">(</span><span class="n">name</span><span class="w"> </span><span class="n">foo</span><span class="p">,</span><span class="w"> </span><span class="n">bytea</span><span class="w"> </span><span class="s1">'bar'</span><span class="p">);</span>
<span class="n">xmlelement</span>
<span class="c1">-----------------</span>
<span class="o">&lt;</span><span class="n">foo</span><span class="o">&gt;</span><span class="n">YmFy</span><span class="o">&lt;/</span><span class="n">foo</span><span class="o">&gt;</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
<span class="k">SET</span><span class="w"> </span><span class="n">xmlbinary</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="n">hex</span><span class="p">;</span>
<span class="k">SET</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xmlelement</span><span class="p">(</span><span class="n">name</span><span class="w"> </span><span class="n">foo</span><span class="p">,</span><span class="w"> </span><span class="n">bytea</span><span class="w"> </span><span class="s1">'bar'</span><span class="p">);</span>
<span class="n">xmlelement</span>
<span class="c1">-------------------</span>
<span class="o">&lt;</span><span class="n">foo</span><span class="o">&gt;</span><span class="mi">626172</span><span class="o">&lt;/</span><span class="n">foo</span><span class="o">&gt;</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001233510111__section1176325102418"><h4 class="sectiontitle">Accessing XML Value</h4><p id="EN-US_TOPIC_0000001233510111__p19611928192415">The XML data type is special, and it does not provide any comparison operators, because there is no general comparison algorithm for XML data, so you cannot retrieve data rows by comparing an XML value with a search value. An XML data entry is typically accompanied by an ID for retrieving. Alternatively, you can convert XML values into character strings. However, this is not widely applicable to common scenarios of XML value comparison.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0008.html">Data Types</a></div>
</div>
</div>