doc-exports/docs/dws/dev/dws_06_0352.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

162 lines
13 KiB
HTML

<a name="EN-US_TOPIC_0000001500056517"></a><a name="EN-US_TOPIC_0000001500056517"></a>
<h1 class="topictitle1">XML Predicates</h1>
<div id="body0000001500056517"><p id="EN-US_TOPIC_0000001500056517__p064116244471">The functions in this section check the attributes of an XML value.</p>
<div class="section" id="EN-US_TOPIC_0000001500056517__section4150181231416"><h4 class="sectiontitle">xml IS DOCUMENT</h4><p id="EN-US_TOPIC_0000001500056517__p615061217146">Description: IS DOCUMENT returns true if the XML value of the parameter is a correct XML document; if the XML document is incorrect, false is returned. If the parameter is null, a null value is returned.</p>
<p id="EN-US_TOPIC_0000001500056517__p16150312181413">Return type: bool</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001500056517__screen89991826113917"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="s1">'&lt;abc/&gt;'</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">document</span><span class="p">;</span>
<span class="w"> </span><span class="o">?</span><span class="k">column</span><span class="o">?</span>
<span class="c1">----------</span>
<span class="w"> </span><span class="n">t</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>
<div class="section" id="EN-US_TOPIC_0000001500056517__section547911480142"><h4 class="sectiontitle">xml IS NOT DOCUMENT</h4><p id="EN-US_TOPIC_0000001500056517__p781071182316">Description: Returns <strong id="EN-US_TOPIC_0000001500056517__b8676439993819">true</strong> if the XML value of the parameter is not a correct XML document. If the XML document is correct, <strong id="EN-US_TOPIC_0000001500056517__b24677269493819">false</strong> is returned. If the parameter is null, a null value is returned.</p>
<p id="EN-US_TOPIC_0000001500056517__p138106119238">Return type: bool</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001500056517__screen6953228174010"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="s1">'abc'</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">document</span><span class="p">;</span>
<span class="w"> </span><span class="o">?</span><span class="k">column</span><span class="o">?</span>
<span class="c1">----------</span>
<span class="w"> </span><span class="n">f</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>
<div class="section" id="EN-US_TOPIC_0000001500056517__section158041981164"><h4 class="sectiontitle">XMLEXISTS(text PASSING [BY REF] xml [BY REF])</h4><p id="EN-US_TOPIC_0000001500056517__p8811101111230">Description: If the <strong id="EN-US_TOPIC_0000001500056517__b110161641193819">xpath</strong> expression in the first parameter returns any node, the <strong id="EN-US_TOPIC_0000001500056517__b96496284993819">XMLEXISTS</strong> function returns true. Otherwise, the function returns false. (If any parameter is null, the result is null.) The BY REF clause is invalid and is used to maintain SQL compatibility.</p>
<p id="EN-US_TOPIC_0000001500056517__p198110114233">Return type: bool</p>
<p id="EN-US_TOPIC_0000001500056517__p15811191192310">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001500056517__screen1721102319161"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">xmlexists</span><span class="p">(</span><span class="s1">'//town[text() = ''TScity'']'</span><span class="w"> </span><span class="n">PASSING</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">REF</span><span class="w"> </span><span class="s1">'&lt;towns&gt;&lt;town&gt;TScity&lt;/town&gt;&lt;town&gt;TOcity&lt;/town&gt;&lt;/towns&gt;'</span><span class="p">);</span>
<span class="w"> </span><span class="n">xmlexists</span>
<span class="c1">-----------</span>
<span class="w"> </span><span class="n">t</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>
<div class="section" id="EN-US_TOPIC_0000001500056517__section133221558101516"><h4 class="sectiontitle">xml_is_well_formed(text)</h4><p id="EN-US_TOPIC_0000001500056517__p345213109258">Description: Checks whether a text string is a well-formatted XML value and returns a Boolean result. If the <strong id="EN-US_TOPIC_0000001500056517__b66792284993819">xmloption</strong> parameter is set to <strong id="EN-US_TOPIC_0000001500056517__b203287215793819">DOCUMENT</strong>, the document is checked. If the <strong id="EN-US_TOPIC_0000001500056517__b93015306393819">xmloption</strong> parameter is set to<strong id="EN-US_TOPIC_0000001500056517__b141149977193819"> CONTENT</strong>, the content is checked.</p>
<p id="EN-US_TOPIC_0000001500056517__p3452210122514">Return type: bool</p>
<p id="EN-US_TOPIC_0000001500056517__p181724249250">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001500056517__screen68831933182210"><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>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span></pre></div></td><td class="code"><div><pre><span></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>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xml_is_well_formed</span><span class="p">(</span><span class="s1">'&lt;&gt;'</span><span class="p">);</span>
<span class="w"> </span><span class="n">xml_is_well_formed</span>
<span class="c1">--------------------</span>
<span class="w"> </span><span class="n">f</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">SELECT</span><span class="w"> </span><span class="n">xml_is_well_formed</span><span class="p">(</span><span class="s1">'&lt;abc/&gt;'</span><span class="p">);</span>
<span class="w"> </span><span class="n">xml_is_well_formed</span>
<span class="c1">--------------------</span>
<span class="w"> </span><span class="n">t</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">xmloption</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="n">CONTENT</span><span class="p">;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xml_is_well_formed</span><span class="p">(</span><span class="s1">'abc'</span><span class="p">);</span>
<span class="w"> </span><span class="n">xml_is_well_formed</span>
<span class="c1">--------------------</span>
<span class="w"> </span><span class="n">t</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>
<div class="section" id="EN-US_TOPIC_0000001500056517__section539312141618"><h4 class="sectiontitle">xml_is_well_formed_document(text)</h4><p id="EN-US_TOPIC_0000001500056517__p6762125515253">Description: Checks whether a text string is a well-formatted text and returns a Boolean result.</p>
<p id="EN-US_TOPIC_0000001500056517__p1276235511251">Return type: bool</p>
<p id="EN-US_TOPIC_0000001500056517__p173462046192615">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001500056517__screen1754194232215"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">xml_is_well_formed_document</span><span class="p">(</span><span class="s1">'&lt;test:foo xmlns:test=&quot;http://test.com/test&quot;&gt;bar&lt;/test:foo&gt;'</span><span class="p">);</span>
<span class="w"> </span><span class="n">xml_is_well_formed</span>
<span class="c1">--------------------</span>
<span class="w"> </span><span class="n">t</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">SELECT</span><span class="w"> </span><span class="n">xml_is_well_formed_document</span><span class="p">(</span><span class="s1">'&lt;test:foo xmlns:test=&quot;http://test.com/test&quot;&gt;bar&lt;/my:foo&gt;'</span><span class="p">);</span>
<span class="w"> </span><span class="n">xml_is_well_formed_document</span>
<span class="c1">-----------------------------</span>
<span class="w"> </span><span class="n">f</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>
<div class="section" id="EN-US_TOPIC_0000001500056517__section6508543160"><h4 class="sectiontitle">xml_is_well_formed_content(text)</h4><p id="EN-US_TOPIC_0000001500056517__p198113117234">Description: Checks whether a text string is a well-formatted content and returns a Boolean result.</p>
<p id="EN-US_TOPIC_0000001500056517__p12811211102310">Return type: bool</p>
<p id="EN-US_TOPIC_0000001500056517__p030451062716">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001500056517__screen34293278130"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">xml_is_well_formed_content</span><span class="p">(</span><span class="s1">'content'</span><span class="p">);</span>
<span class="w"> </span><span class="n">xml_is_well_formed_content</span>
<span class="c1">----------------------------</span>
<span class="w"> </span><span class="n">t</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">SELECT</span><span class="w"> </span><span class="n">xml_is_well_formed_content</span><span class="p">(</span><span class="s1">'&lt;content'</span><span class="p">);</span>
<span class="w"> </span><span class="n">xml_is_well_formed_content</span>
<span class="c1">----------------------------</span>
<span class="w"> </span><span class="n">f</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>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0067.html">XML Functions</a></div>
</div>
</div>