ILMSinfo / RBIS: XML

From ILMS-Wiki
(Difference between revisions)
Jump to: navigation, search
(map)
(attribute)
 
(8 intermediate revisions by one user not shown)
Line 37: Line 37:
 
==map==
 
==map==
 
The map-section describes if and how geometry information or displayed and linked to maps.  
 
The map-section describes if and how geometry information or displayed and linked to maps.  
 
+
*'''layer'''
*'''id''': Identification ID (should be equal to view -> id)
+
**'''id''': Identification ID (should be equal to view -> id)
*'''layer_type''' (station|map): type of given geometry (station = point; map = bounding box)
+
**'''layer_type''' (station|map): type of given geometry (station = point; map = bounding box)
 
  <nowiki><layer id="dsstation.md_metadata_id" link_type="station"/></nowiki>
 
  <nowiki><layer id="dsstation.md_metadata_id" link_type="station"/></nowiki>
  
 
At least there is one section necessary to describe in which columns the geometry is located and to add rules to which layer the dataset should be linked to (RBISmap)
 
At least there is one section necessary to describe in which columns the geometry is located and to add rules to which layer the dataset should be linked to (RBISmap)
 
*'''layer'''
 
*'''layer'''
*''''name'''': name of target layer (RBISmap)
+
**'''name''': name of target layer (RBISmap)
*''''title'''' (station|map): not used
+
**'''title''' (station|map): not used
*''''id'''': Identification ID (must equal to view -> id)
+
**'''id''': Identification ID (must equal to view -> id)
 +
***'''geometry''':
 +
****'''type''' (point|bounding_box): Type of geometry
 +
****'''spat_ref_sys''': Database field with SRID
 +
*****'''source''':
 +
******'''contains''': Database field (part of geometry)
 +
******'''ref''': Refers to part of geometry
 +
***'''metadata''':
 +
****'''column'''
 +
****'''contains''': Database field with datase name
 +
***'''conditions''':
 +
****'''sql''': SQL statement to define association rules
  
 +
'''Example 1''' (bounding box):
 +
<nowiki>
 +
    <map>
 +
        <layer id="geodata.md_metadata_id" link_type="map"/>
 +
        <display_link title="geodata_display_link"/>
 +
          <layer name="bounding_box" title="Teststation" id="dsstation.md_metadata_id">
 +
            <geometry type="bbox" spat_ref_sys="map_srid.srid">
 +
                <source contains="geobndbox.westbl" ref="west"/>
 +
                <source contains="geobndbox.eastbl" ref="east"/>
 +
                <source contains="geobndbox.southbl" ref="south"/>
 +
                <source contains="geobndbox.northbl" ref="north"/>
 +
            </geometry>
 +
        </layer>       
 +
    </map></nowiki>
  
 
+
'''Example 2''' (station coordinates with association rules):
  <nowiki><layer id="dsstation.md_metadata_id" link_type="station"/></nowiki>
+
  <nowiki>
 +
    <map>
 +
        <layer id="dsstation.md_metadata_id" link_type="station"/>
 +
        <layer name="station_precip" title="Teststation" id="dsstation.md_metadata_id">
 +
            <geometry type="point" spat_ref_sys="map_srid.srid">
 +
                <source contains="dsstation.latutm" ref="lat"/>
 +
                <source contains="dsstation.longutm" ref="long"/>
 +
                <source sql=""/>
 +
                <source file=""/>
 +
            </geometry>
 +
            <metadata>
 +
                <column name="statname" contains="dsstation.statname"/>
 +
                <column name="fp_featpar" sql="SELECT featpar FROM ds_otherpar left join fp_featpar ON ds_otherpar.fp_featpar_id=fp_featpar.fp_featpar_id WHERE dsstation_id = &quot;.$result[&quot;dsstation.dsstation_id&quot;].&quot;"/>
 +
            </metadata>
 +
            <conditions sql="dsstation.dsstation_id IN (SELECT dsstation_id FROM ds_otherpar WHERE dsstation_id = &quot;.$result[&quot;dsstation.dsstation_id&quot;].&quot; and fp_featpar_id=12027014) "/>
 +
        </layer>
 +
    </map>
 +
</nowiki>
  
 
==edit==
 
==edit==
Line 94: Line 136:
  
 
==document==
 
==document==
*'''title''':
+
Activate the possibility to add files to a dataset (only possible if the dataset has a global identifier (md_metadata_id))
*'''ref_id''':
+
*'''title''': not used (Title in old Layout)
*'''''ref_view_name''''':
+
*'''ref_id''': Identifier to associate Documents
 +
*'''''ref_view_name''''': Reference view name if not identical with XML name
 +
 
 +
'''Example 1''':
 +
<nowiki>
 +
    <document title="geodata_document" ref_id="metadata.md_metadata_id"/>
 +
</nowiki>
 +
 
 +
'''Example 2''' (XML only for search):
 +
<nowiki>
 +
    <document title="station_search_document" ref_id="dsstation.md_metadata_id" ref_view_name="station_meta"/>
 +
