From 8e12546fe0824cbea6ea111d4dbb5d9f5e8ab14f Mon Sep 17 00:00:00 2001 From: Dave Cassel Date: Tue, 25 Mar 2014 14:27:41 -0400 Subject: [PATCH] #193 Adding support for path fields --- deploy/lib/xquery/setup.xqy | 23 +++++++++++++++++++---- deploy/sample/ml-config.sample.xml | 15 +++++++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/deploy/lib/xquery/setup.xqy b/deploy/lib/xquery/setup.xqy index 2e19c6c3..ced6bb0e 100644 --- a/deploy/lib/xquery/setup.xqy +++ b/deploy/lib/xquery/setup.xqy @@ -1308,9 +1308,8 @@ declare function setup:add-fields( setup:add-fields-R( setup:remove-existing-fields($admin-config, $database), $database, - for $e in $db-config/db:fields/db:field[db:field-name != ""] - return - admin:database-field($e/db:field-name, $e/db:include-root)) + $db-config/db:fields/db:field[db:field-name != ""] + ) }; declare function setup:add-fields-R( @@ -1319,8 +1318,24 @@ declare function setup:add-fields-R( $field-configs as element(db:field)*) as element(configuration) { if ($field-configs) then + let $field := $field-configs[1] + return setup:add-fields-R( - admin:database-add-field($admin-config, $database, $field-configs[1]), + if ($field/db:field-path) then + admin:database-add-field( + $admin-config, + $database, + admin:database-path-field( + $field/db:field-name, + for $path in $field/db:field-path + return + admin:database-field-path($path/db:path, ($path/weight, 1.0)[1])) + ) + else + admin:database-add-field( + $admin-config, + $database, + admin:database-field($field/db:field-name, $field/db:include-root)), $database, fn:subsequence($field-configs, 2)) else diff --git a/deploy/sample/ml-config.sample.xml b/deploy/sample/ml-config.sample.xml index 0031e800..cbaa99bc 100644 --- a/deploy/sample/ml-config.sample.xml +++ b/deploy/sample/ml-config.sample.xml @@ -160,6 +160,21 @@ -->