The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B4. Beijing 2008
49
find the corresponding GML fragment when retrieve original
data file. In addition, structure of document such as relationship
and order between elements might be disarranged. Thus, these
factors certainly will bring difficulties to management and
retrieve of document data.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="quaiified"
attributeFormDefauIt="unqualified">
<xs:element name="root_LogFiles"
type="FileColIectionType"/>
<xs:element name="WholeFile"
type="WholeFileType"/>
<xs:element name="SegmentFile"
type="SegmentFileType"/>
<xs:complexType name="FileCollectionType">
<xs:sequence>
<xs:element ref="WholeFile" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WholeFileType">
<xs:sequence>
<xs:element ref="SegmentFile" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="Store_Time"
type="xs:string"/>
<xs:element name="Store_Member"
type="xs:string"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:complexType name="SegmentFileType">
<xs:sequence>
<xs:element name="SegmentFileName"
type="xs:string"/>
<xs:element name="ColletionPath"
type="xs:string"/>
<xs:element name^'ChildSegmentFileName"
type='’xs:string" minOccurs="0'7>
</xs:sequence>
<xs:attribute name="narae" type="xs:string'7>
</xs:complexType>
</xs:schema>
Table 2. log schema file
Then, how to manage these GML documents stored in database ?
The approach this paper adopted is to define a storage log file
for each partitioned GML document after stored in database.
Data file with the same schema corresponds to one storage log
file, this log file save relevant storage information for each
GML document stored in database, includes: GML fragment
name, GML fragment storage position, fragment order and
metadata about GML document storage such as saving time,
saving person and so on.
Since information of each log file is basically fixed. Thus, it s
necessary to define a standard log schema file. In this way, log
file could be customized according to schema file. We use
XML format to describe log file, in the same way, we also use
XML format to describe standard schema file.
Definition of storage information for fragment document as
follows, element SegmentFileName indicates fragment file
name, element ColletionPath indicates path the fragment file
stores. Element ChildSegmentFileName indicates file name of
features that would be nested by feature corresponds to this
fragment.
Definition of storage information for the whole GML document
as follows, element SegmentFile indicates relevant information
of partitioned fragment file, element StoreTime indicates store
time of this document, element StoreMember indicates the
store person of this document. In addition, extend relevant
information according to requirement.
FileCollectionType indicates storage information of different
data file with the same schema.
According to definition of above nodes, log schema file could
be defined as following table. Thereby define log file by this
schema file.
Thus, when store instance document City.xml, user can define a
log file to store information of document partition according to
this log schema file, consequently facilitate later operation and
retrieve. Log file of City.xml generated on the basis of log
schema file is omitted in this paper. On this basis, log file of
city.xml and city.xsd schema file could be stored in
corresponding management collection. In this way, GML
instance document, GML schema file and storage log file could
be stored in native XML database and implement native based
storage of GML data.
3. DESIGN AND IMPLEMENT OF G2NXDBM
PROTOTYPE SYSTEM
3.1 Design of G2NXDBMs Framework
This constructed G2NXDBMs prototype system, Figure 4
shows frame sketch map of this system architecture.
G2NXDBMs prototype system mainly implements storage
management on GML data, GML schema and metadata by two
modules: GML storage and GML query.
Figure 4. Architecture of G2NXDBMs
Design idea and function of GML storage module could be
described as follows: ©analyze GML application schema
document, generate one to one mapping rule between schema
and storage structure; ©establish relevant collection in