File: XMLType.isFragment.xml

package info (click to toggle)
virtuoso-opensource 7.2.5.1%2Bdfsg1-0.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 285,240 kB
  • sloc: ansic: 641,220; sql: 490,413; xml: 269,570; java: 83,893; javascript: 79,900; cpp: 36,927; sh: 31,653; cs: 25,702; php: 12,690; yacc: 10,227; lex: 7,601; makefile: 7,129; jsp: 4,523; awk: 1,697; perl: 1,013; ruby: 1,003; python: 326
file content (87 lines) | stat: -rw-r--r-- 3,555 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 -  
 -  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 -  project.
 -  
 -  Copyright (C) 1998-2018 OpenLink Software
 -  
 -  This project is free software; you can redistribute it and/or modify it
 -  under the terms of the GNU General Public License as published by the
 -  Free Software Foundation; only version 2 of the License, dated June 1991.
 -  
 -  This program is distributed in the hope that it will be useful, but
 -  WITHOUT ANY WARRANTY; without even the implied warranty of
 -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 -  General Public License for more details.
 -  
 -  You should have received a copy of the GNU General Public License along
 -  with this program; if not, write to the Free Software Foundation, Inc.,
 -  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 -  
 -  
-->
<refentry id="fn_XMLType.isFragment">
  <refmeta>
    <refentrytitle>XMLType.isFragment</refentrytitle>
    <refmiscinfo>xml</refmiscinfo>
  </refmeta>
  <refnamediv>
    <refname>XMLType.isFragment</refname>
    <refpurpose>The function returns 1 if the instance is an XML generic entity or 0 if it is a plain document.</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <funcsynopsis id="fsyn_XMLType.isFragment">
      <funcprototype id="fproto_XMLType.isFragment">
        <funcdef><function>XMLType.isFragment</function></funcdef>
      </funcprototype>
    </funcsynopsis>
  </refsynopsisdiv>
  <refsect1 id="desc_XMLType.isFragment">
    <title>Description</title>
    <para>The function checks the number of children elements of the root of 
	the document root of the given instance.  If there are no such documents or 
	there are many of them then the document is not well-formed, for example it 
	can not be fully validated against an XML schema.  However it can be used 
	as a fragment of a larger document: it can be declared as an external 
	generic entity and then referenced in a top-level document or in one of its 
	subdocuments.  For example a book can be stored in XML as a root 
	document that includes subdocuments, one or more chapter per 
	subdocument.</para>
    <para>
The function returns 1 if the given XMLType instance is a fragment and returns 0 if it is a well-formed XML document.</para>
  </refsect1>
  <refsect1 id="ret_XMLType.isFragment"><title>Return Types</title>
    <para>Integer value 1 or 0.</para>
  </refsect1>
  <refsect1 id="examples_XMLType.isFragment">
    <title>Examples</title>
    <example id="ex_XMLType.isFragment"><title>Basic test</title>
      <para>The table DB.DBA.SYS_USERS always contains more than one user record so the call of XMLAGG
that returns one element per record creates an valid generic entity but not a valid document.</para>
      <screen><![CDATA[
select XMLAGG (XMLELEMENT ("User",U_NAME)) from DB.DBA.SYS_USERS;
callret
VARCHAR
_______________________________________________________________________________

<User>BACKUP</User><User>SOAP</User><User>dba</User><User>demo</User>

1 Rows. -- 00000 msec.
select XMLType (XMLAGG (XMLELEMENT ("User",U_NAME))).isFragment() from DB.DBA.SYS_USERS;
callret
INTEGER
_______________________________________________________________________________

1

1 Rows. -- 00000 msec.
]]>
</screen>
    </example>
  </refsect1>
  <refsect1 id="seealso_XMLType.isFragment">
    <title>See Also</title>
    <para><link linkend="fn_XMLType.getRootElement"><function>XMLType.getRootElement()</function></link></para>
  </refsect1>
</refentry>