</nowiki>
  
 
==association==
 
==association==
Line 121: Line 174:
 
*'''''pk'''''
 
*'''''pk'''''
 
*'''type'''
 
*'''type'''
 
+
**'''text''': limited by the length given under '''size'''. Input field will be a text field or textarea according to the given maximal length.
*'''''default''''':
+
**'''email''': input will be checked against the structure of an email adress.
*'''''dateformat''''':
+
**'''float|integer''': only checked by "is_numeric()"
 +
**'''date''': dateformat is described under '''dateformat'''
 +
**'''timestamp''': date is stored as UNIX-timestamp
 +
**'''bool''': Boolean values; a selection list with "true/fals" will be created
 +
**'''serialized''': content(array) is stored with "serialize()" and shown with "unserialized()" as array
 +
**'''password''': md5 encryption
 +
**'''id''': foreign key field
 +
**'''hidden''':  field is not displayed, but value is send
 +
*'''''default''''': default value (text or ID)
 +
*'''''dateformat''''': Dateformat ( e.g. "Y-m-d")
 
*'''''check''''':
 
*'''''check''''':
 +
*'''''multi_lang'''''(true):multilingual field in the database
  
 
*'''''link_id''''': Specifies the ID used for the link
 
*'''''link_id''''': Specifies the ID used for the link
Line 130: Line 193:
 
*'''''link_target''''': Define the target php-file. The default target is '''view.php'''
 
*'''''link_target''''': Define the target php-file. The default target is '''view.php'''
  
*'''''size''''':
+
*'''''size''''': text field -> number for max length; selection field -> name of predefined list
*'''''sort''''':
+
*'''''sort''''':  
  
 
*'''''depend_on''''':
 
*'''''depend_on''''':
 
*'''''depend_on_rule_table''''':
 
*'''''depend_on_rule_table''''':
  
*'''''required''''':
+
*'''''required''''':  
 
*'''''update''''':
 
*'''''update''''':
  

Latest revision as of 17:01, 23 February 2015

Contents

General structure

The XML definition will be used to automatically create all views on the dataset (overview, detailed view, search view, edit/new view) and all SQL queries in the background. All attribute elements with given position (group and order) will be displayed except of no-matching cond-condition attributes.


Detailed description

view

  • basedir: set to : ".."
  • name: not in use
  • title: not in use (Headline in old Layout)
  • template (true|false): Enable function to save content as template
  • parent: Parent XML-file (will be used to manipulate log entries)

Example:

<view basedir=".." name="variable" title="c_person_headline" parent="c_person_org" template="true">

rights

Controls the actions executed on the XML-file

  • read (true|false): view activities
  • write (true|false): write activities
  • delete (true|false): delete activities
<rights read="true" write="true" delete="true"/>

id

  • name: Identifier of the dataset. "md_metadata_id" should be used if available.
<id name="geodata.md_metadata_id"/>

group

  • name: Internal name of the group (g + number). The number defines also the order of display.
  • title: Group name (headline of group) replaced by translation id.
<group name="g0" title="geodata_g0"/>
<group name="g1" title="geodata_g1"/>
<group name="g2" title="geodata_g2"/>

map

The map-section describes if and how geometry information or displayed and linked to maps.

  • layer
    • id: Identification ID (should be equal to view -> id)
    • layer_type (station|map): type of given geometry (station = point; map = bounding box)
<layer id="dsstation.md_metadata_id" link_type="station"/>

At least there is one section necessary to describe in which columns the geometry is located and to add rules to which layer the dataset should be linked to (RBISmap)

  • layer
    • name: name of target layer (RBISmap)
    • title (station|map): not used
    • id: Identification ID (must equal to view -> id)
      • geometry:
        • type (point|bounding_box): Type of geometry
        • spat_ref_sys: Database field with SRID
          • source:
            • contains: Database field (part of geometry)
            • ref: Refers to part of geometry
      • metadata:
        • column
        • contains: Database field with datase name
      • conditions:
        • sql: SQL statement to define association rules

Example 1 (bounding box):

    <map>
        <layer id="geodata.md_metadata_id" link_type="map"/>
        <display_link title="geodata_display_link"/>
          <layer name="bounding_box" title="Teststation" id="dsstation.md_metadata_id">
            <geometry type="bbox" spat_ref_sys="map_srid.srid">
                <source contains="geobndbox.westbl" ref="west"/>
                <source contains="geobndbox.eastbl" ref="east"/>
                <source contains="geobndbox.southbl" ref="south"/>
                <source contains="geobndbox.northbl" ref="north"/>
            </geometry>
        </layer>        
    </map>

Example 2 (station coordinates with association rules):

    <map>
        <layer id="dsstation.md_metadata_id" link_type="station"/>
        <layer name="station_precip" title="Teststation" id="dsstation.md_metadata_id">
            <geometry type="point" spat_ref_sys="map_srid.srid">
                <source contains="dsstation.latutm" ref="lat"/>
                <source contains="dsstation.longutm" ref="long"/>
                <source sql=""/>
                <source file=""/>
            </geometry>
            <metadata>
                <column name="statname" contains="dsstation.statname"/>
                <column name="fp_featpar" sql="SELECT featpar FROM ds_otherpar left join fp_featpar ON ds_otherpar.fp_featpar_id=fp_featpar.fp_featpar_id WHERE dsstation_id = ".$result["dsstation.dsstation_id"].""/>
            </metadata>
            <conditions sql="dsstation.dsstation_id IN (SELECT dsstation_id FROM ds_otherpar WHERE dsstation_id = ".$result["dsstation.dsstation_id"]." and fp_featpar_id=12027014) "/>
        </layer>
    </map>

edit

  • title: Headline (e.g. Edit dataset:)
  • ref_id: Identifier (e.g. metadata.md_metadata_id)
  • change (true|false): Display link
  • change_view : Reference view for action.
  • change_ov (true|false): Display link in overview
  • change_title: Title replaced by translation id (e.g. Edit).
  • delete (true|false): Display link
  • delete_view : Reference view for action.
  • delete_ov (true|false): Display link in overview
  • delete_title: Title replaced by translation id (e.g. Delete).
  • add (true|false): Display link
  • add_view : Reference view for action.
  • add_ov (true|false): Display link in overview
  • add_title: Title replaced by translation id (e.g. Add).

Example 1:

<edit title="c_person_edit_title" 
ref_id="respparty.ci_respparty_id" 
change="true" 
change_ov="false" change_title="c_person_edit_change_title" delete="true" 
delete_ov="false" delete_title="c_person_edit_delete_title"/>

Example 2 (with "add" & reference view):

<edit title="adm_select_dropdown_edit_title"
ref_id="app_view_dropdown_ids.app_view_dropdown_ids_id" 
change="true" 
change_ov="false" 
change_title="adm_select_dropdown_edit_change_title" 
change_view="adm_select_dropdown_edit" 
delete="true" 
delete_ov="false" 
delete_title="adm_select_dropdown_edit_delete_title"
delete_view="adm_select_dropdown_edit" 
add="true" 
add_ov="false" 
add_title="adm_select_dropdown_edit_add_title"/>

document

Activate the possibility to add files to a dataset (only possible if the dataset has a global identifier (md_metadata_id))

  • title: not used (Title in old Layout)
  • ref_id: Identifier to associate Documents
  • ref_view_name: Reference view name if not identical with XML name

Example 1:

    <document title="geodata_document" ref_id="metadata.md_metadata_id"/>
 

Example 2 (XML only for search):

    <document title="station_search_document" ref_id="dsstation.md_metadata_id" ref_view_name="station_meta"/>
 

association

  • edit:
  • overview:

table

  • name: table name in the database
<table name="metadata">
  • cond: name of condition (if the name is not set in the config.php, the table will be ignored. The cond-attribute must be also set in the attribute and join element.)
config.php: $conditions["workgroup"] = 1;
<table name="fp_featpar_all2" cond="workgroup">

Example:

<table name="metadata">
</table>

attribute

  • cond: name of condition (if the name is not set in the config.php, the attribute will be ignored. The cond-attribute can/must be also set in the table and join element.)
<attribute cond="workgroup" name="featpar" title="geo.... />
  • pk
  • type
    • text: limited by the length given under size. Input field will be a text field or textarea according to the given maximal length.
    • email: input will be checked against the structure of an email adress.
    • float|integer: only checked by "is_numeric()"
    • date: dateformat is described under dateformat
    • timestamp: date is stored as UNIX-timestamp
    • bool: Boolean values; a selection list with "true/fals" will be created
    • serialized: content(array) is stored with "serialize()" and shown with "unserialized()" as array
    • password: md5 encryption
    • id: foreign key field
    • hidden: field is not displayed, but value is send
  • default: default value (text or ID)
  • dateformat: Dateformat ( e.g. "Y-m-d")
  • check:
  • multi_lang(true):multilingual field in the database
  • link_id: Specifies the ID used for the link
  • link_view: Specifies the target view
  • link_target: Define the target php-file. The default target is view.php
  • size: text field -> number for max length; selection field -> name of predefined list
  • sort:
  • depend_on:
  • depend_on_rule_table:
  • required:
  • update:
  • filter: true -> display selection list on overview column
  • group:
  • order:
  • overview:

example: Primaray key

example: Selection list

example: Date

example: Link

link_id="int_method_set.int_method_set_id" link_view="int_method_set_list" link_target="overview.php"

example: Dependency

<attribute name="unit" title="ts_timeseriesfeature_uomunits_all_unit" default="" type="text" size="measured_group" group="g0" order="3" update="dropdown" required="mandatory" overview="3" depend_on="fp_featpar_all.featpar" depend_on_rule_table="app_depend_featpar_uom"/>

join

  • cond: name of condition (if the name is not set in the config.php, the table will be ignored. The cond-attribute must be also set in the table and attribute element.)
<join cond="workgroup" from_table="geodata" ... />
Personal tools