From: <wol...@us...> - 2011-04-05 19:22:38
|
Revision: 14091 http://exist.svn.sourceforge.net/exist/?rev=14091&view=rev Author: wolfgang_m Date: 2011-04-05 19:22:31 +0000 (Tue, 05 Apr 2011) Log Message: ----------- [ignore] Fixed loading of CSS stylesheet for XForms Modified Paths: -------------- apps/tamboti/modules/edit/controller.xql apps/tamboti/modules/search/controller.xql apps/tamboti/themes/default/css/xforms.css.xq Modified: apps/tamboti/modules/edit/controller.xql =================================================================== --- apps/tamboti/modules/edit/controller.xql 2011-04-05 12:49:09 UTC (rev 14090) +++ apps/tamboti/modules/edit/controller.xql 2011-04-05 19:22:31 UTC (rev 14091) @@ -4,9 +4,12 @@ if (starts-with($exist:path, "/theme")) then let $path := theme:resolve(concat($exist:controller, "/../.."), $exist:path) + let $themePath := replace($path, "^(.*)/[^/]+$", "$1") return <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <forward url="{$path}"/> + <forward url="{$path}"> + <set-attribute name="theme-collection" value="{$themePath}"/> + </forward> </dispatch> else (: everything else is passed through :) Modified: apps/tamboti/modules/search/controller.xql =================================================================== --- apps/tamboti/modules/search/controller.xql 2011-04-05 12:49:09 UTC (rev 14090) +++ apps/tamboti/modules/search/controller.xql 2011-04-05 19:22:31 UTC (rev 14091) @@ -6,6 +6,8 @@ declare namespace request="http://exist-db.org/xquery/request"; declare namespace session="http://exist-db.org/xquery/session"; +declare variable $local:app-root := concat($exist:controller, "/../.."); + declare function local:set-user() { session:create(), let $user := request:get-parameter("user", ()) @@ -75,9 +77,12 @@ else if (starts-with($exist:path, "/theme")) then let $path := theme:resolve(concat($exist:controller, "/../.."), $exist:path) + let $themePath := replace($path, "^(.*)/[^/]+$", "$1") return <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <forward url="{$path}"/> + <forward url="{$path}"> + <set-attribute name="theme-collection" value="{$themePath}"/> + </forward> </dispatch> else (: everything else is passed through :) Modified: apps/tamboti/themes/default/css/xforms.css.xq =================================================================== --- apps/tamboti/themes/default/css/xforms.css.xq 2011-04-05 12:49:09 UTC (rev 14090) +++ apps/tamboti/themes/default/css/xforms.css.xq 2011-04-05 19:22:31 UTC (rev 14091) @@ -7,10 +7,10 @@ declare option exist:serialize "method=xml media-type=text/css indent=yes"; -let $path-to-css-files := '/db/org/library/resources/css/' +let $uri := request:get-attribute("theme-collection") let $css-files := ('blueprint/screen.css', 'style.css', 'xforms-xsltforms.css') return <css>{ for $css-file in $css-files - return util:binary-to-string(util:binary-doc(concat($path-to-css-files, $css-file))) + return util:binary-to-string(util:binary-doc(concat($uri, "/", $css-file))) }</css> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <del...@us...> - 2011-04-07 15:04:59
|
Revision: 14117 http://exist.svn.sourceforge.net/exist/?rev=14117&view=rev Author: deliriumsky Date: 2011-04-07 15:04:53 +0000 (Thu, 07 Apr 2011) Log Message: ----------- Simplified requests - more to come on asserting correct actions Modified Paths: -------------- apps/tamboti/modules/search/checkuser.xql apps/tamboti/resources/scripts/query.js Modified: apps/tamboti/modules/search/checkuser.xql =================================================================== --- apps/tamboti/modules/search/checkuser.xql 2011-04-07 13:20:31 UTC (rev 14116) +++ apps/tamboti/modules/search/checkuser.xql 2011-04-07 15:04:53 UTC (rev 14117) @@ -18,74 +18,39 @@ ) }; -declare function local:user-can-write-collection($user as xs:string, $collection as xs:string) as element(result) +declare function local:collection-relationship($user as xs:string, $collection as xs:string) as element(relationship) { - if($collection eq $config:groups-collection)then - ( - <result>false</result> - ) - else - ( - <result>{security:can-write-collection($user, $collection)}</result> - ) + <relationship user="{$user}" collection="{$collection}"> + <read>{ security:can-read-collection($user, $collection) }</read> + <write>{ + if($collection = ($config:groups-collection, $config:users-collection))then ( + false() + ) else ( + security:can-write-collection($user, $collection) + ) + }</write> + <home>{ $collection eq security:get-home-collection-uri($user) }</home> + <owner>{ security:is-collection-owner($user, $collection) }</owner> + </relationship> }; -declare function local:user-can-write-collection-and-not-home($user, $collection as xs:string) as element(result) -{ - if($collection eq security:get-home-collection-uri($user))then - ( - <result>false</result> - ) - else - ( - local:user-can-write-collection($user, $collection) - ) -}; - declare function local:user-is-collection-owner($user as xs:string, $collection as xs:string) as element(result) { <result>{security:is-collection-owner($user, $collection)}</result> }; -declare function local:is-users-home-collection($user as xs:string, $collection as xs:string) as element(result) -{ - <result>{security:get-home-collection-uri($user) eq $collection}</result> -}; - -declare function local:user-is-collection-owner-and-not-home($user as xs:string, $collection as xs:string) as element(result) -{ - <result>{security:is-collection-owner($user, $collection) and (security:get-home-collection-uri($user) ne $collection)}</result> -}; - if(request:get-parameter("action",()))then ( - if(request:get-parameter("action",()) eq "can-write-collection")then - ( - local:user-can-write-collection(security:get-user-credential-from-session()[1], request:get-parameter("collection",())) - ) - else if(request:get-parameter("action",()) eq "can-write-collection-and-not-home")then - ( - local:user-can-write-collection-and-not-home(security:get-user-credential-from-session()[1], request:get-parameter("collection",())) - ) - else if(request:get-parameter("action",()) eq "is-collection-owner")then - ( - local:user-is-collection-owner(security:get-user-credential-from-session()[1], request:get-parameter("collection",())) - ) - else if(request:get-parameter("action",()) eq "is-users-home-collection")then - ( - local:is-users-home-collection(security:get-user-credential-from-session()[1], request:get-parameter("collection",())) - ) - else if(request:get-parameter("action",()) eq "is-collection-owner-and-not-home")then - ( - local:user-is-collection-owner-and-not-home(security:get-user-credential-from-session()[1], request:get-parameter("collection",())) - ) - else - ( - response:set-status-code(403), - <unknown/> - ) + let $action := request:get-parameter("action", ()) return + if($action eq "is-collection-owner")then + local:user-is-collection-owner(security:get-user-credential-from-session()[1], request:get-parameter("collection",())) + else if($action eq "collection-relationship")then + local:collection-relationship(security:get-user-credential-from-session()[1], request:get-parameter("collection",())) + else + ( + response:set-status-code(403), + <unknown action="{$action}"/> + ) ) else -( - local:authenticate(request:get-parameter("user", ()), request:get-parameter("password", ())) -) \ No newline at end of file + local:authenticate(request:get-parameter("user", ()), request:get-parameter("password", ())) \ No newline at end of file Modified: apps/tamboti/resources/scripts/query.js =================================================================== --- apps/tamboti/resources/scripts/query.js 2011-04-07 13:20:31 UTC (rev 14116) +++ apps/tamboti/resources/scripts/query.js 2011-04-07 15:04:53 UTC (rev 14117) @@ -70,11 +70,13 @@ }, autoFocus: false, onActivate: function (dtnode) { + /** + Executed when a tree node is clicked + */ var title = dtnode.data.title; var key = dtnode.data.key; updateCollectionPaths(title, key); - showHideCollectionWriteableControls(); - showHideCollectionOwnerControls(); + showHideCollectionControls(); }, onLazyRead: function(node){ node.appendAjax({ @@ -153,23 +155,43 @@ // $('#collection-create-resource').attr("href", "../edit/edit.xq?type=book-chapter&collection=" + key); }; -function showHideCollectionWriteableControls() { +function showHideCollectionControls() { var collection = getCurrentCollection(); - var params = { action: "can-write-collection", collection: collection }; + var params = { action: "collection-relationship", collection: collection }; $.get("checkuser.xql", params, function(data) { - if($(data).text() == 'true') { - $('#collection-create-folder').show(); - $('#collection-create-resource').show(); + + /** + data looks like this - + + <relationship user="" collection=""> + <read></read> + <write></write> + <home></home> + <owner></owner> + </relationship> + */ + + var write = $(data).find('write'); + var isWriteable = (write != null && write.text() == 'true'); + + var home = $(data).find('home'); + var isUsersHome = (home != null && home.text() == 'true'); + + var owner = $(data).find('owner'); + var isOwner = (owner != null && owner.text() == 'true'); + + //collection is writeable + if(isWriteable){ + $('#collection-create-folder').show(); + $('#collection-create-resource').show(); } else { $('#collection-create-folder').hide(); $('#collection-create-resource').hide(); } - }); - - params = { action: "can-write-collection-and-not-home", collection: collection }; - $.get("checkuser.xql", params, function(data) { - if($(data).text() == 'true') { + + //collection is writeable and not the current users home + if(isWriteable && !isUsersHome) { $('#collection-rename-folder').show(); $('#collection-move-folder').show(); $('#collection-remove-folder').show(); @@ -178,14 +200,9 @@ $('#collection-move-folder').hide(); $('#collection-remove-folder').hide(); } - }); -}; - -function showHideCollectionOwnerControls() { - var collection = getCurrentCollection(); - var params = { action: "is-collection-owner-and-not-home", collection: collection }; - $.get("checkuser.xql", params, function(data) { - if($(data).text() == 'true') { + + //collection is not current users home and is owned by current user + if(!isUsersHome && isOwner) { $('#collection-sharing').show(); } else { $('#collection-sharing').hide(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2011-04-08 14:56:04
|
Revision: 14135 http://exist.svn.sourceforge.net/exist/?rev=14135&view=rev Author: jenspetersen Date: 2011-04-08 14:55:56 +0000 (Fri, 08 Apr 2011) Log Message: ----------- [tamboti] Redone name; still have the main module (format-name) to finish. Reintroduced mads (which Wolfgang had in his version, but which I suppressed). Modified Paths: -------------- apps/tamboti/modules/search/retrieve-mods.xql apps/tamboti/modules/search/search.xql apps/tamboti/modules/search/session.xql apps/tamboti/repo.xml Modified: apps/tamboti/modules/search/retrieve-mods.xql =================================================================== --- apps/tamboti/modules/search/retrieve-mods.xql 2011-04-08 13:12:52 UTC (rev 14134) +++ apps/tamboti/modules/search/retrieve-mods.xql 2011-04-08 14:55:56 UTC (rev 14135) @@ -5,22 +5,42 @@ declare namespace fo="http://www.w3.org/1999/XSL/Format"; declare namespace functx = "http://www.functx.com"; +import module namespace config="http://exist-db.org/mods/config" at "../config.xqm"; + declare option exist:serialize "media-type=text/xml"; (: TODO: A lot of restrictions to the first item in a sequence ([1]) have been made; these must all be changed to for-structures or string-joins. :) (: TODO: With the new cleanup script, the results received have no empty attributes and no empty elements. A lot of checking for these should be rolled back. :) (: ### general functions begin ###:) - -declare function functx:camel-case-to-words( $arg as xs:string?, $delim as xs:string ) as xs:string? { + +(:~ +: Used to transform the camel-case names of MODS elements into space-separated words. +: @param +: @return +: @see http://www.xqueryfunctions.com/xq/functx_camel-case-to-words.html +:) +declare function functx:camel-case-to-words($arg as xs:string?, $delim as xs:string ) as xs:string? { concat(substring($arg,1,1), replace(substring($arg,2),'(\p{Lu})', concat($delim, '$1'))) }; +(:~primary- +: Used to capitalize the first character of $arg. +: @param +: @return +: @see http://http://www.xqueryfunctions.com/xq/functx_capitalize-first.html +:) declare function functx:capitalize-first( $arg as xs:string? ) as xs:string? { concat(upper-case(substring($arg,1,1)), substring($arg,2)) }; +(:~ +: Used to remove whitespace at the beginning and end of a string. +: @param +: @return +: @see http://http://www.xqueryfunctions.com/xq/functx_trim.html +:) declare function functx:trim( $arg as xs:string? ) as xs:string { replace(replace($arg,'\s+$',''),'^\s+','') } ; @@ -33,8 +53,13 @@ () }; +(:~ +: Used to clean up unintended sequences of punctuation. These should ideally be removed at the source. +: @param +: @return +:) (: Function to clean up unintended punctuation. These should ideally be removed at the source. :) -declare function mods:clean-up-punctuation($input as xs:string) as xs:string? { +declare function mods:clean-up-punctuation($input as xs:string?) as xs:string? { replace( replace( replace( @@ -74,7 +99,7 @@ (:~ -: The <b>mods:get-language</b> function returns +: The <b>mods:get-language-term</b> function returns : the <b>human-readable label</b> of the language value passed to it. : This value can set in many mods elements and attributes. : languageTerm can have two types, text and code. @@ -84,19 +109,17 @@ : The most commonly used values are checked first, letting the function exit quickly. : The function returns the human-readable label, based on searches in the code values and in the label. : -: @author Jens Østergaard Petersen -: @version 1.0 : @param $node A mods element or attribute recording a value, in textual or coded form : @return The language label string :) declare function mods:get-language-term($language as node()?) as xs:string? { let $languageTerm := - let $languageTerm := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[value = $language[@type = 'code']][1]/label + let $languageTerm := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[value = $language[@type = 'code']][1]/label return if ($languageTerm) then $languageTerm else - let $languageTerm := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[valueTwo = $language[@type = 'code']][1]/label + let $languageTerm := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[valueTwo = $language[@type = 'code']][1]/label return if ($languageTerm) then $languageTerm @@ -106,12 +129,12 @@ if ($languageTerm) then $languageTerm else - let $languageTerm := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[upper-case(label) = $language[@type = 'text']/upper-case(label)][1]/label + let $languageTerm := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[upper-case(label) = $language[@type = 'text']/upper-case(label)][1]/label return if ($languageTerm) then $languageTerm else - let $languageTerm := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[upper-case(label) = upper-case($language[1])][1]/label + let $languageTerm := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[upper-case(label) = upper-case($language[1])][1]/label return if ($languageTerm) then $languageTerm @@ -119,14 +142,20 @@ return $languageTerm }; +(:~ +: The <b>mods:get-script-term</b> function returns +: the <b>human-readable label</b> of the script value passed to it. +: @param +: @return +:) declare function mods:get-script-term($language as node()?) as xs:string? { let $scriptTerm := - let $scriptTerm := doc('/db/org/library/apps/mods/code-tables/script-codes.xml')/code-table/items/item[value = $language/mods:scriptTerm[@authority]]/label + let $scriptTerm := doc(concat($config:edit-app-root, '/code-tables/script-codes.xml'))/code-table/items/item[value = $language/mods:scriptTerm[@authority]]/label return if ($scriptTerm) then $scriptTerm else - let $scriptTerm := doc('/db/org/library/apps/mods/code-tables/script-codes.xml')/code-table/items/item[value = $language/mods:scriptTerm]/label + let $scriptTerm := doc(concat($config:edit-app-root, '/code-tables/script-codes.xml'))/code-table/items/item[value = $language/mods:scriptTerm]/label return if ($scriptTerm) then $scriptTerm @@ -136,15 +165,13 @@ (:~ : The <b>mods:language-of-resource</b> function returns -: the <b>$string</b> value of the language for the resource. +: the <b>string</b> value of the language for the resource. : This value is set in mods/language/languageTerm. : The function feeds this value to the function mods:get-language. : It is assumed that if two languageTerm's exist under one language, these are equivalent. -: It is possible to have multiple mods/language, for resources, just as it is possible to set the code value to 'mul', meaning Multiple languages. +: It is possible to have multiple mods/language for resources, just as it is possible to set the code value to 'mul', meaning Multiple languages. : The value is set in the dialogue which leads to the creation of a new records. : -: @author Jens Østergaard Petersen -: @version 1.0 : @see xqdoc/xqdoc-display;get-language : @param $language The MODS languageTerm element, child of the top-level language element : @return The language label string @@ -177,8 +204,6 @@ : It is possible to have multiple mods/language, for resources, just as it is possible to set the code value to 'mul', meaning Multiple languages. : The value is set in the dialogue which leads to the creation of a new records. : -: @author Jens Østergaard Petersen -: @version 1.0 : @see xqdoc/xqdoc-display;get-language : @param $entry The MODS languageOfCataloging element, child of the top-level recordInfo element : @return The language label string @@ -203,22 +228,20 @@ : The most commonly used values are checked first, letting the function exit quickly. : The function returns the human-readable label, based on searches in the code values and in the label values. : -: @author Jens Østergaard Petersen -: @version 1.0 : @param $node A mods element or attribute recording a role term value, in textual or coded form : @return The role term label string :) declare function mods:get-role-label-for-detail-view($roleTerm as item()?) as item()? { let $roleLabel := (: Is the roleTerm a role label? :) - let $roleLabel := doc('/db/org/library/apps/mods/code-tables/role-codes.xml')/code-table/items/item[upper-case(label) = upper-case($roleTerm)]/label + let $roleLabel := doc(concat($config:edit-app-root, '/code-tables/role-codes.xml'))/code-table/items/item[upper-case(label) = upper-case($roleTerm)]/label (: Prefer the label proper, since it contains the form presented in the detail view, e.g. "Editor" instead of "edited by". :) return if ($roleLabel) then $roleLabel else (: Is the roleTerm a role term @code? :) - let $roleLabel := doc('/db/org/library/apps/mods/code-tables/role-codes.xml')/code-table/items/item[value = $roleTerm]/label + let $roleLabel := doc(concat($config:edit-app-root, '/code-tables/role-codes.xml'))/code-table/items/item[value = $roleTerm]/label return if ($roleLabel) then $roleLabel @@ -266,31 +289,29 @@ : The most commonly used values are checked first, letting the function exit quickly. : The function returns the human-readable label, based on searches in the code values and in the labelSecondary and label values. : -: @author Jens Østergaard Petersen -: @version 1.0 : @param $node A mods element or attribute recording a role term value, in textual or coded form : @return The role term label string :) declare function mods:get-role-label-for-list-view($roleTerm as xs:string*) as xs:string* { let $roleLabel := - let $roleLabel := doc('/db/org/library/apps/mods/code-tables/role-codes.xml')/code-table/items/item[upper-case(label) = upper-case($roleTerm)]/labelSecondary + let $roleLabel := doc(concat($config:edit-app-root, '/code-tables/role-codes.xml'))/code-table/items/item[upper-case(label) = upper-case($roleTerm)]/labelSecondary (: Prefer labelSecondary, since it contains the form presented in the list view output, e.g. "edited by" instead of "editor". :) return if ($roleLabel) then $roleLabel else - let $roleLabel := doc('/db/org/library/apps/mods/code-tables/role-codes.xml')/code-table/items/item[value = $roleTerm]/labelSecondary + let $roleLabel := doc(concat($config:edit-app-root, '/code-tables/role-codes.xml'))/code-table/items/item[value = $roleTerm]/labelSecondary return if ($roleLabel) then $roleLabel else - let $roleLabel := doc('/db/org/library/apps/mods/code-tables/role-codes.xml')/code-table/items/item[upper-case(label) = upper-case($roleTerm)]/label + let $roleLabel := doc(concat($config:edit-app-root, '/code-tables/role-codes.xml'))/code-table/items/item[upper-case(label) = upper-case($roleTerm)]/label (: If there is no labelSecondary, take the label. :) return if ($roleLabel) then $roleLabel else - let $roleLabel := doc('/db/org/library/apps/mods/code-tables/role-codes.xml')/code-table/items/item[value = $roleTerm]/label + let $roleLabel := doc(concat($config:edit-app-root, '/code-tables/role-codes.xml'))/code-table/items/item[value = $roleTerm]/label return if ($roleLabel) then $roleLabel @@ -318,7 +339,7 @@ then for $name at $pos in $publisher/mods:name return - mods:retrieve-primary-name($name, $pos) + mods:retrieve-name($name, $pos, 'secondary') else $publisher , ', ') @@ -364,7 +385,7 @@ then if ($item/name() = 'name') then - mods:format-primary-name($item, 1) + mods:format-name($item, 1, 'primary') else if ($item/name() = 'titleInfo') then @@ -450,8 +471,8 @@ (: contains no subelements. :) (: has: encoding; point; qualifier. :) (: some dates have keyDate. :) -let $start := functx:trim($date[@point = 'start']) -let $end := functx:trim($date[@point = 'end']) +let $start := functx:trim($date[@point = 'start']/text()) +let $end := functx:trim($date[@point = 'end']/text()) let $qualifier := functx:trim($date/@qualifier) let $encoding := functx:trim($date/@encoding) return @@ -459,10 +480,8 @@ if ($start and $end) then if ($start != $end) - then - concat($start, '-', $end) - else - $start + then concat($start, '-', $end) + else $start else if ($start or $end) then @@ -502,32 +521,35 @@ (: The MODS schema includes several date elements intended to record different events that may be important in the life of a resource. :) declare function mods:get-place($places as element(mods:place)*) as xs:string? { + (: NB: Should iterate over both place and placeTerm. :) string-join( for $place in $places let $placeTerm := $place/mods:placeTerm let $order := - if ($placeTerm[@transliteration]) + if ($placeTerm/@transliteration) then 0 else 1 order by $order return - if ($placeTerm[@type = 'text']) - then string-join(( - $placeTerm[@transliteration], - $placeTerm[not(@transliteration)]), - ' ') + if ($placeTerm[@type = 'text']/text()) + then concat( + $placeTerm[@transliteration]/text() + , + ' ' + , + $placeTerm[not(@transliteration)]/text() + ) else - if ($placeTerm[@authority = 'marccountry']) + if ($placeTerm[@authority = 'marccountry']/text()) then - doc('/db/org/library/apps/mods/code-tables/marc-country-codes.xml')/code-table/items/item[value = $placeTerm]/label + doc(concat($config:edit-app-root, '/code-tables/marc-country-codes.xml'))/code-table/items/item[value = $placeTerm]/label else - if ($placeTerm[@authority = 'iso3166']) + if ($placeTerm[@authority = 'iso3166']/text()) then - doc('/db/org/library/apps/mods/code-tables/iso3166-country-codes.xml')/code-table/items/item[value = $placeTerm]/label + doc(concat($config:edit-app-root, '/code-tables/iso3166-country-codes.xml'))/code-table/items/item[value = $placeTerm]/label else - $place/mods:placeTerm[not(@type)]/string(), - ' ' - ) + $place/mods:placeTerm[not(@type)]/text(), + ' ') }; (: <part> is found both as a top level element and under <relatedItem>. :) @@ -753,29 +775,31 @@ (: Both the name as given in the publication and the autority name should be rendered. :) declare function mods:format-transliterated-eastern-name($name as element()?) as xs:string? { - if ($name/mods:namePart[@transliteration = ('pinyin', 'romaji')]) then - let $family := string-join(($name/mods:namePart[@transliteration = ('pinyin', 'romaji')][@type = 'family']), ' ') - (: What if several transliterations (both Japanese and Chinese) are used? :) - let $given := string-join(($name/mods:namePart[@transliteration = ('pinyin', 'romaji')][@type = 'given']), ' ') - let $address := $name/mods:namePart[@transliteration = ('pinyin', 'romaji')][@type = 'termsOfAddress'][1] - let $date := $name/mods:namePart[@transliteration = ('pinyin', 'romaji')][@type = 'date'][1] - let $language := - if ($name/@lang) - then - mods:get-language-term($name/@lang) - else - mods:language-of-resource($name/../mods:language) - let $languageType := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[value = $language]/nameOrder - return - string-join( - ( - $family, - $given, - if ($address) then $address else (), - if ($date) then concat(' (', $date, ')') else (), - $name/mods:namePart[@transliteration][not(@type) or @type = ''] - ) - , ' ') + if ($name/mods:namePart[@transliteration = ('pinyin', 'romaji')]/text()) + then + let $family := string-join(($name/mods:namePart[@transliteration = ('pinyin', 'romaji')][@type = 'family']/text()), ' ') + (: What if several transliterations (both Japanese and Chinese) are used? :) + let $given := string-join(($name/mods:namePart[@transliteration = ('pinyin', 'romaji')][@type = 'given']/text()), ' ') + let $address := $name/mods:namePart[@transliteration = ('pinyin', 'romaji')][@type = 'termsOfAddress'][1]/text() + let $date := $name/mods:namePart[@transliteration = ('pinyin', 'romaji') and @type = 'date'][1]/text() + let $language := + if ($name/@lang) + then + mods:get-language-term($name/@lang) + else + mods:language-of-resource($name/../mods:language) + (: Not used. :) + let $nameOrder := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[value = $language]/nameOrder + return + string-join( + ( + $family, + $given, + if ($address) then $address else (), + if ($date) then concat(' (', $date, ')') else (), + $name/mods:namePart[@transliteration][not(@type)]/text() + ) + , ' ') else () }; @@ -790,7 +814,7 @@ string-join(( functx:trim($family), functx:trim($given), if ($address) then concat(' ,', functx:trim($address)) else (), - $name/mods:namePart[@transliteration][not(@type) or @type = ''] + $name/mods:namePart[@transliteration][not(@type)] (: NB: What does the last line do??? :) ), ' ') else () @@ -826,59 +850,115 @@ () }; -declare function mods:format-primary-name($name as element(mods:name), $pos as xs:integer) { - (: If the name is (erroneously) not typed, then format the Eastern name and string-join the nameParts. :) - let $language := +declare function mods:format-name($name as element(), $pos as xs:integer, $caller as xs:string) { + let $language := if ($name/@lang) - then - mods:get-language-term($name/@lang) - else - mods:language-of-resource($name/../mods:language) - let $languageType := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[value = $language]/nameOrder - return - if ($name[not(@type) or @type = '']) + then mods:get-language-term($name/@lang) + else mods:language-of-resource($name/../*:language) +let $log := util:log("DEBUG", ("##language: ", $language)) + let $nameOrder := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[value = $language]/nameOrder + let $type := $name/@type +(:let $log := util:log("DEBUG", ("##type: ", $type)):) + let $namePart := $name/*:namePart +(:let $log := util:log("DEBUG", ("##namePart: ", $namePart)):) + return + (: If the name is (erroneously) not typed, then format the transliterated name (if any) and string-join the untransliterated nameParts. :) + if (empty($type)) then concat( - mods:format-transliterated-eastern-name($name/mods:namePart[@transliteration][not(@type)]), - ' ', - string-join($name/mods:namePart[not(@transliteration)][not(@type) or @type = ''], ' ') + mods:format-transliterated-eastern-name($namePart[@transliteration][not(@type)]), + ' ', + string-join($namePart[not(@transliteration)][not(@type)], ' ') ) (: If the name is typed :) - else - if ($name/@type = 'conference') + else + (: If the name is type conference. :) + if ($type = 'conference') then () - (: get-conference-detail-view and get-conference-hitlist take care of @type = 'conference'. :) - else - if ($name/@type = 'corporate') + (: Do nothing, since get-conference-detail-view and get-conference-hitlist take care of conference. :) + (: NB: check get-conference-detail-view and get-conference-hitlist! :) + else + (: If the name is type corporate. :) + if ($type = 'corporate') then - concat(string-join($name/mods:namePart[@transliteration]/text(), ' '), ' ', string-join($name/mods:namePart[not(@transliteration)]/text(), ' ')) - (: The assumption is that any sequence of several namePart is meaningfully constructed, e.g. with more general term first. :) + concat( + string-join($namePart[@transliteration]/text(), ' ') + , ' ', + string-join($namePart[not(@transliteration)]/text(), ' ') + ) + (: The assumption is that any sequence of corporate name parts is meaningfully constructed, e.g. with more general term first. :) + (: If the name is type personal. This is the last option. :) else - if ($name/@type = 'personal') - then - let $family := $name/mods:namePart[@type = 'family'][not(@transliteration/string())] - let $given := $name/mods:namePart[@type = 'given'][not(@transliteration/string())] - let $address := $name/mods:namePart[@type = 'termsOfAddress'][not(@transliteration/string())] - let $date := string-join($name/mods:namePart[@type = 'date'][not(@transliteration/string())], ' ') + (: Split up the name parts into three groups: + 1. base: those that do not have transliteration and do not have script (or have Latin script). + 2. transliteration: those that have transliteration and do not have script (or have Latin script, which characterises transliteration). + 3. script: those that do not have transliteration but have script (but not Latin script, which characterises transliteration). + :) + (: If the three name forms occur, they should be formatted in the sequence of 1, 2, and 3. + Only in rare cases will 1, 2, and 3 occur together (e.g. a Westerner with name form in Chinese characters or a Chinese with an established Western-style name form different from the transliterated name form. + In the case of persons using Latin script to render their name, only 1 will be used. + In the case of e.g. Chinese or Japanese, only 2 and 3 will be used. Only 3 will be used, if no transliteration is given and only 2 will be used, if only transliteration is given. :) + (: When formatting a name, $pos is relevant to the formatting of $namePartBase. :) + (: When formatting a name, the first question to ask is whether the name parts are typed, i.e. are divded into given and family names. + If they are not, there is really not much one can do, besides concatenating the name parts. :) + (: When formatting typed name parts, the relative position of family name and given name depends is relevant to the formatting of $namePartBase. :) + (: NB: If the name is translated from one language to another (e.g. William the Conqueror, Guillaume le Conquérant), there will be two $namePartBase, one for each language, but with the same script and no transliteration. This is not implemented yet. :) + (: NB: If the name is transliterated in two ways, there will be two $namePartTransliteration, one for each transliteration scheme, but with the same script (Latin). This is not implemented yet. :) + (: NB: If the name is renedered in two scripts, there will be two $namePartScript, one for each script (none of which is Latin), and with no transliteration. This is not implemented yet. :) + + let $namePartBase := $namePart[not(@transliteration) and (not(@script) or @script = 'Latn')] + let $untyped := $namePartBase[not(@type)]/text() + let $family := $namePartBase[@type = 'family']/text() + let $given := $namePartBase[@type = 'given']/text() + let $address := $namePartBase[@type = 'termsOfAddress']/text() + let $date := $namePartBase[@type = 'date']/text() + +let $log := util:log("DEBUG", ("##$namePartBase: ", $namePartBase)) + + let $namePartTransliteration := $namePart[exists(@transliteration) and (not(@script) or @script = 'Latn')] + let $untypedTransliteration := $namePartTransliteration[not(@type)]/text() + let $familyTransliteration := $namePartTransliteration[@type = 'family']/text() + let $givenTransliteration := $namePartTransliteration[@type = 'given']/text() + let $addressTransliteration := $namePartTransliteration[@type = 'termsOfAddress']/text() + let $dateTransliteration := $namePartTransliteration[@type = 'date']/text() + +let $log := util:log("DEBUG", ("##$namePartTransliteration: ", $namePartTransliteration)) + + let $namePartScript := $namePart[not(@transliteration) and (exists(@script) or @script = 'Latn')] + let $untypedScript := $namePartScript[not(@type)]/text() + let $familyScript := $namePartScript[@type = 'family']/text() + let $givenScript := $namePartScript[@type = 'given']/text() + let $addressScript := $namePartScript[@type = 'termsOfAddress']/text() + let $dateScript := $namePartScript[@type = 'date']/text() + +let $log := util:log("DEBUG", ("##$namePartScript: ", $namePartScript)) + return + concat( - (: Concat appends dates to the name proper at the end. :) + (: Concat appends dates to the name proper at the end. :) + (: If at least one of the nameParts is properly typed. The assumption is that both are then typed. :) string-join( if ($family or $given) - (: If one of the nameParts is properly typed :) then - if ($languageType = 'family-given') + (: If the name order is family-given. NB: Hungarian is not treated separately. :) + if ($nameOrder = 'family-given') then - (: If the name is transliterated and Eastern :) (: No matter which position they have, Japanese and Chinese names are formatted the same. :) - (: Problem: what if Westeners have Chinese names? Can one assume that the form in original script comes first? Can one assume that transliteration comes after original script? This is actually a fault in MODS. <namePart>s that belong together should be grouped. :) + (: NB: what if Westeners have Chinese names? Can one assume that the form in original (Western) script comes first? Can one assume that transliteration comes after from in original script? This is actually a fault in MODS. Name parts that belong together should be grouped. :) (: We assume that the name in native script occurs first, that the existence of a transliterated name implies the existence of a native-script name. :) - (mods:format-transliterated-eastern-name($name), ' ', - (functx:trim(string-join($family[@lang = ('zh', 'ja')]/string(), ' ')), - functx:trim(string-join($given[@lang= ('zh', 'ja')]/string() - , ' ')))) - (: The string-joins are meant to capture multiple family and given names. Needed?:) + concat( + mods:format-transliterated-eastern-name($name) + , ' ', + concat( + string-join($family/text(), '') + , + string-join($given/text(), '') + ) + ) + (: The string-joins are meant to capture multiple family and given names. Is this needed? :) else + (: If at least one of the name part is transcribed. :) if (($family[@transliteration]) or ($given[@transliteration])) then (: If the name is transliterated but not Eastern :) @@ -886,10 +966,10 @@ (functx:trim(string-join($family, ' ')), functx:trim(string-join($given, ' ')))) (: The string-joins are meant to capture multiple family and given names. :) + (: If none of the name parts are transcribed. :) else - (: If the name is not transliterated :) - if ($pos eq 1) - (: If it is the first name :) + (: If the function has been called to format the first name before the title in list view or any name in detail view. :) + if ($pos eq 1 and $caller = 'primary') then (: If we have a non-Chinese, non-Japanese name occurring first. :) (functx:trim(string-join($family/string(), ' ')), @@ -900,23 +980,26 @@ else () ) else + (: If the function has been called to format names that are not the first before the title in list view. :) (: If we have a non-Chinese, non-Japanese name occurring elsewhere. :) (functx:trim(string-join($given, ' ')) , ' ' , - functx:trim(string-join($family/string(), ' ')) + functx:trim(string-join($family, ' ')) , if ($address) then functx:trim(string-join($address, ', ')) else () ) + (: If the name order is not family-given. :) else if ($pos eq 1) then (: If we have an untyped name occurring first. :) - (functx:trim(string-join($name/mods:namePart, ', ')), + (: NB: THIS IS WHERE THINGS GO WRONG. :) + (functx:trim(string-join($namePart, ', ')), if ($address) then functx:trim(string-join($address, ', ')) @@ -924,7 +1007,7 @@ ) else (: If we have an untyped name occurring later. :) - (functx:trim(string-join($name/mods:namePart, ' ')), + (functx:trim(string-join($namePart, ' ')), if ($address) then functx:trim(string-join($address, ', ')) @@ -934,188 +1017,62 @@ (:(functx:trim(mods:format-transliterated-eastern-name($name))):) (: If there is a transliteration, but no name in original script. :) , ' '), - (: If there are any nameParts with @date, they are given last, without regard to transliteration or language. :) - (if ($date) then concat(' (', functx:trim($date), ')') else ())) + (: If there are any nameParts with @date, they are given last, without regard to transliteration or language. :) + ( + if ($date) + then concat(' (', functx:trim($date), ')') + else ()) + ) (: NB: Why is this part only shown in list-view? :) - else () }; -declare function mods:format-untransliterated-secondary-name($name as element(mods:name), $pos as xs:integer) { - if ($name[not(@type) or @type = '']) - (: if the name is (erroneously) not typed :) - then - concat( - mods:format-transliterated-eastern-name($name/mods:namePart[@transliteration][(not(@type)) or @type = ''][1]), - ' ', - string-join($name/mods:namePart[not(@transliteration)][not(@type) or @type = ''], ' ') - ) - else - if ($name/@type = 'conference') - then () - (: Do nothing, because get-conference-detail-view and get-conference-hitlist take care of conference. :) - else - if ($name/@type = 'corporate') - then - concat( - string-join( - $name/mods:namePart[@transliteration/text()]/string() - , - ' ' - ) - , - ', ' - , - string-join( - $name/mods:namePart[not(@transliteration/text())]/string() - , - ' ' - ) - ) - (: The assumption is that any sequence of several namePart is meaningfully constructed, e.g. with more general term first. :) - else - (: The last option, personal. :) - if ($name/@type = 'personal') - then - let $family := $name/mods:namePart[@type = 'family'][not(@transliteration)] - let $given := $name/mods:namePart[@type = 'given'][not(@transliteration)] - let $address := $name/mods:namePart[@type = 'termsOfAddress'][not(@transliteration)] - let $date := string-join($name/mods:namePart[@type = 'date'][not(@transliteration)], ' ') - return - concat( - (:concat appends dates to the name proper:) - string-join( - if ($family or $given) - (: If one of the nameParts is properly typed :) - then - (: NB! Rewrite! :) - if (($family/@transliteration = ('pinyin', 'romaji')) or ($given/@transliteration = ('pinyin', 'romaji'))) - then - (: If the name is transliterated and Eastern :) - (: No matter which position they have, Japanese and Chinese names are formatted the same. :) - (: Problem: what if Westeners have Chinese names? Can one assume that the form in original script comes first? Can one assume that transliteration comes after original script? This is actually a fault in MODS. <namePart>s that belong together should be grouped. :) - (: We assume that the name in native script occurs first, that the existence of a transliterated name implies the existence of a native-script name. :) - (mods:format-transliterated-eastern-name($name), ' ', - (functx:trim(string-join($family[@lang = ('zh', 'ja')]/string(), ' ')), - functx:trim(string-join($given[@lang= ('zh', 'ja')]/string() - , ' ')))) - (: The string-joins are meant to capture multiple family and given names. Needed?:) - else - if (($family[@transliteration]) or ($given[@transliteration])) - (: If the name is transliterated but not Eastern :) - then - (mods:format-transliterated-non-eastern-name($name), ' ', - (functx:trim(string-join($family, ' ')), - functx:trim(string-join($given, ' ')))) - (: The string-joins are meant to capture multiple family and given names. :) - else - (: If the name is not transliterated :) - if ($pos eq 1) - (: If it is the first name :) - then - (: If the name occurs first. :) - ( - functx:trim(string-join($given, ' ')), - ' ', - functx:trim(string-join($family/string(), ' ')) - , - (:NB! The only difference between primary and secondary is the order of family and given names. :) - if ($address) - then functx:trim(concat(', ',$address)) - else () - ) - else - (: If the name does not occur first. :) - (functx:trim(string-join($given, ' ')) - , - ' ' - , - functx:trim(string-join($family, ' ')) - , - if ($address) - then functx:trim(string-join($address, ', ')) - else () - ) - else - (: if ($name/@type = 'personal') ?!? :) - (functx:trim(string-join($name/mods:namePart, ' ')), - if ($address) - then functx:trim(string-join($address, ', ')) - else () - ) - (: One could check for ($family or $given). :) - (: (functx:trim(mods:format-transliterated-eastern-name($name))):) - (: If there is a transliteration, but no name in original script. :) - , ' '), - (: If there are any nameParts with @date, they are given last, without regard to transliteration or language. :) - (if ($date) then concat(' (', functx:trim($date), ')') else ())) - (: NB: Why is this part only shown in list-view? :) - else() - }; - -declare function mods:get-authority($name as element(mads:name)?, $lang as xs:string?, $pos as xs:integer) { - if ($name/@type = 'corporate') then - $name/mads:namePart/text() - else if ($name) then - let $family := $name/mads:namePart[@type = 'family'] - let $given := $name/mads:namePart[@type = 'given'] - return - string-join( - if ($family and $given) - then - if ($family/@lang = ('ja', 'zh')) - then - ( - mods:format-transliterated-eastern-name($name), ' ', - ($family/string(), $given/string()) - ) - else - if ($pos eq 1) - then - ($family/string(), ', ', $given/string()) - else - ($given/string(), ' ', $family/string()) - else string-join(( - mods:format-transliterated-eastern-name($name), ' ', - ($name/mads:namePart, $name)[1] - ), ' ') - , '') - else () +(: NB: not yet used. :) +declare function mods:get-authority-name-from-mads($mads as element(mads:mads)) { + let $auth := $mads/mads:authority/mads:name + return + mods:format-name($auth, 1, $caller) + }; -declare function mods:get-name-from-mads($mads as element(mads:mads), $pos as xs:integer) { - let $auth := $mads/mads:authority - let $lang := $auth/@lang - (: if @lang is passed to the function, a variant name is retrieved. :) - return string-join( - ( - if ($lang = ('ja', 'zh')) then - mods:get-authority($mads/mads:variant[@transliteration][1]/mads:name, $lang, $pos) - else - () - , - mods:get-authority($auth/mads:name, $lang, $pos) - ) - , - ' ') +(: NB: not yet used. :) +declare function mods:get-variant-name-from-mads($mads as element(mads:mads)) { + let $variants := $mads/mads:variant/mads:name + for $variant at $pos in $variants + return + mods:format-name($variant, $pos, $caller) + }; - -(: Wolfgang's script: (: NB: used in search.xql :) -declare function mods:retrieve-primary-name($name as element(mods:name), $pos as xs:int) { +(: Each name in the list view should have an authority name added to it in parentheses, if it exists and is different from the name as given in the mods record. :) +declare function mods:retrieve-name($name as element(), $pos as xs:int, $caller as xs:string) { + let $mods-name := mods:format-name($name, $pos, $caller) let $madsRef := replace($name/@xlink:href, '^#?(.*)$', '$1') - let $mads := - if ($madsRef) - then collection('/db/biblio/authority')/mads:mads[@ID = $madsRef] - else () + (: NB: The following could be optimised. :) + let $mads-record := + if (empty($madsRef)) + then () + else collection('/db/org/library/apps/mods/mads')/mads:mads[@ID = $madsRef]/mads:authority + let $mads-name := + if (empty($mads-record)) + then () + else mods:format-name($mads-record/mads:name, 1, $caller) + let $mads-name-display := + if (empty($mads-name)) + then () + else concat(' (', $mads-name,')') return - if ($mads) - then mods:get-name-from-mads($mads, $pos) - else mods:format-primary-name($name, $pos) + if ($mads-name eq $mods-name) + then $mods-name + else concat($mods-name, $mads-name-display) }; -:) -(: NB: used in search.xql :) -declare function mods:retrieve-primary-name($name as element(mods:name), $pos as xs:int) { +(:~ +: Used to retrieve the preferred name from the MADS authority file. Preferred names are only used in detail view. +: @param +: @return +: @see +:) +declare function mods:retrieve-preferred-name($name as element(mods:name)) { let $madsRef := replace($name/@xlink:href, '^#?(.*)$', '$1') let $mads := if ($madsRef) @@ -1123,42 +1080,35 @@ else () return if ($mads) - then mods:get-name-from-mads($mads, $pos) - else mods:format-primary-name($name, $pos) -}; - -declare function mods:retrieve-secondary-name($name as element(mods:name), $pos as xs:int) { - let $madsRef := replace($name/@xlink:href, '^#?(.*)$', '$1') - let $mads := - if ($madsRef) - then collection('/db/biblio/authority')/mads:mads[@ID = $madsRef] + then mods:get-authority-name-from-mads($mads) else () - return - if ($mads) - then mods:get-name-from-mads($mads, $pos) - else - ( - mods:format-untransliterated-secondary-name($name, $pos) - ) }; -(: retrieves author names that occur in the beginning of entries in hitlist and related items :) -(: Called from mods:format-multiple-primary-names() :) -declare function mods:retrieve-primary-names($entry as element()) { +(: Retrieves names. :) +(: Called from mods:format-multiple-names() :) +declare function mods:retrieve-names($entry as element()*, $caller as xs:string) { for $name at $pos in $entry/mods:name return - mods:retrieve-primary-name($name, $pos) + mods:retrieve-name($name, $pos, $caller) }; -declare function mods:retrieve-secondary-names($names as element()*) { - for $name at $pos in $names - return - mods:retrieve-secondary-name($name, $pos) -}; - -(: formats author names for hitlist and related items :) -declare function mods:format-multiple-primary-names($entry as element()) { - let $names := mods:retrieve-primary-names($entry) +(:~ +: Formats names for list view and for related items. +: The function is called from two positions. +: One is for names of authors etc. that are positioned before the title. +: One is for names of editors etc. that are positioned after the title. +: The $caller param marks where the function is called. +: Names that are positioned before the title have the first name with a comma between family name and given name. +: Names that are positioned after the title have a space between given name and family name throughout. +: The names positioned before the title are not marked explicitly by use of any role terms. +: The role terms that lead to a name being positioned before the title are author and creator. +: The absence of a role term is also interpreted as the attribution of authorship, so a name without a role term will also be positioned before the title. +: @param +: @return +: @see +:) +declare function mods:format-multiple-names($entry as element()*, $caller as xs:string) { + let $names := mods:retrieve-names($entry, $caller) let $nameCount := count($names) let $formatted := if ($nameCount eq 0) then @@ -1168,7 +1118,7 @@ then if (ends-with($names, '.')) then - (: Places period after single author name, if it does not end in period, such as "Jr.". :) + (: Places period after single author name, if it does not end with a term of address ending in period, such as "Jr." or "Dr.". :) concat($names, ' ') else concat($names, '. ') @@ -1190,7 +1140,9 @@ ', and ', (: Places ", and" before name that comes last. :) $names[$nameCount], - '. ' + if ($caller = 'primary') + then '. ' + else () (: Places period after last name. :) ) return @@ -1199,39 +1151,6 @@ ) }; -(: Formats secondary names for hitlist and related items :) -(: NB! Difference from mods:format-multiple-primary-names(): no trailing period. Cound be modularised. :) -declare function mods:format-multiple-secondary-names($names as element()*, $caller as xs:string) { - let $names := mods:retrieve-secondary-names($names[mods:namePart/text()]) - let $nameCount := count($names) - let $formatted := - if ($nameCount eq 0) then - () - else - if ($nameCount eq 1) - then - $names - else - if ($nameCount eq 2) - then - concat( - subsequence($names, 1, $nameCount - 1), - ' and ', - (: Places "and" before last name. :) - $names[$nameCount]) - else - concat( - string-join(subsequence($names, 1, $nameCount - 1), ', '), - (: Places ", " after all names that do not come last. :) - ', and ', - (: Places ", and" before name that comes last. :) - $names[$nameCount]) - return - normalize-space( - $formatted - ) -}; - (: NB! Create function to render real names from abbreviations! :) (: declare function mods:get-language-name() { @@ -1502,17 +1421,17 @@ ( <br/>, 'Language: ' , - let $lang3 := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[value = $lang]/label + let $lang3 := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[value = $lang]/label return if ($lang3) then $lang3 else - let $lang2 := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[valueTwo = $lang]/label + let $lang2 := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[valueTwo = $lang]/label return if ($lang2) then $lang2 else - let $lang3 := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[valueTwo = $titleInfo/@xml:lang]/label + let $lang3 := doc(concat($config:edit-app-root, '/code-tables/language-3-type-codes.xml'))/code-table/items/item[valueTwo = $titleInfo/@xml:lang]/label return if ($lang3) then $lang3 @@ -1532,7 +1451,7 @@ if ($transliteration) then (<br/>, 'Transliteration: ', - let $transliteration-label := doc('/db/org/library/apps/mods/code-tables/transliteration-codes.xml')/code-table/items/item[value = $transliteration]/label + let $transliteration-label := doc(concat($config:edit-app-root, '/code-tables/transliteration-codes.xml'))/code-table/items/item[value = $transliteration]/label return if ($transliteration-label) then $transliteration-label @@ -1544,8 +1463,8 @@ { if ($titleInfo/@script/string()) then - (<br/>, 'Script: ', - doc('/db/org/library/apps/mods/code-tables/script-codes.xml')/code-table/items/item[value = $titleInfo/@script]/label + ('; Script: ', + doc(concat($config:edit-app-root, '/code-tables/script-codes.xml'))/code-table/items/item[value = $titleInfo/@script]/label ) else () @@ -1613,11 +1532,11 @@ declare function mods:format-related-item($relatedItem as element()) { <span class="related"> { - if ($relatedItem/mods:name/mods:role/mods:roleTerm = ('aut', 'author', 'Author', '') or not($relatedItem/mods:name/mods:role/mods:roleTerm)) + if ($relatedItem/mods:name/mods:role/mods:roleTerm = ('aut', 'author', 'Author', 'cre', 'creator', 'Creator') or not($relatedItem/mods:name/mods:role/mods:roleTerm)) then if ($relatedItem/mods:name/mods:role/mods:namePart/text()) then - mods:format-multiple-primary-names($relatedItem) + mods:format-multiple-names($relatedItem, 'primary') else () else () } @@ -1641,7 +1560,7 @@ , mods:get-role-label-for-list-view($roleTerm) , - mods:format-multiple-secondary-names($names, 'secondary') + mods:format-multiple-names($names, 'secondary') ) else () } @@ -1669,104 +1588,29 @@ (: ### <relatedItem> ends ### :) declare function mods:names-full($entry as element()) { - if ($entry/mods:name) - then - let $names := $entry/mods:name + let $names := $entry/mods:name[@type = 'personal' or not(@type)] for $name in $names return - if ($name[not(@type) or @type = 'personal']) - then <tr><td class="label"> { mods:get-roles-for-detail-view($name) } </td><td class="record"> - { - let $namePart := $name/mods:namePart - let $family := $namePart[@type = 'family'] - let $given := $namePart[@type = 'given'] - let $address := $namePart[@type = 'termsOfAddress'] - let $date := $namePart[@type = 'date'] - let $untyped := $namePart[not(@type)] - let $type := $name/@type - let $language := - if ($name/@lang) - then - mods:get-language-term($name/@lang) - else - mods:language-of-resource($entry/mods:language) - let $nameOrder := doc('/db/org/library/apps/mods/code-tables/language-3-type-codes.xml')/code-table/items/item[value = $language]/nameOrder - order by $type - return - if ($family and $given) then (: If the namePart is split up into family and given. We assume that both will be present. :) - if ($nameOrder = 'family-given') then - ( - mods:format-transliterated-eastern-name($name) - , - ' ' - , - if ($language = 'hun') - then - concat( - string-join($family[not(@transliteration)], ' '), - string-join($given[not(@transliteration)], ' ') - (: space between Hungarian names. :) - ) - else - concat( - string-join($family[not(@transliteration)], ''), - string-join($given[not(@transliteration)], '') - (: no space between Chinese and Japanese names. :) - ) - , - if ($address) - then functx:trim(concat(', ', $address)) - else () - , - if ($date) - then functx:trim(concat(' (', $date, ')')) - else () - ) - (: Sometimes we have names in Chinese characters, in transliteration _and_ a Western name. :) - else - string-join(($family, string-join($given, ' '), $address),', ') - else - (: If the namePart is not split up in family and given. :) - if ($name/mods:namePart/@transliteration) then - (: If there is transliteration. :) - ($name/mods:namePart[@transliteration], ' ' , $name/mods:namePart[not(@transliteration)]) - else - (: If there is not a transliteration. :) - string-join(($untyped),', ') - } + { + mods:clean-up-punctuation(mods:format-name($name, 1, 'primary')) + } </td></tr> - else - if ($name[@type = 'corporate']) - then - <tr> - <td class="label"> - { - let $roles := $name/mods:role - for $role in $roles - return - mods:get-role-label-for-detail-view($role) - } - </td> - <td class="record"> - { $name/mods:namePart[@transliteration]/string(), ' ', $name/mods:namePart[not(@transliteration)]/string() } - </td> - </tr> - else - () - else - () }; -(: Prepares one or more rows for the detail view. :) +(:~ +: Prepares one or more rows for the detail view. +: @param $data +: @param $label +: @return element(tr) +:) declare function mods:simple-row($data as item()?, $label as xs:string) as element(tr)? { for $d in $data - where $d != '' return <tr> <td class="label">{$label}</td> @@ -1774,7 +1618,13 @@ </tr> }; -(: Prepares the clickable url for mods:entry-full. :) +(:~ +: Prepares the clickable url for mods:entry-full. A variation of mods:simple-row. +: @param $entry +: @param $label +: @return element(tr) +: @see mods:simple-row +:) declare function mods:url($entry as element()) as element(tr)* { for $url in $entry/mods:location/mods:url return @@ -1783,11 +1633,11 @@ { if ($url/@displayLabel) then - $url/@displayLabel/string() + $url/@displayLabel/text() else 'URL' } </td> - <td class="record"><a href="{$url}">{$url}</a></td> + <td class="record"><a href="{$url}" target="_blank">{$url}</a></td> </tr> }; @@ -1795,13 +1645,14 @@ declare function mods:entry-full($entry as element()) { (: names :) - mods:names-full($entry) + if ($entry/mods:name) + ... [truncated message content] |
From: <wol...@us...> - 2011-04-12 11:15:23
|
Revision: 14173 http://exist.svn.sourceforge.net/exist/?rev=14173&view=rev Author: wolfgang_m Date: 2011-04-12 11:15:14 +0000 (Tue, 12 Apr 2011) Log Message: ----------- Re-added documentation. Made sure it works. Modified Paths: -------------- apps/tamboti/modules/search/search.xql Added Paths: ----------- apps/tamboti/docs/ apps/tamboti/docs/controller.xql apps/tamboti/docs/docbook.css apps/tamboti/docs/examples.xml apps/tamboti/docs/footer.xml apps/tamboti/docs/header.xml apps/tamboti/docs/images/ apps/tamboti/docs/images/New Picture.bmp apps/tamboti/docs/images/add-user.png apps/tamboti/docs/images/collection-sharing-group.png apps/tamboti/docs/images/collection-sharing-group2.png apps/tamboti/docs/images/collection-sharing-users.png apps/tamboti/docs/images/collection-view.bmp apps/tamboti/docs/images/createCollection.png apps/tamboti/docs/images/editor_top_basic.png apps/tamboti/docs/images/empty.GIF apps/tamboti/docs/images/favicon.ico apps/tamboti/docs/images/fieldset.1.png apps/tamboti/docs/images/folder--action-buttons.png apps/tamboti/docs/images/folder-buttons.png apps/tamboti/docs/images/folder_add.png apps/tamboti/docs/images/folder_delete.png apps/tamboti/docs/images/folder_go.png apps/tamboti/docs/images/fr1.png apps/tamboti/docs/images/fr2.png apps/tamboti/docs/images/fr3.png apps/tamboti/docs/images/logged-in.bmp apps/tamboti/docs/images/login-confirm.PNG apps/tamboti/docs/images/login.png apps/tamboti/docs/images/move.png apps/tamboti/docs/images/my-collection-editors.png apps/tamboti/docs/images/mycoll-highlight.png apps/tamboti/docs/images/mycollection.PNG apps/tamboti/docs/images/mycollection.bmp apps/tamboti/docs/images/page_add.png apps/tamboti/docs/images/resultset_first.png apps/tamboti/docs/images/resultset_last.png apps/tamboti/docs/images/resultset_next.png apps/tamboti/docs/images/resultset_previous.png apps/tamboti/docs/images/search_interface_1.png apps/tamboti/docs/images/sharing-template.png apps/tamboti/docs/images/tamboti.jpg apps/tamboti/docs/images/text_list_bullets.png apps/tamboti/docs/images/time_out.png apps/tamboti/docs/images/user_edit.png apps/tamboti/docs/images/walk-through.04.png apps/tamboti/docs/images/walk-through.05.png apps/tamboti/docs/images/walk-through.06.png apps/tamboti/docs/images/walk-through.07.png apps/tamboti/docs/images/walk-through.08.png apps/tamboti/docs/images/walk-through.09.1.png apps/tamboti/docs/images/walk-through.09.2.png apps/tamboti/docs/images/walk-through.10.png apps/tamboti/docs/images/walk-through.11.1.png apps/tamboti/docs/images/walk-through.11.2.png apps/tamboti/docs/images/walk-through.12.png apps/tamboti/docs/images/walk-through.13.png apps/tamboti/docs/index.xml apps/tamboti/docs/links.xml apps/tamboti/docs/search.xml apps/tamboti/docs/security-manager.xml apps/tamboti/docs/sidebar.xml apps/tamboti/docs/stylesheets/ apps/tamboti/docs/stylesheets/db2xhtml.xsl apps/tamboti/docs/stylesheets/xmlsource.xsl apps/tamboti/docs/walkthrough.01.xml apps/tamboti/docs/walkthrough.02.5.xml apps/tamboti/docs/walkthrough.02.xml apps/tamboti/docs/walkthrough.03.xml apps/tamboti/docs/walkthrough.04.xml apps/tamboti/docs/walkthrough.05.xml apps/tamboti/docs/walkthrough.06.xml apps/tamboti/docs/walkthrough.07.xml apps/tamboti/docs/walkthrough.08.xml apps/tamboti/docs/walkthrough.09.xml apps/tamboti/docs/walkthrough.10.xml apps/tamboti/docs/walkthrough.11.xml apps/tamboti/docs/walkthrough.12.xml apps/tamboti/docs/walkthrough.13.1.xml apps/tamboti/docs/walkthrough.13.xml apps/tamboti/docs/walkthrough.14.xml apps/tamboti/docs/walkthrough.15.xml apps/tamboti/docs/walkthrough.16.xml apps/tamboti/docs/walkthrough.17.xml apps/tamboti/docs/walkthrough.18.xml apps/tamboti/docs/walkthrough.19.xml apps/tamboti/docs/walkthrough.20.xml apps/tamboti/docs/walkthrough.21.xml apps/tamboti/docs/walkthrough.22.xml apps/tamboti/docs/walkthrough.23.xml apps/tamboti/docs/walkthrough.24.xml apps/tamboti/docs/walkthrough.25.xml apps/tamboti/docs/walkthrough.26.xml apps/tamboti/docs/walkthrough.27.xml apps/tamboti/docs/walkthrough.28.xml apps/tamboti/docs/walkthrough.29.5.xml apps/tamboti/docs/walkthrough.29.xml apps/tamboti/docs/walkthrough.30.xml apps/tamboti/docs/walkthrough.31.xml apps/tamboti/docs/walkthrough.32.xml apps/tamboti/docs/walkthrough.toc.xml apps/tamboti/docs/walkthrough.xml Added: apps/tamboti/docs/controller.xql =================================================================== --- apps/tamboti/docs/controller.xql (rev 0) +++ apps/tamboti/docs/controller.xql 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,52 @@ +xquery version "1.0"; + +import module namespace request="http://exist-db.org/xquery/request"; +import module namespace xdb = "http://exist-db.org/xquery/xmldb"; +import module namespace theme="http:/exist-db.org/xquery/biblio/theme" at "../modules/theme.xqm"; +import module namespace config="http://exist-db.org/mods/config" at "../modules/config.xqm"; + +let $uri := request:get-uri() +let $context := request:get-context-path() +let $path := substring-after($uri, $context) +let $name := replace($uri, '^.*/([^/]+)$', '$1') +return + if ($exist:path eq '/') then + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <redirect url="../modules/search/index.xml"/> + </dispatch> + (: paths starting with /libs/ will be loaded from the webapp directory on the file system :) + else if (starts-with($exist:path, "/libs/")) then + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <forward url="/{substring-after($exist:path, 'libs/')}" absolute="yes"/> + </dispatch> + else if (ends-with($uri, '.xml')) then + let $log := util:log("DEBUG", ("controller: ", $exist:root)) + return + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <view> + <forward servlet="XSLTServlet"> + <set-attribute name="xslt.stylesheet" + value="{$exist:root}/{$exist:controller}/stylesheets/db2xhtml.xsl"/> + <set-attribute name="xslt.output.media-type" + value="text/html"/> + <set-attribute name="xslt.output.doctype-public" + value="-//W3C//DTD XHTML 1.0 Transitional//EN"/> + <set-attribute name="xslt.output.doctype-system" + value="resources/xhtml1-transitional.dtd"/> + </forward> + </view> + <cache-control cache="no"/> + </dispatch> + else if (starts-with($exist:path, "/theme")) then + let $path := theme:resolve(concat($exist:controller, "/.."), $exist:path) + let $themePath := replace($path, "^(.*)/[^/]+$", "$1") + return + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <forward url="{$path}"> + <set-attribute name="theme-collection" value="{$themePath}"/> + </forward> + </dispatch> + else + <ignore xmlns="http://exist.sourceforge.net/NS/exist"> + <cache-control cache="yes"/> + </ignore> \ No newline at end of file Added: apps/tamboti/docs/docbook.css =================================================================== --- apps/tamboti/docs/docbook.css (rev 0) +++ apps/tamboti/docs/docbook.css 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,10 @@ +body { + font-family: arial,helvetica,sans-serif; + font-size: 13em; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1.231; + color: red; +} + Property changes on: apps/tamboti/docs/docbook.css ___________________________________________________________________ Added: svn:executable + * Added: apps/tamboti/docs/examples.xml =================================================================== --- apps/tamboti/docs/examples.xml (rev 0) +++ apps/tamboti/docs/examples.xml 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> + <group name=""> + <item> + <link href="index.xml">BACK</link> + </item> + <para> + <H1>will be updated soon</H1> + </para> + </group> +</sidebar> \ No newline at end of file Added: apps/tamboti/docs/footer.xml =================================================================== --- apps/tamboti/docs/footer.xml (rev 0) +++ apps/tamboti/docs/footer.xml 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<bookinfo> + <productname>Tamboti</productname> + <title>What is Tamboti?</title> + <date>March 2011</date> + <author> + <firstname>Dulip</firstname> + <surname>Withanage</surname> + <affiliation> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>Asia and Europe in a Global Context</orgname> + <orgname>Heidelberg University</orgname> + <address format="linespecific"> + <email>wit...@as...</email> + </address> + </affiliation> + </author> + <author> + <firstname>Jens Østergaard</firstname> + <surname>Petersen</surname> + <affiliation> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>Asia and Europe in a Global Context</orgname> + <orgname>Heidelberg University</orgname> + <address format="linespecific"> + <email>pet...@as...</email> + </address> + </affiliation> + </author> +</bookinfo> \ No newline at end of file Added: apps/tamboti/docs/header.xml =================================================================== --- apps/tamboti/docs/header.xml (rev 0) +++ apps/tamboti/docs/header.xml 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<bookinfo> + <graphic fileref="theme/images/tamboti.png"/> + <graphic fileref="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> + <productname>Tamboti</productname> + <title>Tamboti Walkthrough</title> + <date>March 2011</date> + <author> + <firstname>Dulip</firstname> + <surname>Withanage</surname> + <affiliation> + <address format="linespecific"> + <email>wit...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>"Asia and Europe in a Global Context"</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + <author> + <firstname>Jens Østergaard</firstname> + <surname>Petersen</surname> + <affiliation> + <address format="linespecific"> + <email>pet...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>"Asia and Europe in a Global Context"</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> +</bookinfo> \ No newline at end of file Added: apps/tamboti/docs/images/New Picture.bmp =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/New Picture.bmp ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/add-user.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/add-user.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/collection-sharing-group.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/collection-sharing-group.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/collection-sharing-group2.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/collection-sharing-group2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/collection-sharing-users.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/collection-sharing-users.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/collection-view.bmp =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/collection-view.bmp ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/createCollection.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/createCollection.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/editor_top_basic.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/editor_top_basic.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/empty.GIF =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/empty.GIF ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/favicon.ico =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/favicon.ico ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/fieldset.1.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/fieldset.1.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/folder--action-buttons.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/folder--action-buttons.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/folder-buttons.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/folder-buttons.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/folder_add.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/folder_add.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/folder_delete.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/folder_delete.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/folder_go.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/folder_go.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/fr1.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/fr1.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/fr2.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/fr2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/fr3.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/fr3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/logged-in.bmp =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/logged-in.bmp ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/login-confirm.PNG =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/login-confirm.PNG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/login.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/login.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/move.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/move.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/my-collection-editors.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/my-collection-editors.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/mycoll-highlight.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/mycoll-highlight.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/mycollection.PNG =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/mycollection.PNG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/mycollection.bmp =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/mycollection.bmp ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/page_add.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/page_add.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/resultset_first.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/resultset_first.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/resultset_last.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/resultset_last.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/resultset_next.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/resultset_next.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/resultset_previous.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/resultset_previous.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/search_interface_1.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/search_interface_1.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/sharing-template.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/sharing-template.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/tamboti.jpg =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/tamboti.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/text_list_bullets.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/text_list_bullets.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/time_out.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/time_out.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/user_edit.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/user_edit.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.04.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.04.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.05.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.05.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.06.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.06.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.07.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.07.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.08.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.08.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.09.1.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.09.1.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.09.2.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.09.2.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.10.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.10.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.11.1.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.11.1.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.11.2.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.11.2.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.12.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.12.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/images/walk-through.13.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/docs/images/walk-through.13.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: apps/tamboti/docs/index.xml =================================================================== --- apps/tamboti/docs/index.xml (rev 0) +++ apps/tamboti/docs/index.xml 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,138 @@ +<book xmlns:xi="http://www.w3.org/2001/XInclude"> + <bookinfo> + <graphic fileref="theme/images/tamboti.png"/> + <graphic fileref="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> + <productname>Tamboti</productname> + <title>Tamboti Walkthrough</title> + <date>March 2011</date> + <author> + <firstname>Dulip</firstname> + <surname>Withanage</surname> + <affiliation> + <address format="linespecific"> + <email>wit...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>"Asia and Europe in a Global Context"</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + <author> + <firstname>Jens Østergaard</firstname> + <surname>Petersen</surname> + <affiliation> + <address format="linespecific"> + <email>pet...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>"Asia and Europe in a Global Context"</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + </bookinfo> + <sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> + <group name="Tamboti"> + <item> + <link href="">What is Tamboti?</link> + </item> + <item> + <link href="">Who are we?</link> + </item> + </group> + <group name="Documentation"> + <item> + <link href="walkthrough.xml">Walkthrough</link> + </item> + <item> + <link href="">Search Functions</link> + </item> + <item> + <link href="">Editor</link> + </item> + <item> + <link href="security-manager.xml">Sharing</link> + </item> + </group> + <group name="MODS"> + <item> + <link href="">Overview</link> + </item> + <item> + <link href="">Examples</link> + </item> + <item> + <link href="">Links</link> + </item> + </group> + <group name="Feedback"> + <item> + <link href="http://kjc-fs-cluster.kjc.uni-heidelberg.de/helpdesk/" target="blank">Ticket System</link> + </item> + </group> + <group name="Development"> + <item> + <link href="">How to Join</link> + </item> + <item> + <link href="">Changelog</link> + </item> + </group> + <banner> + <link href="http://exist-db.org"> + <img alt="powered by eXist" border="0" src="theme/images/powered.gif"/> + </link> + </banner> + </sidebar> + <chapter> + <title>What is Tamboti?</title> + <para> Tamboti is the Cluster's new framework for cataloguing bibliographical material and other resource types, such as web sites, images and videos. </para> + <para> Tamboti has been created by the + <a href="http://www.asia-europe.uni-heidelberg.de/en/research/heidelberg-research-architecture.html" target="_blank">HRA</a> + (Heidelberg Research Architecture) at the + <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank">The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows"</a> at + <a href="http://www.uni-heidelberg.de/index_e.html" target="_blank">Heidelberg University</a>, + in close cooperation with + <a href="http://www.existsolutions.com/" target="_blank">eXist Solutions GmbH</a>. </para> + <para>Tamboti is part of the + <a href="http://exist.sourceforge.net/" target="_blank">eXist</a>, an Open Source XML database.</para> + <para>Tamboti has three main functions. + <itemizedlist> + <listitem> + <para>to make it possible to <emphasis role="bold">search</emphasis> for existing metadata records </para> + </listitem> + <listitem> + <para>to make it possible to <emphasis role="bold">create</emphasis> new metadata records and <emphasis role="bold">edit</emphasis> + existing ones. </para> + </listitem> + <listitem> + <para>to make it possible to <emphasis role="bold">annotate</emphasis> and <emphasis role="bold">comment</emphasis> on metadata entries in a manner that facilitates cross-cultural and cross-lingual research. </para> + </listitem> + </itemizedlist> + </para> + <para> If you follow <ulink href="walkthrough.xml">this walkthrough</ulink>, you will be introduced to the main functionalities of Tamboti, step by step. + </para> + <para>You can read more about how to share records with others <ulink href="security-manager.xml">here</ulink>.</para> + <para>More introductions will follow. </para> + <note> + <para>Why "Tamboti"? </para> + <para> In the past, there has been some confusion about what to call the HRA resources. We have decided to adopt the names of exotic trees for + HRA resources. Trees were chosen primarily because the resources employ a database which builds on XML, and XML is a tree-like structure. A + tree structure is a hierarchcal structure, which starts with one element (the trunk or root) and then divides into ever finer distinctions + (branches and twigs). Also, tree names are fairly neutral - and most people would agree that "trees are nice." </para> + <para>The Tamboti tree is a tree native to Africa, also known as the African Sandalwood tree. You can find descriptions of the Tamboti tree by + following the links below. <itemizedlist> + <listitem> + <para> + <ulink href="http://www.prosono.co.za/en/sandalwood.shtml">Prosono International</ulink> + </para> + </listitem> + <listitem> + <para> + <ulink href="http://www.krugerpark.co.za/africa_tamboti.html">Kruger Park</ulink> + </para> + </listitem> + </itemizedlist> + </para> + </note> + </chapter> +</book> \ No newline at end of file Added: apps/tamboti/docs/links.xml =================================================================== --- apps/tamboti/docs/links.xml (rev 0) +++ apps/tamboti/docs/links.xml 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> + <group name=""> + <item> + <link href="index.xml">BACK</link> + </item> + <para> + <H1>will be updated soon</H1> + </para> + </group> +</sidebar> \ No newline at end of file Added: apps/tamboti/docs/search.xml =================================================================== --- apps/tamboti/docs/search.xml (rev 0) +++ apps/tamboti/docs/search.xml 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> + <group name=""> + <item> + <link href="index.xml">BACK</link> + </item> + <para> + <H1>will be updated soon</H1> + </para> + </group> +</sidebar> \ No newline at end of file Added: apps/tamboti/docs/security-manager.xml =================================================================== --- apps/tamboti/docs/security-manager.xml (rev 0) +++ apps/tamboti/docs/security-manager.xml 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,218 @@ +<?xml version="1.0" encoding="UTF-8"?> +<book xmlns:xi="http://www.w3.org/2001/XInclude"> + <bookinfo> + <graphic fileref="theme/images/tamboti.png"/> + <productname>Tamboti</productname> + <title>Tamboti Walkthrough</title> + <date>March 2011</date> + <author> + <firstname>Dulip</firstname> + <surname>Withanage</surname> + <affiliation> + <address format="linespecific"> + <email>wit...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>Asia and Europe in a Global Context</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + <author> + <firstname>Jens Østergaard</firstname> + <surname>Petersen</surname> + <affiliation> + <address format="linespecific"> + <email>pet...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>Asia and Europe in a Global Context</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + </bookinfo> + <sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> + <group name="Tamboti"> + <item> + <link href="">What is Tamboti?</link> + </item> + <item> + <link href="">Who are we?</link> + </item> + </group> + <group name="Documentation"> + <item> + <link href="walkthrough.xml">Walk-through</link> + </item> + <item> + <link href="">Search Functions</link> + </item> + <item> + <link href="">Editor</link> + </item> + <item> + <link href="security-manager.xml">Sharing</link> + </item> + </group> + <group name="MODS"> + <item> + <link href="">Overview</link> + </item> + <item> + <link href="">Examples</link> + </item> + <item> + <link href="">Links</link> + </item> + </group> + <group name="Feedback"> + <item> + <link href="http://kjc-fs-cluster.kjc.uni-heidelberg.de/helpdesk/" target="blank">Ticket System</link> + </item> + </group> + <group name="Development"> + <item> + <link href="">How to Join</link> + </item> + <item> + <link href="">Changelog</link> + </item> + </group> + <banner> + <link href="http://exist-db.org"> + <img alt="powered by eXist" border="0" src="theme/images/powered.gif"/> + </link> + </banner> + </sidebar> + <chapter> + <title>Sharing</title> + <section> + <title>Login</title> + + <!--table frame="all"> + <title/> + <tgroup cols="2" align="char" charoff="50" char="."> + <thead> + <row> + <entry/> + <entry/> + + </row> + </thead> + <tbody> + <row> + <entry>In order to log into the tamboti framework, use your cluster + username and password. After clicking the login button a pop-up + window will appear. Your username has to be entered in the following + format. <emphasis role="bold"><emphasis role="italic" + >USE...@ad...</emphasis> + </emphasis></entry> + <entry> + <graphic fileref="images/login.bmp" width="500" align="center" + valign="middle"/> + </entry> + + </row> + <row></row> + <row> + <entry> After successful authentication, you can see the interface + changed. </entry> + <entry><graphic fileref="images/login-confirm.PNG" align="center" valign="middle"/></entry> + </row> + <row><entry>On the left hand side of the Tamboti you will find the document collection + view. You have reading access to the grey colored collections. You have the editing + access to the bold and black collections.</entry> + <entry> + <graphic fileref="images/mycollection.PNG" align="center" valign="middle"/> + </entry> + </row> + + </tbody> + </tgroup> + </table--> + <para>In order to log into the tamboti framework, use your cluster username and + password. After clicking the login button a pop-up window will appear. Your username + has to be entered in the following format. </para> + <para> + <emphasis role="bold"> + <emphasis role="italic">USE...@ad...</emphasis> + </emphasis> + </para> + <para> + <graphic fileref="images/login.png" width="500px" align="center" valign="middle"/> + </para> + <para>After successful authentication, you can see the interface changed.</para> + <graphic fileref="images/login-confirm.PNG" align="center" valign="middle"/> + <para>On the left hand side of the Tamboti you will find the document collection + view.</para> + <graphic fileref="images/mycollection.PNG" align="center" valign="middle"/> + <para>You can see all the collections, which are accessible to you. The collection “mods + “ is the root collection. </para> + <para>You have reading access to the grey colored collections. You have the editing + access to the bold and black collections. </para> + </section> + <section> + <title>Create a collection</title> + <para>Click on the <graphic fileref="images/folder_add.png"/> button to add a new + collection to your home folder.</para> + <para> + <graphic fileref="images/createCollection.png" align="center" valign="middle" width="500px"/> + </para> + <para/> + <para>After creating the collection you will see the following folder view. When you + click on the “collection” it gets selected and marked in blue. </para> + <graphic fileref="images/mycoll-highlight.png" align="center" valign="middle"/> + <para>You can see the following action buttons on the top of the collection. From left + to right, they allow you to move, delete and edit collections or to add a new + entry.</para> + <para> + <graphic fileref="images/folder--action-buttons.png" align="center" valign="middle"/> + </para> + </section> + <section> + <title>Move the collection to another location</title> + <para>When you click the <graphic fileref="images/folder_go.png"/> button, a dialog + window will appear and you can move the collection to any location, where you have + the permissions to write.</para> + <para> + <graphic fileref="images/move.png" align="center" valign="middle"/> + </para> + </section> + <section> + <title>Delete the collection </title> + <para>You can delete an entire collection by clicking the <graphic fileref="images/folder_delete.png"/> button. Please be aware that the deleted + collections are not recoverable! </para> + </section> + <section> + <title>Edit permissions</title> + <para>You can change the permissions to the collections using the “collection + permissions” <graphic fileref="images/user_edit.png"/> button. On the first step, + you get the collection sharing template. </para> + <graphic fileref="images/sharing-template.png"/> + <section> + <title>Share with a group of cluster members</title> + <para>If you select to share with a group the dialog window expands as follows. You + can see the existing group memberships and (e.g. publications) and the + membership rights. </para> + <graphic fileref="images/collection-sharing-group.png"/> + <para>Click on the “New Group” Button to add a new group of users, who can edit your + collection</para> + <graphic fileref="images/my-collection-editors.png" height="300px" width="400px"/> + <para>After you click the “Add” button , you will be redirected to the “collection + sharing template”. When you click the group sharing button, you will see the + group “mycollection_editors” in the group menu.</para> + <graphic fileref="images/collection-sharing-group2.png" height="300px" width="400px"/> + <para>You can add the members (e.g. editors) to your group by clicking the “Add + Member” button. A dialog window “Add user to group” will pop-up as + follows.</para> + <graphic fileref="images/add-user.png" width="400px"/> + <para>If you just type the first name of the user , the system will automatically + suggest you the users. Add any number of users to the group. You can grant the + group either read or write permissions or both</para> + <graphic fileref="images/collection-sharing-group.png" width="400px"/> + <para>A good practice is to name the group according to your work process. Be aware + that editing the users in a group is only possible for the group creator! </para> + <graphic fileref="images/collection-sharing-users.png" wigth="400px"/> + </section> + </section> + </chapter> +</book> Added: apps/tamboti/docs/sidebar.xml =================================================================== --- apps/tamboti/docs/sidebar.xml (rev 0) +++ apps/tamboti/docs/sidebar.xml 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> + <group name="Tamboti"> + <item> + <link href="">What is Tamboti?</link> + </item> + <item> + <link href="">Who are we?</link> + </item> + </group> + <group name="Documentation"> + <item> + <link href="walkthrough.xml">Walkthrough</link> + </item> + <item> + <link href="">Search Functions</link> + </item> + <item> + <link href="">Editor</link> + </item> + <item> + <link href="security-manager.xml">Sharing</link> + </item> + </group> + <group name="MODS"> + <item> + <link href="">Overview</link> + </item> + <item> + <link href="">Examples</link> + </item> + <item> + <link href="">Links</link> + </item> + </group> + <group name="Feedback"> + <item> + <link href="http://kjc-fs-cluster.kjc.uni-heidelberg.de/helpdesk/" target="blank">Ticket System</link> + </item> + </group> + <group name="Development"> + <item> + <link href="">How to Join</link> + </item> + <item> + <link href="">Changelog</link> + </item> + </group> + <banner> + <link href="http://exist-db.org"> + <img alt="powered by eXist" border="0" src="theme/images/powered.gif"/> + </link> + </banner> +</sidebar> \ No newline at end of file Added: apps/tamboti/docs/stylesheets/db2xhtml.xsl =================================================================== --- apps/tamboti/docs/stylesheets/db2xhtml.xsl (rev 0) +++ apps/tamboti/docs/stylesheets/db2xhtml.xsl 2011-04-12 11:15:14 UTC (rev 14173) @@ -0,0 +1,728 @@ +<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sidebar="http://exist-db.org/NS/sidebar" xmlns:xf="http://www.w3.org/2002/xforms" version="1.0"> + <xsl:output method="xhtml" media-type="application/xml" omit-xml-declaration="yes"/> + <xsl:param name="xslt.table-of-contents" select="'yes'"/> + <xsl:param name="xslt.syntax-highlight" select="'yes'"/> + <xsl:param name="path" select="''"/> + <xsl:variable name="pathToWebapp"> + <xsl:call-template name="invertPath"> + <xsl:with-param name="str" select="$path"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="include.analytics" select="false()"/> + <xsl:template match="book|article"> + <html> + <head> + <title> + <xsl:value-of select="(bookinfo|articleinfo)/title/text()"/> + </title> + <link rel="shortcut icon" href="{$pathToWebapp}resources/exist_icon_16x16.ico"/> + <link rel="icon" href="{$pathToWebapp}resources/exist_icon_16x16.png" type="image/png"/> + <meta http-equiv="Content-Type" content="charset=utf-8"/> + <script language="Javascript" type="text/javascript" src="libs/styles/curvycorners.js"/> + <xsl:variable name="styleref" select="(bookinfo|articleinfo)/style/@href"/> + <xsl:choose> + <xsl:when test="$styleref"> + <link rel="stylesheet" type="text/css" href="{$styleref}"/> + </xsl:when> + <xsl:otherwise> + <link rel="stylesheet" type="text/css" href="theme/css/default-style2.css"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="(bookinfo|articleinfo)/style"/> + <xsl:copy-of select="(bookinfo|articleinfo)/link"/> + <xsl:copy-of select="(bookinfo|articleinfo)/script"/> + <xsl:apply-templates select="(bookinfo|articleinfo)/xf:*"/> + </head> + <body bgcolor="#FFFFFF"> + <xsl:apply-templates xmlns:xi="http://www.w3.org/2001/XInclude" select="xi:include"/> + <xsl:apply-templates select="bookinfo|articleinfo"/> + <xsl:apply-templates select="sidebar:sidebar"/> + <div> + <xsl:choose> + <xsl:when test="sidebar:sidebar/sidebar:group"> + <xsl:attribute name="id">content2col</xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="id">content1col</xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="self::article"> + <h1 class="chaptertitle rounded"> + <xsl:value-of select="articleinfo/title"/> + </h1> + <xsl:apply-templates select="section"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="chapter"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="bookinfo|articleinfo" mode="backmatter"/> + </div> + <xsl:call-template name="analytics"/> + <xsl:if test="$xslt.syntax-highlight = 'yes'"> + <script type="text/javascript"> + SyntaxHighlighter.config.stripBrs = true; + SyntaxHighlighter.defaults[ 'auto-links'] = false; + SyntaxHighlighter.defaults[ 'wrap-lines'] = false; + SyntaxHighlighter.all();</script> + </xsl:if> + </body> + </html> + </xsl:template> + <xsl:template name="toc"> + <ul class="toc"> + <xsl:for-each select="section"> + <li> + <a> + <xsl:choose> + <xsl:when test="@id"> + <xsl:attribute name="href">#<xsl:value-of select="@id"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="href">#<xsl:value-of select="generate-id()"/> + </xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:number count="section" level="multiple" format="1. "/> + <xsl:apply-templates select="title/node()"/> + </a> + <xsl:if test="section"> + <ul> + <xsl:for-each select="section"> + <li> + <a> + <xsl:choose> + <xsl:when test="@id"> + <xsl:attribute name="href">#<xsl:value-of select="@id"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="href">#<xsl:value-of select="generate-id()"/> + </xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:number count="section" level="multiple" format="1. "/> + <xsl:apply-templates select="title/node()"/> + </a> + </li> + </xsl:for-each> + </ul> + </xsl:if> + </li> + </xsl:for-each> + </ul> + </xsl:template> + <xsl:template match="author"/> + <xsl:template match="bookinfo|articleinfo" mode="backmatter"> + <div class="authors"> + <xsl:apply-templates select="source" mode="backmatter"/> + <xsl:apply-templates select="date" mode="backmatter"/> + <xsl:apply-templates select="author|orgname" mode="backmatter"/> + </div> + </xsl:template> + <xsl:template match="source" mode="backmatter"> + <div class="view-source"> + <a href="{.}">View Source</a> + </div> + </xsl:template> + <xsl:template match="date" mode="backmatter"> + <div class="date"> + <xsl:apply-templates/> + </div> + </xsl:template> + <xsl:template match="author" mode="backmatter"> + <div class="author"> + <xsl:if test="position() = 1"> + <xsl:attribute name="class">author first</xsl:attribute> + </xsl:if> + <xsl:value-of select="firstname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="surname"/> + <br/> + <xsl:for-each select=".//jobtitle"> + <xsl:apply-templates/> + <br/> + </xsl:for-each> + <xsl:for-each select=".//orgname"> + <xsl:apply-templates/> + <br/> + </xsl:for-each> + <xsl:for-each select=".//email"> + <a href="mailto:{.}"> + <small> + <em> + <xsl:value-of select="."/> + </em> + </small> + </a> + </xsl:for-each> + </div> + </xsl:template> + <xsl:template match="orgname" mode="backmatter"> + <div class="author"> + <xsl:if test="position() = 1"> + <xsl:attribute name="class">author first</xsl:attribute> + </xsl:if> + <xsl:value-of select="."/> + </div> + </xsl:template> + <xsl:template match="toc"> + <ul class="toc"> + <xsl:apply-templates/> + </ul> + </xsl:template> + <xsl:template match="tocpart"> + <li> + <xsl:apply-templates/> + </li> + </xsl:template> + <xsl:template match="tocentry"> + <xsl:apply-templates/> + </xsl:template> + <xsl:template match="chapter"> + <div class="chapter"> + <xsl:apply-templates select="title"/> + <xsl:choose> + <xsl:when test="toc"> + <xsl:apply-templates select="toc"/> + </xsl:when> + <xsl:when test="$xslt.table-of-contents = 'yes'"> + <xsl:call-template name="toc"/> + </xsl:when> + </xsl:choose> + <xsl:apply-templates select="*[not(name()='title' or name() = 'toc')]"/> + </div> + </xsl:template> + <xsl:template match="chapter/title"> + <h1 class="chaptertitle rounded"> + <a> + <xsl:attribute name="name"> + <xsl:value-of select="generate-id()"/> + </xsl:attribute> + </a> + <xsl:apply-templates/> + </h1> + <xsl:for-each select="author"> + <xsl:apply-templates select="."/> + </xsl:for-each> + </xsl:template> + <xsl:template match="chapter/abstract|article/abstract"> + <div class="abstract"> + <xsl:apply-templates/> + </div> + </xsl:template> + <xsl:template match="chapter/section|article/section"> + <h2> + <a> + <xsl:choose> + ... [truncated message content] |
From: <jen...@us...> - 2011-04-15 08:00:32
|
Revision: 14207 http://exist.svn.sourceforge.net/exist/?rev=14207&view=rev Author: jenspetersen Date: 2011-04-15 08:00:26 +0000 (Fri, 15 Apr 2011) Log Message: ----------- [tamboti] Fixed small things: links in index.xml and style.xqm, sorting in search.xql, the treatment of dates in names in retireve-mods.xql. Modified Paths: -------------- apps/tamboti/docs/walkthrough.02.5.xml apps/tamboti/modules/search/index.xml apps/tamboti/modules/search/retrieve-mods.xql apps/tamboti/modules/search/search.xql apps/tamboti/modules/style.xqm Modified: apps/tamboti/docs/walkthrough.02.5.xml =================================================================== --- apps/tamboti/docs/walkthrough.02.5.xml 2011-04-14 20:03:04 UTC (rev 14206) +++ apps/tamboti/docs/walkthrough.02.5.xml 2011-04-15 08:00:26 UTC (rev 14207) @@ -1,7 +1,88 @@ -<?xml version="1.0" encoding="UTF-8"?> <book xmlns:xi="http://www.w3.org/2001/XInclude"> - <xi:include href="header.xml"/> - <xi:include href="sidebar.xml"/> + <bookinfo> + <graphic fileref="theme/images/tamboti.png"/> + <graphic fileref="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> + <productname>Tamboti</productname> + <title>Tamboti Walkthrough</title> + <date>March 2011</date> + <author> + <firstname>Dulip</firstname> + <surname>Withanage</surname> + <affiliation> + <address format="linespecific"> + <email>wit...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>"Asia and Europe in a Global Context"</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + <author> + <firstname>Jens Østergaard</firstname> + <surname>Petersen</surname> + <affiliation> + <address format="linespecific"> + <email>pet...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>"Asia and Europe in a Global Context"</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + </bookinfo> + <sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> + <group name="Tamboti"> + <item> + <link href="">What is Tamboti?</link> + </item> + <item> + <link href="">Who are we?</link> + </item> + </group> + <group name="Documentation"> + <item> + <link href="walkthrough.xml">Walkthrough</link> + </item> + <item> + <link href="">Search Functions</link> + </item> + <item> + <link href="">Editor</link> + </item> + <item> + <link href="security-manager.xml">Sharing</link> + </item> + </group> + <group name="MODS"> + <item> + <link href="">Overview</link> + </item> + <item> + <link href="">Examples</link> + </item> + <item> + <link href="">Links</link> + </item> + </group> + <group name="Feedback"> + <item> + <link href="http://kjc-fs-cluster.kjc.uni-heidelberg.de/helpdesk/" target="blank">Ticket System</link> + </item> + </group> + <group name="Development"> + <item> + <link href="">How to Join</link> + </item> + <item> + <link href="">Changelog</link> + </item> + </group> + <banner> + <link href="http://exist-db.org"> + <img alt="powered by eXist" border="0" src="theme/images/powered.gif"/> + </link> + </banner> + </sidebar> <link rel="stylesheet" href="docbook.css" type="text/css"/> <chapter> <title>Web Browsers</title> @@ -42,13 +123,13 @@ <para>Tamboti does not run with any version of Internet Explorer. It is our hope that the search interface will work with Internet Explorer 9, but it is not to be expected that the editor will work with Internet Explorer 9. The reason for this is the lack of standards compliance on the part of Internet Explorer.</para> <para>Please use any of the following web browsers:</para> <itemizedlist> - <listitem>Firefox 3.6 on Windows, Mac OS and Linux (Firefox 4 beta does not work with the editor).</listitem> + <listitem>Firefox 3.6 on Windows, Mac OS and Linux (Firefox 4 does not work with the editor).</listitem> <listitem>Safari 5 on Windows and Mac OS.</listitem> - <listitem>Chrome 8 on Windows, Mac OS and Linux (and Chromium on Linux).</listitem> + <listitem>Chrome 10 on Windows, Mac OS and Linux (and Chromium on Linux).</listitem> <listitem>Opera 10 on Windows, Mac OS and Linux.</listitem> </itemizedlist> <para>For search, these web browsers work the same.</para> - <para>For editing, these web browsers also work the same, but with differing speed. Chrome and Safari are 2.5 to 3 times faster than Firefox and Opera. The reason for this is the JavaScript engine used by these browsers. The forms for editing MODS records place high demands on the JavaScript engine.</para> + <para>For editing, these web browsers also work the same, but with differing speed. Chrome and Safari are 2.5 to 3 times faster than Firefox and Opera. The reason for this is the JavaScript engine used by these browsers. The forms for editing MODS records place high demands on the browser's JavaScript engine.</para> <para> When using the Basic Input Forms, the (legendary) slowness of Firefox should not be much of a problem, but when using the other input forms, our recommendation is to use Chrome or Safari.</para> </chapter> </book> \ No newline at end of file Modified: apps/tamboti/modules/search/index.xml =================================================================== --- apps/tamboti/modules/search/index.xml 2011-04-14 20:03:04 UTC (rev 14206) +++ apps/tamboti/modules/search/index.xml 2011-04-15 08:00:26 UTC (rev 14207) @@ -33,14 +33,6 @@ <a href="/exist/" style="text-decoration: none"> <img src="theme/images/logo.jpg" title="eXist-db: Open Source Native XML Database" style="border-style: none;text-decoration: none"/> </a> - <!-- - <div id="quicksearch"> - <form action="" method="GET"> - <input type="text" size="20" name="q"/> - <input type="submit" value="Search"/> - </form> - </div> - --> <div id="navbar"> <h1>Open Source Native XML Database</h1> </div> @@ -48,12 +40,12 @@ <!--Tamboti-begin <div id="page-head-left"> <a href="/exist/library/"> - <img src="theme/tamboti.png" title="Tamboti Metadata Framework" alt="Tamboti Metadata Framework" style="border-style: none;"/> + <img src="theme/images/tamboti.png" title="Tamboti Metadata Framework" alt="Tamboti Metadata Framework" style="border-style: none;"/> </a> </div> <div id="page-head-right"> <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> - <img src="theme/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> + <img src="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> </a> </div> Tamboti-end--> Modified: apps/tamboti/modules/search/retrieve-mods.xql =================================================================== --- apps/tamboti/modules/search/retrieve-mods.xql 2011-04-14 20:03:04 UTC (rev 14206) +++ apps/tamboti/modules/search/retrieve-mods.xql 2011-04-15 08:00:26 UTC (rev 14207) @@ -873,6 +873,8 @@ let $nameBase := <name>{$name/*:namePart[not(@transliteration) and (not(@script) or @script = ('Latn', 'Latin'))]}</name> let $nameTransliteration := <name>{$name/*:namePart[exists(@transliteration) and (not(@script) or @script = ('Latn', 'Latin'))]}</name> let $nameScript := <name>{$name/*:namePart[not(@transliteration) and (exists(@script) or @script = ('Latn', 'Latin'))]}</name> + (: We assume that there is only one date name part. The date name parts with transliteration and script are rather theoretical. This date is attached atthe end of the name. :) + let $dateBase := $name/*:namePart[@type = 'date'][1] return concat( (: ## 1 ##:) @@ -884,7 +886,7 @@ let $family := <name>{$nameBase/*:namePart[@type = 'family']}</name> let $given := <name>{$nameBase/*:namePart[@type = 'given']}</name> let $termsOfAddress := <name>{$nameBase/*:namePart[@type = 'termsOfAddress']}</name> - let $date := <name>{$nameBase/*:namePart[@type = 'date']}</name> + (: let $date := <name>{$nameBase/*:namePart[@type = 'date']}</name> :) let $languageBase := (: We try only the most obvious place for a lang attribute. :) if ($family/@lang) @@ -927,11 +929,12 @@ then concat(', ', string-join($termsOfAddress/*:namePart, ', ')) else () + (: , - (: NB: It might be an idea to move all dates to the end of the whole function. It may not be marked with transliteration or script. :) - if ($date/string()) + if ($date/string() and $family/string() and $given/string()) then concat(' (', string-join($date/*:namePart, ', '),')') else () + :) ) else if ($nameOrder = 'family-given') @@ -951,10 +954,12 @@ then concat(', ', string-join($termsOfAddress/*:namePart, ', ')) else () + (: , if ($date/string()) then concat(' (', string-join($date/*:namePart, ', '),')') else () + :) ) else (: In all other situations, the name order is given-family, with a space in between. :) @@ -971,10 +976,12 @@ else () , string-join($family/*:namePart, ' ') + (: , if ($date/text()) then concat(' (', string-join($date/*:namePart, ', '), ')') else () + :) ) else () , ' ', @@ -986,7 +993,7 @@ let $familyTransliteration := <name>{$nameTransliteration/*:namePart[@type = 'family']}</name> let $givenTransliteration := <name>{$nameTransliteration/*:namePart[@type = 'given']}</name> let $termsOfAddressTransliteration := <name>{$nameTransliteration/*:namePart[@type = 'termsOfAddress']}</name> - let $dateTransliteration := <name>{$nameTransliteration/*:namePart[@type = 'date']}</name> + (: let $dateTransliteration := <name>{$nameTransliteration/*:namePart[@type = 'date']}</name> :) let $languageTransliteration := if ($familyTransliteration/@lang) then mods:get-language-label($familyTransliteration/@lang) @@ -1016,10 +1023,12 @@ if ($termsOfAddressTransliteration/string()) then concat(', ', string-join($termsOfAddressTransliteration/*:namePart, ', ')) else () + (: , if ($dateTransliteration/string()) then concat(' (', string-join($dateTransliteration/*:namePart, ', '),')') else () + :) ) else (: In all other situations, the name order is given-family; the difference is whether there is a space between the name parts and the order of name proper and the address. :) @@ -1039,10 +1048,12 @@ else () , string-join($familyTransliteration/*:namePart, ' ') + (: , if ($dateTransliteration/text()) then concat(' (', string-join($dateTransliteration, ', ') ,')') else () + :) ) else (: If it is e.g. a Chinese name. :) @@ -1058,10 +1069,12 @@ if ($termsOfAddressTransliteration/string()) then concat(' ', string-join($termsOfAddressTransliteration/*:namePart, ' ')) else () + (: , if ($dateTransliteration/text()) then concat(' (', string-join($dateTransliteration, ', ') ,')') - else () + else () + :) ) else () , ' ', @@ -1072,7 +1085,7 @@ let $familyScript := <name>{$nameScript/*:namePart[@type = 'family']}</name> let $givenScript := <name>{$nameScript/*:namePart[@type = 'given']}</name> let $termsOfAddressScript := <name>{$nameScript/*:namePart[@type = 'termsOfAddress']}</name> - let $dateScript := <name>{$nameScript/*:namePart[@type = 'date']}</name> + (: let $dateScript := <name>{$nameScript/*:namePart[@type = 'date']}</name> :) let $languageScript := if ($familyScript/@lang) then mods:get-language-label($familyScript/@lang) @@ -1103,10 +1116,12 @@ if ($termsOfAddressScript/string()) then concat(', ', string-join($termsOfAddressScript, ', ')) else () + (: , if ($dateScript/string()) then concat(' (', string-join($dateScript, ', '),')') else () + :) ) else if ($nameOrder != 'family-given') @@ -1124,10 +1139,12 @@ else () , string-join($familyScript/*:namePart, ' ') + (: , if ($dateScript/string()) then concat(' (', string-join($dateScript, ', ') ,')') else () + :) ) else (: $nameOrder = 'family-given'. Here we have e.g. Chinese names which are the same wherever they occur, with no space or comma between given and family name. :) @@ -1137,13 +1154,18 @@ string-join($givenScript, '') , string-join($termsOfAddressScript, '') + (: , if ($dateScript/string()) then concat(' (', string-join($dateScript, ', ') ,')') - else () + else () + :) ) - else () - ) + else () + , + if ($dateBase) + then concat(' (', $dateBase, ')') + else ()) }; declare function mods:get-authority-name-from-mads($mads as element(), $caller as xs:string) { Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-04-14 20:03:04 UTC (rev 14206) +++ apps/tamboti/modules/search/search.xql 2011-04-15 08:00:26 UTC (rev 14207) @@ -363,9 +363,9 @@ else if ($field = "Author") then "biblio:orderByAuthor($hit)" else if ($field = "Title") then - "$hit/mods:titleInfo[not(@type)]/mods:title ascending empty greatest" + "$hit/mods:titleInfo[not(@type)][1]/mods:title[1] ascending empty greatest" else - "$hit/mods:originInfo[1]/mods:dateIssued[1] descending empty least" + "$hit/mods:originInfo[1]/mods:dateIssued[1]/number() descending empty least" }; (:~ Modified: apps/tamboti/modules/style.xqm =================================================================== --- apps/tamboti/modules/style.xqm 2011-04-14 20:03:04 UTC (rev 14206) +++ apps/tamboti/modules/style.xqm 2011-04-15 08:00:26 UTC (rev 14207) @@ -189,19 +189,20 @@ <!--Tamboti-begin <div id="page-head-left"> - <a href="/exist/library/"> + <a href="../search/index.xml" style="text-decoration: none"> <img - src="../../../resources/images/tamboti.png" + src="theme/images/tamboti.png" title="Tamboti Metadata Framework" alt="Tamboti Metadata Framework" style="border-style: none;"/> </a> + <div class="help"><a href="../../docs/index.xml" style="text-decoration: none" target="_blank">Help</a></div> </div> <div id="page-head-right"> <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> <img - src="../../../resources/images/logovjc.gif" + src="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" @@ -211,22 +212,15 @@ </div> Tamboti-end--> <!--eXist-begin--> - <a href="index.xml" style="text-decoration: none"> + <a href="../search/index.xml" style="text-decoration: none"> <img src="theme/images/logo.jpg" title="eXist-db: Open Source Native XML Database" style="border-style: none;text-decoration: none"/> </a> - <!-- - <div id="quicksearch"> - <form action="" method="GET"> - <input type="text" size="20" name="q"/> - <input type="submit" value="Search"/> - </form> - </div> - --> <div id="navbar"> <h1>Open Source Native XML Database</h1> </div> + <div class="help"><a href="../../docs/index.xml" style="text-decoration: none" target="_blank">Help</a></div> <!--eXist-end--> - <div class="help"><a href="../../docs/index.xml" style="text-decoration: none" target="_blank">Help</a></div> + </div> <div id="content1col"> <div class="container"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <del...@us...> - 2011-04-26 18:56:39
|
Revision: 14314 http://exist.svn.sourceforge.net/exist/?rev=14314&view=rev Author: deliriumsky Date: 2011-04-26 18:56:33 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Show a dialog describing what shared resources have changed since you last logged in - todo make these changes searchable Modified Paths: -------------- apps/tamboti/modules/search/index.xml apps/tamboti/modules/search/search.xql apps/tamboti/resources/scripts/query.js Added Paths: ----------- apps/tamboti/modules/search/notices.xql Modified: apps/tamboti/modules/search/index.xml =================================================================== --- apps/tamboti/modules/search/index.xml 2011-04-26 18:37:15 UTC (rev 14313) +++ apps/tamboti/modules/search/index.xml 2011-04-26 18:56:33 UTC (rev 14314) @@ -45,7 +45,7 @@ </div> <div id="page-head-right"> <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> - <img src="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> + <img src="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> </a> </div> Tamboti-end--> @@ -227,6 +227,7 @@ </div> </div> </biblio:collection-tree> + <biblio:notice/> <div id="main-content"> <div id="results-head"> <div id="messages">Found: Added: apps/tamboti/modules/search/notices.xql =================================================================== --- apps/tamboti/modules/search/notices.xql (rev 0) +++ apps/tamboti/modules/search/notices.xql 2011-04-26 18:56:33 UTC (rev 14314) @@ -0,0 +1,12 @@ +xquery version "1.0"; + +import module namespace request="http://exist-db.org/xquery/request"; +import module namespace response="http://exist-db.org/xquery/response"; + +if(request:get-parameter("action",()))then + if(request:get-parameter("action", ()) eq "seen-notices")then + session:set-attribute("seen-notices", true()) + else + response:set-status-code(400) +else + response:set-status-code(400) \ No newline at end of file Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-04-26 18:37:15 UTC (rev 14313) +++ apps/tamboti/modules/search/search.xql 2011-04-26 18:56:33 UTC (rev 14314) @@ -448,7 +448,79 @@ 0 }; +(:~ +: Outputs a notice (if any) to the user +:) +declare function biblio:notice() as element(div)* { + + (: have we already seen the notices for this session? :) + if(session:get-attribute("seen-notices") eq true()) then + () + else + ( + (: 1 - is there a login notice :) + + (: find all collections that are shared with the current user and whoose modification time is after our last login time :) + let $user := security:get-user-credential-from-session()[1], + $users-groups := sharing:get-users-groups($user) return + if(not(empty($users-groups)))then + ( + let $last-login-time := security:get-last-login-time($user), + $collections-modified-since-last-login := local:find-sub-collections-with-group-modified-after($config:users-collection, $users-groups/group:system/group:group, $last-login-time) return + + if(not(empty($collections-modified-since-last-login)))then + ( + <div id="notices-dialog" title="System Notices"> + <p>The following Groups have published new or updated documents since you last logged in:</p> + <ul> + { + for $modified-collection in $collections-modified-since-last-login + let $sharing-group-id := sharing:get-group-id($modified-collection) return + <li>{ sharing:get-group($sharing-group-id)/group:name/text() } ({ count(xmldb:get-child-resources($modified-collection)[$last-login-time lt xmldb:last-modified($modified-collection, .)]) })</li> + } + </ul> + </div> + )else() + )else() + ) +}; + (:~ +: Get the last-modified date of a collection +:) +declare function local:get-collection-last-modified($collection-path as xs:string) as xs:dateTime { + + let $resources-last-modified := + for $resource in xmldb:get-child-resources($collection-path) return + xmldb:last-modified($collection-path, $resource) + return + if(not(empty($resources-last-modified)))then + max( + $resources-last-modified + ) + else + xmldb:created($collection-path) +}; + +(:~ +: Find all sub-collections that have a group and are modified after a dateTime +:) +declare function local:find-sub-collections-with-group-modified-after($collection-path as xs:string, $groups as xs:string+, $modified-after as xs:dateTime) as xs:string* { + for $child-collection in xmldb:get-child-collections($collection-path) + let $child-collection-path := fn:concat($collection-path, "/", $child-collection) return + ( + if(xmldb:get-group($child-collection-path) = $groups and $modified-after lt local:get-collection-last-modified($child-collection-path))then + ( + $child-collection-path + ) + else() + + , + local:find-sub-collections-with-group-modified-after($child-collection-path, $groups, $modified-after) + ) +}; + +(:~ Clear the last query result. :) declare function biblio:clear() { @@ -497,6 +569,8 @@ </div> case element(biblio:form-from-query) return biblio:form-from-query($query) + case element(biblio:notice) return + biblio:notice() case element(biblio:result-count) return text { $hitCount } case element(biblio:query-history) return Modified: apps/tamboti/resources/scripts/query.js =================================================================== --- apps/tamboti/resources/scripts/query.js 2011-04-26 18:37:15 UTC (rev 14313) +++ apps/tamboti/resources/scripts/query.js 2011-04-26 18:56:33 UTC (rev 14314) @@ -8,7 +8,7 @@ /* collection action buttons */ -$(document).ready(function(){ +function hideCollectionActionButtons() { $('#collection-create-folder').hide(); $('#collection-rename-folder').hide(); $('#collection-move-folder').hide(); @@ -17,11 +17,12 @@ $('#collection-create-resource').hide(); $('#remove-group-button').hide(); - -}); +}; /* sharing dialog actions */ $(document).ready(function(){ + + hideCollectionActionButtons(); updateSharingGroupMembers($('#group-list').val()); $('#group-list').change(function(){ @@ -50,12 +51,27 @@ addNewGroupToGroupList($('#new-group-name').val()); $('#new-group-sharing-dialog').dialog('close'); }); + + showNotices(); }); function getCurrentCollection() { return "/db" + $('#simple-search-form input[name = collection]').val(); } +function showNotices() { + + $('#notices-dialog').dialog({ + modal: true, + width: 460, + close: function(event, ui) { + var params = { action: "seen-notices" }; + $.get("notices.xql", params, function (data) { + }); + } + }); +} + /* Initialize the collection tree. Connect toolbar button events. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wol...@us...> - 2011-04-26 21:30:52
|
Revision: 14316 http://exist.svn.sourceforge.net/exist/?rev=14316&view=rev Author: wolfgang_m Date: 2011-04-26 21:30:44 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Dynamically resolve all resources depending on the current theme. A theme is selected by looking at the URL prefix (as defined in the controller config) and themes/configuration.xml. To add a theme, just map an arbitrary prefix in controller-config.xml to xmldb:exist:///db/library and change themes/configuration.xml to map the prefix to a theme name. Create a collection with the same name below themes/. Modified Paths: -------------- apps/tamboti/modules/config.xqm apps/tamboti/modules/search/controller.xql apps/tamboti/modules/theme.xqm apps/tamboti/repo.xml Added Paths: ----------- apps/tamboti/themes/configuration.xml apps/tamboti/themes/default/index.xml apps/tamboti/themes/tamboti/ apps/tamboti/themes/tamboti/index.xml Removed Paths: ------------- apps/tamboti/modules/search/index.xml Modified: apps/tamboti/modules/config.xqm =================================================================== --- apps/tamboti/modules/config.xqm 2011-04-26 21:07:50 UTC (rev 14315) +++ apps/tamboti/modules/config.xqm 2011-04-26 21:30:44 UTC (rev 14316) @@ -34,6 +34,7 @@ declare variable $config:mads-collection := "/db/resources/mads"; declare variable $config:themes := concat($config:app-root, "/themes"); +declare variable $config:theme-config := concat($config:themes, "/configuration.xml"); declare variable $config:resources := concat($config:app-root, "/resources"); declare variable $config:images := concat($config:app-root, "/resources/images"); Modified: apps/tamboti/modules/search/controller.xql =================================================================== --- apps/tamboti/modules/search/controller.xql 2011-04-26 21:07:50 UTC (rev 14315) +++ apps/tamboti/modules/search/controller.xql 2011-04-26 21:30:44 UTC (rev 14316) @@ -6,6 +6,12 @@ declare namespace request="http://exist-db.org/xquery/request"; declare namespace session="http://exist-db.org/xquery/session"; +declare variable $exist:controller external; +declare variable $exist:path external; +declare variable $exist:resource external; +declare variable $exist:root external; +declare variable $exist:prefix external; + declare variable $local:app-root := concat($exist:controller, "/../.."); declare function local:set-user() { @@ -48,7 +54,9 @@ else ( <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - { local:set-user() } + <forward url="{theme:resolve($exist:prefix, $exist:root, 'index.xml')}"> + { local:set-user() } + </forward> <view> <forward url="search.xql"> <!-- Errors should be passed through instead of terminating the request --> @@ -80,12 +88,12 @@ </dispatch> else if (starts-with($exist:path, "/theme")) then - let $path := theme:resolve(concat($exist:controller, "/../.."), $exist:path) + let $path := theme:resolve($exist:prefix, $exist:root, substring-after($exist:path, "/theme")) let $themePath := replace($path, "^(.*)/[^/]+$", "$1") return <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> <forward url="{$path}"> - <set-attribute name="theme-collection" value="{$themePath}"/> + <set-attribute name="theme-collection" value="{theme:get-path()}"/> </forward> </dispatch> else Deleted: apps/tamboti/modules/search/index.xml =================================================================== --- apps/tamboti/modules/search/index.xml 2011-04-26 21:07:50 UTC (rev 14315) +++ apps/tamboti/modules/search/index.xml 2011-04-26 21:30:44 UTC (rev 14316) @@ -1,382 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html xmlns:biblio="http:/exist-db.org/xquery/biblio" xmlns:jquery="http://exist-db.org/xquery/jquery"> - <!-- - to change from eXist (eXist-) to Tamboti (Tamboti-), - close all eXist-begin and eXist-end, - and open all Tamboti-begin and Tamboti-end. - Make corresponding change in /db/org/library/modules/style.xqm. - Until the search works, one should comment out <div id="quicksearch">. - --> - <head> - <!--eXist-begin--> - <title>eXist - Bibliographic Demo</title> - <!--eXist-end--> - <!--Tamboti-begin - <title>Tamboti Metadata Framework</title> - Tamboti-end--> - <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> - <script type="text/javascript" src="libs/scripts/jquery/jquery.dynatree.min.js"/> - <script type="text/javascript" src="libs/scripts/jquery/jquery.cookie.js"/> - <script type="text/javascript" src="../../resources/scripts/query.js"/> - <link rel="stylesheet" type="text/css" href="libs/styles/default-style2.css"/> - <link rel="stylesheet" type="text/css" href="libs/scripts/jquery/skin/ui.dynatree.css"/> - <link rel="stylesheet" type="text/css" href="theme/css/biblio.css"/> - <link rel="stylesheet" type="text/css" href="theme/css/customisables.css"/> - <link rel="unapi-server" type="application/xml" title="unAPI" href="unapi.xql"/> - <!--Tamboti-begin - <link rel="stylesheet" type="text/css" href="theme/resources/css/tamboti.css"/> - Tamboti-end--> - </head> - <body> - <div id="page-head"> - <!--eXist-begin--> - <a href="/exist/" style="text-decoration: none"> - <img src="theme/images/logo.jpg" title="eXist-db: Open Source Native XML Database" style="border-style: none;text-decoration: none"/> - </a> - <div id="navbar"> - <h1>Open Source Native XML Database</h1> - </div> - <!--eXist-end--> - <!--Tamboti-begin - <div id="page-head-left"> - <a href="/exist/library/"> - <img src="theme/images/tamboti.png" title="Tamboti Metadata Framework" alt="Tamboti Metadata Framework" style="border-style: none;"/> - </a> - </div> - <div id="page-head-right"> - <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> - <img src="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> - </a> - </div> - Tamboti-end--> - </div> - <div id="content1col"> - <biblio:login/> - <jquery:tabset id="query-tabs" on-select="searchTabSelected"> - <jquery:tab id="simple" label="Simple Search"> - <form id="simple-search-form" class="search-form" action="index.xml" name="simple-search" method="POST"> - <table> - <tr> - <td class="label">Search for </td> - <td colspan="2"> - <jquery:input name="input1"> - <jquery:autocomplete url="autocomplete.xql" width="300" multiple="false" matchContains="false" paramsCallback="autocompleteCallback"/> - </jquery:input> - </td> - </tr> - <tr> - <td class="label">inside </td> - <td> - <biblio:collection-path/> - </td> - <td/> - </tr> - <tr> - <td class="label">Sort results by </td> - <td class="dropdown"> - <jquery:select name="sort"> - <jquery:option value="Score"/> - <jquery:option value="Author"/> - <jquery:option value="Title"/> - <jquery:option value="Date Issued"/> - </jquery:select> - <button name="action" id="form-submit" type="submit">Search</button> - <input type="hidden" name="field1" value="All"/> - </td> - </tr> - </table> - <input type="hidden" name="query-tabs" value="simple"/> - <input type="hidden" name="collection-tree" value="hidden"/> - </form> - </jquery:tab> - <jquery:tab id="advanced-search-form" label="Advanced Search"> - <jquery:form-repeat trigger="#add-field" delete="#remove-field" form=".search-form" on-ready="repeatCallback"/> - <form class="search-form" action="index.xml" name="advanced-search" method="POST"> - <table> - <tr> - <td/> - <td colspan="2">Search for</td> - </tr> - <biblio:form-from-query/> - <tr> - <td class="label">inside </td> - <td colspan="2"> - <biblio:collection-path/> - </td> - </tr> - <tr> - <td class="label"> Sort results by </td> - <td class="dropdown"> - <jquery:select name="sort"> - <jquery:option value="Score"/> - <jquery:option value="Author"/> - <jquery:option value="Title"/> - <jquery:option value="Date Issued"/> - </jquery:select> - </td> - <td/> - </tr> - <tr> - <td/> - <td class="add-field" align="center" colspan="2"> - <button class="button" id="add-field"> - <span>+</span> Add search - field</button> - <button class="button" id="remove-field"> - <span>-</span> Remove selected search - field</button> - </td> - </tr> - <tr> - <td/> - <td colspan="2"> - <button class="button" name="clear" value="clear" type="submit">Clear All</button> - <div class="advanced-search"> - <button class="advanced-search" name="action" id="form-submit" type="submit">Search</button> - </div> - </td> - <td/> - </tr> - </table> - <input type="hidden" name="query-tabs" value="advanced-search-form"/> - <input type="hidden" name="collection-tree" value="hidden"/> - </form> - </jquery:tab> - <jquery:tab id="query-history" label="Query History"> - <biblio:query-history/> - </jquery:tab> - <jquery:tab id="personal-list" label="My List"> - <form class="search-form" action="index.xml" name="lists" method="POST"> - <p>You have <span id="personal-list-size">0</span> items in your list.</p> - <p> - <input type="hidden" name="query-tabs" value="personal-list"/> - <button class="button" name="mylist" type="submit" value="clear">Clear</button> - <button class="button" name="mylist" type="submit" value="display">Display</button> - </p> - </form> - <p> - <form action="user.xql" method="POST"> - <button class="button" id="export" name="export" type="submit" value="export">Export</button> your list items. - </form> - </p> - </jquery:tab> - </jquery:tabset> - <biblio:collection-tree id="collection-tree"> - <div class="collection-tree-head"> - <img id="toggle-collection-tree" src="theme/images/tree.gif" title="Folder View"/> - </div> - <div id="collection-tree-main"> - <ul class="collection-tree-toolbar"> - <li> - <a href="#" id="collection-expand-all"> - <img src="theme/images/arrow_out.png" title="Expand All"/> - </a> - </li> - <li> - <a href="#" id="collection-collapse-all"> - <img src="theme/images/arrow_in.png" title="Collapse All"/> - </a> - </li> - <li> - <a href="#" id="collection-reload"> - <img src="theme/images/arrow_refresh.png" title="Reload Folder View"/> - </a> - </li> - <!-- collection writeable --> - <li> - <a href="#" id="collection-create-folder"> - <img src="theme/images/folder_add.png" title="Create Folder"/> - </a> - </li> - <li> - <a href="#" id="collection-rename-folder"> - <img src="theme/images/folder_edit.png" title="Rename Folder"/> - </a> - </li> - <li> - <a href="#" id="collection-move-folder"> - <img src="theme/images/folder_go.png" title="Move Folder"/> - </a> - </li> - <li> - <a href="#" id="collection-remove-folder"> - <img src="theme/images/folder_delete.png" title="Delete Folder"/> - </a> - </li> - <!-- end collection writeable --> - <!-- collection owner --> - <li> - <a href="#" id="collection-sharing"> - <img src="theme/images/user_edit.png" title="Manage Folder Sharing"/> - </a> - </li> - <!-- end collection owner --> - <!-- create new resource --> - <li> - <a href="#" id="collection-create-resource"> - <img src="theme/images/page_add.png" title="Create Stand-Alone Record"/> - </a> - </li> - <!-- end create new resource --> - </ul> - <div id="collection-tree-tree"/> - <div class="box"> - <p> To view all - records in a folder, select it and perform an empty search. - </p> - </div> - </div> - </biblio:collection-tree> - <biblio:notice/> - <div id="main-content"> - <div id="results-head"> - <div id="messages">Found: - <biblio:result-count/> - </div> - <biblio:optimize-trigger/> - <div class="navbar"/> - </div> - <div id="result-container"> - <div id="filters"> - <jquery:ajax-accordion id="facets"> - <jquery:panel id="keywords" title="Title Terms" on-select="loadIndexTerms"> - <div class="keyword-prefix"> - <form id="keyword-form"> - <input type="text" name="input-keyword-prefix" size="8" value="a" title="Change prefix to view more terms."/> - <input type="submit" value="Show"/> - </form> - </div> - <div id="keywords-result"/> - </jquery:panel> - <jquery:panel id="author" title="Author" href="filters.xql?type=author"/> - <jquery:panel id="date" title="Date" href="filters.xql?type=date"/> - </jquery:ajax-accordion> - <div class="banner"> - <a href="http://exist-db.org"> - <img xmlns:xi="http://www.w3.org/2001/XInclude" alt="powered by eXist" border="0" src="theme/images/powered.gif"/> - </a> - </div> - </div> - <jquery:paginate id="results" attribute="mods:cached" href="retrieve" navcontainer="#results-head .navbar" on-ready="resultsLoaded"/> - </div> - </div> - <jquery:dialog id="optimize-dialog" modal="true" title="Create Indexes" trigger="#optimize-trigger" width="450"> - <jquery:button label="Start" function="createIndexes"/> - <p>Use this dialog to trigger an optimization run on your data - set. This will create custom indexes to speed up sorting and other - functions.</p> - <p>The process may take some time, depending on the size of the - data set. To start, please enter the admin password for your db below:</p> - <form action="optimize.xql"> - <ul> - <li> - <label for="password">Admin password: </label> - <input type="password" size="30" name="password"/> - </li> - <li id="optimize-message"/> - </ul> - </form> - </jquery:dialog> - <jquery:dialog id="login-dialog" modal="true" title="Login" trigger="#login-link" width="450"> - <jquery:button label="Login" function="login"/> - <form id="login-form" action="#" method="POST"> - <table> - <tr> - <td id="login-message" colspan="2"/> - </tr> - <tr> - <td>Username:</td> - <td> - <input name="user" type="text"/> - </td> - </tr> - <tr> - <td>Password:</td> - <td> - <input name="password" type="password"/> - </td> - </tr> - </table> - </form> - </jquery:dialog> - <!-- collection writeable --> - <jquery:dialog id="new-collection-dialog" modal="true" title="Create Folder" trigger="#collection-create-folder" width="450"> - <jquery:button label="Create" function="createCollection"/> - <jquery:button id="cancel" label="Cancel"/> - <form id="create-collection-form" action="operations.xql"> - <div>Name of new folder: </div> - <div> - <input name="name" type="text"/> - </div> - </form> - </jquery:dialog> - <jquery:dialog id="rename-collection-dialog" modal="true" title="Rename Folder" trigger="#collection-rename-folder" width="450"> - <jquery:button label="Rename" function="renameCollection"/> - <jquery:button id="cancel" label="Cancel"/> - <form id="rename-collection-form" action="operations.xql"> - <input id="rename-collection-path_" type="hidden" name="collection"/> - <div>New folder name: </div> - <div> - <input name="name" type="text"/> - </div> - </form> - </jquery:dialog> - <jquery:dialog id="move-collection-dialog" modal="true" title="Move Folder" trigger="#collection-move-folder" width="450"> - <jquery:button label="Move" function="moveCollection"/> - <jquery:button id="cancel" label="Cancel"/> - <form id="move-collection-form" action="operations.xql"> - <input id="move-collection-path_" type="hidden" name="collection"/> - <div>Move folder '<span id="move-collection-path_"/>' to - <biblio:form-select-collection name="path"/> - </div> - </form> - </jquery:dialog> - <jquery:dialog id="remove-collection-dialog" modal="true" title="Remove Folder" trigger="#collection-remove-folder" width="450"> - <jquery:button label="Remove" function="removeCollection"/> - <jquery:button id="cancel" label="Cancel"/> - <form id="remove-collection-form" action="operations.xql"> - <input id="remove-collection-path_" type="hidden" name="collection"/> - <div>Are you sure you wish to remove the folder named "<span id="sharing-collection-path_"/>"? </div> - </form> - </jquery:dialog> - <!-- end collection writeable --> - <!-- collection owner --> - <biblio:form-collection-sharing/> - <biblio:form-add-member-to-sharing-group/> - <biblio:form-add-sharing-group/> - <!-- end collection owner --> - <jquery:dialog id="remove-resource-dialog" modal="true" title="Remove Folder" width="450"> - <jquery:button label="Remove" function="removeResource"/> - <jquery:button id="cancel" label="Cancel"/> - <form id="remove-resource-form" action="operations.xql"> - <div>Are you sure you wish to remove the record?</div> - <input id="remove-resource-id" name="resource" type="hidden" value=""/> - </form> - </jquery:dialog> - <jquery:dialog id="move-resource-dialog" modal="true" title="Move Record" width="500"> - <jquery:button label="Move" function="moveResource"/> - <jquery:button id="cancel" label="Cancel"/> - <form id="move-resource-form" action="operations.xql"> - <div>Move record from - '<span> - <biblio:collection-path/> - </span>' to - <biblio:form-select-collection name="path"/> - </div> - <input id="move-resource-id" name="resource" type="hidden" value=""/> - </form> - </jquery:dialog> - <!-- Dialogs are created search-xql lines 532ff. --> - <jquery:dialog id="new-resource-dialog" modal="true" title="Create Stand-Alone Record" trigger="#collection-create-resource" width="550"> - <jquery:button id="create" label="Create" function="newResource"/> - <jquery:button id="cancel" label="Cancel"/> - <biblio:resource-types classifier="stand-alone"/> - </jquery:dialog> - <jquery:dialog id="add-related-dialog" modal="true" title="Create Related Record" width="550"> - <jquery:button id="create" label="Create" function="newRelatedResource"/> - <jquery:button id="cancel" label="Cancel"/> - <biblio:resource-types classifier="related-item"/> - </jquery:dialog> - </div> - </body> -</html> \ No newline at end of file Modified: apps/tamboti/modules/theme.xqm =================================================================== --- apps/tamboti/modules/theme.xqm 2011-04-26 21:07:50 UTC (rev 14315) +++ apps/tamboti/modules/theme.xqm 2011-04-26 21:30:44 UTC (rev 14316) @@ -2,6 +2,85 @@ import module namespace config="http://exist-db.org/mods/config" at "config.xqm"; -declare function theme:resolve($root as xs:string, $path as xs:string) { - concat($root, "/themes", "/default/", substring-after($path, "theme/")) +(:~ + : Locate the specified resource for the selected theme. The theme is determined + : from the URL prefix. If a resource cannot be found within the theme collection, + : the function falls back to the theme "default" and tries to locate the resource + : there. + : + : @param $prefix the URL prefix as passed in from the controller + : @param $root the db root of this app as passed in from the controller + : @param $resource path to a resource in the theme collection + : @return resolved path to the resource to be used for forwarding in controller + :) +declare function theme:resolve($prefix as xs:string?, $root as xs:string, $resource as xs:string) { + let $theme := theme:theme-for-resource($prefix, $resource) + let $path := + concat( + substring-after($config:themes, theme:normalize-path($root)), + "/", $theme, "/", + $resource + ) + let $log := util:log("DEBUG", ("resolved theme path: ", $path)) + return + $path +}; + +(:~ + : + :) +declare function theme:get-path() { + concat(substring-after($config:themes, "/db"), "/default") +}; + +(:~ + : Lookup the prefix and return the name of theme to be applied + :) +declare function theme:theme-for-prefix($prefix as xs:string?) { + if (not($prefix)) then + "default" + else + let $theme := + doc($config:theme-config)//map[@path = $prefix]/@theme/string() + return + if ($theme) then + $theme + else + "default" +}; + +(:~ + : Determine the theme to use and try to locate the resource. If it does not + : exist, fall back to the theme "default" + :) +declare function theme:theme-for-resource($prefix as xs:string, $resource as xs:string) { + let $theme := theme:theme-for-prefix($prefix) + return + theme:check-for($resource, $theme) +}; + +(:~ + : Check if the resource is available within the theme. If yes, return the + : theme's name, if not, the default theme "default" + :) +declare function theme:check-for($resource as xs:string, $theme as xs:string) { + let $path := concat($config:themes, "/", $theme, "/", $resource) + return + if (util:binary-doc-available($path) or doc-available($path)) then + $theme + else + "default" +}; + +(:~ + : + :) +declare function theme:normalize-path($rawPath as xs:string) { + if (starts-with($rawPath, "xmldb:exist://")) then + if (starts-with($rawPath, "xmldb:exist://embedded-eXist-server")) then + substring($rawPath, 36) + else + substring($rawPath, 15) + else + $rawPath }; \ No newline at end of file Modified: apps/tamboti/repo.xml =================================================================== --- apps/tamboti/repo.xml 2011-04-26 21:07:50 UTC (rev 14315) +++ apps/tamboti/repo.xml 2011-04-26 21:30:44 UTC (rev 14316) @@ -1,16 +1,17 @@ -<meta xmlns="http://exist-db.org/xquery/repo"> - <author>Jens Østergaard Petersen</author> - <author>Wolfgang Meier</author> - <author>Adam Retter</author> - <author>Dulip Withanage</author> - <website>http://exist-db.org</website> - <license>GNU-LGPL</license> - <copyright>true</copyright> - <description>Bibliographic Database</description> - <type>application</type> - <target>/db/library</target> - <permissions user="editor" password="editor" - group="biblio.users" mode="0444"/> - <status>stable</status> - <prepare>pre-install.xql</prepare> -</meta> +<?xml version="1.0" encoding="UTF-8"?> +<repo:meta xmlns="http://exist-db.org/xquery/repo" xmlns:repo="http://exist-db.org/xquery/repo"> + <repo:author>Jens Østergaard Petersen</repo:author> + <repo:author>Wolfgang Meier</repo:author> + <repo:author>Adam Retter</repo:author> + <repo:author>Dulip Withanage</repo:author> + <repo:website>http://exist-db.org</repo:website> + <repo:license>GNU-LGPL</repo:license> + <repo:copyright>true</repo:copyright> + <repo:description>Bibliographic Database</repo:description> + <repo:type>application</repo:type> + <repo:target>/db/library</repo:target> + <repo:permissions user="editor" password="editor" group="biblio.users" mode="0444"/> + <repo:status>stable</repo:status> + <repo:prepare>pre-install.xql</repo:prepare> + <repo:deployed>2011-04-26T12:42:04.373+02:00</repo:deployed> +</repo:meta> \ No newline at end of file Added: apps/tamboti/themes/configuration.xml =================================================================== --- apps/tamboti/themes/configuration.xml (rev 0) +++ apps/tamboti/themes/configuration.xml 2011-04-26 21:30:44 UTC (rev 14316) @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<themes> + <map path="/tamboti" theme="tamboti"/> +</themes> \ No newline at end of file Added: apps/tamboti/themes/default/index.xml =================================================================== --- apps/tamboti/themes/default/index.xml (rev 0) +++ apps/tamboti/themes/default/index.xml 2011-04-26 21:30:44 UTC (rev 14316) @@ -0,0 +1,380 @@ +<html xmlns:biblio="http:/exist-db.org/xquery/biblio" xmlns:jquery="http://exist-db.org/xquery/jquery"> + <!-- + to change from eXist (eXist-) to Tamboti (Tamboti-), + close all eXist-begin and eXist-end, + and open all Tamboti-begin and Tamboti-end. + Make corresponding change in /db/org/library/modules/style.xqm. + Until the search works, one should comment out <div id="quicksearch">. + --> + <head> + <!--eXist-begin--> + <title>eXist - Bibliographic Demo</title> + <!--eXist-end--> + <!--Tamboti-begin + <title>Tamboti Metadata Framework</title> + Tamboti-end--> + <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> + <script type="text/javascript" src="libs/scripts/jquery/jquery.dynatree.min.js"/> + <script type="text/javascript" src="libs/scripts/jquery/jquery.cookie.js"/> + <script type="text/javascript" src="../../resources/scripts/query.js"/> + <link rel="stylesheet" type="text/css" href="libs/styles/default-style2.css"/> + <link rel="stylesheet" type="text/css" href="libs/scripts/jquery/skin/ui.dynatree.css"/> + <link rel="stylesheet" type="text/css" href="theme/css/biblio.css"/> + <link rel="stylesheet" type="text/css" href="theme/css/customisables.css"/> + <link rel="unapi-server" type="application/xml" title="unAPI" href="unapi.xql"/> + <!--Tamboti-begin + <link rel="stylesheet" type="text/css" href="theme/resources/css/tamboti.css"/> + Tamboti-end--> + </head> + <body> + <div id="page-head"> + <!--eXist-begin--> + <a href="/exist/" style="text-decoration: none"> + <img src="theme/images/logo.jpg" title="eXist-db: Open Source Native XML Database" style="border-style: none;text-decoration: none"/> + </a> + <div id="navbar"> + <h1>Open Source Native XML Database</h1> + </div> + <!--eXist-end--> + <!--Tamboti-begin + <div id="page-head-left"> + <a href="/exist/library/"> + <img src="theme/images/tamboti.png" title="Tamboti Metadata Framework" alt="Tamboti Metadata Framework" style="border-style: none;"/> + </a> + </div> + <div id="page-head-right"> + <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> + <img src="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> + </a> + </div> + Tamboti-end--> + </div> + <div id="content1col"> + <biblio:login/> + <jquery:tabset id="query-tabs" on-select="searchTabSelected"> + <jquery:tab id="simple" label="Simple Search"> + <form id="simple-search-form" class="search-form" action="index.xml" name="simple-search" method="POST"> + <table> + <tr> + <td class="label">Search for </td> + <td colspan="2"> + <jquery:input name="input1"> + <jquery:autocomplete url="autocomplete.xql" width="300" multiple="false" matchContains="false" paramsCallback="autocompleteCallback"/> + </jquery:input> + </td> + </tr> + <tr> + <td class="label">inside </td> + <td> + <biblio:collection-path/> + </td> + <td/> + </tr> + <tr> + <td class="label">Sort results by </td> + <td class="dropdown"> + <jquery:select name="sort"> + <jquery:option value="Score"/> + <jquery:option value="Author"/> + <jquery:option value="Title"/> + <jquery:option value="Date Issued"/> + </jquery:select> + <button name="action" id="form-submit" type="submit">Search</button> + <input type="hidden" name="field1" value="All"/> + </td> + </tr> + </table> + <input type="hidden" name="query-tabs" value="simple"/> + <input type="hidden" name="collection-tree" value="hidden"/> + </form> + </jquery:tab> + <jquery:tab id="advanced-search-form" label="Advanced Search"> + <jquery:form-repeat trigger="#add-field" delete="#remove-field" form=".search-form" on-ready="repeatCallback"/> + <form class="search-form" action="index.xml" name="advanced-search" method="POST"> + <table> + <tr> + <td/> + <td colspan="2">Search for</td> + </tr> + <biblio:form-from-query/> + <tr> + <td class="label">inside </td> + <td colspan="2"> + <biblio:collection-path/> + </td> + </tr> + <tr> + <td class="label"> Sort results by </td> + <td class="dropdown"> + <jquery:select name="sort"> + <jquery:option value="Score"/> + <jquery:option value="Author"/> + <jquery:option value="Title"/> + <jquery:option value="Date Issued"/> + </jquery:select> + </td> + <td/> + </tr> + <tr> + <td/> + <td class="add-field" align="center" colspan="2"> + <button class="button" id="add-field"> + <span>+</span> Add search + field</button> + <button class="button" id="remove-field"> + <span>-</span> Remove selected search + field</button> + </td> + </tr> + <tr> + <td/> + <td colspan="2"> + <button class="button" name="clear" value="clear" type="submit">Clear All</button> + <div class="advanced-search"> + <button class="advanced-search" name="action" id="form-submit" type="submit">Search</button> + </div> + </td> + <td/> + </tr> + </table> + <input type="hidden" name="query-tabs" value="advanced-search-form"/> + <input type="hidden" name="collection-tree" value="hidden"/> + </form> + </jquery:tab> + <jquery:tab id="query-history" label="Query History"> + <biblio:query-history/> + </jquery:tab> + <jquery:tab id="personal-list" label="My List"> + <form class="search-form" action="index.xml" name="lists" method="POST"> + <p>You have <span id="personal-list-size">0</span> items in your list.</p> + <p> + <input type="hidden" name="query-tabs" value="personal-list"/> + <button class="button" name="mylist" type="submit" value="clear">Clear</button> + <button class="button" name="mylist" type="submit" value="display">Display</button> + </p> + </form> + <p> + <form action="user.xql" method="POST"> + <button class="button" id="export" name="export" type="submit" value="export">Export</button> your list items. + </form> + </p> + </jquery:tab> + </jquery:tabset> + <biblio:collection-tree id="collection-tree"> + <div class="collection-tree-head"> + <img id="toggle-collection-tree" src="theme/images/tree.gif" title="Folder View"/> + </div> + <div id="collection-tree-main"> + <ul class="collection-tree-toolbar"> + <li> + <a href="#" id="collection-expand-all"> + <img src="theme/images/arrow_out.png" title="Expand All"/> + </a> + </li> + <li> + <a href="#" id="collection-collapse-all"> + <img src="theme/images/arrow_in.png" title="Collapse All"/> + </a> + </li> + <li> + <a href="#" id="collection-reload"> + <img src="theme/images/arrow_refresh.png" title="Reload Folder View"/> + </a> + </li> + <!-- collection writeable --> + <li> + <a href="#" id="collection-create-folder"> + <img src="theme/images/folder_add.png" title="Create Folder"/> + </a> + </li> + <li> + <a href="#" id="collection-rename-folder"> + <img src="theme/images/folder_edit.png" title="Rename Folder"/> + </a> + </li> + <li> + <a href="#" id="collection-move-folder"> + <img src="theme/images/folder_go.png" title="Move Folder"/> + </a> + </li> + <li> + <a href="#" id="collection-remove-folder"> + <img src="theme/images/folder_delete.png" title="Delete Folder"/> + </a> + </li> + <!-- end collection writeable --> + <!-- collection owner --> + <li> + <a href="#" id="collection-sharing"> + <img src="theme/images/user_edit.png" title="Manage Folder Sharing"/> + </a> + </li> + <!-- end collection owner --> + <!-- create new resource --> + <li> + <a href="#" id="collection-create-resource"> + <img src="theme/images/page_add.png" title="Create Stand-Alone Record"/> + </a> + </li> + <!-- end create new resource --> + </ul> + <div id="collection-tree-tree"/> + <div class="box"> + <p> To view all + records in a folder, select it and perform an empty search. + </p> + </div> + </div> + </biblio:collection-tree> + <div id="main-content"> + <div id="results-head"> + <div id="messages">Found: + <biblio:result-count/> + </div> + <biblio:optimize-trigger/> + <div class="navbar"/> + </div> + <div id="result-container"> + <div id="filters"> + <jquery:ajax-accordion id="facets"> + <jquery:panel id="keywords" title="Title Terms" on-select="loadIndexTerms"> + <div class="keyword-prefix"> + <form id="keyword-form"> + <input type="text" name="input-keyword-prefix" size="8" value="a" title="Change prefix to view more terms."/> + <input type="submit" value="Show"/> + </form> + </div> + <div id="keywords-result"/> + </jquery:panel> + <jquery:panel id="author" title="Author" href="filters.xql?type=author"/> + <jquery:panel id="date" title="Date" href="filters.xql?type=date"/> + </jquery:ajax-accordion> + <div class="banner"> + <a href="http://exist-db.org"> + <img xmlns:xi="http://www.w3.org/2001/XInclude" alt="powered by eXist" border="0" src="theme/images/powered.gif"/> + </a> + </div> + </div> + <jquery:paginate id="results" attribute="mods:cached" href="retrieve" navcontainer="#results-head .navbar" on-ready="resultsLoaded"/> + </div> + </div> + <jquery:dialog id="optimize-dialog" modal="true" title="Create Indexes" trigger="#optimize-trigger" width="450"> + <jquery:button label="Start" function="createIndexes"/> + <p>Use this dialog to trigger an optimization run on your data + set. This will create custom indexes to speed up sorting and other + functions.</p> + <p>The process may take some time, depending on the size of the + data set. To start, please enter the admin password for your db below:</p> + <form action="optimize.xql"> + <ul> + <li> + <label for="password">Admin password: </label> + <input type="password" size="30" name="password"/> + </li> + <li id="optimize-message"/> + </ul> + </form> + </jquery:dialog> + <jquery:dialog id="login-dialog" modal="true" title="Login" trigger="#login-link" width="450"> + <jquery:button label="Login" function="login"/> + <form id="login-form" action="#" method="POST"> + <table> + <tr> + <td id="login-message" colspan="2"/> + </tr> + <tr> + <td>Username:</td> + <td> + <input name="user" type="text"/> + </td> + </tr> + <tr> + <td>Password:</td> + <td> + <input name="password" type="password"/> + </td> + </tr> + </table> + </form> + </jquery:dialog> + <!-- collection writeable --> + <jquery:dialog id="new-collection-dialog" modal="true" title="Create Folder" trigger="#collection-create-folder" width="450"> + <jquery:button label="Create" function="createCollection"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="create-collection-form" action="operations.xql"> + <div>Name of new folder: </div> + <div> + <input name="name" type="text"/> + </div> + </form> + </jquery:dialog> + <jquery:dialog id="rename-collection-dialog" modal="true" title="Rename Folder" trigger="#collection-rename-folder" width="450"> + <jquery:button label="Rename" function="renameCollection"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="rename-collection-form" action="operations.xql"> + <input id="rename-collection-path_" type="hidden" name="collection"/> + <div>New folder name: </div> + <div> + <input name="name" type="text"/> + </div> + </form> + </jquery:dialog> + <jquery:dialog id="move-collection-dialog" modal="true" title="Move Folder" trigger="#collection-move-folder" width="450"> + <jquery:button label="Move" function="moveCollection"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="move-collection-form" action="operations.xql"> + <input id="move-collection-path_" type="hidden" name="collection"/> + <div>Move folder '<span id="move-collection-path_"/>' to + <biblio:form-select-collection name="path"/> + </div> + </form> + </jquery:dialog> + <jquery:dialog id="remove-collection-dialog" modal="true" title="Remove Folder" trigger="#collection-remove-folder" width="450"> + <jquery:button label="Remove" function="removeCollection"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="remove-collection-form" action="operations.xql"> + <input id="remove-collection-path_" type="hidden" name="collection"/> + <div>Are you sure you wish to remove the folder named "<span id="sharing-collection-path_"/>"? </div> + </form> + </jquery:dialog> + <!-- end collection writeable --> + <!-- collection owner --> + <biblio:form-collection-sharing/> + <biblio:form-add-member-to-sharing-group/> + <biblio:form-add-sharing-group/> + <!-- end collection owner --> + <jquery:dialog id="remove-resource-dialog" modal="true" title="Remove Folder" width="450"> + <jquery:button label="Remove" function="removeResource"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="remove-resource-form" action="operations.xql"> + <div>Are you sure you wish to remove the record?</div> + <input id="remove-resource-id" name="resource" type="hidden" value=""/> + </form> + </jquery:dialog> + <jquery:dialog id="move-resource-dialog" modal="true" title="Move Record" width="500"> + <jquery:button label="Move" function="moveResource"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="move-resource-form" action="operations.xql"> + <div>Move record from + '<span> + <biblio:collection-path/> + </span>' to + <biblio:form-select-collection name="path"/> + </div> + <input id="move-resource-id" name="resource" type="hidden" value=""/> + </form> + </jquery:dialog> + <!-- Dialogs are created search-xql lines 532ff. --> + <jquery:dialog id="new-resource-dialog" modal="true" title="Create Stand-Alone Record" trigger="#collection-create-resource" width="550"> + <jquery:button id="create" label="Create" function="newResource"/> + <jquery:button id="cancel" label="Cancel"/> + <biblio:resource-types classifier="stand-alone"/> + </jquery:dialog> + <jquery:dialog id="add-related-dialog" modal="true" title="Create Related Record" width="550"> + <jquery:button id="create" label="Create" function="newRelatedResource"/> + <jquery:button id="cancel" label="Cancel"/> + <biblio:resource-types classifier="related-item"/> + </jquery:dialog> + </div> + </body> +</html> \ No newline at end of file Added: apps/tamboti/themes/tamboti/index.xml =================================================================== --- apps/tamboti/themes/tamboti/index.xml (rev 0) +++ apps/tamboti/themes/tamboti/index.xml 2011-04-26 21:30:44 UTC (rev 14316) @@ -0,0 +1,371 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns:biblio="http:/exist-db.org/xquery/biblio" xmlns:jquery="http://exist-db.org/xquery/jquery"> + <!-- + to change from eXist (eXist-) to Tamboti (Tamboti-), + close all eXist-begin and eXist-end, + and open all Tamboti-begin and Tamboti-end. + Make corresponding change in /db/org/library/modules/style.xqm. + Until the search works, one should comment out <div id="quicksearch">. + --> + <head> + <!--eXist-begin--> + <title>eXist - Bibliographic Demo</title> + <!--eXist-end--> + <!--Tamboti-begin + <title>Tamboti Metadata Framework</title> + Tamboti-end--> + <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> + <script type="text/javascript" src="libs/scripts/jquery/jquery.dynatree.min.js"/> + <script type="text/javascript" src="libs/scripts/jquery/jquery.cookie.js"/> + <script type="text/javascript" src="../../resources/scripts/query.js"/> + <link rel="stylesheet" type="text/css" href="libs/styles/default-style2.css"/> + <link rel="stylesheet" type="text/css" href="libs/scripts/jquery/skin/ui.dynatree.css"/> + <link rel="stylesheet" type="text/css" href="theme/css/biblio.css"/> + <link rel="stylesheet" type="text/css" href="theme/css/customisables.css"/> + <link rel="unapi-server" type="application/xml" title="unAPI" href="unapi.xql"/> + <!--Tamboti-begin + <link rel="stylesheet" type="text/css" href="theme/resources/css/tamboti.css"/> + Tamboti-end--> + </head> + <body> + <div id="page-head"> + <div id="page-head-left"> + <a href="/exist/library/"> + <img src="theme/images/tamboti.png" title="Tamboti Metadata Framework" alt="Tamboti Metadata Framework" style="border-style: none;"/> + </a> + </div> + <div id="page-head-right"> + <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> + <img src="theme/images/logovjc.gif" title="The Cluster of Excellence 'Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows' at Heidelberg University" alt="The Cluster of Excellence 'Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows' at Heidelberg University" width="75" height="69" style="border-style: none"/> + </a> + </div> + </div> + <div id="content1col"> + <biblio:login/> + <jquery:tabset id="query-tabs" on-select="searchTabSelected"> + <jquery:tab id="simple" label="Simple Search"> + <form id="simple-search-form" class="search-form" action="index.xml" name="simple-search" method="POST"> + <table> + <tr> + <td class="label">Search for </td> + <td colspan="2"> + <jquery:input name="input1"> + <jquery:autocomplete url="autocomplete.xql" width="300" multiple="false" matchContains="false" paramsCallback="autocompleteCallback"/> + </jquery:input> + </td> + </tr> + <tr> + <td class="label">inside </td> + <td> + <biblio:collection-path/> + </td> + <td/> + </tr> + <tr> + <td class="label">Sort results by </td> + <td class="dropdown"> + <jquery:select name="sort"> + <jquery:option value="Score"/> + <jquery:option value="Author"/> + <jquery:option value="Title"/> + <jquery:option value="Date Issued"/> + </jquery:select> + <button name="action" id="form-submit" type="submit">Search</button> + <input type="hidden" name="field1" value="All"/> + </td> + </tr> + </table> + <input type="hidden" name="query-tabs" value="simple"/> + <input type="hidden" name="collection-tree" value="hidden"/> + </form> + </jquery:tab> + <jquery:tab id="advanced-search-form" label="Advanced Search"> + <jquery:form-repeat trigger="#add-field" delete="#remove-field" form=".search-form" on-ready="repeatCallback"/> + <form class="search-form" action="index.xml" name="advanced-search" method="POST"> + <table> + <tr> + <td/> + <td colspan="2">Search for</td> + </tr> + <biblio:form-from-query/> + <tr> + <td class="label">inside </td> + <td colspan="2"> + <biblio:collection-path/> + </td> + </tr> + <tr> + <td class="label"> Sort results by </td> + <td class="dropdown"> + <jquery:select name="sort"> + <jquery:option value="Score"/> + <jquery:option value="Author"/> + <jquery:option value="Title"/> + <jquery:option value="Date Issued"/> + </jquery:select> + </td> + <td/> + </tr> + <tr> + <td/> + <td class="add-field" align="center" colspan="2"> + <button class="button" id="add-field"> + <span>+</span> Add search + field</button> + <button class="button" id="remove-field"> + <span>-</span> Remove selected search + field</button> + </td> + </tr> + <tr> + <td/> + <td colspan="2"> + <button class="button" name="clear" value="clear" type="submit">Clear All</button> + <div class="advanced-sear... [truncated message content] |
From: <wol...@us...> - 2011-04-27 15:02:43
|
Revision: 14319 http://exist.svn.sourceforge.net/exist/?rev=14319&view=rev Author: wolfgang_m Date: 2011-04-27 15:02:33 +0000 (Wed, 27 Apr 2011) Log Message: ----------- [bugfix] Forgot to update 2 function calls. Modified Paths: -------------- apps/tamboti/docs/controller.xql apps/tamboti/modules/edit/controller.xql Modified: apps/tamboti/docs/controller.xql =================================================================== --- apps/tamboti/docs/controller.xql 2011-04-27 13:35:01 UTC (rev 14318) +++ apps/tamboti/docs/controller.xql 2011-04-27 15:02:33 UTC (rev 14319) @@ -38,7 +38,7 @@ <cache-control cache="no"/> </dispatch> else if (starts-with($exist:path, "/theme")) then - let $path := theme:resolve(concat($exist:controller, "/.."), $exist:path) + let $path := theme:resolve($exist:prefix, $exist:root, substring-after($exist:path, "/theme")) let $themePath := replace($path, "^(.*)/[^/]+$", "$1") return <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> Modified: apps/tamboti/modules/edit/controller.xql =================================================================== --- apps/tamboti/modules/edit/controller.xql 2011-04-27 13:35:01 UTC (rev 14318) +++ apps/tamboti/modules/edit/controller.xql 2011-04-27 15:02:33 UTC (rev 14319) @@ -3,7 +3,7 @@ import module namespace theme="http:/exist-db.org/xquery/biblio/theme" at "../theme.xqm"; if (starts-with($exist:path, "/theme")) then - let $path := theme:resolve(concat($exist:controller, "/../.."), $exist:path) + let $path := theme:resolve($exist:prefix, $exist:root, substring-after($exist:path, "/theme")) let $themePath := replace($path, "^(.*)/[^/]+$", "$1") return <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2011-05-09 15:24:18
|
Revision: 14402 http://exist.svn.sourceforge.net/exist/?rev=14402&view=rev Author: jenspetersen Date: 2011-05-09 15:24:11 +0000 (Mon, 09 May 2011) Log Message: ----------- [tamboti] Changes to formatting of dialogs. Modified Paths: -------------- apps/tamboti/modules/search/search.xql apps/tamboti/themes/default/css/biblio.css apps/tamboti/themes/default/css/customisables.css apps/tamboti/themes/default/index.xml apps/tamboti/themes/tamboti/css/biblio.css apps/tamboti/themes/tamboti/index.xml Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-05-09 10:46:09 UTC (rev 14401) +++ apps/tamboti/modules/search/search.xql 2011-05-09 15:24:11 UTC (rev 14402) @@ -795,7 +795,7 @@ }; declare function biblio:form-add-member-to-sharing-group() { - <jquery:dialog id="add-member-to-group-sharing-dialog" modal="true" title="Add User to Group" width="200"> + <jquery:dialog id="add-member-to-group-sharing-dialog" modal="true" title="Add User to Group" width="450"> <div> <jquery:input name="members-list" id="members-list"> <jquery:autocomplete url="autocomplete-username.xql" width="300" multiple="false" matchContains="false"/> @@ -813,7 +813,7 @@ }; declare function biblio:form-collection-sharing($collection as xs:string) { - <jquery:dialog id="sharing-collection-dialog" modal="true" title="Folder Sharing" trigger="#collection-sharing" width="450" onOpen="updateSharingDialog"> + <jquery:dialog id="sharing-collection-dialog" modal="true" title="Folder Sharing" trigger="#collection-sharing" width="550" onOpen="updateSharingDialog"> <jquery:button label="Update" function="updateCollectionSharing"/> <jquery:button id="cancel" label="Cancel"/> <form id="update-collection-sharing-form" action="operations.xql"> Modified: apps/tamboti/themes/default/css/biblio.css =================================================================== --- apps/tamboti/themes/default/css/biblio.css 2011-05-09 10:46:09 UTC (rev 14401) +++ apps/tamboti/themes/default/css/biblio.css 2011-05-09 15:24:11 UTC (rev 14402) @@ -475,7 +475,7 @@ } .ui-widget { - font-size:1em; + font-size: 1em; } #optimize-trigger { @@ -495,6 +495,7 @@ border: 1px black solid; padding: 1em; margin-bottom: 2em; + margin-bottom: .5em; } /*folder sharing dialog*/ @@ -502,6 +503,10 @@ margin-top: 1em; } +#members-list { + width: 35em; +} + #group-members { margin-top: 1em; margin-bottom: 1em; @@ -515,7 +520,7 @@ height: 5em; list-style: none; overflow: auto; - width: 10em; + width: 40em; padding: 2px; display: block; margin-bottom: 0.5em; @@ -528,6 +533,10 @@ padding-top: 0.25em; } +#new-resource-dialog { + font-size: .85em; +} + .labelWithCheckboxLeft { padding-left: 0.25em; } \ No newline at end of file Modified: apps/tamboti/themes/default/css/customisables.css =================================================================== --- apps/tamboti/themes/default/css/customisables.css 2011-05-09 10:46:09 UTC (rev 14401) +++ apps/tamboti/themes/default/css/customisables.css 2011-05-09 15:24:11 UTC (rev 14402) @@ -6,20 +6,19 @@ color: #3399CC; } - .pagination-link { border: 1px solid #0083CB; color: #0083CB; -} + } #form-submit { color: #666; -} + } -.ui-widget input, -.ui-widget select, -.ui-widget textarea, -.ui-widget button { - color: #666; - -} +#login-form { + width: 30em; + } + +#login-form input { + width: 20em; + } Modified: apps/tamboti/themes/default/index.xml =================================================================== --- apps/tamboti/themes/default/index.xml 2011-05-09 10:46:09 UTC (rev 14401) +++ apps/tamboti/themes/default/index.xml 2011-05-09 15:24:11 UTC (rev 14402) @@ -274,6 +274,7 @@ <jquery:button id="cancel" label="Cancel"/> <form id="create-collection-form" action="operations.xql"> <div>Name of new folder: </div> + <div><br/></div> <div> <input name="name" type="text"/> </div> @@ -285,18 +286,21 @@ <form id="rename-collection-form" action="operations.xql"> <input id="rename-collection-path_" type="hidden" name="collection"/> <div>New folder name: </div> + <div><br/></div> <div> <input name="name" type="text"/> </div> </form> </jquery:dialog> - <jquery:dialog id="move-collection-dialog" modal="true" title="Move Folder" trigger="#collection-move-folder" width="450"> + <jquery:dialog id="move-collection-dialog" modal="true" title="Move Folder" trigger="#collection-move-folder" width="700"> <jquery:button label="Move" function="moveCollection"/> <jquery:button id="cancel" label="Cancel"/> <form id="move-collection-form" action="operations.xql"> <input id="move-collection-path_" type="hidden" name="collection"/> - <div>Move folder '<span id="move-collection-path_"/>' to - <biblio:form-select-collection name="path"/> + <div>Move folder '<span id="move-collection-path_"/>' to </div> + <div><br/></div> + <div> + <biblio:form-select-collection name="path"/> </div> </form> </jquery:dialog> @@ -305,7 +309,9 @@ <jquery:button id="cancel" label="Cancel"/> <form id="remove-collection-form" action="operations.xql"> <input id="remove-collection-path_" type="hidden" name="collection"/> - <div>Are you sure you wish to remove the folder named "<span id="sharing-collection-path_"/>"? </div> + <div>Remove the folder named "<span id="sharing-collection-path_"/>"? </div> + <div><br/></div> + <div>NB: If you remove the folder, the folder and its contents will be deleted and cannot be restored.</div> </form> </jquery:dialog> <!-- end collection writeable --> @@ -335,7 +341,7 @@ <input id="move-resource-id" name="resource" type="hidden" value=""/> </form> </jquery:dialog> - <!-- Dialogs are created search-xql lines 532ff. --> + <!-- Dialogs are created search.xql lines 538ff. --> <jquery:dialog id="new-resource-dialog" modal="true" title="Create Stand-Alone Record" trigger="#collection-create-resource" width="550"> <jquery:button id="create" label="Create" function="newResource"/> <jquery:button id="cancel" label="Cancel"/> Modified: apps/tamboti/themes/tamboti/css/biblio.css =================================================================== --- apps/tamboti/themes/tamboti/css/biblio.css 2011-05-09 10:46:09 UTC (rev 14401) +++ apps/tamboti/themes/tamboti/css/biblio.css 2011-05-09 15:24:11 UTC (rev 14402) @@ -1,3 +1,5 @@ +/*Changes from default marked "Tamboti value".*/ + /*docs begin*/ .app-name {display: none} @@ -80,7 +82,7 @@ } #page-head { - height: 8em; + height: 8em;/*Tamboti value*/ } #page-head-left { @@ -475,7 +477,7 @@ } .ui-widget { - font-size:1em; + font-size: 1em; } #optimize-trigger { @@ -495,6 +497,7 @@ border: 1px black solid; padding: 1em; margin-bottom: 2em; + margin-bottom: .5em; } /*folder sharing dialog*/ @@ -502,6 +505,10 @@ margin-top: 1em; } +#members-list { + width: 35em; +} + #group-members { margin-top: 1em; margin-bottom: 1em; @@ -515,7 +522,7 @@ height: 5em; list-style: none; overflow: auto; - width: 10em; + width: 40em; padding: 2px; display: block; margin-bottom: 0.5em; @@ -528,6 +535,10 @@ padding-top: 0.25em; } +#new-resource-dialog { + font-size: .85em; +} + .labelWithCheckboxLeft { padding-left: 0.25em; } \ No newline at end of file Modified: apps/tamboti/themes/tamboti/index.xml =================================================================== --- apps/tamboti/themes/tamboti/index.xml 2011-05-09 10:46:09 UTC (rev 14401) +++ apps/tamboti/themes/tamboti/index.xml 2011-05-09 15:24:11 UTC (rev 14402) @@ -10,7 +10,6 @@ <link rel="stylesheet" type="text/css" href="theme/css/biblio.css"/> <link rel="stylesheet" type="text/css" href="theme/css/customisables.css"/> <link rel="unapi-server" type="application/xml" title="unAPI" href="unapi.xql"/> - <link rel="stylesheet" type="text/css" href="theme/resources/css/tamboti.css"/> </head> <body> <div id="page-head"> @@ -279,6 +278,7 @@ <jquery:button id="cancel" label="Cancel"/> <form id="create-collection-form" action="operations.xql"> <div>Name of new folder: </div> + <div><br/></div> <div> <input name="name" type="text"/> </div> @@ -290,18 +290,21 @@ <form id="rename-collection-form" action="operations.xql"> <input id="rename-collection-path_" type="hidden" name="collection"/> <div>New folder name: </div> + <div><br/></div> <div> <input name="name" type="text"/> </div> </form> </jquery:dialog> - <jquery:dialog id="move-collection-dialog" modal="true" title="Move Folder" trigger="#collection-move-folder" width="450"> + <jquery:dialog id="move-collection-dialog" modal="true" title="Move Folder" trigger="#collection-move-folder" width="700"> <jquery:button label="Move" function="moveCollection"/> <jquery:button id="cancel" label="Cancel"/> <form id="move-collection-form" action="operations.xql"> <input id="move-collection-path_" type="hidden" name="collection"/> - <div>Move folder '<span id="move-collection-path_"/>' to - <biblio:form-select-collection name="path"/> + <div>Move folder '<span id="move-collection-path_"/>' to </div> + <div><br/></div> + <div> + <biblio:form-select-collection name="path"/> </div> </form> </jquery:dialog> @@ -310,7 +313,9 @@ <jquery:button id="cancel" label="Cancel"/> <form id="remove-collection-form" action="operations.xql"> <input id="remove-collection-path_" type="hidden" name="collection"/> - <div>Are you sure you wish to remove the folder named "<span id="sharing-collection-path_"/>"? </div> + <div>Remove the folder named "<span id="sharing-collection-path_"/>"? </div> + <div><br/></div> + <div>NB: If you remove the folder, the folder and its contents will be deleted and cannot be restored.</div> </form> </jquery:dialog> <!-- end collection writeable --> @@ -340,7 +345,7 @@ <input id="move-resource-id" name="resource" type="hidden" value=""/> </form> </jquery:dialog> - <!-- Dialogs are created search-xql lines 532ff. --> + <!-- Dialogs are created search.xql lines 538ff. --> <jquery:dialog id="new-resource-dialog" modal="true" title="Create Stand-Alone Record" trigger="#collection-create-resource" width="550"> <jquery:button id="create" label="Create" function="newResource"/> <jquery:button id="cancel" label="Cancel"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2011-05-16 09:13:59
|
Revision: 14433 http://exist.svn.sourceforge.net/exist/?rev=14433&view=rev Author: jenspetersen Date: 2011-05-16 09:13:51 +0000 (Mon, 16 May 2011) Log Message: ----------- [tamboti] Minor fixes to editor. Modified Paths: -------------- apps/tamboti/modules/edit/body/01-title.xml apps/tamboti/modules/edit/body/02-name.xml apps/tamboti/modules/edit/body/03-origin.xml apps/tamboti/modules/edit/body/04-part.xml apps/tamboti/modules/edit/body/05-physical-description.xml apps/tamboti/modules/edit/body/06-target-audience.xml apps/tamboti/modules/edit/body/07-language.xml apps/tamboti/modules/edit/body/08-type.xml apps/tamboti/modules/edit/body/09-genre.xml apps/tamboti/modules/edit/body/10-subject.xml apps/tamboti/modules/edit/body/11-classification.xml apps/tamboti/modules/edit/body/12-abstract.xml apps/tamboti/modules/edit/body/13-table-of-contents.xml apps/tamboti/modules/edit/body/14-note.xml apps/tamboti/modules/edit/body/15-related.xml apps/tamboti/modules/edit/body/16-identifier.xml apps/tamboti/modules/edit/body/17-record-info.xml apps/tamboti/modules/edit/body/18-access-condition.xml apps/tamboti/modules/edit/body/19-location.xml apps/tamboti/modules/edit/body/20-extension.xml apps/tamboti/modules/edit/edit.css apps/tamboti/modules/edit/edit.xq apps/tamboti/modules/edit/insert-templates.xml apps/tamboti/modules/edit/instances/anthology-latin.xml apps/tamboti/modules/edit/instances/anthology-transliterated.xml apps/tamboti/modules/edit/instances/article-in-periodical-latin-compact.xml apps/tamboti/modules/edit/instances/article-in-periodical-transliterated-compact.xml apps/tamboti/modules/edit/instances/article-in-periodical-transliterated.xml apps/tamboti/modules/edit/instances/article-in-serial.xml apps/tamboti/modules/edit/instances/book-chapter.xml apps/tamboti/modules/edit/instances/book-review-latin.xml apps/tamboti/modules/edit/instances/book-review-transliterated.xml apps/tamboti/modules/edit/instances/computer-file.xml apps/tamboti/modules/edit/instances/conference-paper.xml apps/tamboti/modules/edit/instances/conference-publication.xml apps/tamboti/modules/edit/instances/contribution-to-anthology-latin-compact.xml apps/tamboti/modules/edit/instances/contribution-to-anthology-latin.xml apps/tamboti/modules/edit/instances/contribution-to-anthology-transliterated-compact.xml apps/tamboti/modules/edit/instances/contribution-to-anthology-transliterated.xml apps/tamboti/modules/edit/instances/contribution-to-conference-publication.xml apps/tamboti/modules/edit/instances/electronic-serial.xml apps/tamboti/modules/edit/instances/map.xml apps/tamboti/modules/edit/instances/monograph-latin.xml apps/tamboti/modules/edit/instances/monograph-transliteration.xml apps/tamboti/modules/edit/instances/motion-picture.xml apps/tamboti/modules/edit/instances/music.xml apps/tamboti/modules/edit/instances/photo.xml apps/tamboti/modules/edit/instances/serial.xml apps/tamboti/modules/edit/instances/series.xml apps/tamboti/modules/edit/instances/sound-recording.xml apps/tamboti/modules/edit/instances/suebs-tibetan.xml apps/tamboti/modules/edit/tab-data.xml apps/tamboti/modules/style.xqm apps/tamboti/modules/theme.xqm apps/tamboti/themes/default/css/default-style2.css Modified: apps/tamboti/modules/edit/body/01-title.xml =================================================================== --- apps/tamboti/modules/edit/body/01-title.xml 2011-05-16 08:23:14 UTC (rev 14432) +++ apps/tamboti/modules/edit/body/01-title.xml 2011-05-16 09:13:51 UTC (rev 14433) @@ -1,233 +1,231 @@ -<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="title" tab-id="title"> <div class="block-form"> - <xf:group> - <fieldset class="level-1"> - <div class="join"> - <span class="legend">Title Information</span> - <span class="join-button"> - <xf:trigger> - <xf:label> +</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:insert ev:event="DOMActivate" nodeset="mods:titleInfo" at="index('titleInfo-repeat')" position="after"/> - </xf:action> - </xf:trigger> - </span> - <span class="join-button"> - <xf:trigger> - <xf:label> –</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:delete nodeset="instance('save-data')/mods:titleInfo" at="index('titleInfo-repeat')"/> - </xf:action> - </xf:trigger> - </span> - <span class="xforms-hint"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-hint-value"> - <p> At least one Title inside a Title Information is required. Title Information can be repeated for alternative, translated, + <xf:group appearance="full" class="fieldset level-1"> + <div class="join"> + <span class="legend">Title Information</span> + <span class="join-button"> + <xf:trigger> + <xf:label> +</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert ev:event="DOMActivate" nodeset="mods:titleInfo" at="index('titleInfo-repeat')" position="after"/> + </xf:action> + </xf:trigger> + </span> + <span class="join-button"> + <xf:trigger> + <xf:label> –</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:delete nodeset="instance('save-data')/mods:titleInfo" at="index('titleInfo-repeat')"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-hint"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-hint-value"> + <p> At least one Title inside a Title Information is required. Title Information can be repeated for alternative, translated, transliterated or uniform titles. These values are chosen in Type. For the basic Title Information entry, leave Type blank or use the value "Basic Title Information". If, in addition to the basic title, you also wish to record an alternative, translated, transliterated or uniform title, add a Title Information and choose the relevant Type. Repeat Title Information as many times as necessary. </p> - <p> A Title Information consists of a main Title, plus a number of supplementary fields that relate to it. A Title may have a + <p> A Title Information consists of a main Title, plus a number of supplementary fields that relate to it. A Title may have a Subtitle, usually an expansion of the Title proper. If the Title begins with a word according to which it should not be sorted (such as "The" or "A" and the like), enter this word in Non Sort and remove it from Title. If a publication consists of several parts, parts that are either numbered or named, use Part Number and/or Part Name. "A History of Philosophy" may have several numbered parts, such as "Part One. Ancient Greek Philosophy." Enter "Part One" in Part Number and "Ancient Greek Philosophy" in Part Name. </p> - <p> When no title appears on the item being described, a title should be supplied. Use Display Label to indicate that the title is + <p> When no title appears on the item being described, a title should be supplied. Use Display Label to indicate that the title is supplied, by giving it the value "Supplied Title". A supplied title should be created in accordance with an established standard and describe, as concisely as possible, the content of the resource in question. If no standards apply, consider carefully the expectations users have for the naming of similar resources. </p> - <p> If an alternative, translated or transliterated title is recorded, choose the relevant Type for each separate Title Information. </p> - <p> If a uniform or an abbreviated title is recorded, choose the appropriate value in Type and note in which authority file the + <p> If an alternative, translated or transliterated title is recorded, choose the relevant Type for each separate Title Information. </p> + <p> If a uniform or an abbreviated title is recorded, choose the appropriate value in Type and note in which authority file the uniform or abbreviated title in Authority has been found. Authority files are only used in connection with uniform and abbreviated titles. </p> - <p> Record the language of the Title Information by choosing the language used in the resource, if this is different from the + <p> Record the language of the Title Information by choosing the language used in the resource, if this is different from the language noted in Language of Resource, a field describing the language of the resource as a whole. The Language of Resource was selected when opening the editor; it may be modified in the Resource Languages tab.</p> - </div> - </span> - </div> + </div> + </span> + </div> <!--titleInfo repeat begins--> - <xf:repeat nodeset="instance('save-data')/mods:titleInfo" id="titleInfo-repeat"> + <xf:repeat nodeset="instance('save-data')/mods:titleInfo" id="titleInfo-repeat"> <!--titleInfo node-add begins--> - <xf:group ref=".[not(mods:nonSort)] | .[not(mods:title)] | .[not(mods:subTitle)] | .[not(mods:partNumber)] | .[not(mods:partName)] | .[not(@type)] | .[not(@authority)] | .[not(@lang)] | .[not(@transliteration)] | .[not(@script)] | .[not(@displayLabel)] | .[not(@ID)] | .[not(@xlink)] | .[not(@xml:lang)] | .[not(@nameTitleGroup)] | .[not(@usage)]"> - <xf:switch> - <xf:case id="titleInfo-add-node-hide"> - <div class="node-button"> - <xf:trigger class="add-button"> - <xf:label> ></xf:label> - <xf:toggle case="titleInfo-add-node-unhide" ev:event="DOMActivate"/> + <xf:group appearance="full" ref=".[not(mods:nonSort)] | .[not(mods:title)] | .[not(mods:subTitle)] | .[not(mods:partNumber)] | .[not(mods:partName)] | .[not(@type)] | .[not(@authority)] | .[not(@lang)] | .[not(@transliteration)] | .[not(@script)] | .[not(@displayLabel)] | .[not(@ID)] | .[not(@xlink:href)] | .[not(@xml:lang)] | .[not(@nameTitleGroup)] | .[not(@usage)]"> + <xf:switch> + <xf:case id="titleInfo-add-node-hide"> + <div class="node-button"> + <xf:trigger class="add-button"> + <xf:label> ></xf:label> + <xf:toggle case="titleInfo-add-node-unhide" ev:event="DOMActivate"/> + </xf:trigger> + </div> + </xf:case> + <xf:case id="titleInfo-add-node-unhide"> + <div class="node-button"> + <xf:trigger> + <xf:label> <</xf:label> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + </xf:trigger> + </div> + <div class="node-adds"> + <xf:group appearance="full" ref=".[not(mods:nonSort)] | .[not(mods:title)] | .[not(mods:subTitle)] | .[not(mods:partNumber)] | .[not(mods:partName)] | .[not(@type)] | .[not(@authority)] | .[not(@lang)] | .[not(@transliteration)] | .[not(@script)] | .[not(@displayLabel)] | .[not(@ID)] | .[not(@xlink:href)] | .[not(@xml:lang)]"> + <xf:label class="xforms-group-label-centered">Recommended Fields</xf:label> + <xf:trigger ref=".[not(@type)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Type</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@type"/> + </xf:action> </xf:trigger> - </div> - </xf:case> - <xf:case id="titleInfo-add-node-unhide"> - <div class="node-button"> - <xf:trigger> - <xf:label> <</xf:label> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:trigger ref=".[not(@authority)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Authority</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@authority"/> + </xf:action> </xf:trigger> - </div> - <div class="node-adds"> - <xf:group ref=".[not(mods:nonSort)] | .[not(mods:title)] | .[not(mods:subTitle)] | .[not(mods:partNumber)] | .[not(mods:partName)] | .[not(@type)] | .[not(@authority)] | .[not(@lang)] | .[not(@transliteration)] | .[not(@script)] | .[not(@displayLabel)] | .[not(@ID)] | .[not(@xlink)] | .[not(@xml:lang)]"> - <xf:label class="xforms-group-label-centered">Recommended Fields</xf:label> - <xf:trigger ref=".[not(@type)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Type</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@type"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(@authority)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Authority</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@authority"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(@lang)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Language</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@lang"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(@transliteration)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Transliteration</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@transliteration"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(@script)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Script</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@script"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(@nameTitleGroup)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Name-Title Group</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@nameTitleGroup"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(@usage)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Usage</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@usage"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(mods:nonSort)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Non Sort</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert nodeset="mods:nonSort" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:nonSort"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(mods:title)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Title</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert nodeset="mods:title" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:title"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(mods:subTitle)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Subtitle</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert nodeset="mods:subTitle" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:subTitle"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(mods:partNumber)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Part Number</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert nodeset="mods:partNumber" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:partNumber"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(mods:partName)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Part Name</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert nodeset="mods:partName" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:partName"/> - </xf:action> - </xf:trigger> - </xf:group> - <xf:group id="titleInfo-add-node-optional"> - <xf:label class="xforms-group-label-centered">Optional Fields</xf:label> - <xf:trigger ref=".[not(@displayLabel)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add Display Label</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@displayLabel"/> - </xf:action> - </xf:trigger> - </xf:group> - <xf:group id="titleInfo-add-node-not-recommended"> - <xf:label class="xforms-group-label-centered">Deprecated Fields</xf:label> - <xf:trigger ref=".[not(@ID)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add ID</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@ID"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(@xlink)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add XLink</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@xlink"/> - </xf:action> - </xf:trigger> - <xf:trigger ref=".[not(@xml:lang)]" class="add-button"> - <xf:label class="xforms-group-label-centered">Add xml:lang</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> - <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@xml:lang"/> - </xf:action> - </xf:trigger> - </xf:group> - </div> - </xf:case> - </xf:switch> - </xf:group> + <xf:trigger ref=".[not(@lang)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Language</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@lang"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(@transliteration)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Transliteration</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@transliteration"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(@script)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Script</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@script"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(@nameTitleGroup)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Name-Title Group</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@nameTitleGroup"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(@usage)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Usage</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@usage"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(mods:nonSort)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Non Sort</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert nodeset="mods:nonSort" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:nonSort"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(mods:title)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Title</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert nodeset="mods:title" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:title"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(mods:subTitle)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Subtitle</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert nodeset="mods:subTitle" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:subTitle"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(mods:partNumber)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Part Number</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert nodeset="mods:partNumber" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:partNumber"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(mods:partName)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Part Name</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert nodeset="mods:partName" at="index('titleInfo-repeat')" position="after" origin="instance('insert-templates')/mods:titleInfo/mods:partName"/> + </xf:action> + </xf:trigger> + </xf:group> + <xf:group appearance="full" id="titleInfo-add-node-optional"> + <xf:label class="xforms-group-label-centered">Optional Fields</xf:label> + <xf:trigger ref=".[not(@displayLabel)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add Display Label</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@displayLabel"/> + </xf:action> + </xf:trigger> + </xf:group> + <xf:group appearance="full" id="titleInfo-add-node-not-recommended"> + <xf:label class="xforms-group-label-centered">Deprecated Fields</xf:label> + <xf:trigger ref=".[not(@ID)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add ID</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@ID"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(@xlink:href)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add XLink</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@xlink:href"/> + </xf:action> + </xf:trigger> + <xf:trigger ref=".[not(@xml:lang)]" class="add-button"> + <xf:label class="xforms-group-label-centered">Add xml:lang</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:toggle case="titleInfo-add-node-hide" ev:event="DOMActivate"/> + <xf:insert context="." origin="instance('insert-templates')/mods:titleInfo/@xml:lang"/> + </xf:action> + </xf:trigger> + </xf:group> + </div> + </xf:case> + </xf:switch> + </xf:group> <!--titleInfo node-add ends--> <!--titleInfo input begins--> <!--DLF/Aquifer: OPTIONAL--> <!--Cluster: omit--> - <xf:group ref=".[@ID]"> - <xf:input ref="./@ID" class="text_50"> - <xf:label>ID</xf:label> - <xf:hint> - <p> ID is used to link among records inside the database and to reference a field inside the database from the outside. </p> - </xf:hint> - </xf:input> - </xf:group> + <xf:group appearance="full" ref=".[@ID]"> + <xf:input ref="./@ID" class="text_50"> + <xf:label>ID</xf:label> + <xf:hint> + <p> ID is used to link among records inside the database and to reference a field inside the database from the outside. </p> + </xf:hint> + </xf:input> + </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> <!--Cluster: omit--> - <xf:group ref=".[@xlink]"> - <xf:input ref="./@xlink" class="text_50"> - <xf:label>XLink</xf:label> - <xf:hint> - <p> XLink is used to reference an external resource, such as a second metadata record, a Related Item or a Table Of Contents. + <xf:group appearance="full" ref=".[@xlink:href]"> + <xf:input ref="./@xlink:href" class="text_50"> + <xf:label>XLink</xf:label> + <xf:hint> + <p> XLink is used to reference an external resource, such as a second metadata record, a Related Item or a Table Of Contents. </p> - </xf:hint> - </xf:input> - </xf:group> + </xf:hint> + </xf:input> + </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> <!--Cluster: include--> - <xf:group ref=".[@type]"> - <xf:select1 ref="./@type"> - <xf:label>Type</xf:label> - <xf:hint> - <p> Type identifies what type of Title Information is recorded. The default is Basic Title Information. The following values may + <xf:group appearance="full" ref=".[@type]"> + <xf:select1 ref="./@type"> + <xf:label>Type</xf:label> + <xf:hint> + <p> Type identifies what type of Title Information is recorded. The default is Basic Title Information. The following values may be used in addition to this: Abbreviated, Translated, Transliterated <!--NB: addition to MODS!!!-->, Alternative, and Uniform. </p> - <p> When an abbreviated title is present, an Authority must be chosen. An alternative title may be a parallel title found in the + <p> When an abbreviated title is present, an Authority must be chosen. An alternative title may be a parallel title found in the authoritative title information (in written works, typically the title page) or a title that does not occur in the authoritative title information, e.g. a title found on a cover. If the alternative title does not occur in the authoritative title information, indicate in Display Label where the information comes from (e.g., "Cover Title"). If the alternative @@ -237,83 +235,83 @@ appropriate, if this is different from the language noted in Language of Resource. If this is not the case and you have e.g. supplied the translation or transliteration yourself, choose "Translated" or "Transliterated" for Type and note the language, transliteration and script of the title information, as appropriate. </p> - <p> A uniform title is a title that refers uniformly to a work that is known by several titles, e.g. the works of Shakespeare or + <p> A uniform title is a title that refers uniformly to a work that is known by several titles, e.g. the works of Shakespeare or the Bible. When a uniform title is present, an Authority for its selection must be chosen. </p> - </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='title-type-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + </xf:hint> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='title-type-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> <!--Cluster: include--> - <xf:group> - <xf:select1 ref="./@authority"> - <xf:label>Abbreviated Title Authorities</xf:label> - <xf:hint> - <p> The name of the authoritative list for an abbreviated title is recorded here. </p> - </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='abbreviated-title-authority-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + <xf:group appearance="full"> + <xf:select1 ref="./@authority"> + <xf:label>Abbreviated Title Authorities</xf:label> + <xf:hint> + <p> The name of the authoritative list for an abbreviated title is recorded here. </p> + </xf:hint> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='abbreviated-title-authority-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> <!--Cluster: include--> - <xf:group> - <xf:select1 ref="./@authority" selection="open"> - <xf:label>Name-Title Authorities</xf:label> - <xf:hint> - <p> The name of the authoritative list for a uniform title is recorded here. </p> - </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-title-authority-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + <xf:group appearance="full"> + <xf:select1 ref="./@authority" selection="open"> + <xf:label>Name-Title Authorities</xf:label> + <xf:hint> + <p> The name of the authoritative list for a uniform title is recorded here. </p> + </xf:hint> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-title-authority-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: REQUIRED IF APPLICABLE--> <!--Cluster: include--> - <xf:group> - <xf:select1 ref="./@lang"> - <xf:label>Language</xf:label> - <xf:hint> - <p> The language used within Title Information is specified here, if this language is different from the language noted in + <xf:group appearance="full"> + <xf:select1 ref="./@lang"> + <xf:label>Language</xf:label> + <xf:hint> + <p> The language used within Title Information is specified here, if this language is different from the language noted in Language of Resource. The most common languages have been moved to the top of the list. </p> - </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + </xf:hint> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: NOT RECOMMENDED]--> <!--Cluster: omit--> - <xf:group> - <xf:select1 ref="./@xml:lang"> - <xf:label>xml:lang</xf:label> - <xf:hint> - <p> The language used within Title Information is specified here, if this language is different from the language noted in + <xf:group appearance="full"> + <xf:select1 ref="./@xml:lang"> + <xf:label>xml:lang</xf:label> + <xf:hint> + <p> The language used within Title Information is specified here, if this language is different from the language noted in Language of Resource. xml:lang is used to specify the language used within a field, using specifications in RFC 3066. RFC 3066 uses the two-character ISO 639-1 codes along with three-character ISO 639-2 codes for those languages not given in 639-1. </p> - <p> The recommendation is not to use xml:lang, but to use Language. </p> - </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-2-type-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + <p> The recommendation is not to use xml:lang, but to use Language. </p> + </xf:hint> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-2-type-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]--> <!--Cluster: include--> - <xf:group> - <xf:select1 ref="./@transliteration" selection="open"> - <xf:label>Transliteration</xf:label> - <xf:hint> - <p> Transliteration specifies the transliteration (transcription, romanisation) scheme used within Title Information. When + <xf:group appearance="full"> + <xf:select1 ref="./@transliteration" selection="open"> + <xf:label>Transliteration</xf:label> + <xf:hint> + <p> Transliteration specifies the transliteration (transcription, romanisation) scheme used within Title Information. When specificing the transliteration used, also specify the language employed. There is at present no standard list of transliteration schemes available. If you wish to employ a transliteration on the scheme, please contact <!--contact -->. In general, the Library of Congress transliteration schemes (<!-- NB -->) should be used. If you follow a transliteration @@ -321,169 +319,168 @@ The following transliteration schemes are authorised by <!--NB-->: Chinese: pinyin Japanese: (modified) Hepburn Korean: <!--NB--> Russian: <!--NB--> Sanskrit: <!--NB--> If you employ a different, but recognised, transliteration scheme, you may have it added to the list. </p> - </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + </xf:hint> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]--> <!--Cluster: include--> - <xf:group> - <xf:select1 ref="./@script"> - <xf:label>Script</xf:label> - <xf:hint> - <p> Script specifies the script used within individual fields. The use of Latin script is not noted. "Chinese" is "Han + <xf:group appearance="full"> + <xf:select1 ref="./@script"> + <xf:label>Script</xf:label> + <xf:hint> + <p> Script specifies the script used within individual fields. The use of Latin script is not noted. "Chinese" is "Han (Simplified Variant)" or "Han (Traditional Variant)". If the two variants are not considered, it is "Han (Hanzi, Kanji, Hanja)", also used for Japanese, Korean and Vietnamese written in Chinese. </p> - </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + </xf:hint> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: OPTIONAL]]--> <!--Cluster: hide--> - <xf:group> - <xf:input ref="./@displayLabel" class="text_100"> - <xf:label>Display Label</xf:label> - <xf:hint> - <p> Display Label is intended to be used when additional text associated with the title is needed for display. Display Label may + <xf:group appearance="full"> + <xf:input ref="./@displayLabel" class="text_100"> + <xf:label>Display Label</xf:label> + <xf:hint> + <p> Display Label is intended to be used when additional text associated with the title is needed for display. Display Label may be used whenever appropriate to indicate the preferred labeling when displayed. Appropriate cases include titles other than the primary title or subtitle. Include the text preferred and capitalisation, but do not include delimiters such as colons. </p> - </xf:hint> - </xf:input> - </xf:group> + </xf:hint> + </xf:input> + </xf:group> <!--DLF/Aquifer: N/A]]--> <!--Cluster: hide--> - <xf:group> - <xf:select1 ref="./@nameTitleGroup" selection="open"> - <xf:label>Name-Title Group</xf:label> - <xf:hint> Name-Title Group that can be used with Name and Title Information to enable an explicit link between a name and a title + <xf:group appearance="full"> + <xf:select1 ref="./@nameTitleGroup" selection="open"> + <xf:label>Name-Title Group</xf:label> + <xf:hint> Name-Title Group that can be used with Name and Title Information to enable an explicit link between a name and a title when that is desirable. The same value is assigned to this attribute for the two elements. This attribute is used to link names to uniform titles when the name-uniform title combination is an authority controlled heading. </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='nameTitleGroup-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='nameTitleGroup-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: N/A]]--> <!--Cluster: hide--> - <xf:group> - <xf:select1 ref="./@usage"> - <xf:label>Usage</xf:label> - <xf:hint> - <p>Usage with the value "primary" can be used with repeated fields to indicate special prominence of one that is useful for + <xf:group appearance="full"> + <xf:select1 ref="./@usage"> + <xf:label>Usage</xf:label> + <xf:hint> + <p>Usage with the value "primary" can be used with repeated fields to indicate special prominence of one that is useful for various special purposes such as indexing.</p> - </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='usage-type-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> + </xf:hint> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='usage-type-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]]--> <!--Cluster: hide--> - <xf:group> - <xf:input ref="./mods:nonSort" class="text_10"> - <xf:label>Non Sort</xf:label> - <xf:hint> - <p> Non Sort contains characters, including initial articles (typically "A" and "The" in English), punctuation, and spaces that + <xf:group appearance="full"> + <xf:input ref="./mods:nonSort" class="text_10"> + <xf:label>Non Sort</xf:label> + <xf:hint> + <p> Non Sort contains characters, including initial articles (typically "A" and "The" in English), punctuation, and spaces that appear at the beginning of a title that should be ignored when indexing and sorting. </p> - </xf:hint> - </xf:input> - </xf:group> + </xf:hint> + </xf:input> + </xf:group> <!--DLF/Aquifer: [REQUIRED]--> <!--Cluster: require--> - <xf:group> - <xf:textarea ref="./mods:title" class="textarea" mediatype="dojo"> - <xf:label>Title</xf:label> - <xf:hint> - <p> Title co... [truncated message content] |
From: <wol...@us...> - 2011-05-25 13:51:39
|
Revision: 14525 http://exist.svn.sourceforge.net/exist/?rev=14525&view=rev Author: wolfgang_m Date: 2011-05-25 13:51:32 +0000 (Wed, 25 May 2011) Log Message: ----------- Default collection for queries is now configurable by theme. Modified Paths: -------------- apps/tamboti/modules/search/controller.xql apps/tamboti/modules/search/search.xql apps/tamboti/modules/theme.xqm apps/tamboti/themes/configuration.xml Modified: apps/tamboti/modules/search/controller.xql =================================================================== --- apps/tamboti/modules/search/controller.xql 2011-05-25 08:56:23 UTC (rev 14524) +++ apps/tamboti/modules/search/controller.xql 2011-05-25 13:51:32 UTC (rev 14525) @@ -42,7 +42,7 @@ search.xql and the db2xhtml stylesheet. search.xql will run the actual search and expand the index.xml template. :) -else if ($exist:resource eq 'index.xml') then +else if (ends-with($exist:resource, '.xml')) then if(request:get-parameter("logout",()))then ( @@ -63,6 +63,7 @@ <set-attribute name="xquery.report-errors" value="yes"/> <set-attribute name="exist:root" value="{$exist:root}"/> <set-attribute name="exist:path" value="{$exist:path}"/> + <set-attribute name="exist:prefix" value="{$exist:prefix}"/> </forward> </view> </dispatch>, Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-05-25 08:56:23 UTC (rev 14524) +++ apps/tamboti/modules/search/search.xql 2011-05-25 13:51:32 UTC (rev 14525) @@ -26,6 +26,7 @@ declare namespace functx = "http://www.functx.com"; import module namespace config="http://exist-db.org/mods/config" at "../config.xqm"; +import module namespace theme="http:/exist-db.org/xquery/biblio/theme" at "../theme.xqm"; import module namespace jquery="http://exist-db.org/xquery/jquery" at "resource:org/exist/xquery/lib/jquery.xql"; import module namespace mods="http://www.loc.gov/mods/v3" at "retrieve-mods.xql"; @@ -93,7 +94,7 @@ :) declare variable $biblio:TEMPLATE_QUERY := <query> - <collection>{$config:mods-root}</collection> + <collection>{theme:get-root()}</collection> <and> <field m="1" name="All"></field> </and> @@ -310,7 +311,7 @@ the query. Filter out empty parameters and take care of boolean operators. :) declare function biblio:process-form() as element(query)? { - let $collection := request:get-parameter("collection", $config:mods-root) + let $collection := request:get-parameter("collection", theme:get-root()) let $fields := (: Get a list of all input parameters which are not empty, ordered by input name. :) @@ -576,7 +577,7 @@ case element(biblio:query-history) return biblio:query-history() case element(biblio:collection-path) return - let $collection := functx:replace-first(request:get-parameter("collection", $config:mods-root), "/db/", "") + let $collection := functx:replace-first(request:get-parameter("collection", theme:get-root()), "/db/", "") return <input class="collection-input" type="text" name="collection" value="{$collection}" readonly="true"/> case element(biblio:form-select-current-user-groups) return Modified: apps/tamboti/modules/theme.xqm =================================================================== --- apps/tamboti/modules/theme.xqm 2011-05-25 08:56:23 UTC (rev 14524) +++ apps/tamboti/modules/theme.xqm 2011-05-25 13:51:32 UTC (rev 14525) @@ -2,6 +2,8 @@ import module namespace config="http://exist-db.org/mods/config" at "config.xqm"; +declare variable $theme:error := QName("http:/exist-db.org/xquery/tamboti", "error"); + (:~ : Locate the specified resource for the selected theme. The theme is determined : from the URL prefix. If a resource cannot be found within the theme collection, @@ -50,6 +52,24 @@ "default" }; +declare function theme:get-root() { + let $prefix := request:get-attribute("exist:prefix") + return + if (empty($prefix)) then + error(QName("http:/exist-db.org/xquery/tamboti", "error"), ("No prefix set!")) + else + theme:get-root($prefix) +}; + +declare function theme:get-root($prefix as xs:string?) as xs:string { + let $theme := theme:theme-for-prefix($prefix) + return + if ($theme eq "default") then + $config:mods-commons + else + doc($config:theme-config)//map[@theme = $theme]/@root/string() +}; + (:~ : Determine the theme to use and try to locate the resource. If it does not : exist, fall back to the theme "default" Modified: apps/tamboti/themes/configuration.xml =================================================================== --- apps/tamboti/themes/configuration.xml 2011-05-25 08:56:23 UTC (rev 14524) +++ apps/tamboti/themes/configuration.xml 2011-05-25 13:51:32 UTC (rev 14525) @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <themes> - <map path="/tamboti" theme="tamboti"/> + <map path="/apps/tamboti" theme="tamboti" root="/db/resources/commons/samples"/> </themes> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wol...@us...> - 2011-06-03 16:05:23
|
Revision: 14621 http://exist.svn.sourceforge.net/exist/?rev=14621&view=rev Author: wolfgang_m Date: 2011-06-03 16:05:16 +0000 (Fri, 03 Jun 2011) Log Message: ----------- [ignore] tamboti theming: refactored index.xml to remove the biblio:* template tags. use plain HTML with ids instead. Modified Paths: -------------- apps/tamboti/modules/search/search.xql apps/tamboti/themes/default/index.xml apps/tamboti/themes/tamboti/index.xml Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-06-03 12:54:00 UTC (rev 14620) +++ apps/tamboti/modules/search/search.xql 2011-06-03 16:05:16 UTC (rev 14621) @@ -1,4 +1,4 @@ -xquery version "1.0"; +xquery version "3.0"; (:~ The core XQuery script for the bibliographic demo. It receives a template XML document @@ -538,48 +538,9 @@ :) declare function biblio:process-templates($query as element()?, $hitCount as xs:integer?, $node as node()) { typeswitch ($node) - case element(biblio:login) return - let $user := request:get-attribute("xquery.user") - return - ( - if ($user eq 'guest') then - ( - <div class="help"><a href="../../docs/index.xml" style="text-decoration: none" target="_blank">Help</a></div> - , - <div class="login"><a href="#" id="login-link">Login</a></div> - ) - else - ( - <div class="help"><a href="../../docs/index.xml" style="text-decoration: none">Help</a></div> - , - <div class="login">Logged in as <span class="username">{$user}</span>. <a href="?logout=1">Logout</a></div> - ) - ) - case element(biblio:optimize-trigger) return - let $user := request:get-attribute("xquery.user") - return - if (xmldb:is-admin-user($user)) then - <a id="optimize-trigger" href="#">Create custom indexes for sorting</a> - else - () - case element(biblio:collection-tree) return - let $show := request:get-parameter("collection-tree", "hidden") - return - <div id="collection-tree" class="{$show}"> - {for $child in $node/node() return biblio:process-templates($query, $hitCount, $child)} - </div> - case element(biblio:form-from-query) return - biblio:form-from-query($query) + (: The following cases do not seem to be used anymore: case element(biblio:notice) return biblio:notice() - case element(biblio:result-count) return - text { $hitCount } - case element(biblio:query-history) return - biblio:query-history() - case element(biblio:collection-path) return - let $collection := functx:replace-first(request:get-parameter("collection", theme:get-root()), "/db/", "") - return - <input class="collection-input" type="text" name="collection" value="{$collection}" readonly="true"/> case element(biblio:form-select-current-user-groups) return biblio:form-select-current-user-groups($node/@name) case element(biblio:current-user) return @@ -596,162 +557,205 @@ security:is-collection-owner(security:get-user-credential-from-session()[1], request:get-parameter("collection", $config:mods-root)) case element(biblio:has-collection-write-permissions) return security:can-write-collection(security:get-user-credential-from-session()[1], request:get-parameter("collection", $config:mods-root)) - case element(biblio:form-select-collection) return - biblio:form-select-collection($node/@name) - case element(biblio:form-collection-sharing) return - biblio:form-collection-sharing(request:get-parameter("collection", $config:mods-root)) - case element(biblio:form-add-member-to-sharing-group) return - biblio:form-add-member-to-sharing-group() - case element(biblio:form-add-sharing-group) return - biblio:form-add-sharing-group() - case element(biblio:resource-types) return - let $classifier := $node/@classifier/string() - let $code-tables := concat($config:edit-app-root, '/code-tables') - let $document-path := concat($code-tables, '/document-type-codes.xml') - let $language-path := concat($code-tables, '/language-3-type-codes.xml') - let $transliteration-path := concat($code-tables, '/transliteration-codes.xml') - let $script-path := concat($code-tables, '/script-codes.xml') - let $code-table-type := doc($document-path)/code-table - let $code-table-lang := doc($language-path)/code-table - let $code-table-transliteration := doc($transliteration-path)/code-table - let $code-table-script := doc($script-path)/code-table - return - <div class="content"> - <form id="{if ($classifier eq 'stand-alone') then 'new-resource-form' else 'add-related-form'}" action="../edit/edit.xq" method="GET"> - <ul> - { - for $item in $code-table-type//item[classifier = $classifier] - let $label := $item/label/text() - order by $label - return - <li> - <input type="radio" name="type" value="{$item/value/text()}"/><span> {$item/label/text()}</span> - </li> - }<!-- - <li> - ––– - </li> - <li> - <input type="radio" name="type" value="default" selected="true"/><span> Default Record</span> - </li> - --> - </ul> - - <div class="language-label"> - <label for="languageOfResource">Resource Language: </label> - <span class="language-list"> - <select name="languageOfResource"> - { - for $item in $code-table-lang//item - let $label := $item/label/text() - let $labelValue := $item/value/text() - let $sortOrder := - if (empty($item/frequencyClassifier)) - then 'B' - else - if ($item/frequencyClassifier[. = 'common']) - then 'A' - (: else frequencyClassifier = 'default':) - else '' - order by $sortOrder, $label - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> + :) + case element() return + switch ($node/@id) + case "login" return + let $user := request:get-attribute("xquery.user") + return + ( + if ($user eq 'guest') then + ( + <div class="help"><a href="../../docs/index.xml" style="text-decoration: none" target="_blank">Help</a></div> + , + <div class="login"><a href="#" id="login-link">Login</a></div> + ) + else + ( + <div class="help"><a href="../../docs/index.xml" style="text-decoration: none">Help</a></div> + , + <div class="login">Logged in as <span class="username">{$user}</span>. <a href="?logout=1">Logout</a></div> + ) + ) + case "collection-path" return + let $collection := functx:replace-first(request:get-parameter("collection", theme:get-root()), "/db/", "") + return + <input class="collection-input" type="text" name="collection" value="{$collection}" readonly="true"/> + case "form-from-query" return + biblio:form-from-query($query) + case "query-history-content" return + biblio:query-history() + case "collection-tree" return + let $show := request:get-parameter("collection-tree", "hidden") + return + <div id="collection-tree" class="{$show}"> + {for $child in $node/node() return biblio:process-templates($query, $hitCount, $child)} </div> - - <div class="language-label"> - <label for="scriptOfResource">Resource Script: </label> - <span class="language-list"> - <select name="scriptOfResource"> - { - for $item in $code-table-script//item - let $label := $item/label/text() - let $labelValue := $item/value/text() - let $sortOrder := - if (empty($item/frequencyClassifier)) - then 'B' - else - if ($item/frequencyClassifier[. = 'common']) - then 'A' - (: else frequencyClassifier = 'default':) - else '' - order by $sortOrder, $label - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> + case "result-count" return + text { $hitCount } + case "optimize-trigger" return + let $user := request:get-attribute("xquery.user") + return + if (xmldb:is-admin-user($user)) then + <a id="optimize-trigger" href="#">Create custom indexes for sorting</a> + else + () + case "form-select-collection" return + biblio:form-select-collection($node/@class) + case "form-collection-sharing" return + biblio:form-collection-sharing(request:get-parameter("collection", $config:mods-root)) + case "form-add-member-to-sharing-group" return + biblio:form-add-member-to-sharing-group() + case "form-add-sharing-group" return + biblio:form-add-sharing-group() + case "resource-types" return + let $classifier := $node/@class/string() + let $code-tables := concat($config:edit-app-root, '/code-tables') + let $document-path := concat($code-tables, '/document-type-codes.xml') + let $language-path := concat($code-tables, '/language-3-type-codes.xml') + let $transliteration-path := concat($code-tables, '/transliteration-codes.xml') + let $script-path := concat($code-tables, '/script-codes.xml') + let $code-table-type := doc($document-path)/code-table + let $code-table-lang := doc($language-path)/code-table + let $code-table-transliteration := doc($transliteration-path)/code-table + let $code-table-script := doc($script-path)/code-table + return + <div class="content"> + <form id="{if ($classifier eq 'stand-alone') then 'new-resource-form' else 'add-related-form'}" action="../edit/edit.xq" method="GET"> + <ul> + { + for $item in $code-table-type//item[classifier = $classifier] + let $label := $item/label/text() + order by $label + return + <li> + <input type="radio" name="type" value="{$item/value/text()}"/><span> {$item/label/text()}</span> + </li> + }<!-- + <li> + ––– + </li> + <li> + <input type="radio" name="type" value="default" selected="true"/><span> Default Record</span> + </li> + --> + </ul> + + <div class="language-label"> + <label for="languageOfResource">Resource Language: </label> + <span class="language-list"> + <select name="languageOfResource"> + { + for $item in $code-table-lang//item + let $label := $item/label/text() + let $labelValue := $item/value/text() + let $sortOrder := + if (empty($item/frequencyClassifier)) + then 'B' + else + if ($item/frequencyClassifier[. = 'common']) + then 'A' + (: else frequencyClassifier = 'default':) + else '' + order by $sortOrder, $label + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <div class="language-label"> + <label for="scriptOfResource">Resource Script: </label> + <span class="language-list"> + <select name="scriptOfResource"> + { + for $item in $code-table-script//item + let $label := $item/label/text() + let $labelValue := $item/value/text() + let $sortOrder := + if (empty($item/frequencyClassifier)) + then 'B' + else + if ($item/frequencyClassifier[. = 'common']) + then 'A' + (: else frequencyClassifier = 'default':) + else '' + order by $sortOrder, $label + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <div class="language-label"> + <label for="transliterationOfResource">Transliteration Scheme: </label> + <span class="language-list"> + <select name="transliterationOfResource"> + { + for $item in $code-table-transliteration//item + let $label := $item/label/text() + let $labelValue := $item/value/text() + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <div class="language-label"> + <label for="languageOfCataloging">Cataloging Language: </label> + <span class="language-list"> + <select name="languageOfCataloging"> + { + for $item in $code-table-lang//item[(frequencyClassifier)] + let $label := $item/label/text() + let $labelValue := $item/value/text() + let $sortOrder := + if ($item/frequencyClassifier[. = 'common']) + then 'A' + (: else frequencyClassifier = 'default':) + else '' + order by $sortOrder, $label + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <div class="language-label"> + <label for="scriptOfCataloging">Cataloging Script: </label> + <span class="language-list"> + <select name="scriptOfCataloging"> + { + for $item in $code-table-script//item[(frequencyClassifier)] + let $label := $item/label/text() + let $labelValue := $item/value/text() + let $sortOrder := + if ($item/frequencyClassifier[. = 'common']) + then 'A' + (: else frequencyClassifier = 'default':) + else '' + order by $sortOrder, $label + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <input type="hidden" name="collection"/> + <input type="hidden" name="host"/> + </form> </div> - - <div class="language-label"> - <label for="transliterationOfResource">Transliteration Scheme: </label> - <span class="language-list"> - <select name="transliterationOfResource"> - { - for $item in $code-table-transliteration//item - let $label := $item/label/text() - let $labelValue := $item/value/text() - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> - </div> - - <div class="language-label"> - <label for="languageOfCataloging">Cataloging Language: </label> - <span class="language-list"> - <select name="languageOfCataloging"> - { - for $item in $code-table-lang//item[(frequencyClassifier)] - let $label := $item/label/text() - let $labelValue := $item/value/text() - let $sortOrder := - if ($item/frequencyClassifier[. = 'common']) - then 'A' - (: else frequencyClassifier = 'default':) - else '' - order by $sortOrder, $label - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> - </div> - - <div class="language-label"> - <label for="scriptOfCataloging">Cataloging Script: </label> - <span class="language-list"> - <select name="scriptOfCataloging"> - { - for $item in $code-table-script//item[(frequencyClassifier)] - let $label := $item/label/text() - let $labelValue := $item/value/text() - let $sortOrder := - if ($item/frequencyClassifier[. = 'common']) - then 'A' - (: else frequencyClassifier = 'default':) - else '' - order by $sortOrder, $label - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> - </div> - - <input type="hidden" name="collection"/> - <input type="hidden" name="host"/> - </form> - </div> - case element() return - element { node-name($node) } { - $node/@*, - for $child in $node/node() return - biblio:process-templates($query, $hitCount, $child) - } + default return + element { node-name($node) } { + $node/@*, + for $child in $node/node() return + biblio:process-templates($query, $hitCount, $child) + } default return $node }; Modified: apps/tamboti/themes/default/index.xml =================================================================== --- apps/tamboti/themes/default/index.xml 2011-06-03 12:54:00 UTC (rev 14620) +++ apps/tamboti/themes/default/index.xml 2011-06-03 16:05:16 UTC (rev 14621) @@ -1,4 +1,5 @@ -<html xmlns:biblio="http:/exist-db.org/xquery/biblio" xmlns:jquery="http://exist-db.org/xquery/jquery"> +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns:jquery="http://exist-db.org/xquery/jquery"> <head> <title>eXist - Bibliographic Demo</title> <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> @@ -21,7 +22,7 @@ </div> </div> <div id="content1col"> - <biblio:login/> + <div id="login"/> <jquery:tabset id="query-tabs" on-select="searchTabSelected"> <jquery:tab id="simple" label="Simple Search"> <form id="simple-search-form" class="search-form" action="index.xml" name="simple-search" method="POST"> @@ -37,7 +38,7 @@ <tr> <td class="label">inside </td> <td> - <biblio:collection-path/> + <div id="collection-path"/> </td> <td/> </tr> @@ -67,11 +68,11 @@ <td/> <td colspan="2">Search for</td> </tr> - <biblio:form-from-query/> + <tr id="form-from-query"/> <tr> <td class="label">inside </td> <td colspan="2"> - <biblio:collection-path/> + <span id="collection-path"/> </td> </tr> <tr> @@ -113,7 +114,7 @@ </form> </jquery:tab> <jquery:tab id="query-history" label="Query History"> - <biblio:query-history/> + <div id="query-history-content"/> </jquery:tab> <jquery:tab id="personal-list" label="My List"> <form class="search-form" action="index.xml" name="lists" method="POST"> @@ -131,7 +132,7 @@ </p> </jquery:tab> </jquery:tabset> - <biblio:collection-tree id="collection-tree"> + <div id="collection-tree"> <div class="collection-tree-head"> <img id="toggle-collection-tree" src="theme/images/tree.gif" title="Folder View"/> </div> @@ -196,13 +197,13 @@ </p> </div> </div> - </biblio:collection-tree> + </div> <div id="main-content"> <div id="results-head"> <div id="messages">Found: - <biblio:result-count/> + <span id="result-count"/> </div> - <biblio:optimize-trigger/> + <div id="optimize-trigger"/> <div class="navbar"/> </div> <div id="result-container"> @@ -274,8 +275,10 @@ <jquery:button id="cancel" label="Cancel"/> <form id="create-collection-form" action="operations.xql"> <div>Name of new folder: </div> - <div><br/></div> <div> + <br/> + </div> + <div> <input name="name" type="text"/> </div> </form> @@ -286,8 +289,10 @@ <form id="rename-collection-form" action="operations.xql"> <input id="rename-collection-path_" type="hidden" name="collection"/> <div>New folder name: </div> - <div><br/></div> <div> + <br/> + </div> + <div> <input name="name" type="text"/> </div> </form> @@ -298,10 +303,10 @@ <form id="move-collection-form" action="operations.xql"> <input id="move-collection-path_" type="hidden" name="collection"/> <div>Move folder '<span id="move-collection-path_"/>' to </div> - <div><br/></div> <div> - <biblio:form-select-collection name="path"/> + <br/> </div> + <div id="form-select-collection" class="path"/> </form> </jquery:dialog> <jquery:dialog id="remove-collection-dialog" modal="true" title="Remove Folder" trigger="#collection-remove-folder" width="450"> @@ -310,15 +315,17 @@ <form id="remove-collection-form" action="operations.xql"> <input id="remove-collection-path_" type="hidden" name="collection"/> <div>Remove the folder named "<span id="sharing-collection-path_"/>"? </div> - <div><br/></div> + <div> + <br/> + </div> <div>NB: If you remove the folder, the folder and its contents will be deleted and cannot be restored.</div> </form> </jquery:dialog> <!-- end collection writeable --> <!-- collection owner --> - <biblio:form-collection-sharing/> - <biblio:form-add-member-to-sharing-group/> - <biblio:form-add-sharing-group/> + <div id="form-collection-sharing"/> + <div id="form-add-member-to-sharing-group"/> + <div id="form-add-sharing-group"/> <!-- end collection owner --> <jquery:dialog id="remove-resource-dialog" modal="true" title="Remove Folder" width="450"> <jquery:button label="Remove" function="removeResource"/> @@ -333,10 +340,8 @@ <jquery:button id="cancel" label="Cancel"/> <form id="move-resource-form" action="operations.xql"> <div>Move record from - '<span> - <biblio:collection-path/> - </span>' to - <biblio:form-select-collection name="path"/> + '<span id="collection-path"/>' to + <div id="form-select-collection" class="path"/> </div> <input id="move-resource-id" name="resource" type="hidden" value=""/> </form> @@ -345,12 +350,12 @@ <jquery:dialog id="new-resource-dialog" modal="true" title="Create Stand-Alone Record" trigger="#collection-create-resource" width="550"> <jquery:button id="create" label="Create" function="newResource"/> <jquery:button id="cancel" label="Cancel"/> - <biblio:resource-types classifier="stand-alone"/> + <div id="resource-types" class="stand-alone"/> </jquery:dialog> <jquery:dialog id="add-related-dialog" modal="true" title="Create Related Record" width="550"> <jquery:button id="create" label="Create" function="newRelatedResource"/> <jquery:button id="cancel" label="Cancel"/> - <biblio:resource-types classifier="related-item"/> + <div id="resource-types" class="related-item"/> </jquery:dialog> </div> </body> Modified: apps/tamboti/themes/tamboti/index.xml =================================================================== --- apps/tamboti/themes/tamboti/index.xml 2011-06-03 12:54:00 UTC (rev 14620) +++ apps/tamboti/themes/tamboti/index.xml 2011-06-03 16:05:16 UTC (rev 14621) @@ -1,4 +1,5 @@ -<html xmlns:biblio="http:/exist-db.org/xquery/biblio" xmlns:jquery="http://exist-db.org/xquery/jquery"> +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns:jquery="http://exist-db.org/xquery/jquery"> <head> <title>Tamboti Metadata Framework</title> <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> @@ -25,7 +26,7 @@ </div> </div> <div id="content1col"> - <biblio:login/> + <div id="login"/> <jquery:tabset id="query-tabs" on-select="searchTabSelected"> <jquery:tab id="simple" label="Simple Search"> <form id="simple-search-form" class="search-form" action="index.xml" name="simple-search" method="POST"> @@ -41,7 +42,7 @@ <tr> <td class="label">inside </td> <td> - <biblio:collection-path/> + <div id="collection-path"/> </td> <td/> </tr> @@ -71,11 +72,11 @@ <td/> <td colspan="2">Search for</td> </tr> - <biblio:form-from-query/> + <tr id="form-from-query"/> <tr> <td class="label">inside </td> <td colspan="2"> - <biblio:collection-path/> + <span id="collection-path"/> </td> </tr> <tr> @@ -117,7 +118,7 @@ </form> </jquery:tab> <jquery:tab id="query-history" label="Query History"> - <biblio:query-history/> + <div id="query-history-content"/> </jquery:tab> <jquery:tab id="personal-list" label="My List"> <form class="search-form" action="index.xml" name="lists" method="POST"> @@ -135,7 +136,7 @@ </p> </jquery:tab> </jquery:tabset> - <biblio:collection-tree id="collection-tree"> + <div id="collection-tree"> <div class="collection-tree-head"> <img id="toggle-collection-tree" src="theme/images/tree.gif" title="Folder View"/> </div> @@ -200,13 +201,13 @@ </p> </div> </div> - </biblio:collection-tree> + </div> <div id="main-content"> <div id="results-head"> <div id="messages">Found: - <biblio:result-count/> + <span id="result-count"/> </div> - <biblio:optimize-trigger/> + <div id="optimize-trigger"/> <div class="navbar"/> </div> <div id="result-container"> @@ -309,9 +310,7 @@ <div> <br/> </div> - <div> - <biblio:form-select-collection name="path"/> - </div> + <div id="form-select-collection" class="path"/> </form> </jquery:dialog> <jquery:dialog id="remove-collection-dialog" modal="true" title="Remove Folder" trigger="#collection-remove-folder" width="450"> @@ -328,9 +327,9 @@ </jquery:dialog> <!-- end collection writeable --> <!-- collection owner --> - <biblio:form-collection-sharing/> - <biblio:form-add-member-to-sharing-group/> - <biblio:form-add-sharing-group/> + <div id="form-collection-sharing"/> + <div id="form-add-member-to-sharing-group"/> + <div id="form-add-sharing-group"/> <!-- end collection owner --> <jquery:dialog id="remove-resource-dialog" modal="true" title="Remove Folder" width="450"> <jquery:button label="Remove" function="removeResource"/> @@ -345,10 +344,8 @@ <jquery:button id="cancel" label="Cancel"/> <form id="move-resource-form" action="operations.xql"> <div>Move record from - '<span> - <biblio:collection-path/> - </span>' to - <biblio:form-select-collection name="path"/> + '<span id="collection-path"/>' to + <div id="form-select-collection" class="path"/> </div> <input id="move-resource-id" name="resource" type="hidden" value=""/> </form> @@ -357,12 +354,12 @@ <jquery:dialog id="new-resource-dialog" modal="true" title="Create Stand-Alone Record" trigger="#collection-create-resource" width="550"> <jquery:button id="create" label="Create" function="newResource"/> <jquery:button id="cancel" label="Cancel"/> - <biblio:resource-types classifier="stand-alone"/> + <div id="resource-types" class="stand-alone"/> </jquery:dialog> <jquery:dialog id="add-related-dialog" modal="true" title="Create Related Record" width="550"> <jquery:button id="create" label="Create" function="newRelatedResource"/> <jquery:button id="cancel" label="Cancel"/> - <biblio:resource-types classifier="related-item"/> + <div id="resource-types" class="related-item"/> </jquery:dialog> </div> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2011-06-06 09:18:25
|
Revision: 14641 http://exist.svn.sourceforge.net/exist/?rev=14641&view=rev Author: jenspetersen Date: 2011-06-06 09:18:17 +0000 (Mon, 06 Jun 2011) Log Message: ----------- [tamboti] Moving style.xqm to edit where it belongs. "Save and Close" in editor now saves! Formatting in editor (work in progress). Modified Paths: -------------- apps/tamboti/modules/edit/body/00-compact-standalone.xml apps/tamboti/modules/edit/body/01-title.xml apps/tamboti/modules/edit/code-tables/document-type-codes.xml apps/tamboti/modules/edit/code-tables/hint-codes.xml apps/tamboti/modules/edit/code-tables/name-type-codes.xml apps/tamboti/modules/edit/code-tables/transliteration-codes.xml apps/tamboti/modules/edit/codes-for-tab.xq apps/tamboti/modules/edit/edit.css apps/tamboti/modules/edit/edit.xq apps/tamboti/modules/edit/get-instance.xq apps/tamboti/modules/edit/insert-templates.xml apps/tamboti/modules/edit/new-instance.xml apps/tamboti/modules/edit/save.xq apps/tamboti/modules/search/search.xql apps/tamboti/themes/default/css/xforms.css.xq Added Paths: ----------- apps/tamboti/modules/edit/full-3.4-instance apps/tamboti/modules/edit/style.xqm apps/tamboti/modules/edit/tabs.xqm Modified: apps/tamboti/modules/edit/body/00-compact-standalone.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-standalone.xml 2011-06-06 07:55:18 UTC (rev 14640) +++ apps/tamboti/modules/edit/body/00-compact-standalone.xml 2011-06-06 09:18:17 UTC (rev 14641) @@ -1,17 +1,22 @@ -<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact stand-alone" tab-id="compact-a"> <div class="block-form"> - <xf:group id="fieldset-name" ref="./mods:name"> + <xf:group id="fieldset-name" ref=".[mods:name]"> <fieldset class="level-2"> <div class="join"> <span class="legend">Names and Roles</span> <span class="join-button"> - <xf:trigger> + <xf:trigger ref=".[@transliteration]"> <xf:label>+</xf:label> <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="instance('save-data')/mods:name" at="index('name-repeat')" position="after"/> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('name-repeat')" position="after" origin="instance('compact-template')/mods:name[2]"/> </xf:action> </xf:trigger> + <xf:trigger ref=".[not(@transliteration)]"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('name-repeat')" position="after" origin="instance('compact-template')/mods:name[1]"/> + </xf:action> + </xf:trigger> </span> <span class="xforms-hint"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> @@ -39,17 +44,19 @@ <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-hint-value"> <p> Analyse each name into separate name parts.</p> - <p> If possible, analyse each personal name into Given Name and Family Name. If this is not possible, choose "(none selected)" and enter the whole name in the field in question.</p> + <p> If possible, analyse each personal name into Given Name and Family Name. If this is not possible, choose "(none + selected)" and enter the whole name in the field in question.</p> <p> If a given or family name consists of several parts, enter all parts of the same type in the same field.</p> - <p> If possible, analyse each corporate name and conference name into separate name parts. Record the more general designation in the first field and a more specific designation in the second field. - If this is not possible, choose "(none selected)" and enter the whole name in the field in question.</p> - <p> If the name is in a language that is usually transliterated, enter the transliterated name parts in their - respective fields. Use the transliteration scheme you chose when selecting a record template. </p> + <p> If possible, analyse each corporate name and conference name into separate name parts. Record the more general + designation in the first field and a more specific designation in the second field. If this is not possible, choose + "(none selected)" and enter the whole name in the field in question.</p> + <p> If the name is in a language that is usually transliterated, enter the transliterated name parts in their respective + fields. Use the transliteration scheme you chose when selecting a record template. </p> <p> More input options can be found on the Name Info tab on the Citation Forms.</p> </div> </span> </div> - <xf:group> + <xf:group class="hide-label margin-plus-9-75"> <xf:select1 ref="./@type"> <xf:label>Type of Name</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-type-code']/items/item"> @@ -64,27 +71,18 @@ <xf:select1 ref="./@type" class="right"> <xf:label> <xf:group ref="../.[@script='Latn']">Transliterated</xf:group> - <xf:group ref="../.[not(@script='Latn')]"> </xf:group> + <xf:group ref="../.[not(@script='Latn')]"/> </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-part-type-compact-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> - </xf:select1> - <xf:input ref="." class="text_100"> - <xf:label> </xf:label> + </xf:select1>    <xf:input ref="." class="text_100"> + <xf:label/> </xf:input> </xf:group> <!--namePart input ends--> </xf:repeat> - <!-- - <xf:trigger> - <xf:label>+</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="instance('save-data')/mods:name/namePart" at="index('namePart-repeat')" position="after" origin="instance('compact-template')/mods:name[9]/mods:namePart"/> - </xf:action> - </xf:trigger> - --> <!--namePart repeat ends--> </fieldset> </xf:group> @@ -96,17 +94,19 @@ <span class="legend">Role</span> <span class="join-button"> <xf:trigger> - <xf:label> +</xf:label> + <xf:label>+</xf:label> <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="mods:role" at="index('role-repeat')" position="after"/> + <xf:insert nodeset="instance('save-data')/mods:role" at="index('name-repeat')" position="after" origin="instance('compact-template')/mods:name[1]/mods:role"/> </xf:action> </xf:trigger> </span> <span class="xforms-hint"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-hint-value"> - <p> Role contains a description of the role of the person or institution named above to the resource being catalogued.</p> - <p> Repeat for each new role played by the named entity, i.e. the same person or institution can have several roles in relation to one resource.</p> + <p> Role contains a description of the role of the person or institution named above to the resource being + catalogued.</p> + <p> Repeat for each new role played by the named entity, i.e. the same person or institution can have several roles in + relation to one resource.</p> <p> The more common roles are listed at the top.</p> <p> More role input options can be found on the Name Info tab on the Citation Forms.</p> </div> @@ -115,31 +115,21 @@ <!--role repeat begins--> <xf:repeat nodeset="./mods:role" id="role-repeat"> <!--role input begins--> - <!--DLF/Aquifer: RECOMMENDED]--> - <!--Cluster: warn--> - <!--roleTerm begins--> - <!--DLF/Aquifer: OPTIONAL--> - <!--Cluster: include--> - <!--role node-add begins--> <!--roleTerm repeat begins--> <xf:repeat nodeset="./mods:roleTerm" id="roleTerm-repeat"> - <!--roleTerm input begins--> - <!--DLF/Aquifer: REQUIRED]--> - <!--Cluster: require--> - <xf:group> + <!--roleTerm input begins--> + <xf:group class="hide-label margin-plus-7-75"> <xf:select1 ref="."> - <xf:label> </xf:label> + <xf:label>Role Term</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='role-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> </xf:select1> </xf:group> - <!--roleTerm input ends--> + <!--roleTerm input ends--> </xf:repeat> - <!--roleTerm repeat ends--> - - + <!--roleTerm repeat ends--> <!--roleTerm ends--> <!--role input ends--> </xf:repeat> @@ -151,19 +141,20 @@ <!--name repeat ends--> </fieldset> </xf:group> - <xf:group id="fieldset-titleInfo" ref="./mods:titleInfo"> + <xf:group id="fieldset-titleInfo"> <fieldset class="level-2"> <div class="join"> <span class="legend"> Title Information </span> <span class="xforms-hint"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-hint-value"> - <p> Enter here the title of the book, article or anthology contribution you are cataloguing. If the title divides into a main title and a subtitle, enter - each part in its separate field. If the subtitle divides into several parts, separate the parts with a semicolon. </p> + <p> Enter here the title of the book, article or anthology contribution you are cataloguing. If the title divides into a main title + and a subtitle, enter each part in its separate field. If the subtitle divides into several parts, separate the parts with a + semicolon. </p> <p> If the title is in a language that is usually transliterated, enter the transliterated title and subtitle in their respective fields. Use the transliteration scheme you chose when selecting a record template.</p> - <p> If you believe it is useful to supply a translation of the title, do so in the relevant fields. Note the language that the - title information is translated into (the default is English). </p> + <p> If you believe it is useful to supply a translation of the title, do so in the relevant fields. Note the language that the title + information is translated into (the default is English). </p> <p> More input options can be found on the Title Info tab on the Citation Forms.</p> </div> </span> @@ -173,7 +164,7 @@ <xf:group ref=".[(@transliteration) or string-length(@lang) > 0]"> <br/> </xf:group> - <xf:group ref=".[string-length(@lang) > 0]"> + <xf:group ref=".[string-length(@lang) > 0]" class="margin-plus-2-25"> <xf:select1 ref="./@lang"> <xf:label>Language</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-short-code']/items/item"> @@ -182,191 +173,223 @@ </xf:itemset> </xf:select1> </xf:group> - <xf:group> - <xf:input ref="./mods:nonSort" class="text_10"> - <xf:label> - <xf:group ref=".[string-length(../@type) = 0]">Non Sort</xf:group> - <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Non Sort</xf:group> - <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Non Sort</xf:group> - </xf:label> - </xf:input> + <xf:group ref=".[string-length(@type) = 0]"> + <xf:group class="margin-plus-10-75"> + <xf:input ref="./mods:nonSort" class="text_10"> + <xf:label>Non Sort</xf:label> + </xf:input> + </xf:group> + <xf:group class="margin-plus-10-75"> + <xf:input ref="./mods:title" class="text_150"> + <xf:label>Title</xf:label> + </xf:input> + </xf:group> + <xf:group class="margin-plus-10-75"> + <xf:input ref="./mods:subTitle" class="text_150"> + <xf:label>Subtitle</xf:label> + </xf:input> + </xf:group> </xf:group> - <xf:group> - <xf:input ref="./mods:title" class="text_150"> - <xf:label> - <xf:group ref=".[string-length(../@type) = 0]">Title</xf:group> - <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Title</xf:group> - <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Title</xf:group> - </xf:label> - </xf:input> + <xf:group ref=".[@type='translated' and not(@lang)]"> + <xf:group class="margin-plus-2-25"> + <xf:input ref="./mods:nonSort" class="text_10"> + <xf:label>Transliterated Non Sort</xf:label> + </xf:input> + </xf:group> + <xf:group class="margin-plus-2-25"> + <xf:input ref="./mods:title" class="text_150"> + <xf:label>Transliterated Title </xf:label> + </xf:input> + </xf:group> + <xf:group class="margin-plus-2-25"> + <xf:input ref="./mods:subTitle" class="text_150"> + <xf:label>Transliterated Subtitle </xf:label> + </xf:input> + </xf:group> </xf:group> - <xf:group> - <xf:input ref="./mods:subTitle" class="text_150"> - <xf:label> - <xf:group ref=".[string-length(../@type) = 0]">Subtitle</xf:group> - <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Subtitle</xf:group> - <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Subtitle</xf:group> - </xf:label> - </xf:input> + <xf:group ref=".[@type='translated' and (@lang)]"> + <xf:group class="margin-plus-2-25"> + <xf:input ref="./mods:nonSort" class="text_10"> + <xf:label>Translated Non Sort</xf:label> + </xf:input> + </xf:group> + <xf:group class="margin-plus-2-25"> + <xf:input ref="./mods:title" class="text_150"> + <xf:label>Translated Title</xf:label> + </xf:input> + </xf:group> + <xf:group class="margin-plus-2-25"> + <xf:input ref="./mods:subTitle" class="text_150"> + <xf:label>Translated Subtitle</xf:label> + </xf:input> + </xf:group> </xf:group> </xf:repeat> </fieldset> </xf:group> - <xf:group id="fieldset-originInfo" ref="./mods:originInfo/mods:dateIssued"> - <xf:group> - <fieldset class="level-2"> - <div class="join"> - <span class="legend">Origin Information</span> - <span class="xforms-hint"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-hint-value"> - <p> Enter here information about the book's origin, including its place of origin or publication, its publisher, and its date of issue. </p> - <p> More input options can be found on the Origin Info tab on the Citation Forms.</p> + <xf:group id="fieldset-originInfo" ref=".[mods:originInfo]"> + <fieldset class="level-2"> + <div class="join"> + <span class="legend">Origin Information</span> + <span class="xforms-hint"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-hint-value"> + <p> Enter here information about the book's origin, including its place of origin or publication, its publisher, and its date of + issue. </p> + <p> More input options can be found on the Origin Info tab on the Citation Forms.</p> + </div> + </span> + </div> + <!--originInfo repeat begins--> + <xf:repeat nodeset="instance('save-data')/mods:originInfo" id="origininfo-repeat"> + <xf:group ref=".[string-length(@transliteration) > 0]"> + <br/> + </xf:group> + <!--originInfo input begins--> + <xf:group id="fieldset-place" ref=".[mods:place]"> + <fieldset class="level-2"> + <div class="join"> + <span class="legend">City</span> + <span class="xforms-hint"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-hint-value"> + <p> Record in City Name the city in which the publisher has its principal domicile, as noted on the title page. </p> + <p> If the publisher is housed in several cities, record the one given prominence on the title page. If all are given + equal prominence, record the first city name.</p> + <p> If the city name is in a language that is usually transliterated, enter the transliterated city name in its field. + Use the transliteration scheme you chose when selecting a record template.</p> + <p> More input options can be found on the Origin Info tab on the Citation Forms.</p> + </div> + </span> </div> - </span> - </div> - <!--originInfo repeat begins--> - <xf:repeat nodeset="instance('save-data')/mods:originInfo" id="origininfo-repeat"> - <xf:group ref=".[string-length(@transliteration) > 0]"> - <br/> - </xf:group> - <!--originInfo input begins--> - <xf:group id="fieldset-place"> - <fieldset class="level-2"> - <div class="join"> - <span class="legend">City</span> - <span class="xforms-hint"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-hint-value"> - <p> Record in City Name the city in which the publisher has its principal domicile, as noted on the title page. </p> - <p> If the publisher is housed in several cities, record the one given prominence on the title page. If all are given equal prominence, record the first city name.</p> - <p> If the city name is in a language that is usually transliterated, enter the transliterated city name in its field. Use the transliteration scheme you chose when selecting a record template.</p> - <p> More input options can be found on the Origin Info tab on the Citation Forms.</p> - </div> - </span> - </div> - <!--place repeat begins--> - <xf:repeat nodeset="./mods:place" id="place-repeat"> - <!--placeTerm begins--> - <xf:group id="fieldset-placeTerm"> - <fieldset class="level-3"> - <!--placeTerm repeat begins--> - <xf:repeat nodeset="./mods:placeTerm" id="place-term-repeat"> - <!--placeTerm input begins--> - <xf:group> - <xf:input ref="." class="text_100"> - <xf:label> - <xf:group ref=".[@transliteration]">Transliteration</xf:group> - </xf:label> - </xf:input> - </xf:group> + <!--place repeat begins--> + <xf:repeat nodeset="./mods:place" id="place-repeat"> + <!--placeTerm begins--> + <xf:group id="fieldset-placeTerm" ref=".[mods:placeTerm]"> + <fieldset class="level-3"> + <!--placeTerm repeat begins--> + <xf:repeat nodeset="./mods:placeTerm" id="place-term-repeat"> + <!--placeTerm input begins--> + <xf:group ref=".[not(@transliteration)]" class="margin-plus-6"> + <xf:input ref="." class="text_100 hide-label"> + <xf:label>City Name</xf:label> + </xf:input> + </xf:group> + <xf:group ref=".[@transliteration]" class="margin-plus-6"> + <xf:input ref="." class="text_100"> + <xf:label>Transliterated</xf:label> + </xf:input> + </xf:group> - <!--placeTerm input ends--> - </xf:repeat> - <!--placeTerm repeat ends--> - - <!--placeTerm add begins--> - - <!--placeTerm add ends--> - </fieldset> - </xf:group> - <!--placeTerm ends--> - </xf:repeat> - <!--place repeat ends--> - </fieldset> - </xf:group> - <!--place ends--> - <!--publisher begins--> - <xf:group id="fieldset-publisher"> - <fieldset class="level-2"> - <div class="join"> - <span class="legend">Publisher</span> - <span class="xforms-hint"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-hint-value"> - <p> Record in Publisher Name the name of the entity that is the originator for a resource, i.e. that has published, printed, distributed, released, issued, or produced it, as noted on the title page. </p> - <p> If the publisher name is in a language that is usually transliterated, enter the transliterated publisher name in its field. Use the transliteration scheme you chose when selecting a record template. </p> - <p> More input options can be found on the Origin Info tab of the Citation Forms.</p> - </div> - </span> - </div> - <!--publisher repeat begins--> - <xf:repeat nodeset="./mods:publisher" id="publisher-repeat"> - <!--publisher input begins--> - <xf:group> - </xf:group> - <xf:group> - <xf:input ref="." class="text_100"> - <xf:label> - <xf:group ref=".[@transliteration]">Transliteration</xf:group> - </xf:label> - </xf:input> - </xf:group> - <!--publisher input ends--> - </xf:repeat> - <!--publisher repeat ends--> - </fieldset> - </xf:group> - <!--publisher ends--> - - <!--dateIssued begins--> - <xf:group id="fieldset-dateIssued"> - <fieldset class="level-2"> - <div class="join"> - <span class="legend">Year of Publication</span> - <span class="xforms-hint"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-hint-value"> - <p> Note in Year of Publication the year in which the resource was published, released, or issued. </p> - <p> Use Point if you wish to record a span of time, e.g. 1912-1914. - The values "start" and "end" are used with Point. - Repeat the Year of Publication field and choose "start" in one and "end" in the other repetition, and enter the appropriate dates in the two Year of Publication fields. </p> - <p> If no point is specified a year noted in Year of Publication is assumed to be a single year. </p> - <p> More input options can be found on the Origin Info tab on the Citation Forms.</p> - </div> - </span> - </div> - <!--dateIssued repeat begins--> - <xf:repeat nodeset="./mods:dateIssued" id="date-issued-repeat"> - <!--dateIssued input begins--> - <xf:group> - <xf:select1 ref="./@point"> - <xf:label>Point</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='date-point-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <!--Cluster: hide--> - <xf:group> - <xf:input ref="." class="text_10"> - <xf:label> </xf:label> - </xf:input> - </xf:group> - <!--dateIssued input ends--> - </xf:repeat> - <!--dateIssued repeat ends--> - </fieldset> - </xf:group> - <!--dateIssued ends--> - </xf:repeat> - <!--originInfo repeat ends--> - - <!--originInfo add begins--> - - <!--originInfo add ends--> - </fieldset> - </xf:group> + <!--placeTerm input ends--> + </xf:repeat> + <!--placeTerm repeat ends--> + + <!--placeTerm add begins--> + + <!--placeTerm add ends--> + </fieldset> + </xf:group> + <!--placeTerm ends--> + </xf:repeat> + <!--place repeat ends--> + </fieldset> + </xf:group> + <!--place ends--> + <!--publisher begins--> + <xf:group id="fieldset-publisher" ref=".[mods:publisher]"> + <fieldset class="level-2"> + <div class="join"> + <span class="legend">Publisher</span> + <span class="xforms-hint"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-hint-value"> + <p> Record in Publisher Name the name of the entity that is the originator for a resource, i.e. that has published, + printed, distributed, released, issued, or produced it, as noted on the title page. </p> + <p> If the publisher name is in a language that is usually transliterated, enter the transliterated publisher name in + its field. Use the transliteration scheme you chose when selecting a record template. </p> + <p> More input options can be found on the Origin Info tab of the Citation Forms.</p> + </div> + </span> + </div> + <!--publisher repeat begins--> + <xf:repeat nodeset="./mods:publisher" id="publisher-repeat"> + <!--publisher input begins--> + <xf:group ref=".[not(@transliteration)]"> + <xf:input ref="." class="text_100 hide-label margin-plus-7-75"> + <xf:label>Name of Publisher</xf:label> + </xf:input> + </xf:group> + <xf:group ref=".[@transliteration]"> + <xf:input ref="." class="text_100"> + <xf:label>Transliterated</xf:label> + </xf:input> + </xf:group> + <!--publisher input ends--> + </xf:repeat> + <!--publisher repeat ends--> + </fieldset> + </xf:group> + <!--publisher ends--> + + <!--dateIssued begins--> + <xf:group id="fieldset-dateIssued" ref=".[mods:dateIssued]"> + <fieldset class="level-2"> + <div class="join"> + <span class="legend">Year of Publication</span> + <span class="xforms-hint"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-hint-value"> + <p> Note in Year of Publication the year in which the resource was published, released, or issued. </p> + <p> Use Point if you wish to record a span of time, e.g. 1912-1914. The values "start" and "end" are used with Point. + Repeat the Year of Publication field and choose "start" in one and "end" in the other repetition, and enter the + appropriate dates in the two Year of Publication fields. </p> + <p> If no point is specified a year noted in Year of Publication is assumed to be a single year. </p> + <p> More input options can be found on the Origin Info tab on the Citation Forms.</p> + </div> + </span> + </div> + <!--dateIssued repeat begins--> + <xf:repeat nodeset="./mods:dateIssued" id="date-issued-repeat"> + <!--dateIssued input begins--> + <xf:group> + <xf:select1 ref="./@point"> + <xf:label>Point</xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='date-point-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <!--Cluster: hide--> + <xf:group> + <xf:input ref="." class="text_10 hide-label margin-plus-7-75"> + <xf:label>Date Issued</xf:label> + </xf:input> + </xf:group> + <!--dateIssued input ends--> + </xf:repeat> + <!--dateIssued repeat ends--> + </fieldset> + </xf:group> + <!--dateIssued ends--> + </xf:repeat> + <!--originInfo repeat ends--> + + <!--originInfo add begins--> + + <!--originInfo add ends--> + </fieldset> </xf:group> - <xf:group id="fieldset-physicalDescription" ref="./mods:physicalDescription/mods:extent"> + <xf:group id="fieldset-physicalDescription" ref=".[mods:physicalDescription]"> <fieldset class="level-2"> <div class="join"> <span class="legend">Physical Description</span> <span class="xforms-hint"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-hint-value"> - <p> In this compact input format, only the Internet Media Type and the Extent of the publication are noted in Physical Description.</p> + <p> In this compact input format, only the Internet Media Type and the Extent of the publication are noted in Physical + Description.</p> <p> More input options can be found on the Physical Description tab on the Citation Forms.</p> </div> </span> @@ -382,17 +405,17 @@ <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-hint-value"> <p> Use this field if the resource is electronic. An identification of the electronic format type, or the data - representation of the resource. Internet Media Type specifies the electronic format type, such as text/html, ASCII, - Postscript file, executable application or JPEG image.</p> + representation of the resource. Internet Media Type specifies the electronic format type of the resource, such as + text/html, PDF file, JPEG image or executable application .</p> </div> </span> </div> <!--internetMediaType repeat begins--> <xf:repeat nodeset="./mods:internetMediaType" id="internetMediaType-repeat"> <!--internetMediaType input begins--> - <xf:group ref="."> + <xf:group> <xf:select1 ref="."> - <xf:label> </xf:label> + <xf:label>Internet Media Type</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='internet-media-type-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -413,8 +436,8 @@ <span class="xforms-hint"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-hint-value"> - <p> A statement of the number and specific material of the units of the resource that express physical extent. - A typical entry for a book might read "xiv, 213 p."</p> + <p> A statement of the number and specific material of the units of the resource that express physical extent. A typical + entry for a book might read "xiv, 213 p."</p> <p> Extent may be used with electronic resources, e.g. digitised collection of slides, to show how many slides constitute the resource. </p> </div> @@ -423,9 +446,9 @@ <!--extent repeat begins--> <xf:repeat nodeset="./mods:extent" id="extent-repeat"> <!--extent input begins--> - <xf:group ref="."> - <xf:input ref="." class="text_10"> - <xf:label> </xf:label> + <xf:group class="hide-label"> + <xf:input ref="." class="text_10 margin-plus-7-75"> + <xf:label>Extent</xf:label> </xf:input> </xf:group> <!--extent input ends--> @@ -438,7 +461,7 @@ <!--physicalDescription repeat ends--> </fieldset> </xf:group> - <xf:group id="fieldset-url" ref=".[mods:location/mods:url]"> + <xf:group id="fieldset-url" ref=".[mods:url]"> <fieldset class="level-2"> <div class="join"> <span class="legend"> @@ -452,11 +475,11 @@ </span> </div> <!--url repeat begins--> - <xf:repeat nodeset=" instance('save-data')/mods:location/mods:url" id="location-url-repeat"> + <xf:repeat nodeset=" instance('save-data')/mods:location/mods:url" id="location-url-repeat"> <!--url input begins--> - <xf:group ref="."> - <xf:input ref="." class="text_150"> - <xf:label> </xf:label> + <xf:group class="margin-plus-1-25"> + <xf:input ref="." class="text_150 hide-label"> + <xf:label>URL</xf:label> </xf:input> </xf:group> <!--url input ends--> @@ -479,29 +502,30 @@ <span class="xforms-hint"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-hint-value"> - <p>Enter here primarily the International Standard Book Number (ISBN) number of the book you are cataloguing or its Digital Object Identifier (DOI). </p> + <p>Enter here primarily the International Standard Book Number (ISBN) number of the book you are cataloguing or its Digital Object + Identifier (DOI). </p> <p>Use the 13-digit version of the ISBN number, if available.</p> <p>If you have access to another unique identifier, please record it.</p> </div> </span> </div> <xf:repeat nodeset="instance('save-data')/mods:identifier" id="identifier-repeat"> - <xf:group ref=".[@type]" selection="open"> + <xf:group ref=".[@type]" selection="open" class="margin-plus-10-75"> <xf:select1 ref="./@type"> - <xf:label> </xf:label> + <xf:label>Type</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='identifier-type-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> </xf:select1> </xf:group> - <xf:group> - <xf:input ref="." class="text_50"> - <xf:label> </xf:label> + <xf:group class="margin-plus-1-25"> + <xf:input ref="." class="text_100 hide-label margin-plus-10-75"> + <xf:label>Identifier</xf:label> </xf:input> </xf:group> </xf:repeat> </fieldset> </xf:group> </div> -</div> +</div> \ No newline at end of file Modified: apps/tamboti/modules/edit/body/01-title.xml =================================================================== --- apps/tamboti/modules/edit/body/01-title.xml 2011-06-06 07:55:18 UTC (rev 14640) +++ apps/tamboti/modules/edit/body/01-title.xml 2011-06-06 09:18:17 UTC (rev 14641) @@ -1,21 +1,17 @@ <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="title" tab-id="title"> <div class="block-form"> - <xf:group appearance="full" class="fieldset level-1"> + <xf:group class="fieldset level-1"> <div class="join"> <span class="legend">Title Information</span> - <!--<span dojoType="dijit.form.DropDownButton"> - <span> ? </span> - <span class="label-tooltip" dojoType="dijit.TooltipDialog"> - <xf:output mediatype="text/html" incremental="true" - ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='titleInfo']/help"/> - </span> - </span>--> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='titleInfo']/help"/> + </div> + </span> <span class="join-button"> <xf:trigger> <xf:label>+</xf:label> - <xf:hint> - <xf:output mediatype="text/html" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='add-frame']/hint"/> - </xf:hint> <xf:action ev:event="DOMActivate"> <xf:insert ev:event="DOMActivate" nodeset="mods:titleInfo" at="index('titleInfo-repeat')" position="after"/> </xf:action> @@ -24,9 +20,6 @@ <span class="join-button"> <xf:trigger> <xf:label>–</xf:label> - <xf:hint> - <xf:output mediatype="text/html" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='remove-frame']/hint"/> - </xf:hint> <xf:action ev:event="DOMActivate"> <xf:delete nodeset="instance('save-data')/mods:titleInfo" at="index('titleInfo-repeat')"/> </xf:action> @@ -36,7 +29,7 @@ <!--titleInfo repeat begins--> <xf:repeat nodeset="instance('save-data')/mods:titleInfo" id="titleInfo-repeat"> <!--titleInfo node-add begins--> - <xf:group appearance="full" class="show-hide" ref=".[not(mods:nonSort)] | .[not(mods:title)] | .[not(mods:subTitle)] | .[not(mods:partNumber)] | .[not(mods:partName)] | .[not(@type)] | .[not(@authority)] | .[not(@lang)] | .[not(@transliteration)] | .[not(@script)] | .[not(@displayLabel)] | .[not(@ID)] | .[not(@xlink:href)] | .[not(@xml:lang)] | .[not(@authorityURI)] | .[not(@valueURI)] | .[not(@supplied)] | .[not(@usage)] | .[not(@altRepGroup)] | .[not(@nameTitleGroup)]"> + <xf:group class="show-hide"> <xf:switch> <xf:case id="titleInfo-add-node-hide"> <div class="node-button"> @@ -54,7 +47,7 @@ </xf:trigger> </div> <div class="node-adds"> - <xf:group appearance="full" ref=".[not(mods:nonSort)] | .[not(mods:title)] | .[not(mods:subTitle)] | .[not(mods:partNumber)] | .[not(mods:partName)] | .[not(@type)] | .[not(@authority)] | .[not(@lang)] | .[not(@transliteration)] | .[not(@script)] | .[not(@displayLabel)] | .[not(@ID)] | .[not(@xlink:href)] | .[not(@xml:lang)]"> + <xf:group ref=".[not(mods:nonSort)] | .[not(mods:title)] | .[not(mods:subTitle)] | .[not(mods:partNumber)] | .[not(mods:partName)] | .[not(@type)] | .[not(@authority)] | .[not(@lang)] | .[not(@transliteration)] | .[not(@script)] | .[not(@displayLabel)] | .[not(@ID)] | .[not(@xlink:href)] | .[not(@xml:lang)]"> <!-- A --> <xf:group ref=".[not(@altRepGroup)]"> <xf:trigger> @@ -258,14 +251,7 @@ <!--DLF/Aquifer: OPTIONAL--> <!--Cluster: omit--> - <xf:group appearance="full" ref=".[@ID]" class="text_50 schema_3.3 schema_3.4"> - <!--<span dojoType="dijit.form.DropDownButton"> - <span> ? </span> - <span class="label-tooltip" dojoType="dijit.TooltipDialog"> - <xf:output mediatype="text/html" incremental="true" - ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='ID']/help"/> - </span> - </span>--> + <xf:group class="text_50 schema_3.3 schema_3.4"> <xf:input ref="./@ID"> <xf:label>ID</xf:label> <xf:hint> @@ -275,14 +261,7 @@ </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> <!--Cluster: omit--> - <xf:group appearance="full" ref=".[@xlink:href]" class="text_50 schema_3.3 schema_3.4"> - <!--<span dojoType="dijit.form.DropDownButton"> - <span> ? </span> - <span class="label-tooltip" dojoType="dijit.TooltipDialog"> - <xf:output mediatype="text/html" incremental="true" - ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='xlink_href']/help"/> - </span> - </span>--> + <xf:group class="text_50 schema_3.3 schema_3.4"> <xf:input ref="./@xlink:href"> <xf:label>XLink</xf:label> <xf:hint> @@ -292,14 +271,7 @@ </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> <!--Cluster: include--> - <xf:group appearance="full" ref=".[@type]" class="schema_3.3 schema_3.4"> - <!--<span dojoType="dijit.form.DropDownButton"> - <span> ? </span> - <span class="label-tooltip" dojoType="dijit.TooltipDialog"> - <xf:output mediatype="text/html" incremental="true" - ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='titleInfo-type']/help"/> - </span> - </span>--> + <xf:group class="schema_3.3 schema_3.4"> <xf:select1 ref="./@type"> <xf:label>Type</xf:label> <xf:hint> @@ -314,14 +286,7 @@ <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> <!--Cluster: include--> <!--selection="open"--> - <xf:group appearance="full" ref=".[@authority]" class="schema_3.3 schema_3.4"> - <!--<span dojoType="dijit.form.DropDownButton"> - <span> ? </span> - <span class="label-tooltip" dojoType="dijit.TooltipDialog"> - <xf:output mediatype="text/html" incremental="true" - ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='abbreviated-title-authority']/help"/> - </span> - </span>--> + <xf:group class="schema_3.3 schema_3.4"> <xf:select1 ref="./@authority"> <xf:label>Abbreviated Title Authorities</xf:label> <xf:hint> @@ -336,15 +301,8 @@ <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> <!--Cluster: include--> <!--selection="open"--> - <xf:group appearance="full" ref=".[@authority]" class="schema_3.3 schema_3.4"> + <xf:group class="schema_3.3 schema_3.4"> <xf:select1 ref="./@authority"> - <!--<span dojoType="dijit.form.DropDownButton"> - <span> ? </span> - <span class="label-tooltip" dojoType="dijit.TooltipDialog"> - <xf:output mediatype="text/html" incremental="true" - ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='uniform-title-authority']/help"/> - </span> - </span>--> <xf:label>Name-Title Authorities</xf:label> <xf:hint> <xf:output ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='uniform-title-authority']/hint"/> @@ -355,50 +313,29 @@ </xf:itemset> </xf:select1> </xf:group> - <xf:group appearance="full" ref=".[@authorityURI]" class="schema_3.4"> - <!--<span dojoType="dijit.form.DropDownButton"> - <span> ? </span> - <span class="label-tooltip" dojoType="dijit.TooltipDialog"> - <xf:output mediatype="text/html" incremental="true" - ref="ins... [truncated message content] |
From: <wol...@us...> - 2011-06-07 13:18:12
|
Revision: 14648 http://exist.svn.sourceforge.net/exist/?rev=14648&view=rev Author: wolfgang_m Date: 2011-06-07 13:18:04 +0000 (Tue, 07 Jun 2011) Log Message: ----------- Theming/templating for tamboti: HTML pages for the default theme now reside in themes/default/pages. The content of those pages is automatically merged with the side-wide template HTML. Widgets (query forms, facets, collection tree) have been moved into separate files and are included into the main page using class="include widget". Modified Paths: -------------- apps/tamboti/controller.xql apps/tamboti/modules/edit/edit.xq apps/tamboti/modules/edit/style.xqm apps/tamboti/modules/search/controller.xql apps/tamboti/modules/search/search.xql apps/tamboti/modules/theme.xqm apps/tamboti/resources/scripts/query.js Added Paths: ----------- apps/tamboti/themes/default/collection-tree.xml apps/tamboti/themes/default/dialogs.xml apps/tamboti/themes/default/filters.xml apps/tamboti/themes/default/pages/ apps/tamboti/themes/default/pages/index.html apps/tamboti/themes/default/pages/test.html apps/tamboti/themes/default/pagination.xml apps/tamboti/themes/default/query.xml apps/tamboti/themes/default/template.xml Removed Paths: ------------- apps/tamboti/themes/default/index.xml Modified: apps/tamboti/controller.xql =================================================================== --- apps/tamboti/controller.xql 2011-06-07 13:11:22 UTC (rev 14647) +++ apps/tamboti/controller.xql 2011-06-07 13:18:04 UTC (rev 14648) @@ -2,7 +2,7 @@ if ($exist:path eq '/') then <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <redirect url="modules/search/index.xml"/> + <redirect url="modules/search/index.html"/> </dispatch> else (: everything else is passed through :) Modified: apps/tamboti/modules/edit/edit.xq =================================================================== --- apps/tamboti/modules/edit/edit.xq 2011-06-07 13:11:22 UTC (rev 14647) +++ apps/tamboti/modules/edit/edit.xq 2011-06-07 13:18:04 UTC (rev 14648) @@ -271,7 +271,7 @@ <xf:label class="xforms-group-label-centered-general">Save and Close</xf:label> <xf:action ev:event="DOMActivate"> <xf:send submission="save-and-close-submission"/> - <xf:load resource="../search/index.xml?reload=true" show="replace"/> + <xf:load resource="../search/index.html?reload=true" show="replace"/> </xf:action> </xf:trigger> @@ -279,7 +279,7 @@ <xf:label class="xforms-group-label-centered-general">Cancel Editing</xf:label> <xf:action ev:event="DOMActivate"> <xf:send submission="cancel-submission"/> - <xf:load resource="../search/index.xml?reload=true" show="replace"/> + <xf:load resource="../search/index.html?reload=true" show="replace"/> </xf:action> </xf:trigger> Modified: apps/tamboti/modules/edit/style.xqm =================================================================== --- apps/tamboti/modules/edit/style.xqm 2011-06-07 13:11:22 UTC (rev 14647) +++ apps/tamboti/modules/edit/style.xqm 2011-06-07 13:18:04 UTC (rev 14648) @@ -189,7 +189,7 @@ <!--Tamboti-begin <div id="page-head-left"> - <a href="../search/index.xml" style="text-decoration: none"> + <a href="../search/index.html" style="text-decoration: none"> <img src="theme/images/tamboti.png" title="Tamboti Metadata Framework" @@ -212,7 +212,7 @@ </div> Tamboti-end--> <!--eXist-begin--> - <a href="../search/index.xml" style="text-decoration: none"> + <a href="../search/index.html" style="text-decoration: none"> <img src="theme/images/logo.jpg" title="eXist-db: Open Source Native XML Database" style="border-style: none;text-decoration: none"/> </a> <div id="navbar"> Modified: apps/tamboti/modules/search/controller.xql =================================================================== --- apps/tamboti/modules/search/controller.xql 2011-06-07 13:11:22 UTC (rev 14647) +++ apps/tamboti/modules/search/controller.xql 2011-06-07 13:18:04 UTC (rev 14648) @@ -35,26 +35,26 @@ if ($exist:path eq '/') then <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <redirect url="index.xml"/> + <redirect url="index.html"/> </dispatch> (: Main page: index.xml is a template, which is passed through search.xql and the db2xhtml stylesheet. search.xql will run the actual search and expand the index.xml template. :) -else if (ends-with($exist:resource, '.xml')) then +else if (ends-with($exist:resource, '.html')) then if(request:get-parameter("logout",()))then ( session:clear(), <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <redirect url="index.xml"/> + <redirect url="index.html"/> </dispatch> ) else ( <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <forward url="{theme:resolve($exist:prefix, $exist:root, 'index.xml')}"> + <forward url="{theme:resolve($exist:prefix, $exist:root, concat('pages/', $exist:resource))}"> { local:set-user() } </forward> <view> Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-06-07 13:11:22 UTC (rev 14647) +++ apps/tamboti/modules/search/search.xql 2011-06-07 13:18:04 UTC (rev 14648) @@ -530,6 +530,15 @@ () }; +declare function biblio:include-resource($id as xs:string, $query as element()?, $hitCount as xs:integer?) { + let $node := theme:resolve-by-id($config:app-root, $id) + return + if ($node) then + biblio:process-templates($query, $hitCount, $node) + else + () +}; + (:~ Scan the input HTML template and expand the biblio:* tags found therein. @@ -557,97 +566,126 @@ security:can-write-collection(security:get-user-credential-from-session()[1], request:get-parameter("collection", $config:mods-root)) :) case element() return - switch ($node/@id) - case "login" return - let $user := request:get-attribute("xquery.user") - return - ( - if ($user eq 'guest') then - ( - <div class="help"><a href="../../docs/index.xml" style="text-decoration: none" target="_blank">Help</a></div> - , - <div class="login"><a href="#" id="login-link">Login</a></div> - ) - else - ( - <div class="help"><a href="../../docs/index.xml" style="text-decoration: none">Help</a></div> - , - <div class="login">Logged in as <span class="username">{$user}</span>. <a href="?logout=1">Logout</a></div> - ) - ) - case "collection-path" return - let $collection := functx:replace-first(request:get-parameter("collection", theme:get-root()), "/db/", "") - return - <input class="collection-input" type="text" name="collection" value="{$collection}" readonly="true"/> - case "form-from-query" return - biblio:form-from-query($query) - case "query-history-content" return - biblio:query-history() - case "collection-tree" return - let $show := request:get-parameter("collection-tree", "hidden") - return - <div id="collection-tree" class="{$show}"> - {for $child in $node/node() return biblio:process-templates($query, $hitCount, $child)} - </div> - case "result-count" return - text { $hitCount } - case "optimize-trigger" return - let $user := request:get-attribute("xquery.user") - return - if (xmldb:is-admin-user($user)) then - <a id="optimize-trigger" href="#">Create custom indexes for sorting</a> - else - () - case "form-select-collection" return - biblio:form-select-collection($node/@class) - case "form-collection-sharing" return - biblio:form-collection-sharing(request:get-parameter("collection", $config:mods-root)) - case "form-add-member-to-sharing-group" return - biblio:form-add-member-to-sharing-group() - case "form-add-sharing-group" return - biblio:form-add-sharing-group() - case "resource-types" return - let $classifier := $node/@class/string() - let $code-tables := concat($config:edit-app-root, '/code-tables') - let $document-path := concat($code-tables, '/document-type-codes.xml') - let $language-path := concat($code-tables, '/language-3-type-codes.xml') - let $transliteration-path := concat($code-tables, '/transliteration-codes.xml') - let $script-path := concat($code-tables, '/script-codes.xml') - let $code-table-type := doc($document-path)/code-table - let $code-table-lang := doc($language-path)/code-table - let $code-table-transliteration := doc($transliteration-path)/code-table - let $code-table-script := doc($script-path)/code-table - return - <div class="content"> - <form id="{if ($classifier eq 'stand-alone') then 'new-resource-form' else 'add-related-form'}" action="../edit/edit.xq" method="GET"> - <ul> - { - for $item in $code-table-type//item[classifier = $classifier] - let $label := $item/label/text() - order by $label - return + let $classes := tokenize($node/@class, "\s") + return + if ("include" = $classes) then + biblio:include-resource($classes[2], $query, $hitCount) + else + switch ($node/@id) + case "login" return + let $user := request:get-attribute("xquery.user") + return + ( + if ($user eq 'guest') then + ( + <div class="help"><a href="../../docs/index.xml" style="text-decoration: none" target="_blank">Help</a></div> + , + <div class="login"><a href="#" id="login-link">Login</a></div> + ) + else + ( + <div class="help"><a href="../../docs/index.xml" style="text-decoration: none">Help</a></div> + , + <div class="login">Logged in as <span class="username">{$user}</span>. <a href="?logout=1">Logout</a></div> + ) + ) + case "collection-path" return + let $collection := functx:replace-first(request:get-parameter("collection", theme:get-root()), "/db/", "") + return + <input class="collection-input" type="text" name="collection" value="{$collection}" readonly="true"/> + case "form-from-query" return + biblio:form-from-query($query) + case "query-history-content" return + biblio:query-history() + case "collection-tree" return + let $show := request:get-parameter("collection-tree", "hidden") + return + <div id="collection-tree" class="{$show}"> + {for $child in $node/node() return biblio:process-templates($query, $hitCount, $child)} + </div> + case "result-count" return + text { $hitCount } + case "optimize-trigger" return + let $user := request:get-attribute("xquery.user") + return + if (xmldb:is-admin-user($user)) then + <a id="optimize-trigger" href="#">Create custom indexes for sorting</a> + else + () + case "form-select-collection" return + biblio:form-select-collection($node/@class) + case "form-collection-sharing" return + biblio:form-collection-sharing(request:get-parameter("collection", $config:mods-root)) + case "form-add-member-to-sharing-group" return + biblio:form-add-member-to-sharing-group() + case "form-add-sharing-group" return + biblio:form-add-sharing-group() + case "resource-types" return + let $classifier := $node/@class/string() + let $code-tables := concat($config:edit-app-root, '/code-tables') + let $document-path := concat($code-tables, '/document-type-codes.xml') + let $language-path := concat($code-tables, '/language-3-type-codes.xml') + let $transliteration-path := concat($code-tables, '/transliteration-codes.xml') + let $script-path := concat($code-tables, '/script-codes.xml') + let $code-table-type := doc($document-path)/code-table + let $code-table-lang := doc($language-path)/code-table + let $code-table-transliteration := doc($transliteration-path)/code-table + let $code-table-script := doc($script-path)/code-table + return + <div class="content"> + <form id="{if ($classifier eq 'stand-alone') then 'new-resource-form' else 'add-related-form'}" action="../edit/edit.xq" method="GET"> + <ul> + { + for $item in $code-table-type//item[classifier = $classifier] + let $label := $item/label/text() + order by $label + return + <li> + <input type="radio" name="type" value="{$item/value/text()}"/><span> {$item/label/text()}</span> + </li> + }<!-- <li> - <input type="radio" name="type" value="{$item/value/text()}"/><span> {$item/label/text()}</span> + ––– </li> - }<!-- - <li> - ––– - </li> - <li> - <input type="radio" name="type" value="default" selected="true"/><span> Default Record</span> - </li> - --> - </ul> - - <div class="language-label"> - <label for="languageOfResource">Resource Language: </label> - <span class="language-list"> - <select name="languageOfResource"> - { - for $item in $code-table-lang//item - let $label := $item/label/text() - let $labelValue := $item/value/text() - let $sortOrder := + <li> + <input type="radio" name="type" value="default" selected="true"/><span> Default Record</span> + </li> + --> + </ul> + + <div class="language-label"> + <label for="languageOfResource">Resource Language: </label> + <span class="language-list"> + <select name="languageOfResource"> + { + for $item in $code-table-lang//item + let $label := $item/label/text() + let $labelValue := $item/value/text() + let $sortOrder := + if (empty($item/frequencyClassifier)) + then 'B' + else + if ($item/frequencyClassifier[. = 'common']) + then 'A' + (: else frequencyClassifier = 'default':) + else '' + order by $sortOrder, $label + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <div class="language-label"> + <label for="scriptOfResource">Resource Script: </label> + <span class="language-list"> + <select name="scriptOfResource"> + { + for $item in $code-table-script//item + let $label := $item/label/text() + let $labelValue := $item/value/text() + let $sortOrder := if (empty($item/frequencyClassifier)) then 'B' else @@ -655,105 +693,81 @@ then 'A' (: else frequencyClassifier = 'default':) else '' - order by $sortOrder, $label - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> - </div> - - <div class="language-label"> - <label for="scriptOfResource">Resource Script: </label> - <span class="language-list"> - <select name="scriptOfResource"> - { - for $item in $code-table-script//item - let $label := $item/label/text() - let $labelValue := $item/value/text() - let $sortOrder := - if (empty($item/frequencyClassifier)) - then 'B' - else - if ($item/frequencyClassifier[. = 'common']) - then 'A' - (: else frequencyClassifier = 'default':) - else '' - order by $sortOrder, $label - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> - </div> - - <div class="language-label"> - <label for="transliterationOfResource">Transliteration Scheme: </label> - <span class="language-list"> - <select name="transliterationOfResource"> - { - for $item in $code-table-transliteration//item - let $label := $item/label/text() - let $labelValue := $item/value/text() - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> - </div> - - <div class="language-label"> - <label for="languageOfCataloging">Cataloging Language: </label> - <span class="language-list"> - <select name="languageOfCataloging"> - { - for $item in $code-table-lang//item[(frequencyClassifier)] - let $label := $item/label/text() - let $labelValue := $item/value/text() - let $sortOrder := - if ($item/frequencyClassifier[. = 'common']) - then 'A' - (: else frequencyClassifier = 'default':) - else '' - order by $sortOrder, $label - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> - </div> - - <div class="language-label"> - <label for="scriptOfCataloging">Cataloging Script: </label> - <span class="language-list"> - <select name="scriptOfCataloging"> - { - for $item in $code-table-script//item[(frequencyClassifier)] - let $label := $item/label/text() - let $labelValue := $item/value/text() - let $sortOrder := - if ($item/frequencyClassifier[. = 'common']) - then 'A' - (: else frequencyClassifier = 'default':) - else '' - order by $sortOrder, $label - return - <option value="{$labelValue}">{$item/label/text()}</option> - } - </select> - </span> - </div> - - <input type="hidden" name="collection"/> - <input type="hidden" name="host"/> - </form> - </div> - default return - element { node-name($node) } { - $node/@*, - for $child in $node/node() return - biblio:process-templates($query, $hitCount, $child) - } + order by $sortOrder, $label + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <div class="language-label"> + <label for="transliterationOfResource">Transliteration Scheme: </label> + <span class="language-list"> + <select name="transliterationOfResource"> + { + for $item in $code-table-transliteration//item + let $label := $item/label/text() + let $labelValue := $item/value/text() + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <div class="language-label"> + <label for="languageOfCataloging">Cataloging Language: </label> + <span class="language-list"> + <select name="languageOfCataloging"> + { + for $item in $code-table-lang//item[(frequencyClassifier)] + let $label := $item/label/text() + let $labelValue := $item/value/text() + let $sortOrder := + if ($item/frequencyClassifier[. = 'common']) + then 'A' + (: else frequencyClassifier = 'default':) + else '' + order by $sortOrder, $label + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <div class="language-label"> + <label for="scriptOfCataloging">Cataloging Script: </label> + <span class="language-list"> + <select name="scriptOfCataloging"> + { + for $item in $code-table-script//item[(frequencyClassifier)] + let $label := $item/label/text() + let $labelValue := $item/value/text() + let $sortOrder := + if ($item/frequencyClassifier[. = 'common']) + then 'A' + (: else frequencyClassifier = 'default':) + else '' + order by $sortOrder, $label + return + <option value="{$labelValue}">{$item/label/text()}</option> + } + </select> + </span> + </div> + + <input type="hidden" name="collection"/> + <input type="hidden" name="host"/> + </form> + </div> + default return + element { node-name($node) } { + $node/@*, + for $child in $node/node() return + biblio:process-templates($query, $hitCount, $child) + } default return $node }; @@ -1017,9 +1031,10 @@ ) else biblio:eval-query($queryAsXML) (: Process the HTML template received as input :) +let $merged := theme:apply-template($input) let $output := jquery:process( - biblio:process-templates($queryAsXML, $results, $input) + biblio:process-templates($queryAsXML, $results, $merged) (: biblio:process-templates(if ($queryAsXML//field) then $queryAsXML else $biblio:TEMPLATE_QUERY, $results, $input) :) ) let $header := response:set-header("Content-Type", "application/xhtml+xml") Modified: apps/tamboti/modules/theme.xqm =================================================================== --- apps/tamboti/modules/theme.xqm 2011-06-07 13:11:22 UTC (rev 14647) +++ apps/tamboti/modules/theme.xqm 2011-06-07 13:18:04 UTC (rev 14648) @@ -30,8 +30,37 @@ }; (:~ + : Locate the element with the given id attribute value for the selected theme. The theme is determined + : from the URL prefix. If a resource cannot be found within the theme collection, + : the function falls back to the theme "default" and tries to locate the resource + : there. : + : @param $prefix the URL prefix as passed in from the controller + : @param $root the db root of this app as passed in from the controller + : @param $resource path to a resource in the theme collection + : @return resolved path to the resource to be used for forwarding in controller :) + +declare function theme:resolve-by-id($root as xs:string, $id as xs:string) { + let $prefix := request:get-attribute("exist:prefix") + return + if (empty($prefix)) then + error(QName("http:/exist-db.org/xquery/tamboti", "error"), ("No prefix set!")) + else + let $log := util:log("DEBUG", ("Checking for id ", $id, " in ", $root)) + let $theme := theme:check-for-id($id, theme:theme-for-prefix($prefix)) + let $path := + concat( + $config:themes, "/", $theme + ) + let $log := util:log("DEBUG", ("resolved theme path: ", $path)) + return + collection($path)//*[@id = $id] +}; + +(:~ + : + :) declare function theme:get-path() { concat(substring-after($config:themes, "/db"), "/default") }; @@ -94,6 +123,19 @@ }; (:~ + : Check if an element with the given id is available within the theme collection. + : If yes, return the theme's name, if not, the default theme "default" + :) +declare function theme:check-for-id($id as xs:string, $theme as xs:string) { + let $path := concat($config:themes, "/", $theme) + return + if (collection($path)//*[@id = $id]) then + $theme + else + "default" +}; + +(:~ : :) declare function theme:normalize-path($rawPath as xs:string) { @@ -104,4 +146,32 @@ substring($rawPath, 15) else $rawPath -}; \ No newline at end of file +}; + +declare function theme:apply-template($page as element()) { + let $prefix := request:get-attribute("exist:prefix") + let $theme := theme:theme-for-resource($prefix, "template.xml") + let $template := doc(concat($config:themes, "/", $theme, "/template.xml")) + return + theme:merge-html($page, $template) +}; + +declare function theme:merge-html($node, $template) { + typeswitch ($node) + case document-node() return + for $child in $node/node() return theme:merge-html($child, $template) + case element(head) return + <head> + { $node/node(), $template//head/node() } + </head> + case element(body) return + <body> + { $node/node(), $template//body/node() } + </body> + case element() return + element { node-name($node) } { + $node/@*, for $child in $node/node() return theme:merge-html($child, $template) + } + default return + $node +}; Modified: apps/tamboti/resources/scripts/query.js =================================================================== --- apps/tamboti/resources/scripts/query.js 2011-06-07 13:11:22 UTC (rev 14647) +++ apps/tamboti/resources/scripts/query.js 2011-06-07 13:18:04 UTC (rev 14648) @@ -240,7 +240,7 @@ var params = { action: 'remove-resource', resource: resource }; $.get("operations.xql", params, function (data) { dialog.dialog("close"); - $(location).attr('href', 'index.xml?reload=true&collection=' + getCurrentCollection()); + $(location).attr('href', 'index.html?reload=true&collection=' + getCurrentCollection()); }); } Added: apps/tamboti/themes/default/collection-tree.xml =================================================================== --- apps/tamboti/themes/default/collection-tree.xml (rev 0) +++ apps/tamboti/themes/default/collection-tree.xml 2011-06-07 13:18:04 UTC (rev 14648) @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<div id="collection-tree"> + <div class="collection-tree-head"> + <img id="toggle-collection-tree" src="theme/images/tree.gif" title="Folder View"/> + </div> + <div id="collection-tree-main"> + <ul class="collection-tree-toolbar"> + <li> + <a href="#" id="collection-expand-all"> + <img src="theme/images/arrow_out.png" title="Expand All"/> + </a> + </li> + <li> + <a href="#" id="collection-collapse-all"> + <img src="theme/images/arrow_in.png" title="Collapse All"/> + </a> + </li> + <li> + <a href="#" id="collection-reload"> + <img src="theme/images/arrow_refresh.png" title="Reload Folder View"/> + </a> + </li> + <!-- collection writeable --> + <li> + <a href="#" id="collection-create-folder"> + <img src="theme/images/folder_add.png" title="Create Folder"/> + </a> + </li> + <li> + <a href="#" id="collection-rename-folder"> + <img src="theme/images/folder_edit.png" title="Rename Folder"/> + </a> + </li> + <li> + <a href="#" id="collection-move-folder"> + <img src="theme/images/folder_go.png" title="Move Folder"/> + </a> + </li> + <li> + <a href="#" id="collection-remove-folder"> + <img src="theme/images/folder_delete.png" title="Delete Folder"/> + </a> + </li> + <!-- end collection writeable --> + <!-- collection owner --> + <li> + <a href="#" id="collection-sharing"> + <img src="theme/images/user_edit.png" title="Manage Folder Sharing"/> + </a> + </li> + <!-- end collection owner --> + <!-- create new resource --> + <li> + <a href="#" id="collection-create-resource"> + <img src="theme/images/page_add.png" title="Create Stand-Alone Record"/> + </a> + </li> + <!-- end create new resource --> + </ul> + <div id="collection-tree-tree"/> + <div class="box"> + <p> To view all + records in a folder, select it and perform an empty search. + </p> + </div> + </div> +</div> \ No newline at end of file Added: apps/tamboti/themes/default/dialogs.xml =================================================================== --- apps/tamboti/themes/default/dialogs.xml (rev 0) +++ apps/tamboti/themes/default/dialogs.xml 2011-06-07 13:18:04 UTC (rev 14648) @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Provides various dialogs used by tamboti +--> +<div xmlns:jquery="http://exist-db.org/xquery/jquery" id="dialogs"> + <jquery:dialog id="optimize-dialog" modal="true" title="Create Indexes" trigger="#optimize-trigger" width="450"> + <jquery:button label="Start" function="createIndexes"/> + <p>Use this dialog to trigger an optimization run on your data + set. This will create custom indexes to speed up sorting and other + functions.</p> + <p>The process may take some time, depending on the size of the + data set. To start, please enter the admin password for your db below:</p> + <form action="optimize.xql"> + <ul> + <li> + <label for="password">Admin password: </label> + <input type="password" size="30" name="password"/> + </li> + <li id="optimize-message"/> + </ul> + </form> + </jquery:dialog> + <jquery:dialog id="login-dialog" modal="true" title="Login" trigger="#login-link" width="450"> + <jquery:button label="Login" function="login"/> + <form id="login-form" action="#" method="POST"> + <table> + <tr> + <td id="login-message" colspan="2"/> + </tr> + <tr> + <td>Username:</td> + <td> + <input name="user" type="text"/> + </td> + </tr> + <tr> + <td>Password:</td> + <td> + <input name="password" type="password"/> + </td> + </tr> + </table> + </form> + </jquery:dialog> + <!-- collection writeable --> + <jquery:dialog id="new-collection-dialog" modal="true" title="Create Folder" trigger="#collection-create-folder" width="450"> + <jquery:button label="Create" function="createCollection"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="create-collection-form" action="operations.xql"> + <div>Name of new folder: </div> + <div> + <br/> + </div> + <div> + <input name="name" type="text"/> + </div> + </form> + </jquery:dialog> + <jquery:dialog id="rename-collection-dialog" modal="true" title="Rename Folder" trigger="#collection-rename-folder" width="450"> + <jquery:button label="Rename" function="renameCollection"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="rename-collection-form" action="operations.xql"> + <input id="rename-collection-path_" type="hidden" name="collection"/> + <div>New folder name: </div> + <div> + <br/> + </div> + <div> + <input name="name" type="text"/> + </div> + </form> + </jquery:dialog> + <jquery:dialog id="move-collection-dialog" modal="true" title="Move Folder" trigger="#collection-move-folder" width="700"> + <jquery:button label="Move" function="moveCollection"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="move-collection-form" action="operations.xql"> + <input id="move-collection-path_" type="hidden" name="collection"/> + <div>Move folder '<span id="move-collection-path_"/>' to </div> + <div> + <br/> + </div> + <div id="form-select-collection" class="path"/> + </form> + </jquery:dialog> + <jquery:dialog id="remove-collection-dialog" modal="true" title="Remove Folder" trigger="#collection-remove-folder" width="450"> + <jquery:button label="Remove" function="removeCollection"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="remove-collection-form" action="operations.xql"> + <input id="remove-collection-path_" type="hidden" name="collection"/> + <div>Remove the folder named "<span id="sharing-collection-path_"/>"? </div> + <div> + <br/> + </div> + <div>NB: If you remove the folder, the folder and its contents will be deleted and cannot be restored.</div> + </form> + </jquery:dialog> + <!-- end collection writeable --> + <!-- collection owner --> + <div id="form-collection-sharing"/> + <div id="form-add-member-to-sharing-group"/> + <div id="form-add-sharing-group"/> + <!-- end collection owner --> + <jquery:dialog id="remove-resource-dialog" modal="true" title="Remove Folder" width="450"> + <jquery:button label="Remove" function="removeResource"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="remove-resource-form" action="operations.xql"> + <div>Are you sure you wish to remove the record?</div> + <input id="remove-resource-id" name="resource" type="hidden" value=""/> + </form> + </jquery:dialog> + <jquery:dialog id="move-resource-dialog" modal="true" title="Move Record" width="500"> + <jquery:button label="Move" function="moveResource"/> + <jquery:button id="cancel" label="Cancel"/> + <form id="move-resource-form" action="operations.xql"> + <div>Move record from + '<span id="collection-path"/>' to + <div id="form-select-collection" class="path"/> + </div> + <input id="move-resource-id" name="resource" type="hidden" value=""/> + </form> + </jquery:dialog> + <!-- Dialogs are created search.xql lines 538ff. --> + <jquery:dialog id="new-resource-dialog" modal="true" title="Create Stand-Alone Record" trigger="#collection-create-resource" width="550"> + <jquery:button id="create" label="Create" function="newResource"/> + <jquery:button id="cancel" label="Cancel"/> + <div id="resource-types" class="stand-alone"/> + </jquery:dialog> + <jquery:dialog id="add-related-dialog" modal="true" title="Create Related Record" width="550"> + <jquery:button id="create" label="Create" function="newRelatedResource"/> + <jquery:button id="cancel" label="Cancel"/> + <div id="resource-types" class="related-item"/> + </jquery:dialog> +</div> \ No newline at end of file Added: apps/tamboti/themes/default/filters.xml =================================================================== --- apps/tamboti/themes/default/filters.xml (rev 0) +++ apps/tamboti/themes/default/filters.xml 2011-06-07 13:18:04 UTC (rev 14648) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<div xmlns:jquery="http://exist-db.org/xquery/jquery" id="filters"> + <jquery:ajax-accordion id="facets"> + <jquery:panel id="keywords" title="Title Terms" on-select="loadIndexTerms"> + <div class="keyword-prefix"> + <form id="keyword-form"> + <input type="text" name="input-keyword-prefix" size="8" value="a" title="Change prefix to view more terms."/> + <input type="submit" value="Show"/> + </form> + </div> + <div id="keywords-result"/> + </jquery:panel> + <jquery:panel id="author" title="Author" href="filters.xql?type=author"/> + <jquery:panel id="date" title="Date" href="filters.xql?type=date"/> + </jquery:ajax-accordion> + <div class="banner"> + <a href="http://exist-db.org"> + <img xmlns:xi="http://www.w3.org/2001/XInclude" alt="powered by eXist" border="0" src="theme/images/powered.gif"/> + </a> + </div> +</div> \ No newline at end of file Deleted: apps/tamboti/themes/default/index.xml =================================================================== --- apps/tamboti/themes/default/index.xml 2011-06-07 13:11:22 UTC (rev 14647) +++ apps/tamboti/themes/default/index.xml 2011-06-07 13:18:04 UTC (rev 14648) @@ -1,362 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html xmlns:jquery="http://exist-db.org/xquery/jquery"> - <head> - <title>eXist - Bibliographic Demo</title> - <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> - <script type="text/javascript" src="libs/scripts/jquery/jquery.dynatree.min.js"/> - <script type="text/javascript" src="libs/scripts/jquery/jquery.cookie.js"/> - <script type="text/javascript" src="../../resources/scripts/query.js"/> - <link rel="stylesheet" type="text/css" href="libs/styles/default-style2.css"/> - <link rel="stylesheet" type="text/css" href="libs/scripts/jquery/skin/ui.dynatree.css"/> - <link rel="stylesheet" type="text/css" href="theme/css/biblio.css"/> - <link rel="stylesheet" type="text/css" href="theme/css/customisables.css"/> - <link rel="unapi-server" type="application/xml" title="unAPI" href="unapi.xql"/> - </head> - <body> - <div id="page-head"> - <a href="/exist/" style="text-decoration: none"> - <img src="theme/images/logo.jpg" title="eXist-db: Open Source Native XML Database" style="border-style: none;text-decoration: none"/> - </a> - <div id="navbar"> - <h1>Open Source Native XML Database</h1> - </div> - </div> - <div id="content1col"> - <div id="login"/> - <jquery:tabset id="query-tabs" on-select="searchTabSelected"> - <jquery:tab id="simple" label="Simple Search"> - <form id="simple-search-form" class="search-form" action="index.xml" name="simple-search" method="POST"> - <table> - <tr> - <td class="label">Search for </td> - <td colspan="2"> - <jquery:input name="input1"> - <jquery:autocomplete url="autocomplete.xql" width="300" multiple="false" matchContains="false" paramsCallback="autocompleteCallback"/> - </jquery:input> - </td> - </tr> - <tr> - <td class="label">inside </td> - <td> - <div id="collection-path"/> - </td> - <td/> - </tr> - <tr> - <td class="label">Sort results by </td> - <td class="dropdown"> - <jquery:select name="sort"> - <jquery:option value="Score"/> - <jquery:option value="Author"/> - <jquery:option value="Title"/> - <jquery:option value="Date Issued"/> - </jquery:select> - <button name="action" id="form-submit" type="submit">Search</button> - <input type="hidden" name="field1" value="All"/> - </td> - </tr> - </table> - <input type="hidden" name="query-tabs" value="simple"/> - <input type="hidden" name="collection-tree" value="hidden"/> - </form> - </jquery:tab> - <jquery:tab id="advanced-search-form" label="Advanced Search"> - <jquery:form-repeat trigger="#add-field" delete="#remove-field" form=".search-form" on-ready="repeatCallback"/> - <form class="search-form" action="index.xml" name="advanced-search" method="POST"> - <table> - <tr> - <td/> - <td colspan="2">Search for</td> - </tr> - <tr id="form-from-query"/> - <tr> - <td class="label">inside </td> - <td colspan="2"> - <span id="collection-path"/> - </td> - </tr> - <tr> - <td class="label"> Sort results by </td> - <td class="dropdown"> - <jquery:select name="sort"> - <jquery:option value="Score"/> - <jquery:option value="Author"/> - <jquery:option value="Title"/> - <jquery:option value="Date Issued"/> - </jquery:select> - </td> - <td/> - </tr> - <tr> - <td/> - <td class="add-field" align="center" colspan="2"> - <button class="button" id="add-field"> - <span>+</span> Add search - field</button> - <button class="button" id="remove-field"> - <span>-</span> Remove selected search - field</button> - </td> - </tr> - <tr> - <td/> - <td colspan="2"> - <button class="button" name="clear" value="clear" type="submit">Clear All</button> - <div class="advanced-search"> - <button class="advanced-search" name="action" id="form-submit" type="submit">Search</button> - </div> - </td> - <td/> - </tr> - </table> - <input type="hidden" name="query-tabs" value="advanced-search-form"/> - <input type="hidden" name="collection-tree" value="hidden"/> - </form> - </jquery:tab> - <jquery:tab id="query-history" label="Query History"> - <div id="query-history-content"/> - </jquery:tab> - <jquery:tab id="personal-list" label="My List"> - <form class="search-form" action="index.xml" name="lists" method="POST"> - <p>You have <span id="personal-list-size">0</span> items in your list.</p> - <p> - <input type="hidden" name="query-tabs" value="personal-list"/> - <button class="button" name="mylist" type="submit" value="clear">Clear</button> - <button class="button" name="mylist" type="submit" value="display">Display</button> - </p> - </form> - <p> - <form action="user.xql" method="POST"> - <button class="button" id="export" name="export" type="submit" value="export">Export</button> your list items. - </form> - </p> - </jquery:tab> - </jquery:tabset> - <div id="collection-tree"> - <div class="collection-tree-head"> - <img id="toggle-collection-tree" src="theme/images/tree.gif" title="Folder View"/> - </div> - <div id="collection-tree-main"> - <ul class="collection-tree-toolbar"> - <li> - <a href="#" id="collection-expand-all"> - <img src="theme/images/arrow_out.png" title="Expand All"/> - </a> - </li> - <li> - <a href="#" id="collection-collapse-all"> - <img src="theme/images/arrow_in.png" title="Collapse All"/> - </a> - </li> - <li> - <a href="#" id="collection-reload"> - <img src="theme/images/arrow_refresh.png" title="Reload Folder View"/> - </a> - </li> - <!-- collection writeable --> - <li> - <a href="#" id="collection-create-folder"> - <img src="theme/images/folder_add.png" title="Create Folder"/> - </a> - </li> - <li> - <a href="#" id="collection-rename-folder"> - <img src="theme/images/folder_edit.png" title="Rename Folder"/> - </a> - </li> - <li> - <a href="#" id="collection-move-folder"> - <img src="theme/images/folder_go.png" title="Move Folder"/> - </a> - </li> - <li> - <a href="#" id="collection-remove-folder"> - <img src="theme/images/folder_delete.png" title="Delete Folder"/> - </a> - </li> - <!-- end collection writeable --> - <!-- collection owner --> - <li> - <a href="#" id="collection-sharing"> - <img src="theme/images/user_edit.png" title="Manage Folder Sharing"/> - </a> - </li> - <!-- end collection owner --> - <!-- create new resource --> - <li> - <a href="#" id="collection-create-resource"> - <img src="theme/images/page_add.png" title="Create Stand-Alone Record"/> - </a> - </li> - <!-- end create new resource --> - </ul> - <div id="collection-tree-tree"/> - <div class="box"> - <p> To view all - records in a folder, select it and perform an empty search. - </p> - </div> - </div> - </div> - <div id="main-content"> - <div id="results-head"> - <div id="messages">Found: - <span id="result-count"/> - </div> - <div id="optimize-trigger"/> - <div class="navbar"/> - </div> - <div id="result-container"> - <div id="filters"> - <jquery:ajax-accordion id="facets"> - <jquery:panel id="keywords" title="Title Terms" on-select="loadIndexTerms"> - <div class="keyword-prefix"> - <form id="keyword-form"> - <input type="text" name="input-keyword-prefix" size="8" value="a" title="Change prefix to view more terms."/> - <input type="submit" value="Show"/> - </form> - </div> - <div id="keywords-result"/> - </jquery:panel> - <jquery:panel id="author" title="Author" href="filters.xql?type=author"/> - <jquery:panel id="date" title="Date" href="filters.xql?type=date"/> - </jquery:ajax-accordion> - <div class="banner"> - <a href="http://exist-db.org"> - <img xmlns:xi="http://www.w3.org/2001/XInclude" alt="powered by eXist" border="0" src="theme/images/powered.gif"/> - </a> - </div> - </div> - <jquery:paginate id="results" attribute="mods:cached" href="retrieve" navcontainer="#results-head .navbar" on-ready="resultsLoaded"/> - </div> - </div> - <jquery:dialog id="optimize-dialog" modal="true" title="Create Indexes" trigger="#optimize-trigger" width="450"> - <jquery:button label="Start" function="createIndexes"/> - <p>Use this dialog to trigger an optimization run on your data... [truncated message content] |
From: <jen...@us...> - 2011-06-20 12:02:24
|
Revision: 14752 http://exist.svn.sourceforge.net/exist/?rev=14752&view=rev Author: jenspetersen Date: 2011-06-20 12:02:17 +0000 (Mon, 20 Jun 2011) Log Message: ----------- [tamboti] Added search option for mods:identifier (ISBN, etc.). Changed date searches to default to using trailing wildcard. Modified Paths: -------------- apps/tamboti/collection.xconf apps/tamboti/modules/search/search.xql Modified: apps/tamboti/collection.xconf =================================================================== --- apps/tamboti/collection.xconf 2011-06-20 10:27:35 UTC (rev 14751) +++ apps/tamboti/collection.xconf 2011-06-20 12:02:17 UTC (rev 14752) @@ -23,7 +23,7 @@ <!--<text qname="mods:extension"/>--> <!--<text qname="mods:originInfo"/>--> <!--<text qname="mods:targetAudience"/>--> - <!--<text qname="mods:identifier"/>--> + <text qname="mods:identifier"/> <!--<text qname="mods:recordInfo"/>--> <!--deeper elements accessed by search module--> Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-06-20 10:27:35 UTC (rev 14751) +++ apps/tamboti/modules/search/search.xql 2011-06-20 12:02:17 UTC (rev 14752) @@ -58,27 +58,28 @@ )</field> <field name="Date"> ( - mods:mods[ft:query(mods:originInfo/mods:dateCreated, '$q', $options)] + mods:mods[ft:query(mods:originInfo/mods:dateCreated, '$q*', $options)] union - mods:mods[ft:query(mods:originInfo/mods:dateIssued, '$q', $options)] + mods:mods[ft:query(mods:originInfo/mods:dateIssued, '$q*', $options)] union - mods:mods[ft:query(mods:originInfo/mods:dateCaptured, '$q', $options)] + mods:mods[ft:query(mods:originInfo/mods:dateCaptured, '$q*', $options)] union - mods:mods[ft:query(mods:originInfo/mods:copyrightDate, '$q', $options)] + mods:mods[ft:query(mods:originInfo/mods:copyrightDate, '$q*', $options)] union - mods:mods[ft:query(mods:relatedItem/mods:originInfo/mods:dateCreated, '$q', $options)] + mods:mods[ft:query(mods:relatedItem/mods:originInfo/mods:dateCreated, '$q*', $options)] union - mods:mods[ft:query(mods:relatedItem/mods:originInfo/mods:dateIssued, '$q', $options)] + mods:mods[ft:query(mods:relatedItem/mods:originInfo/mods:dateIssued, '$q*', $options)] union - mods:mods[ft:query(mods:relatedItem/mods:originInfo/mods:dateCaptured, '$q', $options)] + mods:mods[ft:query(mods:relatedItem/mods:originInfo/mods:dateCaptured, '$q*', $options)] union - mods:mods[ft:query(mods:relatedItem/mods:originInfo/mods:copyrightDate, '$q', $options)] + mods:mods[ft:query(mods:relatedItem/mods:originInfo/mods:copyrightDate, '$q*', $options)] union - mods:mods[ft:query(mods:part/mods:date, '$q', $options)] + mods:mods[ft:query(mods:part/mods:date, '$q*', $options)] union - mods:mods[ft:query(mods:relatedItem/mods:part/mods:date, '$q', $options)] + mods:mods[ft:query(mods:relatedItem/mods:part/mods:date, '$q*', $options)] ) </field> + <field name="Identifier">mods:mods[ft:query(mods:identifier, '$q', $options)]</field> <field name="Abstract">mods:mods[ft:query(mods:abstract, '$q', $options)]</field> <field name="Note">mods:mods[ft:query(mods:note, '$q', $options)]</field> <field name="Subject">mods:mods[ft:query(mods:subject, '$q', $options)]</field> @@ -637,8 +638,7 @@ <ul> { for $item in $code-table-type//item[classifier = $classifier] - let $label := $item/label/text() - order by $label + order by $item/sort/text(), $item/label/text() return <li> <input type="radio" name="type" value="{$item/value/text()}"/><span> {$item/label/text()}</span> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2011-06-24 10:59:58
|
Revision: 14772 http://exist.svn.sourceforge.net/exist/?rev=14772&view=rev Author: jenspetersen Date: 2011-06-24 10:59:50 +0000 (Fri, 24 Jun 2011) Log Message: ----------- [tamboti] Fixes to editor. Modified Paths: -------------- apps/tamboti/modules/edit/body/00-compact-contents.xml apps/tamboti/modules/edit/body/00-compact-related-anthology.xml apps/tamboti/modules/edit/body/00-compact-related-periodical.xml apps/tamboti/modules/edit/body/00-compact-related-review.xml apps/tamboti/modules/edit/body/00-compact-related-series.xml apps/tamboti/modules/edit/body/00-compact-related-suebs-tibetan.xml apps/tamboti/modules/edit/body/00-compact-related-xlink.xml apps/tamboti/modules/edit/body/00-compact-standalone.xml apps/tamboti/modules/edit/body/01-title.xml apps/tamboti/modules/edit/body/02-name.xml apps/tamboti/modules/edit/code-tables/hint-codes.xml apps/tamboti/modules/edit/edit.xq apps/tamboti/modules/edit/instances/contribution-to-edited-volume-latin.xml apps/tamboti/modules/edit/tab-data.xml apps/tamboti/modules/edit/tabs.xqm apps/tamboti/modules/search/retrieve-mods.xql apps/tamboti/themes/default/dialogs.xml Added Paths: ----------- apps/tamboti/modules/edit/instances/monograph-transliterated.xml Removed Paths: ------------- apps/tamboti/modules/edit/instances/monograph-transliteration.xml Modified: apps/tamboti/modules/edit/body/00-compact-contents.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-contents.xml 2011-06-23 10:54:59 UTC (rev 14771) +++ apps/tamboti/modules/edit/body/00-compact-contents.xml 2011-06-24 10:59:50 UTC (rev 14772) @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<!-- insert does not work with name --> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-c"> <xf:group> <fieldset class="level-1"> @@ -41,7 +41,7 @@ </div> <xf:repeat nodeset="./mods:topic" id="topic-repeat"> <xf:group ref="." class="hide-label margin-plus"> - <xf:input ref="." class="text_50"> + <xf:input ref="." class="text_100"> <xf:label>Topic</xf:label> </xf:input> </xf:group> @@ -69,7 +69,7 @@ </div> <xf:repeat nodeset="./mods:geographic" id="geographic-repeat"> <xf:group ref="." class="hide-label margin-plus"> - <xf:input ref="." class="text_50"> + <xf:input ref="." class="text_100"> <xf:label>Geographic</xf:label> </xf:input> </xf:group> @@ -98,7 +98,13 @@ <xf:repeat nodeset="./mods:temporal" id="temporal-repeat"> <xf:group ref=".[@encoding]" class="margin-plus"> <xf:select1 ref="./@encoding"> - <xf:label>Encoding</xf:label> + <xf:label>Encoding<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='temporal-encoding']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='date-encoding-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -107,7 +113,13 @@ </xf:group> <xf:group ref=".[@point]" class="margin-plus"> <xf:select1 ref="./@point"> - <xf:label>Point</xf:label> + <xf:label>Point<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='temporal-point']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='date-point-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -119,6 +131,9 @@ <xf:label>Date</xf:label> </xf:input> </xf:group> + <xf:group ref=".[count(../mods:temporal) > 1]"> + <br/> + </xf:group> </xf:repeat> </fieldset> </xf:group> @@ -131,7 +146,7 @@ <!--<xf:trigger> <xf:label>+</xf:label> <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="instance('save-data')/mods:subject/mods:titleInfo" at="index('subject-titleInfo-repeat')" position="after" + <xf:insert nodeset="instance('save-data')/mods:titleInfo" at="index('subject-titleInfo-repeat')" position="after" origin="instance('compact-template')/mods:titleInfo[1]"/> </xf:action> </xf:trigger>--> @@ -143,28 +158,100 @@ </div> </span> </div> - <xf:repeat nodeset="instance('save-data')/mods:subject/mods:titleInfo" id="subject-titleInfo-repeat"> + <xf:repeat nodeset="./mods:titleInfo" id="subject-titleInfo-repeat"> <xf:group ref=".[(@transliteration) or string-length(@lang) > 0]"> <br/> </xf:group> - <xf:group ref=".[string-length(@lang) > 0]" class="text_10 margin-plus"> + <xf:group ref=".[@lang and string-length(@lang) < 1]" class="text_10 margin-plus"> + <xf:select1 ref="/mods:mods/mods:language/mods:languageTerm"> + <xf:label>Global Language<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='lang-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[@lang]" class="text_10 margin-plus"> <xf:select1 ref="./@lang"> - <xf:label>Language</xf:label> + <xf:label>Local Language<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='lang-local-compact']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> </xf:select1> </xf:group> - <xf:group ref=".[(@transliteration)]" class="margin-plus"> + <xf:group ref=".[string-length(/mods:mods/mods:extension/*:transliterationOfResource) > 0 and @transliteration and string-length(@transliteration) < 1]" class="margin-plus"> <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> - <xf:label>Transliteration</xf:label> + <xf:label>Global Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-global-compact']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> </xf:select1> </xf:group> + <xf:group ref=".[@transliteration]" class="margin-plus"> + <xf:select1 ref="./@transliteration"> + <xf:label>Local Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[not(@type) and string-length(@script) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:language/mods:scriptTerm"> + <xf:label>Global Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[not(@type)]" class="margin-plus"> + <xf:select1 ref="./@script"> + <xf:label>Local Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> <xf:group> <xf:input ref="./mods:nonSort" class="text_10 margin-plus"> <xf:label> @@ -192,6 +279,9 @@ </xf:label> </xf:input> </xf:group> + <xf:group ref=".[count(../mods:titleInfo) > 1]"> + <br/> + </xf:group> </xf:repeat> </fieldset> </xf:group> @@ -206,121 +296,205 @@ </div> </span> </div> - <xf:group> - <fieldset class="level-3"> - <div class="join"> - <span class="legend">Person as Topic</span> - <span class="join-button wide"> - <xf:trigger> - <xf:label>+</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-person-repeat')" position="after" origin="instance('compact-template')/mods:name[1]"/> - </xf:action> - </xf:trigger> - </span> - <span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='subject-name-personal']/help"/> + <fieldset class="level-3"> + <div class="join"> + <span class="legend">Person(s) as Topic</span> + <span class="join-button"> + <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='Latin']"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-person-repeat')" position="after" origin="instance('compact-template')/mods:name[1]"/> + </xf:action> + </xf:trigger> + <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='not Latin']"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-person-repeat')" position="after" origin="instance('compact-template')/mods:name[2]"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-compact']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:name" id="subject-name-person-repeat"> + <xf:group ref=".[@type = 'personal']"> + <fieldset class="level-4"> + <div class="join"> + <span class="legend">Name</span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='namePart-compact']/help"/> + </div> + </span> </div> - </span> - </div> - <xf:repeat nodeset="./mods:name" id="subject-name-person-repeat"> - <xf:group ref=".[@type = 'personal']"> - <xf:repeat nodeset="./mods:namePart" id="subject-namePart-repeat"> - <xf:group> - <xf:group class="hide-label margin-plus"> - <xf:select1 ref="./@type"> - <xf:label>Type</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-part-type-compact-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group class="margin-plus"> - <xf:input ref="." class="text_100 hide-label"> - <xf:label>Name Part</xf:label> - </xf:input> - </xf:group> + <xf:group ref=".[string-length(/mods:mods/mods:extension/*:transliterationOfResource) > 0 and mods:namePart/@transliteration and string-length(mods:namePart/@transliteration) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> + <xf:label>Global Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[mods:namePart/@transliteration]" class="margin-plus"> + <xf:select1 ref="./mods:namePart/@transliteration"> + <xf:label>Local Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:repeat nodeset="./mods:namePart" id="subject-namePart-person-repeat"> + <xf:group class="margin-plus"> + <xf:select1 ref="./@type"> + <xf:label> + <xf:group ref="../.[@script='Latn']">Transliterated<span class="xforms-hint-icon opaque"/> + </xf:group> + <xf:group ref="../.[not(@script='Latn')]"/> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-part-type-compact-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + <xf:input ref="." class="text_100"> + <xf:label/> + </xf:input> </xf:group> - <xf:group ref=".[@script='Latn']"> - <xf:group class="margin-plus"> - <xf:select1 ref="./@type"> - <xf:label> Type of Transliterated Name Part </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-part-type-compact-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group class="margin-plus"> - <xf:input ref="." class="text_100"> - <xf:label>Transliterated Name Part</xf:label> - </xf:input> - </xf:group> - </xf:group> </xf:repeat> - <xf:group ref=".[count(../mods:name[@type = 'personal']) > 1]"> - <br/> + </fieldset> + </xf:group> + </xf:repeat> + </fieldset> + <fieldset class="level-3"> + <div class="join"> + <span class="legend">Institutions(s) as Topic</span> + <span class="join-button"> + <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='Latin']"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-institution-repeat')" position="after" origin="instance('compact-template')/mods:name[1]"/> + </xf:action> + </xf:trigger> + <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='not Latin']"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-institution-repeat')" position="after" origin="instance('compact-template')/mods:name[2]"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-compact']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:name" id="subject-name-institution-repeat"> + <xf:group ref=".[@type = 'corporate']"> + <fieldset class="level-4"> + <div class="join"> + <span class="legend">Name</span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='namePart-compact']/help"/> + </div> + </span> + </div> + <xf:group class="hide-label margin-plus"/> + <xf:group ref=".[mods:namePart/@script and string-length(mods:namePart/@script) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:language/mods:scriptTerm"> + <xf:label>Global Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> </xf:group> - </xf:group> - </xf:repeat> - </fieldset> - </xf:group> - <xf:group> - <fieldset class="level-3"> - <div class="join"> - <span class="legend">Institution as Topic</span> - <span class="join-button wide"> - <xf:trigger> - <xf:label>+</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-institution-repeat')" position="after" origin="instance('compact-template')/mods:name[9]"/> - </xf:action> - </xf:trigger> - </span> - <span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='subject-name-corporate']/help"/> - </div> - </span> - </div> - <xf:repeat nodeset="./mods:name" id="subject-name-institution-repeat"> - <xf:group ref=".[@type = 'corporate']"> - <xf:repeat nodeset="./mods:namePart" id="subject-namePart-repeat"> - <xf:group> - <xf:group class="margin-plus"> - <xf:input ref="." class="text_100 hide-label"> - <xf:label>Name Part</xf:label> - </xf:input> - </xf:group> + <xf:group ref=".[mods:namePart/@script]" class="margin-plus"> + <xf:select1 ref="./mods:namePart/@script"> + <xf:label>Local Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[string-length(/mods:mods/mods:extension/*:transliterationOfResource) > 0 and mods:namePart/@transliteration and string-length(mods:namePart/@transliteration) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> + <xf:label>Global Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[mods:namePart/@transliteration]" class="margin-plus"> + <xf:select1 ref="./mods:namePart/@transliteration"> + <xf:label>Local Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:repeat nodeset="./mods:namePart" id="subject-namePart-person-repeat"> + <xf:group class="margin-plus"> + <xf:input ref="." class="text_100"> + <xf:label> + <xf:group ref=".[@transliteration]">Transliterated</xf:group> + <xf:group ref=".[@script]"/> + </xf:label> + </xf:input> </xf:group> - <xf:group ref=".[@script='Latn']"> - <xf:group class="margin-plus"> - <xf:select1 ref="./@type"> - <xf:label> Type of Transliterated Name Part </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-part-type-compact-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group class="margin-plus"> - <xf:input ref="." class="text_100"> - <xf:label>Transliterated Name Part</xf:label> - </xf:input> - </xf:group> - </xf:group> </xf:repeat> - <xf:group ref=".[count(../mods:name[@type = 'corporate']) > 1]"> - <br/> - </xf:group> - </xf:group> - </xf:repeat> - </fieldset> - </xf:group> + </fieldset> + </xf:group> + </xf:repeat> + </fieldset> </fieldset> </xf:group> </xf:repeat> @@ -350,10 +524,8 @@ <xf:repeat nodeset="./mods:note" id="note-repeat"> <xf:group class="margin-plus"> <xf:select1 ref="./@type" selection="open" class="margin-plus"> - <xf:label>Type</xf:label> - <xf:hint> - <p>Hint</p> - </xf:hint> + <xf:label>Type<span class="xforms-hint-icon opaque"/> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='note-type-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> Modified: apps/tamboti/modules/edit/body/00-compact-related-anthology.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-anthology.xml 2011-06-23 10:54:59 UTC (rev 14771) +++ apps/tamboti/modules/edit/body/00-compact-related-anthology.xml 2011-06-24 10:59:50 UTC (rev 14772) @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-b-anthology"> <xf:group> <fieldset class="level-1"> @@ -9,9 +8,7 @@ <span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> - <p> Enter here information related to the edited volume that the edited volume contribution you are cataloguing occurs in. This - information falls into two groups: general information on the edited volume and specific information on the location of the - edited volume contribution in the edited volume.</p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='edited-volume-compact']/help"/> </div> </span> </div> @@ -24,14 +21,7 @@ <span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> - <p> Enter here the title of the edited volume you are cataloguing. If the title divides into a main title and a - subtitle, enter each part in its separate field. </p> - <p> If the title is in a language that is usually transliterated, enter the transliterated title and subtitle in their - respective fields. Use the transliteration scheme you chose when selecting a record template. </p> - <p> If you believe it is useful to supply a translation of the title, do so in their relevant fields. Note the language - that the title information is translated into (the default is English). </p> - <p> The language used is only specified if it is different from the language noted in Language of Resource when you - selected the record template. The most common languages have been moved to the top of the list. </p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='edited-volume-titleInfo-compact']/help"/> </div> </span> </div> @@ -95,12 +85,7 @@ <span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> - <p> In Names and Roles, catalogue the names of each person, corporation or conference associated with the resource.</p> - <p> Include as many Names and Roles as needed, by clicking the '+' button. </p> - <p> Choose an appropriate Type of Name for each name, "personal" for personal names, "corporate" for names of - institutions, and "conference" for names of events such as conferences..</p> - <p> Please notice that the role pertaining to a name follows the name in question.</p> - <p> More input options can be found on the Name Info tab on the Citation Forms.</p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='edited-volume-name-compact']/help"/> </div> </span> </div> @@ -126,10 +111,7 @@ <span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> - <p> Analyse each name into separate name parts, e.g. Given Name and Family Name.</p> - <p> If this is not possible, choose "(none selected)" and enter the whole name in the field in question.</p> - <p> If a given or family name consists of several parts, enter all parts of the same type in the same field.</p> - <p> More input options can be accessed by clicking the Subjects tab on Context Description Forms.</p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='namePart-compact']/help"/> </div> </span> </div> @@ -184,10 +166,7 @@ <span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> - <p> Analyse each name into separate name parts, e.g. Given Name and Family Name.</p> - <p> If this is not possible, choose "(none selected)" and enter the whole name in the field in question.</p> - <p> If a given or family name consists of several parts, enter all parts of the same type in the same field.</p> - <p> More input options can be accessed by clicking the Subjects tab on Context Description Forms.</p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='namePart-institution-compact']/help"/> </div> </span> </div> @@ -231,8 +210,7 @@ <span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> - <p> Information about the origin of the resource, including its place of origin or publication, publisher/originator, - and the dates associated with the resource. </p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='originInfo-compact']/help"/> </div> </span> </div> @@ -243,6 +221,12 @@ <fieldset class="level-3"> <div class="join"> <span class="legend">City Name</span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='place-compact']/help"/> + </div> + </span> </div> <!--place repeat begins--> <xf:repeat nodeset="./mods:place" id="relatedItem-place-anthology-repeat"> @@ -279,6 +263,12 @@ <fieldset class="level-3"> <div class="join"> <span class="legend">Publisher</span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='publisher-compact']/help"/> + </div> + </span> </div> <!--publisher repeat begins--> <xf:repeat nodeset="./mods:publisher" id="relatedItem-publisher-anthology-repeat"> @@ -301,6 +291,12 @@ <fieldset class="level-3"> <div class="join"> <span class="legend">Year of Publication</span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='dateIssued-compact']/help"/> + </div> + </span> </div> <!--dateIssued repeat begins--> <xf:repeat nodeset="./mods:dateIssued" id="relatedItem-date-issued-anthology-repeat"> @@ -339,8 +335,7 @@ <span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> - <p> Note here in which volume and on which pages the edited volume contribution you are cataloguing occurs in the edited - volume .</p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='originIfo-compact']/help"/> </div> </span> </div> @@ -376,8 +371,7 @@ <div class="join"> <span class="legend">Page Extent</span> <div class="xforms-help-value"> - <p> Use this field to indicate from which page and to which page the edited volume contribution you are - cataloguing occurs in the volume (if any) of the edited volume noted above. </p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='extent-compact']/help"/> </div> </div> <!--relatedItem/part/extent repeat begins--> @@ -422,10 +416,7 @@ <span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> - <p>Enter here primarily the International Standard Book Number (ISBN) number of the edited volume you are cataloguing - and/or its Digital Object Identifier (DOI). </p> - <p>Use the 13-digit version of the ISBN number, if available.</p> - <p>If you have access to any other unique identifier, please record it.</p> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='identifier-monograph-compact']/help"/> </div> </span> </div> @@ -457,12 +448,12 @@ <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> <p> Enter here information related to the monograph series that the monograph you are cataloguing occurs in. This - information falls into two groups: general information on the monograph series and specific information on the - location of the monograph in the monograph series.</p> + information falls into two groups: general information on the monograph series and specific information on the location + of the monograph in the monograph series.</p> </div> </span> </div> - <!--relatedItem repeat begins--> + <!--relatedItem repeat begins--> <xf:repeat nodeset="./mods:relatedItem" id="relatedItem-relatedItem-series-repeat"> <xf:group> <fieldset class="level-3"> @@ -472,20 +463,18 @@ <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> <p> Enter here the title of the series you are cataloguing. If the title divides into a main title and a - subtitle, enter each part in its separate field. </p> - <p> If the title is in a language that is usually transliterated, enter the transliterated title and - subtitle in their respective fields. Use the transliteration scheme you chose when selecting a record - template. </p> - <p> If you believe it is useful to supply a translation of the title, do so in their relevant fields. Note - the language that the title information is translated into (the default is Engli... [truncated message content] |
From: <wol...@us...> - 2011-06-30 09:11:41
|
Revision: 14809 http://exist.svn.sourceforge.net/exist/?rev=14809&view=rev Author: wolfgang_m Date: 2011-06-30 09:11:35 +0000 (Thu, 30 Jun 2011) Log Message: ----------- Fixed query forms to work with theming. Modified Paths: -------------- apps/tamboti/modules/theme.xqm apps/tamboti/themes/default/query.xml Modified: apps/tamboti/modules/theme.xqm =================================================================== --- apps/tamboti/modules/theme.xqm 2011-06-29 20:19:29 UTC (rev 14808) +++ apps/tamboti/modules/theme.xqm 2011-06-30 09:11:35 UTC (rev 14809) @@ -166,7 +166,11 @@ </head> case element(body) return <body> - { $node/node(), $template//body/node() } + { + $template//body/div[@id = "template-head"], + $node/node(), + $template//body/node() except $template//body/div[@id = "template-head"] + } </body> case element() return element { node-name($node) } { Modified: apps/tamboti/themes/default/query.xml =================================================================== --- apps/tamboti/themes/default/query.xml 2011-06-29 20:19:29 UTC (rev 14808) +++ apps/tamboti/themes/default/query.xml 2011-06-30 09:11:35 UTC (rev 14809) @@ -2,7 +2,7 @@ <div xmlns:jquery="http://exist-db.org/xquery/jquery" id="query-panel"> <jquery:tabset id="query-tabs" on-select="searchTabSelected"> <jquery:tab id="simple" label="Simple Search"> - <form id="simple-search-form" class="search-form" action="index.html" name="simple-search" method="POST"> + <form id="simple-search-form" class="search-form" action="" name="simple-search" method="POST"> <table> <tr> <td class="label">Search for </td> @@ -39,7 +39,7 @@ </jquery:tab> <jquery:tab id="advanced-search-form" label="Advanced Search"> <jquery:form-repeat trigger="#add-field" delete="#remove-field" form=".search-form" on-ready="repeatCallback"/> - <form class="search-form" action="index.html" name="advanced-search" method="POST"> + <form class="search-form" action="" name="advanced-search" method="POST"> <table> <tr> <td/> @@ -94,7 +94,7 @@ <div id="query-history-content"/> </jquery:tab> <jquery:tab id="personal-list" label="My List"> - <form class="search-form" action="index.html" name="lists" method="POST"> + <form class="search-form" action="" name="lists" method="POST"> <p>You have <span id="personal-list-size">0</span> items in your list.</p> <p> <input type="hidden" name="query-tabs" value="personal-list"/> @@ -109,4 +109,4 @@ </p> </jquery:tab> </jquery:tabset> -</div> \ No newline at end of file +</div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2011-07-04 10:58:00
|
Revision: 14830 http://exist.svn.sourceforge.net/exist/?rev=14830&view=rev Author: jenspetersen Date: 2011-07-04 10:57:51 +0000 (Mon, 04 Jul 2011) Log Message: ----------- [tamboti] Fixes to editor and search display. Modified Paths: -------------- apps/tamboti/modules/edit/body/00-compact-contents.xml apps/tamboti/modules/edit/body/00-compact-related-anthology.xml apps/tamboti/modules/edit/body/00-compact-related-periodical.xml apps/tamboti/modules/edit/body/00-compact-related-review.xml apps/tamboti/modules/edit/body/00-compact-related-series.xml apps/tamboti/modules/edit/body/00-compact-related-suebs-tibetan.xml apps/tamboti/modules/edit/body/00-compact-related-xlink.xml apps/tamboti/modules/edit/body/00-compact-standalone.xml apps/tamboti/modules/edit/body/01-title.xml apps/tamboti/modules/edit/body/02-name.xml apps/tamboti/modules/edit/body/03-origin.xml apps/tamboti/modules/edit/body/04-part.xml apps/tamboti/modules/edit/body/05-physical-description.xml apps/tamboti/modules/edit/body/06-target-audience.xml apps/tamboti/modules/edit/body/07-language.xml apps/tamboti/modules/edit/body/08-type.xml apps/tamboti/modules/edit/body/09-genre.xml apps/tamboti/modules/edit/body/10-subject.xml apps/tamboti/modules/edit/body/11-classification.xml apps/tamboti/modules/edit/body/12-abstract.xml apps/tamboti/modules/edit/body/13-table-of-contents.xml apps/tamboti/modules/edit/body/14-note.xml apps/tamboti/modules/edit/body/15-related.xml apps/tamboti/modules/edit/body/16-identifier.xml apps/tamboti/modules/edit/body/17-record-info.xml apps/tamboti/modules/edit/body/18-access-condition.xml apps/tamboti/modules/edit/body/19-location.xml apps/tamboti/modules/edit/body/20-extension.xml apps/tamboti/modules/edit/code-tables/abbreviated-title-authority-codes.xml apps/tamboti/modules/edit/code-tables/access-condition-type-codes.xml apps/tamboti/modules/edit/code-tables/altRepGroup-codes.xml apps/tamboti/modules/edit/code-tables/bgtchm-genre-code.xml apps/tamboti/modules/edit/code-tables/classification-authority-codes.xml apps/tamboti/modules/edit/code-tables/code-text-codes.xml apps/tamboti/modules/edit/code-tables/continent-codes.xml apps/tamboti/modules/edit/code-tables/date-encoding-codes.xml apps/tamboti/modules/edit/code-tables/date-encoding-short-codes.xml apps/tamboti/modules/edit/code-tables/date-keydate-codes.xml apps/tamboti/modules/edit/code-tables/date-point-codes.xml apps/tamboti/modules/edit/code-tables/date-qualifier-codes.xml apps/tamboti/modules/edit/code-tables/dct-resource-type-codes.xml apps/tamboti/modules/edit/code-tables/description-standard-authority-codes.xml apps/tamboti/modules/edit/code-tables/digital-origin-type-codes.xml apps/tamboti/modules/edit/code-tables/document-type-codes.xml apps/tamboti/modules/edit/code-tables/form-codes.xml apps/tamboti/modules/edit/code-tables/form-type-codes.xml apps/tamboti/modules/edit/code-tables/frequency-authority-codes.xml apps/tamboti/modules/edit/code-tables/frequency-codes.xml apps/tamboti/modules/edit/code-tables/genre-authority-codes.xml apps/tamboti/modules/edit/code-tables/genre-marcgt-codes.xml apps/tamboti/modules/edit/code-tables/genre-marcsmd-codes.xml apps/tamboti/modules/edit/code-tables/geographic-code-authority-codes.xml apps/tamboti/modules/edit/code-tables/hint-codes.xml apps/tamboti/modules/edit/code-tables/identifier-type-codes.xml apps/tamboti/modules/edit/code-tables/internet-media-type-codes.xml apps/tamboti/modules/edit/code-tables/iso3166-country-codes.xml apps/tamboti/modules/edit/code-tables/issuance-codes.xml apps/tamboti/modules/edit/code-tables/language-2-type-codes.xml apps/tamboti/modules/edit/code-tables/language-3-type-codes.xml apps/tamboti/modules/edit/code-tables/language-3-type-sorted-codes.xml apps/tamboti/modules/edit/code-tables/language-3-type-sorted-short-codes.xml apps/tamboti/modules/edit/code-tables/language-authority-codes.xml apps/tamboti/modules/edit/code-tables/location-unittype-codes.xml apps/tamboti/modules/edit/code-tables/marc-country-codes.xml apps/tamboti/modules/edit/code-tables/name-part-type-codes.xml apps/tamboti/modules/edit/code-tables/name-part-type-compact-codes.xml apps/tamboti/modules/edit/code-tables/name-role-relator-authority-codes.xml apps/tamboti/modules/edit/code-tables/name-title-authority-codes.xml apps/tamboti/modules/edit/code-tables/nameTitleGroup-codes.xml apps/tamboti/modules/edit/code-tables/note-type-codes.xml apps/tamboti/modules/edit/code-tables/part-extent-unit-codes.xml apps/tamboti/modules/edit/code-tables/place-authority-codes.xml apps/tamboti/modules/edit/code-tables/record-content-source-authority-codes.xml apps/tamboti/modules/edit/code-tables/reformatting-codes.xml apps/tamboti/modules/edit/code-tables/related-item-type-codes.xml apps/tamboti/modules/edit/code-tables/role-codes.xml apps/tamboti/modules/edit/code-tables/role-short-codes.xml apps/tamboti/modules/edit/code-tables/script-codes.xml apps/tamboti/modules/edit/code-tables/start-end-codes.xml apps/tamboti/modules/edit/code-tables/subject-authority-codes.xml apps/tamboti/modules/edit/code-tables/target-audience-authority-codes.xml apps/tamboti/modules/edit/code-tables/target-audience-local-codes.xml apps/tamboti/modules/edit/code-tables/target-audience-marctarget-codes.xml apps/tamboti/modules/edit/code-tables/title-type-codes.xml apps/tamboti/modules/edit/code-tables/transliteration-codes.xml apps/tamboti/modules/edit/code-tables/type-of-resource-codes.xml apps/tamboti/modules/edit/code-tables/url-access-type-codes.xml apps/tamboti/modules/edit/code-tables/url-usage-type-codes.xml apps/tamboti/modules/edit/code-tables/usage-type-codes.xml apps/tamboti/modules/edit/code-tables/yes-empty-codes.xml apps/tamboti/modules/edit/edit.css apps/tamboti/modules/edit/instances/article-in-periodical-latin.xml apps/tamboti/modules/edit/instances/article-in-periodical-transliterated.xml apps/tamboti/modules/edit/instances/book-review-latin.xml apps/tamboti/modules/edit/instances/compact-template.xml apps/tamboti/modules/edit/instances/contribution-to-edited-volume-latin.xml apps/tamboti/modules/edit/instances/insert-templates.xml apps/tamboti/modules/edit/instances/new-instance.xml apps/tamboti/modules/edit/tab-data.xml apps/tamboti/modules/edit/tabs.xqm apps/tamboti/modules/search/controller.xql apps/tamboti/modules/search/retrieve-mods.xql apps/tamboti/themes/default/css/biblio.css apps/tamboti/themes/default/images/moving_image.png apps/tamboti/themes/default/images/text.png Added Paths: ----------- apps/tamboti/modules/edit/code-tables/legends/ apps/tamboti/modules/edit/code-tables/legends/bgtchm-genre-code-legend.xml apps/tamboti/modules/edit/code-tables/legends/dct-resource-type-codes-legend.xml apps/tamboti/modules/edit/code-tables/legends/marc-country-codes-legend.xml apps/tamboti/modules/edit/code-tables/legends/role-codes-legend.xml apps/tamboti/modules/edit/code-tables/name-type-compact-codes.xml apps/tamboti/modules/edit/code-tables/script-short-codes.xml apps/tamboti/modules/edit/code-tables/transliteration-short-codes.xml apps/tamboti/themes/default/images/cartographic.png apps/tamboti/themes/default/images/mixed_material.png apps/tamboti/themes/default/images/notated_music.png apps/tamboti/themes/default/images/software_multimedia.png apps/tamboti/themes/default/images/sound_recording-musical.png apps/tamboti/themes/default/images/sound_recording-nonmusical.png apps/tamboti/themes/default/images/sound_recording.png apps/tamboti/themes/default/images/still_image.png apps/tamboti/themes/default/images/three_dimensional_object.png Modified: apps/tamboti/modules/edit/body/00-compact-contents.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-contents.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/00-compact-contents.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <!-- insert does not work with name --> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-c"> <xf:group> @@ -201,7 +202,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -216,7 +217,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -231,7 +232,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -246,7 +247,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -341,7 +342,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -356,7 +357,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -430,7 +431,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -445,7 +446,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -460,7 +461,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -475,7 +476,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> Modified: apps/tamboti/modules/edit/body/00-compact-related-anthology.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-anthology.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/00-compact-related-anthology.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-b-anthology"> <xf:group> <fieldset class="level-1"> @@ -33,7 +34,7 @@ <xf:group ref=".[(@transliteration)]" class="margin-plus"> <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> <xf:label>Transliteration</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> Modified: apps/tamboti/modules/edit/body/00-compact-related-periodical.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-periodical.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/00-compact-related-periodical.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-b-periodical"> <xf:group> <fieldset class="level-1"> @@ -37,7 +38,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -63,7 +64,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> Modified: apps/tamboti/modules/edit/body/00-compact-related-review.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-review.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/00-compact-related-review.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-b-review"> <xf:group> <xf:repeat nodeset="instance('save-data')/mods:relatedItem" id="relatedItem-review-repeat"> @@ -47,7 +48,7 @@ <xf:group ref=".[(@transliteration)]" class="margin-plus"> <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> <xf:label>Transliteration</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -336,7 +337,7 @@ <xf:group ref=".[mods:namePart/@transliteration]" class="margin-plus"> <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> <xf:label>Transliteration</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -445,7 +446,7 @@ <xf:group ref=".[@transliteration]" class="margin-plus"> <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> <xf:label>Transliteration</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -740,14 +741,16 @@ </span> </div> <!--url repeat begins--> - <xf:repeat nodeset=" instance('save-data')/mods:location/mods:url" id="location-url-repeat"> + <xf:repeat nodeset="./mods:location" id="location-url-repeat"> + <xf:repeat nodeset="./mods:url" id="location-url-repeat"> <!--url input begins--> - <xf:group class="margin-plus"> - <xf:input ref="." class="text_150 hide-label margin-plus"> - <xf:label>URL</xf:label> - </xf:input> - </xf:group> + <xf:group class="margin-plus"> + <xf:input ref="." class="text_150 hide-label margin-plus"> + <xf:label>URL</xf:label> + </xf:input> + </xf:group> <!--url input ends--> + </xf:repeat> </xf:repeat> <!--url repeat ends--> </fieldset> Modified: apps/tamboti/modules/edit/body/00-compact-related-series.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-series.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/00-compact-related-series.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-b-series"> <xf:group> <fieldset class="level-1"> @@ -42,7 +43,7 @@ <xf:group ref=".[(@transliteration)]" class="margin-plus"> <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> <xf:label>Transliteration</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> Modified: apps/tamboti/modules/edit/body/00-compact-related-suebs-tibetan.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-suebs-tibetan.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/00-compact-related-suebs-tibetan.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-b-suebs-tibetan"> <xf:group> <fieldset class="level-1"> @@ -86,7 +87,7 @@ <xf:group class="margin-plus"> <xf:select1 ref="./@transliteration"> <xf:label>Transliteration</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> Modified: apps/tamboti/modules/edit/body/00-compact-related-xlink.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-xlink.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/00-compact-related-xlink.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-b-xlink"> <xf:group> <fieldset class="level-1"> @@ -474,7 +475,7 @@ <!--NB-->: Chinese: pinyin Japanese: (modified) Hepburn Korean: <!--NB--> Russian: <!--NB--> Sanskrit: <!--NB--> If you employ a different, but recognised, transliteration scheme, you may have it added to the list. </p> </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -497,7 +498,7 @@ "Han (Simplified Variant)" or "Han (Traditional Variant)". If the two variants are not considered, it is "Han (Hanzi, Kanji, Hanja)", also used for Japanese, Korean and Vietnamese written in Chinese. </p> </xf:hint> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> Modified: apps/tamboti/modules/edit/body/00-compact-standalone.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-standalone.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/00-compact-standalone.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-a"> <xf:group ref=".[mods:name]"> <fieldset class="level-1"> @@ -24,7 +25,7 @@ </div> </span> </div> - <xf:repeat nodeset="instance('save-data')/mods:name" id="name-repeat"> + <xf:repeat nodeset="./mods:name" id="name-repeat"> <xf:group> <fieldset class="level-2"> <div class="join"> @@ -54,7 +55,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -129,7 +130,7 @@ </div> </span> </div> - <xf:repeat nodeset="instance('save-data')/mods:titleInfo" id="titleInfo-repeat"> + <xf:repeat nodeset="./mods:titleInfo" id="titleInfo-repeat"> <xf:group ref=".[@transliteration or string-length(@lang) > 0]"> <br/> </xf:group> @@ -152,7 +153,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -167,7 +168,7 @@ </div> </span> </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> @@ -268,7 +269,7 @@ </div> </span> </div> - <xf:repeat nodeset="instance('save-data')/mods:originInfo" id="origininfo-repeat"> + <xf:repeat nodeset="./mods:originInfo" id="origininfo-repeat"> <xf:group ref=".[string-length(@transliteration) > 0]"> <br/> </xf:group> @@ -398,7 +399,7 @@ </span> </div> <!--physicalDescription repeat begins--> - <xf:repeat nodeset="instance('save-data')/mods:physicalDescription" id="physicalDescription-repeat"> + <xf:repeat nodeset="./mods:physicalDescription" id="physicalDescription-repeat"> <!--internetMediaType begins--> <xf:group ref=".[mods:internetMediaType]"> <fieldset class="level-2"> @@ -472,12 +473,14 @@ </div> </span> </div> - <xf:repeat nodeset=" instance('save-data')/mods:location/mods:url" id="location-url-repeat"> - <xf:group class="margin-plus"> - <xf:input ref="." class="text_150 hide-label margin-plus"> - <xf:label>URL</xf:label> - </xf:input> - </xf:group> + <xf:repeat nodeset="./mods:location" id="location-repeat"> + <xf:repeat nodeset="./mods:url" id="location-url-repeat"> + <xf:group class="margin-plus"> + <xf:input ref="." class="text_150 hide-label margin-plus"> + <xf:label>URL</xf:label> + </xf:input> + </xf:group> + </xf:repeat> </xf:repeat> </fieldset> </xf:group> @@ -500,7 +503,7 @@ </div> </span> </div> - <xf:repeat nodeset="instance('save-data')/mods:identifier" id="identifier-repeat"> + <xf:repeat nodeset="./mods:identifier" id="identifier-repeat"> <xf:group ref=".[@type]" selection="open" class="hide-label margin-plus"> <xf:select1 ref="./@type"> <xf:label>Type</xf:label> Modified: apps/tamboti/modules/edit/body/01-title.xml =================================================================== --- apps/tamboti/modules/edit/body/01-title.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/01-title.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="title block-form" tab-id="title"> <xf:group class="fieldset level-1"> <div class="join"> @@ -25,9 +26,7 @@ </xf:trigger> </span> </div> - <!--titleInfo repeat begins--> <xf:repeat nodeset="instance('save-data')/mods:titleInfo" id="titleInfo-repeat"> - <!--titleInfo node-add begins--> <xf:group class="show-hide"> <xf:switch> <xf:case id="titleInfo-add-node-hide"> @@ -243,13 +242,9 @@ </xf:case> </xf:switch> </xf:group> - <!--titleInfo node-add ends--> - <!--titleInfo input begins--> - <!--<xf:output ref="instance('code-tables')/code-table[code-table-name='title-type-code']/items/item[value='abbreviated']/label"/>--> <!--DLF/Aquifer: OPTIONAL--> - <!--Cluster: omit--> <xf:group class="text_50 schema_3.3 schema_3.4"> <xf:input ref="./@ID"> <xf:label>ID<span class="xforms-help"> @@ -262,7 +257,6 @@ </xf:input> </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> - <!--Cluster: omit--> <xf:group class="text_50 schema_3.3 schema_3.4"> <xf:input ref="./@xlink:href"> <xf:label>XLink<span class="xforms-help"> @@ -275,7 +269,6 @@ </xf:input> </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> - <!--Cluster: include--> <xf:group class="schema_3.3 schema_3.4"> <xf:select1 ref="./@type"> <xf:label>Type<span class="xforms-help"> @@ -292,10 +285,8 @@ </xf:select1> </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> - <!--Cluster: include--> - <!--selection="open"--> <xf:group class="schema_3.3 schema_3.4"> - <xf:select1 ref="./@authority"> + <xf:select1 ref="./@authority" selection="open"> <xf:label>Abbreviated Title Authorities<span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> @@ -310,10 +301,8 @@ </xf:select1> </xf:group> <!--DLF/Aquifer: RECOMMENDED IF APPLICABLE--> - <!--Cluster: include--> - <!--selection="open"--> <xf:group class="schema_3.3 schema_3.4"> - <xf:select1 ref="./@authority"> + <xf:select1 ref="./@authority" selection="open"> <xf:label>Name-Title Authorities<span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> @@ -376,7 +365,6 @@ </xf:input> </xf:group> <!--DLF/Aquifer: REQUIRED IF APPLICABLE--> - <!--Cluster: include--> <xf:group class="schema_3.3 schema_3.4"> <xf:select1 ref="./@lang"> <xf:label>Language<span class="xforms-help"> @@ -393,7 +381,6 @@ </xf:select1> </xf:group> <!--DLF/Aquifer: NOT RECOMMENDED]--> - <!--Cluster: omit--> <xf:group class="schema_3.3 schema_3.4"> <xf:select1 ref="./@xml:lang"> <xf:label>XML:Lang<span class="xforms-help"> @@ -410,10 +397,8 @@ </xf:select1> </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]--> - <!--Cluster: include--> - <!--selection="open"--> <xf:group class="schema_3.3 schema_3.4"> - <xf:select1 ref="./@transliteration"> + <xf:select1 ref="./@transliteration" selection="open"> <xf:label>Transliteration<span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> @@ -428,7 +413,6 @@ </xf:select1> </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]--> - <!--Cluster: include--> <xf:group class="schema_3.3 schema_3.4"> <xf:select1 ref="./@script"> <xf:label>Script @@ -446,7 +430,6 @@ </xf:select1> </xf:group> <!--DLF/Aquifer: OPTIONAL]]--> - <!--Cluster: hide--> <xf:group class="text_100 schema_3.3 schema_3.4"> <xf:input ref="./@displayLabel"> <xf:label>Display Label<span class="xforms-help"> @@ -459,10 +442,8 @@ </xf:input> </xf:group> <!--DLF/Aquifer: N/A]]--> - <!--Cluster: hide--> - <!--selection="open"--> <xf:group class="schema_3.4"> - <xf:select1 ref="./@nameTitleGroup"> + <xf:select1 ref="./@nameTitleGroup" selection="open"> <xf:label>Name-Title Group<span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> <div class="xforms-help-value"> @@ -477,7 +458,6 @@ </xf:select1> </xf:group> <!--DLF/Aquifer: N/A]]--> - <!--Cluster: hide--> <xf:group class="schema_3.4 select"> <xf:select1 ref="./@usage"> <xf:label>Usage<span class="xforms-help"> @@ -495,7 +475,6 @@ </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]]--> - <!--Cluster: hide--> <xf:group class="schema_3.3 schema_3.4 set"> <xf:input ref="./mods:nonSort" class="text_10"> <xf:label>Non Sort<span class="xforms-help"> @@ -509,7 +488,6 @@ </xf:group> <!--DLF/Aquifer: [REQUIRED]--> - <!--Cluster: require--> <xf:group class="textarea schema_3.3 schema_3.4"> <xf:textarea ref="./mods:title"> <xf:label>Title<span class="xforms-help"> @@ -522,7 +500,6 @@ </xf:textarea> </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]--> - <!--Cluster: include--> <xf:group class="textarea schema_3.3 schema_3.4"> <xf:textarea ref="./mods:subTitle"> <xf:label>Subtitle<span class="xforms-help"> @@ -535,7 +512,6 @@ </xf:textarea> </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]--> - <!--Cluster: hide--> <xf:group class="text_50 schema_3.3 schema_3.4"> <xf:input ref="./mods:partNumber"> <xf:label>Part Number<span class="xforms-help"> @@ -548,7 +524,6 @@ </xf:input> </xf:group> <!--DLF/Aquifer: [RECOMMENDED IF APPLICABLE]--> - <!--Cluster: hide--> <xf:group class="textarea schema_3.3 schema_3.4"> <xf:textarea ref="./mods:partName"> <xf:label>Part Name<span class="xforms-help"> @@ -560,9 +535,7 @@ </xf:label> </xf:textarea> </xf:group> - <!--titleInfo input ends--> </xf:repeat> - <!--title repeat ends--> <xf:group class="missing"> <xf:trigger ref=".[not(mods:titleInfo)]"> <xf:label>Add Missing Title Information</xf:label> Modified: apps/tamboti/modules/edit/body/02-name.xml =================================================================== --- apps/tamboti/modules/edit/body/02-name.xml 2011-07-03 15:35:18 UTC (rev 14829) +++ apps/tamboti/modules/edit/body/02-name.xml 2011-07-04 10:57:51 UTC (rev 14830) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:e="http://www.asia-europe.uni-heidelberg.de/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="name block-form" tab-id="name"> <xf:group appearance="full" class="fieldset level-1"> <div class="join"> @@ -233,26 +234,35 @@ <xf:group appearance="full" class="margin-bottom-2"> <xf:group appearance="full"> <xf:input ref="./@ID" class="text_50"> - <xf:label>ID</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='ID']/help"/> - </xf:hint> + <xf:label>ID<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='ID']/help"/> + </div> + </span> + </xf:label> </xf:input> </xf:group> <xf:group appearance="full"> <xf:input ref="./@xlink:href" class="text_50"> - <xf:label>XLink</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='xlink:href']/help"/> - </xf:hint> + <xf:label>XLink<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='xlink:href']/help"/> + </div> + </span> + </xf:label> </xf:input> </xf:group> <xf:group appearance="full"> <xf:select1 ref="./@type"> - <xf:label>Type</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-type']/help"/> - </xf:hint> + <xf:label>Type<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-type']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-type-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -261,10 +271,13 @@ </xf:group> <xf:group appearance="full"> <xf:select1 ref="./@authority"> - <xf:label>Authority</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-authority']/help"/> - </xf:hint> + <xf:label>Authority<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-authority']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-title-authority-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -273,27 +286,36 @@ </xf:group> <xf:group appearance="full"> <xf:input ref="./@authorityURI" class="text_50"> - <xf:label>Authority URI</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-authority-uri']/help"/> - </xf:hint> + <xf:label>Authority URI<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-authority-uri']/help"/> + </div> + </span> + </xf:label> </xf:input> </xf:group> <xf:group appearance="full"> <xf:input ref="./@valueURI" class="text_50"> - <xf:label>Value URI</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-value-uri']/help"/> - </xf:hint> + <xf:label>Value URI<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-value-uri']/help"/> + </div> + </span> + </xf:label> </xf:input> </xf:group> <!-- NB: while it does seem reasonable to hold that a name can occur in a certain script or transliteration, it does not in most cases make sense to say that a name is in a certain language. What about William the Conqueror? --> <xf:group appearance="full"> <xf:select1 ref="./@lang"> - <xf:label>Language</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-lang']/help"/> - </xf:hint> + <xf:label>Language<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-lang']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -302,10 +324,13 @@ </xf:group> <xf:group appearance="full"> <xf:select1 ref="./@xml:lang"> - <xf:label>xml:lang</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='xml:lang']/help"/> - </xf:hint> + <xf:label>xml:lang<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='xml:lang']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-2-type-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -314,10 +339,13 @@ </xf:group> <xf:group appearance="full"> <xf:select1 ref="./@script"> - <xf:label>Script</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-script']/help"/> - </xf:hint> + <xf:label>Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-script']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -326,10 +354,13 @@ </xf:group> <xf:group appearance="full"> <xf:select1 ref="./@transliteration"> - <xf:label>Transliteration</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-transliteration']/help"/> - </xf:hint> + <xf:label>Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-transliteration']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -338,18 +369,24 @@ </xf:group> <xf:group appearance="full"> <xf:input ref="./@displayLabel" class="text_50"> - <xf:label>Display Label</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-displayLabel']/help"/> - </xf:hint> + <xf:label>Display Label<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-displayLabel']/help"/> + </div> + </span> + </xf:label> </xf:input> </xf:group> <xf:group appearance="full"> <xf:select1 ref="./@altRepGroup"> - <xf:label>Alternate Representation Groups</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='altRepGroup']/help"/> - </xf:hint> + <xf:label>Alternate Representation Groups<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='altRepGroup']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='altRepGroup-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -358,10 +395,13 @@ </xf:group> <xf:group appearance="full"> <xf:select1 ref="./@nameTitleGroup" selection="open"> - <xf:label>Name-Title Group</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='nameTitleGroup']/help"/> - </xf:hint> + <xf:label>Name-Title Group<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='nameTitleGroup']/help"/> + </div> + </span> + </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='nameTitleGroup-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> @@ -370,10 +410,13 @@ </xf:group> <xf:group appearance="full"> <xf:select1 ref="./@usage"> - <xf:label>Usage</xf:label> - <xf:hint> - <xf:output mediatype="application/xhtml+xml" incremental="tru... [truncated message content] |
From: <jen...@us...> - 2011-07-08 14:33:28
|
Revision: 14843 http://exist.svn.sourceforge.net/exist/?rev=14843&view=rev Author: jenspetersen Date: 2011-07-08 14:33:19 +0000 (Fri, 08 Jul 2011) Log Message: ----------- [tamboti] Fixes to editor and search display. Modified Paths: -------------- apps/tamboti/docs/controller.xql apps/tamboti/docs/index.xml apps/tamboti/docs/security-manager.xml apps/tamboti/docs/stylesheets/db2xhtml.xsl apps/tamboti/docs/stylesheets/xmlsource.xsl apps/tamboti/docs/walkthrough.02.5.xml apps/tamboti/docs/walkthrough.06.xml apps/tamboti/docs/walkthrough.11.xml apps/tamboti/docs/walkthrough.12.xml apps/tamboti/docs/walkthrough.13.1.xml apps/tamboti/docs/walkthrough.13.xml apps/tamboti/docs/walkthrough.27.xml apps/tamboti/docs/walkthrough.xml apps/tamboti/modules/edit/body/00-compact-related-anthology.xml apps/tamboti/modules/edit/body/00-compact-related-periodical.xml apps/tamboti/modules/edit/body/00-compact-related-review.xml apps/tamboti/modules/edit/body/00-compact-related-series.xml apps/tamboti/modules/edit/body/00-compact-related-xlink.xml apps/tamboti/modules/edit/body/00-compact-standalone.xml apps/tamboti/modules/edit/code-tables/document-type-codes.xml apps/tamboti/modules/edit/edit.css apps/tamboti/modules/edit/edit.xq apps/tamboti/modules/edit/instances/article-in-periodical-latin.xml apps/tamboti/modules/edit/instances/contribution-to-edited-volume-latin.xml apps/tamboti/modules/edit/tab-data.xml apps/tamboti/modules/edit/tabs.xqm apps/tamboti/modules/search/cleanup.xql apps/tamboti/modules/search/retrieve-mods.xql apps/tamboti/modules/search/search.xql apps/tamboti/themes/default/css/biblio.css apps/tamboti/themes/default/css/default-style2.css apps/tamboti/themes/default/dialogs.xml apps/tamboti/themes/default/pages/index.html apps/tamboti/themes/default/query.xml apps/tamboti/themes/default/template.xml apps/tamboti/themes/tamboti/pages/index.html Added Paths: ----------- apps/tamboti/docs/stylesheets/docs.css apps/tamboti/themes/default/images/logovjc.gif apps/tamboti/themes/default/images/tamboti.png apps/tamboti/themes/tamboti/css/theme.css Removed Paths: ------------- apps/tamboti/docs/docbook.css apps/tamboti/themes/default/css/customisables.css apps/tamboti/themes/tamboti/css/biblio.css apps/tamboti/themes/tamboti/index.xml Modified: apps/tamboti/docs/controller.xql =================================================================== --- apps/tamboti/docs/controller.xql 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/controller.xql 2011-07-08 14:33:19 UTC (rev 14843) @@ -12,7 +12,7 @@ return if ($exist:path eq '/') then <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <redirect url="../modules/search/index.xml"/> + <redirect url="../modules/search/index.html"/> </dispatch> (: paths starting with /libs/ will be loaded from the webapp directory on the file system :) else if (starts-with($exist:path, "/libs/")) then Deleted: apps/tamboti/docs/docbook.css =================================================================== --- apps/tamboti/docs/docbook.css 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/docbook.css 2011-07-08 14:33:19 UTC (rev 14843) @@ -1,10 +0,0 @@ -body { - font-family: arial,helvetica,sans-serif; - font-size: 13em; - font-style: normal; - font-variant: normal; - font-weight: normal; - line-height: 1.231; - color: red; -} - Modified: apps/tamboti/docs/index.xml =================================================================== --- apps/tamboti/docs/index.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/index.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <book xmlns:xi="http://www.w3.org/2001/XInclude"> <bookinfo> <graphic fileref="theme/images/tamboti.png"/> Modified: apps/tamboti/docs/security-manager.xml =================================================================== --- apps/tamboti/docs/security-manager.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/security-manager.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -215,4 +215,4 @@ </section> </section> </chapter> -</book> +</book> \ No newline at end of file Modified: apps/tamboti/docs/stylesheets/db2xhtml.xsl =================================================================== --- apps/tamboti/docs/stylesheets/db2xhtml.xsl 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/stylesheets/db2xhtml.xsl 2011-07-08 14:33:19 UTC (rev 14843) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sidebar="http://exist-db.org/NS/sidebar" xmlns:xf="http://www.w3.org/2002/xforms" version="1.0"> <xsl:output method="xhtml" media-type="application/xml" omit-xml-declaration="yes"/> <xsl:param name="xslt.table-of-contents" select="'yes'"/> @@ -28,6 +29,7 @@ <link rel="stylesheet" type="text/css" href="theme/css/default-style2.css"/> </xsl:otherwise> </xsl:choose> + <link rel="stylesheet" type="text/css" href="stylesheets/docs.css"/> <xsl:apply-templates select="(bookinfo|articleinfo)/style"/> <xsl:copy-of select="(bookinfo|articleinfo)/link"/> <xsl:copy-of select="(bookinfo|articleinfo)/script"/> @@ -330,7 +332,7 @@ <xsl:choose> <xsl:when test="graphic/@fileref"> <div id="page-head-left"> - <a href="../search/index.xml" style="text-decoration: none"> + <a href="../modules/search/index.html" style="text-decoration: none"> <img src="{$pathToWebapp}{graphic/@fileref}" title="Tamboti Metadata Framework" style="border-style: none;text-decoration: none"/> </a> </div> Added: apps/tamboti/docs/stylesheets/docs.css =================================================================== --- apps/tamboti/docs/stylesheets/docs.css (rev 0) +++ apps/tamboti/docs/stylesheets/docs.css 2011-07-08 14:33:19 UTC (rev 14843) @@ -0,0 +1,101 @@ +p, td { + line-height: 1.25em; +} + +.app-name {display: none} + +#page-head { + height: 8.75em; +} + +#page-head-left { + position: absolute; + left: 0; +} + +#page-head-right { + position: absolute; + right: 0; + margin-top: 1em; +} + +#sidebar { + top: 11em; +} + +#sidebar ol, ul { + margin: 0 15px 1em 40px; +} + +#sidebar ol li, +#sidebar ul li + { + font-size: 1.2em; +} + +a:hover { + 1border-bottom: 1px solid gray; +} + +a, a:visited { + color: #5DB0E6; + } + +ol, ul { + font-size: 1em; +} + +table.center { + margin-left:auto; + margin-right:auto; + } + +.chapter p { + font-size: 1em !important; +} + +.note { + background-color: #5DB0E6; + border-left: 2px solid #5DB0E6; + border-right: 2px solid #5DB0E6; + border-bottom: 2px solid #5DB0E6; +} + +.note .note_content { + background-color: #EDF0FA; +} +h1 { + background-color: #5DB0E6; + padding-top: 5px; +} + +.publication { + color: #3399CC; +} + +.container { + color: #BDA21E; +} + +.location{ + color: #B02B73; +} + +.chapter { + font-size: 1.2em; + } + +.chapter p { + font-size: 1.2em; +} + +.note { + background-color: #5DB0E6; + border-left: 2px solid #5DB0E6; + border-right: 2px solid #5DB0E6; + border-bottom: 2px solid #5DB0E6; +} + +.note .note_content { + background-color: #EDF0FA; + } Modified: apps/tamboti/docs/stylesheets/xmlsource.xsl =================================================================== --- apps/tamboti/docs/stylesheets/xmlsource.xsl 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/stylesheets/xmlsource.xsl 2011-07-08 14:33:19 UTC (rev 14843) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exist="http://exist.sourceforge.net/NS/exist" version="1.0"> <!-- the following templates pretty-print xml source code. @@ -3,25 +4,145 @@ All xml content contained between the xml-source tags is pretty printed. ---><xsl:template match="xml-source"><div style="font-family=Courier,monospace"><xsl:apply-templates mode="xmlsrc"/></div></xsl:template><xsl:template match="text()" mode="xmlsrc"><xsl:value-of select="."/></xsl:template><xsl:template match="processing-instruction()" mode="xmlsrc"><dd><font color="darkred"><?<xsl:value-of select="."/>?></font></dd></xsl:template><xsl:template match="comment()" mode="xmlsrc"><dd><font color="grey"><-- <xsl:value-of select="."/> --></font></dd></xsl:template><xsl:template match="@*" mode="xmlsrc"><xsl:text> </xsl:text><xsl:choose><xsl:when test="not(namespace-uri(.)='')"><font color="purple"><xsl:value-of select="name(.)"/></font></xsl:when><xsl:otherwise><font color="red"><xsl:value-of select="name(.)"/></font></xsl:otherwise></xsl:choose> - ="<font color="lime"><xsl:call-template name="highlight"><xsl:with-param name="string"><xsl:value-of select="."/></xsl:with-param></xsl:call-template></font>" -</xsl:template><xsl:template match="exist:match" mode="xmlsrc"><span style="background-color: #FFFF00"><xsl:apply-templates/></span></xsl:template><xsl:template match="*" mode="xmlsrc"><div style="margin-left: 20px"><font color="navy"><xsl:text><</xsl:text></font><xsl:choose><xsl:when test="not(namespace-uri()='')"><font color="green"><xsl:value-of select="name()"/></font></xsl:when><xsl:otherwise><font color="navy"><xsl:value-of select="name()"/></font></xsl:otherwise></xsl:choose><xsl:apply-templates select="@*" mode="xmlsrc"/><xsl:choose><xsl:when test="exist:match"><font color="navy"> +--> + <xsl:template match="xml-source"> + <div style="font-family=Courier,monospace"> + <xsl:apply-templates mode="xmlsrc"/> + </div> + </xsl:template> + <xsl:template match="text()" mode="xmlsrc"> + <xsl:value-of select="."/> + </xsl:template> + <xsl:template match="processing-instruction()" mode="xmlsrc"> + <dd> + <font color="darkred"><?<xsl:value-of select="."/>?></font> + </dd> + </xsl:template> + <xsl:template match="comment()" mode="xmlsrc"> + <dd> + <font color="grey"><-- <xsl:value-of select="."/> --></font> + </dd> + </xsl:template> + <xsl:template match="@*" mode="xmlsrc"> + <xsl:text> </xsl:text> + <xsl:choose> + <xsl:when test="not(namespace-uri(.)='')"> + <font color="purple"> + <xsl:value-of select="name(.)"/> + </font> + </xsl:when> + <xsl:otherwise> + <font color="red"> + <xsl:value-of select="name(.)"/> + </font> + </xsl:otherwise> + </xsl:choose> + ="<font color="lime"> + <xsl:call-template name="highlight"> + <xsl:with-param name="string"> + <xsl:value-of select="."/> + </xsl:with-param> + </xsl:call-template> + </font>" +</xsl:template> + <xsl:template match="exist:match" mode="xmlsrc"> + <span style="background-color: #FFFF00"> + <xsl:apply-templates/> + </span> + </xsl:template> + <xsl:template match="*" mode="xmlsrc"> + <div style="margin-left: 20px"> + <font color="navy"> + <xsl:text><</xsl:text> + </font> + <xsl:choose> + <xsl:when test="not(namespace-uri()='')"> + <font color="green"> + <xsl:value-of select="name()"/> + </font> + </xsl:when> + <xsl:otherwise> + <font color="navy"> + <xsl:value-of select="name()"/> + </font> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="@*" mode="xmlsrc"/> + <xsl:choose> + <xsl:when test="exist:match"> + <font color="navy"> > - </font><xsl:apply-templates mode="xmlsrc"/><font color="navy"> + </font> + <xsl:apply-templates mode="xmlsrc"/> + <font color="navy"> </ <xsl:value-of select="name()"/> > - </font></xsl:when><xsl:when test="text()"><font color="navy"> + </font> + </xsl:when> + <xsl:when test="text()"> + <font color="navy"> > - </font><xsl:apply-templates mode="xmlsrc"/><font color="navy"> + </font> + <xsl:apply-templates mode="xmlsrc"/> + <font color="navy"> </ <xsl:value-of select="name()"/> > - </font></xsl:when><xsl:when test="*"><font color="navy"> + </font> + </xsl:when> + <xsl:when test="*"> + <font color="navy"> > - </font><div><xsl:apply-templates select="node()" mode="xmlsrc"/></div><font color="navy"> + </font> + <div> + <xsl:apply-templates select="node()" mode="xmlsrc"/> + </div> + <font color="navy"> </ - </font><xsl:choose><xsl:when test="not(namespace-uri()='')"><font color="green"><xsl:value-of select="name()"/></font></xsl:when><xsl:otherwise><font color="navy"><xsl:value-of select="name()"/></font></xsl:otherwise></xsl:choose><font color="navy"> + </font> + <xsl:choose> + <xsl:when test="not(namespace-uri()='')"> + <font color="green"> + <xsl:value-of select="name()"/> + </font> + </xsl:when> + <xsl:otherwise> + <font color="navy"> + <xsl:value-of select="name()"/> + </font> + </xsl:otherwise> + </xsl:choose> + <font color="navy"> > - </font></xsl:when><xsl:otherwise><font color="navy"> + </font> + </xsl:when> + <xsl:otherwise> + <font color="navy"> /> - </font></xsl:otherwise></xsl:choose></div></xsl:template><xsl:template name="highlight"><xsl:param name="string"/><xsl:choose><xsl:when test="contains($string, '||')"><xsl:variable name="before" select="substring-before($string, '||')"/><xsl:variable name="after" select="substring-after($string, '||')"/><xsl:value-of select="$before"/><span style="background-color: #FFFF00"><xsl:value-of select="substring-before($after, '||')"/></span><xsl:call-template name="highlight"><xsl:with-param name="string"><xsl:value-of select="substring-after($after, '||')"/></xsl:with-param></xsl:call-template></xsl:when><xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise></xsl:choose></xsl:template></xsl:stylesheet> \ No newline at end of file + </font> + </xsl:otherwise> + </xsl:choose> + </div> + </xsl:template> + <xsl:template name="highlight"> + <xsl:param name="string"/> + <xsl:choose> + <xsl:when test="contains($string, '||')"> + <xsl:variable name="before" select="substring-before($string, '||')"/> + <xsl:variable name="after" select="substring-after($string, '||')"/> + <xsl:value-of select="$before"/> + <span style="background-color: #FFFF00"> + <xsl:value-of select="substring-before($after, '||')"/> + </span> + <xsl:call-template name="highlight"> + <xsl:with-param name="string"> + <xsl:value-of select="substring-after($after, '||')"/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$string"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file Modified: apps/tamboti/docs/walkthrough.02.5.xml =================================================================== --- apps/tamboti/docs/walkthrough.02.5.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/walkthrough.02.5.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <book xmlns:xi="http://www.w3.org/2001/XInclude"> <bookinfo> <graphic fileref="theme/images/tamboti.png"/> Modified: apps/tamboti/docs/walkthrough.06.xml =================================================================== --- apps/tamboti/docs/walkthrough.06.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/walkthrough.06.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -62,4 +62,4 @@ <graphic fileref="images/walk-through.06.png" align="center" valign="middle"/> </para> </chapter> -</book> +</book> \ No newline at end of file Modified: apps/tamboti/docs/walkthrough.11.xml =================================================================== --- apps/tamboti/docs/walkthrough.11.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/walkthrough.11.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -53,4 +53,4 @@ use the editor; more about this later. </para> <para>If you create a new folder, you will see even more buttons. They will be explained in the next part.</para> </chapter> -</book> +</book> \ No newline at end of file Modified: apps/tamboti/docs/walkthrough.12.xml =================================================================== --- apps/tamboti/docs/walkthrough.12.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/walkthrough.12.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -54,4 +54,4 @@ <para> The search interface and the editor are linked in more ways than the Create Stand-Alone Record. If you are already in the editor or dialogue box now, you can click Cancel to return to the search interface. </para> </chapter> -</book> +</book> \ No newline at end of file Modified: apps/tamboti/docs/walkthrough.13.1.xml =================================================================== --- apps/tamboti/docs/walkthrough.13.1.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/walkthrough.13.1.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -60,4 +60,4 @@ </para> <para> Next, we will introduce Tamboti's Basic Input Forms.</para> </chapter> -</book> +</book> \ No newline at end of file Modified: apps/tamboti/docs/walkthrough.13.xml =================================================================== --- apps/tamboti/docs/walkthrough.13.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/walkthrough.13.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -57,4 +57,4 @@ </para> <para> Next, we will introduce Tamboti's Basic Input Forms.</para> </chapter> -</book> +</book> \ No newline at end of file Modified: apps/tamboti/docs/walkthrough.27.xml =================================================================== --- apps/tamboti/docs/walkthrough.27.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/walkthrough.27.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -100,4 +100,4 @@ <para>If you wish to discard whatever you have input (or have not input anything yet) and want to return to the search function, click "Cancel Editing".</para> <para>The upper tab, here reading "Basic Input Forms," only serves to inform about the location of the tab below in the input forms as a whole. Clicking the upper tab has no effect.</para> </chapter> -</book> +</book> \ No newline at end of file Modified: apps/tamboti/docs/walkthrough.xml =================================================================== --- apps/tamboti/docs/walkthrough.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/docs/walkthrough.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -1,6 +1,36 @@ <?xml version="1.0" encoding="UTF-8"?> <book xmlns:xi="http://www.w3.org/2001/XInclude"> - <xi:include href="header.xml"/> + <bookinfo> + <graphic fileref="theme/images/tamboti.png"/> + <graphic fileref="theme/images/logovjc.gif" title="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" alt="The Cluster of Excellence "Asia and Europe in a Global Context: Shifting Asymmetries in Cultural Flows" at Heidelberg University" width="75" height="69" style="border-style: none"/> + <productname>Tamboti</productname> + <title>Tamboti Walkthrough</title> + <date>March 2011</date> + <author> + <firstname>Dulip</firstname> + <surname>Withanage</surname> + <affiliation> + <address format="linespecific"> + <email>wit...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>"Asia and Europe in a Global Context"</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + <author> + <firstname>Jens Østergaard</firstname> + <surname>Petersen</surname> + <affiliation> + <address format="linespecific"> + <email>pet...@as...</email> + </address> + <orgname>Heidelberg Research Architecture</orgname> + <orgname>"Asia and Europe in a Global Context"</orgname> + <orgname>Heidelberg University</orgname> + </affiliation> + </author> + </bookinfo> <sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> <group name="Tamboti"> <item> @@ -94,4 +124,4 @@ features of the system in the specialised articles that you can access from the sidebar. </para> <para>Follow the "Next" <graphic fileref="images/resultset_next.png"/> and "Previous" <graphic fileref="images/resultset_previous.png"/> links at the top of the page. Clicking the <graphic fileref="images/text_list_bullets.png"/> icon will take you to the Table of Contents for this walkthrough.</para> </chapter> -</book> +</book> \ No newline at end of file Modified: apps/tamboti/modules/edit/body/00-compact-related-anthology.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-anthology.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/body/00-compact-related-anthology.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -133,7 +133,7 @@ </xf:itemset> </xf:select1> <xf:input ref="." class="hide-label text_100"> - <xf:label>Name Part</xf:label> + <xf:label/> </xf:input> </xf:group> <!--namePart input ends--> @@ -312,7 +312,7 @@ </xf:select1> </xf:group> <!--Cluster: hide--> - <xf:group class="margin-plus"> + <xf:group class="hide-label margin-plus"> <xf:input ref="." class="text_10"> <xf:label>Year</xf:label> </xf:input> @@ -422,18 +422,16 @@ </span> </div> <xf:repeat nodeset="./mods:identifier" id="identifier-anthology-repeat"> - <xf:group ref=".[@type]" selection="open" class="hide-label margin-plus"> + <xf:group class="hide-label margin-plus"> <xf:select1 ref="./@type"> - <xf:label>Type of Identifier</xf:label> + <xf:label>Type</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='identifier-type-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> </xf:select1> - </xf:group> - <xf:group class="hide-label margin-plus"> <xf:input ref="." class="text_50"> - <xf:label>Identifier</xf:label> + <xf:label/> </xf:input> </xf:group> </xf:repeat> Modified: apps/tamboti/modules/edit/body/00-compact-related-periodical.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-periodical.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/body/00-compact-related-periodical.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -73,9 +73,27 @@ <xf:group> <xf:input ref="./mods:nonSort" class="text_10 margin-plus"> <xf:label> - <xf:group ref=".[string-length(../@type) = 0]">Non Sort</xf:group> - <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Non Sort</xf:group> - <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Non Sort</xf:group> + <xf:group ref=".[string-length(../@type) = 0]">Non Sort<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='nonSort']/help"/> + </div> + </span> + </xf:group> + <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Non Sort<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='nonSort']/help"/> + </div> + </span> + </xf:group> + <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Non Sort<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='nonSort']/help"/> + </div> + </span> + </xf:group> </xf:label> </xf:input> </xf:group> @@ -261,20 +279,20 @@ </span> </div> <xf:repeat nodeset="./mods:identifier" id="identifier-periodical-repeat"> - <xf:group ref=".[@type]" selection="open" class="hide-label margin-plus"> - <xf:select1 ref="./@type"> - <xf:label>Identifier Type</xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='identifier-type-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group> - <xf:input ref="." class="text_50 hide-label margin-plus"> - <xf:label>Identifier</xf:label> - </xf:input> - </xf:group> + <xf:repeat nodeset="./mods:identifier" id="identifier-repeat"> + <xf:group class="hide-label margin-plus"> + <xf:select1 ref="./@type"> + <xf:label>Type</xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='identifier-type-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + <xf:input ref="." class="text_50"> + <xf:label/> + </xf:input> + </xf:group> + </xf:repeat> </xf:repeat> </fieldset> </xf:group> Modified: apps/tamboti/modules/edit/body/00-compact-related-review.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-review.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/body/00-compact-related-review.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -216,18 +216,16 @@ </span> </div> <xf:repeat nodeset="./mods:identifier" id="identifier-review-repeat"> - <xf:group ref=".[@type]" selection="open" class="hide-label margin-plus"> + <xf:group class="hide-label margin-plus"> <xf:select1 ref="./@type"> - <xf:label>Type of Identifier</xf:label> + <xf:label>Type</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='identifier-type-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> </xf:select1> - </xf:group> - <xf:group> - <xf:input ref="." class="text_50 hide-label margin-plus"> - <xf:label>Identifier</xf:label> + <xf:input ref="." class="text_50"> + <xf:label/> </xf:input> </xf:group> </xf:repeat> Modified: apps/tamboti/modules/edit/body/00-compact-related-series.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-series.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/body/00-compact-related-series.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -297,18 +297,16 @@ </span> </div> <xf:repeat nodeset="./mods:identifier" id="identifier-series-repeat"> - <xf:group ref=".[@type]" selection="open" class="hide-label margin-plus"> + <xf:group class="hide-label margin-plus"> <xf:select1 ref="./@type"> - <xf:label>Identifier Type</xf:label> + <xf:label>Type</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='identifier-type-code']/items/item"> <xf:label ref="label"/> <xf:value ref="value"/> </xf:itemset> </xf:select1> - </xf:group> - <xf:group class="hide-label margin-plus"> <xf:input ref="." class="text_50"> - <xf:label>Identifier</xf:label> + <xf:label/> </xf:input> </xf:group> </xf:repeat> Modified: apps/tamboti/modules/edit/body/00-compact-related-xlink.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-related-xlink.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/body/00-compact-related-xlink.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -98,6 +98,7 @@ </xf:itemset> </xf:select1> </xf:group> + <br/> <xf:group ref=".[@xlink]"> <xf:input ref="./@xlink" class="text_50"> <xf:label>XLink: </xf:label> Modified: apps/tamboti/modules/edit/body/00-compact-standalone.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-standalone.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/body/00-compact-standalone.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -136,7 +136,12 @@ </xf:group> <xf:group ref=".[string-length(@lang) > 0]" class="text_10 margin-plus"> <xf:select1 ref="./@lang"> - <xf:label>Language<span class="xforms-hint-icon opaque"/> + <xf:label>Language<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='lang']/help"/> + </div> + </span> </xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-short-code']/items/item"> <xf:label ref="label"/> @@ -159,7 +164,7 @@ </xf:itemset> </xf:select1> </xf:group> - <xf:group ref=".[not(@script) and not(@transliteration)]" class="margin-plus"> + <xf:group ref=".[not(@script) and not(@transliteration) and not(/mods:mods/mods:language/mods:scriptTerm = 'Latn')]" class="margin-plus"> <xf:select1 ref="/mods:mods/mods:language/mods:scriptTerm"> <xf:label>Script<span class="xforms-help"> <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> @@ -460,7 +465,7 @@ <!--physicalDescription repeat ends--> </fieldset> </xf:group> - <xf:group ref=".[mods:url]"> + <xf:group ref=".[mods:location]"> <fieldset class="level-1"> <div class="join"> <span class="legend"> @@ -475,8 +480,8 @@ </div> <xf:repeat nodeset="./mods:location" id="location-repeat"> <xf:repeat nodeset="./mods:url" id="location-url-repeat"> - <xf:group class="margin-plus"> - <xf:input ref="." class="text_150 hide-label margin-plus"> + <xf:group class="hide-label margin-plus"> + <xf:input ref="." class="text_150"> <xf:label>URL</xf:label> </xf:input> </xf:group> @@ -504,7 +509,7 @@ </span> </div> <xf:repeat nodeset="./mods:identifier" id="identifier-repeat"> - <xf:group ref=".[@type]" selection="open" class="hide-label margin-plus"> + <xf:group class="hide-label margin-plus"> <xf:select1 ref="./@type"> <xf:label>Type</xf:label> <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='identifier-type-code']/items/item"> @@ -512,10 +517,8 @@ <xf:value ref="value"/> </xf:itemset> </xf:select1> - </xf:group> - <xf:group class="hide-label margin-plus"> - <xf:input ref="." class="text_100"> - <xf:label>Identifier</xf:label> + <xf:input ref="." class="text_50"> + <xf:label/> </xf:input> </xf:group> </xf:repeat> Modified: apps/tamboti/modules/edit/code-tables/document-type-codes.xml =================================================================== --- apps/tamboti/modules/edit/code-tables/document-type-codes.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/code-tables/document-type-codes.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -20,16 +20,16 @@ <classifier>stand-alone</classifier> <sort>1</sort> <hint> - <p>For an <strong>Article in Periodical</strong>, on the <strong>Publication</strong> tab, one would normally input the following + <p>For an <strong>Article in Periodical</strong>, on the <strong>Article</strong> tab, one would normally input the following information:</p> - <p>Input the name(s) of the author(s) in <strong>Names and Roles</strong>, selecting "author" as Role. Divide the name into Given Name and + <p>Input the name(s) of the author(s) in <strong>Names and Roles</strong>, leaving "author" selected as Role. Divide the name into Given Name and Family Name, if possible.</p> <p>Input the title of the article in <strong>Title Information</strong>, dividing this into Title and Subtitle, if possible. If the title begins with an article like "A" or "The," remove this from the title and input it in Non Sort.</p> <p>In case the publication is (also) electronic, input in <strong>URL</strong> the web address of the publication.</p> <p>Finally, in <strong>Identifier</strong> input the DOI number of the article, if available.</p> <p> </p> - <p>Use the <strong>Container</strong> tab to catalogue the periodical that the article occurs in and the position of the article inside the + <p>Use the <strong>Periodical</strong> tab to catalogue the periodical that the article occurs in and the position of the article inside the periodical.</p> <p>Input the title of the periodical in <strong>Periodical Title</strong>. Follow the same guidelines that apply to monograph titles.</p> <p>Input the name(s) of the editor(s) of the periodical in <strong>Names and Roles</strong>. Choose "personal," "corporate" or "conference" as Modified: apps/tamboti/modules/edit/edit.css =================================================================== --- apps/tamboti/modules/edit/edit.css 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/edit.css 2011-07-08 14:33:19 UTC (rev 14843) @@ -522,10 +522,15 @@ margin-left:1em; } -.compact .level-2 .margin-plus input {/*level-2, space between name type and name part*/ +.compact .level-2 .margin-plus input, +.compact .level-1 .margin-plus input + { margin-left:1em; } +.compact .level-1 .margin-plus .xforms-select1 { + margin-left:1em; +} .compact .level-3 .margin-plus {/*level-3*/ margin-left:8em; } Modified: apps/tamboti/modules/edit/edit.xq =================================================================== --- apps/tamboti/modules/edit/edit.xq 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/edit.xq 2011-07-08 14:33:19 UTC (rev 14843) @@ -138,6 +138,7 @@ declare function local:create-page-content($id as xs:string, $tab-id as xs:string, $type-request as xs:string, $target-collection as xs:string, $instance-id as xs:string, $record-data as xs:string, $type-data as xs:string) as element(div) { (: Get the relevant label and hint for the type parameter. :) + let $log := util:log("DEBUG", ("##$type-request): ", $type-request)) let $type-label := doc($type-data)/code-table/items/item[value = $type-request]/label, $type-hint := doc($type-data)/code-table/items/item[value = $type-request]/hint, (: Display the label attached to the tab to the user :) @@ -238,20 +239,24 @@ }; declare function local:get-instance-id($tab-id as xs:string, $type-request as xs:string) { - if($tab-id ne 'compact-b')then - $tab-id - else if($type-request = ('article-in-periodical-latin-compact', 'article-in-periodical-transliterated-compact'))then - 'compact-b-periodical' - else if($type-request = ('contribution-to-anthology-latin-compact', 'contribution-to-anthology-transliterated-compact'))then - 'compact-b-anthology' - else if ($type-request = ('monograph-latin', 'monograph-transliteration', 'anthology-latin', 'anthology-transliterated'))then - 'compact-b-series' - else if($type-request = ('book-review-latin', 'book-review-transliteration'))then - 'compact-b-review' - else if($type-request = 'suebs-tibetan')then - 'compact-b-suebs-tibetan' - else - 'compact-b-xlink' + if ($tab-id ne 'compact-b') + then $tab-id + else + if ($type-request = ('article-in-periodical-latin', 'article-in-periodical-transliterated')) + then 'compact-b-periodical' + else + if ($type-request = ('contribution-to-edited-volume-latin', 'contribution-to-edited-volume-transliterated')) + then 'compact-b-anthology' + else + if ($type-request = ('monograph-latin', 'monograph-transliterated', 'edited-volume-latin', 'edited-volume-transliterated')) + then 'compact-b-series' + else + if ($type-request = ('book-review-latin', 'book-review-transliterated')) + then 'compact-b-review' + else + if ($type-request = 'suebs-tibetan') + then 'compact-b-suebs-tibetan' + else 'compact-b-xlink' }; let $title := 'MODS Record Editor' @@ -264,9 +269,13 @@ If the record is being opened from the search interface, the template name has to be retrieved in order to serve the right subform. :) (: NB: $stored-template has no value when a stored record is loaded for the first time. :) let $stored-template := doc($record-data)/mods:mods/mods:extension/e:template - (: Get the type parameter which shows which record template has been chosen.:) let $type-request := request:get-parameter('type', $stored-template) +(: If there is no type parameter, use the stored template instead. :) +let $type-request := + if ($type-request) + then $type-request + else $stored-template let $type-data := concat($config:edit-app-root, '/code-tables/document-type-codes.xml') Modified: apps/tamboti/modules/edit/instances/article-in-periodical-latin.xml =================================================================== --- apps/tamboti/modules/edit/instances/article-in-periodical-latin.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/instances/article-in-periodical-latin.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -94,7 +94,7 @@ </relatedItem> <identifier type="doi"/> <location> - <url/> + <url dateLastAccessed=""/> </location> <accessCondition/> </mods> \ No newline at end of file Modified: apps/tamboti/modules/edit/instances/contribution-to-edited-volume-latin.xml =================================================================== --- apps/tamboti/modules/edit/instances/contribution-to-edited-volume-latin.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/instances/contribution-to-edited-volume-latin.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -50,6 +50,7 @@ <note lang="" type="content"/> <relatedItem type="host" xlink:href=""> <titleInfo> + <nonSort/> <title/> <subTitle/> </titleInfo> Modified: apps/tamboti/modules/edit/tab-data.xml =================================================================== --- apps/tamboti/modules/edit/tab-data.xml 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/tab-data.xml 2011-07-08 14:33:19 UTC (rev 14843) @@ -7,6 +7,8 @@ <show-level>1</show-level> <monograph-latin>Monograph</monograph-latin> <monograph-transliterated>Monograph</monograph-transliterated> + <edited-volume-latin>Edited Volume</edited-volume-latin> + <article-in-periodical-latin>Edited Volume</article-in-periodical-latin> <article-in-periodical-latin>Article</article-in-periodical-latin> <article-in-periodical-transliterated>Article</article-in-periodical-transliterated> <book-review-latin>Book Review Article</book-review-latin> @@ -28,6 +30,8 @@ <show-level>1</show-level> <monograph-latin>Monograph Series</monograph-latin> <monograph-transliterated>Monograph Series</monograph-transliterated> + <edited-volume-latin>Book Series Containing Edited Volume</edited-volume-latin> + <edited-volume-transliterated>Book Series Containing Edited Volume</edited-volume-transliterated> <article-in-periodical-latin>Periodical</article-in-periodical-latin> <article-in-periodical-transliterated>Periodical</article-in-periodical-transliterated> <book-review-latin>Periodical With Book Review and Book Reviewed</book-review-latin> @@ -44,10 +48,12 @@ <show-level>1</show-level> <monograph-latin>Contents of Monograph</monograph-latin> <monograph-transliterated>Contents of Monograph</monograph-transliterated> + <edited-volume-latin>Contents of Edited Volume</edited-volume-latin> + <edited-volume-transliterated>Contents of Edited Volume</edited-volume-transliterated> <article-in-periodical-latin>Contents of Article</article-in-periodical-latin> <article-in-periodical-transliterated>Contents of Article</article-in-periodical-transliterated> - <book-review-latin>Contents of Article Book Review</book-review-latin> - <book-review-transliterated>Contents of Article Book Review</book-review-transliterated> + <book-review-latin>Contents of Article With Book Review</book-review-latin> + <book-review-transliterated>Contents of Article With Book Review</book-review-transliterated> <contribution-to-edited-volume-latin>Contents of Contribution</contribution-to-edited-volume-latin> <contribution-to-edited-volume-transliterated>Contents of Contribution</contribution-to-edited-volume-transliterated> <path>subject</path> Modified: apps/tamboti/modules/edit/tabs.xqm =================================================================== --- apps/tamboti/modules/edit/tabs.xqm 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/edit/tabs.xqm 2011-07-08 14:33:19 UTC (rev 14843) @@ -38,10 +38,9 @@ <tr> { for $category in $all-categories - let $category-count := count($tabs-data[category/text() = $category]) return <td style="{if ($tabs-data[category = $category]/show-level = $show-level) then "background:white;border-bottom-color:white;" else "background:#EDEDED"}"> - {attribute{'width'}{100 div $category-count}} + {attribute{'width'}{25}} <xf:trigger appearance="minimal"> <xf:label> <div class="label" style="{if ($tabs-data[category = $category]/show-level = $show-level) then "font-weight:bold;color:#3681B3;" else "font-weight:bold;color:darkgray"}"> @@ -65,10 +64,10 @@ { for $tab in $tabs-data[show-level = $show-level] let $tab-for-template := $tab/*[local-name() = $type]/text() - let $log := util:log("DEBUG", ("##$tab-for-template): ", $tab-for-template)) - let $log := util:log("DEBUG", ("##$type): ", $type)) + let $category-count := count($tabs-data[category/text() = $tab/category/text()]) return - <td style="{if ($tab-id = $tab/tab-id/text()) then "background:white;border-bottom-color:white;color:#3681B3;" else "background:#EDEDED"}"> + <td style="{if ($tab-id = $tab/tab-id/text()) then "background:white;border-bottom-color:white;color:#3681B3;" else "background:#EDEDED"}">{attribute{'width'} + {100 div $category-count}} <xf:trigger appearance="minimal"> <xf:label><div class="label" style="{if ($tab-id = $tab/tab-id/text()) then "color:#3681B3;font-weight:bold;" else "color:darkgray;font-weight:bold"}">{ if ($tab-for-template) then $tab-for-template else $tab/label Modified: apps/tamboti/modules/search/cleanup.xql =================================================================== --- apps/tamboti/modules/search/cleanup.xql 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/search/cleanup.xql 2011-07-08 14:33:19 UTC (rev 14843) @@ -19,33 +19,6 @@ else $child } }; -(: Removes titleIfo, name and relatedItem nodes that do not contain nodes required by the respective elements. :) -declare function clean:remove-parent-with-missing-required-node($node as element()) { -element {node-name($node)} -{ $node/@*, -for $element in $node/* -return - if ($element instance of element(mods:titleInfo)) - then - if ($element/mods:title/text()) - then $element - else () - else - if ($element instance of element(mods:name)) - then - if ($element/mods:namePart/text()) - then $element - else () - else - if ($element instance of element(mods:relatedItem)) - then - if ((string-length($element) > 0) or (string-length($element/@xlink:href) > 0)) - then $element - else () - else $element -} -}; - (: Removes an element if it is empty or contains whitespace only. A relatedItem should be allowed to be empty if it has an @xlink:href. :) (: Derived from functx:remove-elements-deep. :) (: Contains functx:all-whitespace. :) @@ -65,9 +38,7 @@ (: The function called in session.xql which passes search results to retrieve-mods.xql after cleaning them. :) declare function clean:cleanup($node as node()) { -let $result := clean:remove-parent-with-missing-required-node($node) -return - let $result := clean:remove-empty-attributes($result) + let $result := clean:remove-empty-attributes($node) return let $result := clean:remove-empty-elements($result) return Modified: apps/tamboti/modules/search/retrieve-mods.xql =================================================================== --- apps/tamboti/modules/search/retrieve-mods.xql 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/search/retrieve-mods.xql 2011-07-08 14:33:19 UTC (rev 14843) @@ -7,6 +7,27 @@ import module namespace config="http://exist-db.org/mods/config" at "../config.xqm"; +(: Removes titleIfo, name and relatedItem nodes that do not contain nodes required by the respective elements. :) +declare function mods:remove-parent-with-missing-required-node($node as node()) as node() { +element {node-name($node)} +{ +for $element in $node/* +return + if ($element instance of element(mods:titleInfo) and not($element/mods:title/text())) + then () + else + if ($element instance of element(mods:name) and not($element/mods:namePart/text())) + then () + else + if ($element instance of element(mods:relatedItem)) + then + if (not(((string-length($element) > 0) or ($element/@xlink:href)))) + then () + else $element + else $element +} +}; + declare option exist:serialize "media-type=text/xml"; (: TODO: A lot of restrictions to the first item in a sequence ([1]) have been made; these must all be changed to for-structures or string-joins. :) @@ -57,17 +78,7 @@ return if ($child instance of text()) then - replace( - replace( - replace( - replace( - replace( - replace( - replace( - replace( - replace( - replace( - replace( + replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace( ($child) (:, '\s*\)', ')'):) (:, '\s*;', ';'):) (:, ',,', ','):) (:, '”\.', '.”'):) (:, '\. ,', ','):) (:, ',\s*\.', ''):) (:,'\.\.', '.'):) (:,'\.”,', ',”'):) , '\s*\.', '.') @@ -1740,6 +1751,8 @@ }; declare function mods:format-related-item($relatedItem as element()) { + let $relatedItem := mods:remove-parent-with-missing-required-node($relatedItem) + return mods:clean-up-punctuation(<result>{( if ($relatedItem/mods:name/mods:role/mods:roleTerm = ('aut', 'author', 'Author', 'cre', 'creator', 'Creator') or not($relatedItem/mods:name/mods:role/mods:roleTerm)) then mods:format-multiple-names($relatedItem, 'primary') @@ -1772,7 +1785,7 @@ if ($relatedItem/mods:originInfo or $relatedItem/mods:part) then ( - ' ', + (:###' ',:) mods:get-part-and-origin($relatedItem) , if ($relatedItem/mods:location/mods:url/text()) @@ -1842,12 +1855,21 @@ </td> <td class="record"><a href="{$url}" target="_blank">{$url}</a></td> </tr> -}; - -(: Prepares for mods:format-full. :) -declare function mods:entry-full($entry as element()) +}; + +(: Creates view for detail view. :) +(: NB: "mods:format-detail-view()" is referenced in session.xql. :) +declare function mods:format-detail-view($id as xs:string, $entry as element(mods:mods), $collection-short as xs:string) { + let $entry := mods:remove-parent-with-missing-required-node($entry) + return + <table class="biblio-full"> { - (: names :) + <tr> + <td class="label">In Folder:</td> + <td><div class="collection">{$collection-short}</div></td> + </tr> + , + (: names :) if ($entry/mods:name) then mods:names-full($entry) else () @@ -2067,18 +2089,6 @@ then concat(' (', ($item/@authority/string()), ')') else () return mods:simple-row($item, concat('Classification', $authority)) -}; - -(: Creates view for detail view. :) -(: NB: "mods:format-detail-view()" is referenced in session.xql. :) -declare function mods:format-detail-view($id as xs:string, $clean as element(mods:mods), $collection-short as xs:string) { - <table class="biblio-full"> - { - <tr><td class="label">In Folder:</td><td> - {$collection-short} - </td></tr> - , - mods:entry-full($clean) } </table> }; @@ -2086,6 +2096,8 @@ (: Creates view for hitlist. :) (: NB: "mods:format-list-view()" is referenced in session.xql. :) declare function mods:format-list-view($id as xs:string, $entry as element(mods:mods)) { + let $entry := mods:remove-parent-with-missing-required-node($entry) + return let $format := ( (: The author, etc. of the primary publication. :) Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/modules/search/search.xql 2011-07-08 14:33:19 UTC (rev 14843) @@ -579,13 +579,13 @@ ( if ($user eq 'guest') then ( - <div class="help"><a href="../../docs/index.xml" style="text-decoration: none" target="_blank">Help</a></div> + <div class="help"><a href="../../docs/index.xml" target="_blank">Help</a></div> , <div class="login"><a href="#" id="login-link">Login</a></div> ) else ( - <div class="help"><a href="../../docs/index.xml" style="text-decoration: none">Help</a></div> + <div class="help"><a href="../../docs/index.xml">Help</a></div> , <div class="login">Logged in as <span class="username">{$user}</span>. <a href="?logout=1">Logout</a></div> ) Modified: apps/tamboti/themes/default/css/biblio.css =================================================================== --- apps/tamboti/themes/default/css/biblio.css 2011-07-07 15:01:07 UTC (rev 14842) +++ apps/tamboti/themes/default/css/biblio.css 2011-07-08 14:33:19 UTC (rev 14843) @@ -1,123 +1,102 @@ -/*docs begin*/ - -.app-name {display: none} - -#sidebar { - top: 11em; +p, td { + line-height: 1.25em; } -ol, ul { - font-size: 1.2em; -} - -h1 { - background-color: #5DB0E6; -} - -.publication { - color: #3399CC; -} - -.container { - color: #BDA21E; -} - -.location{ - color: #B02B73; -} - -.chapter { -... [truncated message content] |
From: <del...@us...> - 2011-07-10 14:54:34
|
Revision: 14854 http://exist.svn.sourceforge.net/exist/?rev=14854&view=rev Author: deliriumsky Date: 2011-07-10 14:54:28 +0000 (Sun, 10 Jul 2011) Log Message: ----------- Work towards RESTful URI's for resources - e.g. http://localhost:8080/exist/apps/library/item/uuid-01BEA1CE-822D-4D71-8ED3-EBF239B8D65D Modified Paths: -------------- apps/tamboti/controller.xql apps/tamboti/modules/search/search.xql Modified: apps/tamboti/controller.xql =================================================================== --- apps/tamboti/controller.xql 2011-07-10 13:57:36 UTC (rev 14853) +++ apps/tamboti/controller.xql 2011-07-10 14:54:28 UTC (rev 14854) @@ -1,11 +1,71 @@ xquery version "1.0"; -if ($exist:path eq '/') then - <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <redirect url="modules/search/index.html"/> - </dispatch> -else - (: everything else is passed through :) - <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <cache-control cache="yes"/> - </dispatch> +import module namespace session ="http://exist-db.org/xquery/session"; + +import module namespace security="http://exist-db.org/mods/security" at "modules/search/security.xqm"; +import module namespace theme="http:/exist-db.org/xquery/biblio/theme" at "modules/theme.xqm"; + +declare namespace exist = "http://exist.sourceforge.net/NS/exist"; + +declare variable $exist:controller external; +declare variable $exist:root external; +declare variable $exist:prefix external; +declare variable $exist:path external; +declare variable $exist:resource external; + +declare function local:get-item($controller as xs:string, $root as xs:string, $prefix as xs:string?, $path as xs:string, $resource as xs:string?, $username as xs:string?, $password as xs:string?) as element(exist:dispatch) { + + let $item-id := fn:replace($path, "/item/([a-z0-9-_]*)", "$1") return + + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <forward url="{theme:resolve($prefix, $root, 'pages/index.html')}"> + { local:set-user($username, $password) } + </forward> + <forward url="{$controller}/modules/search/search.xql"> + <set-attribute name="xquery.report-errors" value="yes"/> + + <set-attribute name="exist:root" value="{$root}"/> + <set-attribute name="exist:path" value="{$path}"/> + <set-attribute name="exist:prefix" value="{$prefix}"/> + + <add-parameter name="filter" value="ID"/> + <add-parameter name="value" value="{$item-id}"/> + </forward> + </dispatch> +}; + +declare function local:set-user($user as xs:string?, $password as xs:string?) { + session:create(), + let $session-user-credential := security:get-user-credential-from-session() + return + if ($user) then ( + security:store-user-credential-in-session($user, $password), + <set-attribute name="xquery.user" value="{$user}"/>, + <set-attribute name="xquery.password" value="{$password}"/> + ) else if ($session-user-credential != '') then ( + <set-attribute name="xquery.user" value="{$session-user-credential[1]}"/>, + <set-attribute name="xquery.password" value="{$session-user-credential[2]}"/> + ) else ( + <set-attribute name="xquery.user" value="{$security:GUEST_CREDENTIALS[1]}"/>, + <set-attribute name="xquery.password" value="{$security:GUEST_CREDENTIALS[2]}"/> + ) +}; + +let + $username := request:get-parameter("username",()), + $password := request:get-parameter("password",()) +return + + if ($exist:path eq '/') then + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <redirect url="modules/search/index.html"/> + </dispatch> + + else if(fn:starts-with($exist:path, "/item/")) then + local:get-item($exist:controller, $exist:root, $exist:prefix, $exist:path, $exist:resource, $username, $password) + + else + (: everything else is passed through :) + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <cache-control cache="yes"/> + </dispatch> \ No newline at end of file Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-07-10 13:57:36 UTC (rev 14853) +++ apps/tamboti/modules/search/search.xql 2011-07-10 14:54:28 UTC (rev 14854) @@ -1027,19 +1027,23 @@ declare function biblio:process-request($id as xs:string?, $collection as xs:string, $reload as xs:string?, $history as xs:string?, $clear as xs:string?, $filter as xs:string?, $mylist as xs:string?, $input, $value as xs:string?, $sort as item()?) as node()* { (: Process request parameters and generate an XML representation of the query :) let $query-as-xml := biblio:prepare-query($id, $collection, $reload, $history, $clear, $filter, $mylist, $value) - - let $null := util:log("DEBUG", ("ID= ", $id)) - let $log := util:log("DEBUG", ("$queryAsXML: ", $query-as-xml)) (: Get the results :) let $results := biblio:get-or-create-cached-results($mylist, $query-as-xml, $sort) + let $null := util:log("debug", fn:concat("RESULTS=", $results)) + let $null := util:log("debug", fn:concat("INPUT=", $input)) + (: Process the HTML template received as input :) let $merged := theme:apply-template($input) - let $output := jquery:process( - biblio:process-templates($collection, $query-as-xml, $results, $merged) - (: biblio:process-templates(if ($queryAsXML//field) then $queryAsXML else $biblio:TEMPLATE_QUERY, $results, $input) :) - ) + + let $null := util:log("debug", fn:concat("MERGED=", $merged)) + + let $templates := biblio:process-templates($collection, $query-as-xml, $results, $merged) + (: biblio:process-templates(if ($queryAsXML//field) then $queryAsXML else $biblio:TEMPLATE_QUERY, $results, $input) :) + + let $output := jquery:process($templates) + let $header := response:set-header("Content-Type", "application/xhtml+xml") return This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <del...@us...> - 2011-07-10 17:02:59
|
Revision: 14855 http://exist.svn.sourceforge.net/exist/?rev=14855&view=rev Author: deliriumsky Date: 2011-07-10 17:02:52 +0000 (Sun, 10 Jul 2011) Log Message: ----------- Distinct URI's for items, and tweaks to unAPI module Modified Paths: -------------- apps/tamboti/controller.xql apps/tamboti/modules/search/controller.xql apps/tamboti/modules/search/search.xql apps/tamboti/modules/search/session.xql apps/tamboti/modules/search/unapi.xql apps/tamboti/themes/default/template.xml Modified: apps/tamboti/controller.xql =================================================================== --- apps/tamboti/controller.xql 2011-07-10 14:54:28 UTC (rev 14854) +++ apps/tamboti/controller.xql 2011-07-10 17:02:52 UTC (rev 14855) @@ -13,24 +13,28 @@ declare variable $exist:path external; declare variable $exist:resource external; +declare variable $local:item-uri-regexp := "/item/([a-z0-9-_]*)"; + declare function local:get-item($controller as xs:string, $root as xs:string, $prefix as xs:string?, $path as xs:string, $resource as xs:string?, $username as xs:string?, $password as xs:string?) as element(exist:dispatch) { - let $item-id := fn:replace($path, "/item/([a-z0-9-_]*)", "$1") return + let $item-id := fn:replace($path, $local:item-uri-regexp, "$1") return <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> <forward url="{theme:resolve($prefix, $root, 'pages/index.html')}"> { local:set-user($username, $password) } </forward> - <forward url="{$controller}/modules/search/search.xql"> - <set-attribute name="xquery.report-errors" value="yes"/> - - <set-attribute name="exist:root" value="{$root}"/> - <set-attribute name="exist:path" value="{$path}"/> - <set-attribute name="exist:prefix" value="{$prefix}"/> - - <add-parameter name="filter" value="ID"/> - <add-parameter name="value" value="{$item-id}"/> - </forward> + <view> + <forward url="../modules/search/search.xql"> + <set-attribute name="xquery.report-errors" value="yes"/> + + <set-attribute name="exist:root" value="{$root}"/> + <set-attribute name="exist:path" value="{$path}"/> + <set-attribute name="exist:prefix" value="{$prefix}"/> + + <add-parameter name="filter" value="ID"/> + <add-parameter name="value" value="{$item-id}"/> + </forward> + </view> </dispatch> }; @@ -55,12 +59,48 @@ $username := request:get-parameter("username",()), $password := request:get-parameter("password",()) return - + if ($exist:path eq '/') then <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> <redirect url="modules/search/index.html"/> </dispatch> - + + else if ($exist:resource eq 'retrieve') then + + (: Retrieve an item from the query results stored in the HTTP session. The + format of the URL will be /sandbox/results/X, where X is the number of the + item in the result set :) + + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + { local:set-user($username, $password) } + <forward url="../modules/search/session.xql"> + </forward> + </dispatch> + + (: paths starting with /libs/ will be loaded from the webapp directory on the file system :) + else if (fn:starts-with($exist:path, "/item/libs/")) then + let $lib-path := fn:concat("/", substring-after($exist:path, 'item/libs/')) return + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <forward url="{$lib-path}" absolute="yes"/> + </dispatch> + + else if (starts-with($exist:path, "/item/theme")) then + let $path := theme:resolve($exist:prefix, $exist:root, substring-after($exist:path, "/item/theme")) + let $themePath := replace($path, "^(.*)/[^/]+$", "$1") + return + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <forward url="{$path}"> + <set-attribute name="theme-collection" value="{theme:get-path()}"/> + </forward> + </dispatch> + + else if (starts-with($exist:path, "/item/resources")) then + let $real-resources-path := fn:concat($exist:controller, "/", substring-after($exist:path, "/item/")) return + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <forward url="{$real-resources-path}"> + </forward> + </dispatch> + else if(fn:starts-with($exist:path, "/item/")) then local:get-item($exist:controller, $exist:root, $exist:prefix, $exist:path, $exist:resource, $username, $password) Modified: apps/tamboti/modules/search/controller.xql =================================================================== --- apps/tamboti/modules/search/controller.xql 2011-07-10 14:54:28 UTC (rev 14854) +++ apps/tamboti/modules/search/controller.xql 2011-07-10 17:02:52 UTC (rev 14855) @@ -106,6 +106,14 @@ <set-attribute name="theme-collection" value="{theme:get-path()}"/> </forward> </dispatch> + +else if (starts-with($exist:path, "/resources")) then + let $real-resources-path := fn:concat(substring-before($exist:controller, "/modules/"), $exist:path) return + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <forward url="{$real-resources-path}"> + </forward> + </dispatch> + else (: everything else is passed through :) <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> Modified: apps/tamboti/modules/search/search.xql =================================================================== --- apps/tamboti/modules/search/search.xql 2011-07-10 14:54:28 UTC (rev 14854) +++ apps/tamboti/modules/search/search.xql 2011-07-10 17:02:52 UTC (rev 14855) @@ -1031,14 +1031,9 @@ (: Get the results :) let $results := biblio:get-or-create-cached-results($mylist, $query-as-xml, $sort) - let $null := util:log("debug", fn:concat("RESULTS=", $results)) - let $null := util:log("debug", fn:concat("INPUT=", $input)) - (: Process the HTML template received as input :) let $merged := theme:apply-template($input) - let $null := util:log("debug", fn:concat("MERGED=", $merged)) - let $templates := biblio:process-templates($collection, $query-as-xml, $results, $merged) (: biblio:process-templates(if ($queryAsXML//field) then $queryAsXML else $biblio:TEMPLATE_QUERY, $results, $input) :) Modified: apps/tamboti/modules/search/session.xql =================================================================== --- apps/tamboti/modules/search/session.xql 2011-07-10 14:54:28 UTC (rev 14854) +++ apps/tamboti/modules/search/session.xql 2011-07-10 17:02:52 UTC (rev 14855) @@ -36,6 +36,21 @@ security:can-write-collection($bs:USER, $collection):) }; +declare function bs:get-item-uri($item-id as xs:string) { + fn:concat( + request:get-scheme(), + "://", + request:get-server-name(), + if((request:get-scheme() eq "http" and request:get-server-port() eq 80) or (request:get-scheme() eq "https" and request:get-server-port() eq 443))then "" else fn:concat(":", request:get-server-port()), + + fn:replace(request:get-uri(), "/exist/([^/]*)/([^/]*)/.*", "/exist/$1/$2"), + + (:fn:substring-before(request:get-url(), "/modules"), :) + "/item/", + $item-id + ) +}; + declare function bs:retrieve($start as xs:int, $count as xs:int) { let $cached := session:get-attribute("mods:cached") let $stored := session:get-attribute("mods-personal-list") @@ -99,7 +114,7 @@ else () } </div> - <abbr class="unapi-id" title="{$item/@ID}"></abbr> + <abbr class="unapi-id" title="{bs:get-item-uri($item/@ID)}"></abbr> { let $collection := util:collection-name($item) let $collection-short := functx:replace-first($collection, '/db', '') @@ -126,7 +141,7 @@ </td> { <td class="pagination-toggle"> - <abbr class="unapi-id" title="{$item/@ID}"></abbr> + <abbr class="unapi-id" title="{bs:get-item-uri($item/@ID)}"></abbr> <a> { let $clean := clean:cleanup($item) Modified: apps/tamboti/modules/search/unapi.xql =================================================================== --- apps/tamboti/modules/search/unapi.xql 2011-07-10 14:54:28 UTC (rev 14854) +++ apps/tamboti/modules/search/unapi.xql 2011-07-10 17:02:52 UTC (rev 14855) @@ -20,23 +20,29 @@ declare variable $HTTP_NOT_FOUND := xs:int(404); declare variable $HTTP_NOT_ACCEPTABLE := xs:int(406); +declare option exist:serialize "omit-xml-declaration=no"; + (:~ : Retrieves all formats for all objects :) declare function unapi:list-formats-for-all-objects() as element(formats) { <formats> - <format name="mods" type="application/mods+xml"/> + <format name="mods" type="application/xml"/> <format name="web" type="text/html"/> </formats> }; +declare function unapi:extract-uuid-from-uri($uri as xs:string) as xs:string { + fn:substring-after($uri, "/item/") +}; + (:~ : Gets the format for a specific resource id :) declare function unapi:list-formats-for-id($id as xs:string) as element(formats) { <formats id="{$id}"> <format name="web" type="text/html" /> - <format name="mods" type="application/mods+xml"/> + <format name="mods" type="application/xml"/> </formats> }; @@ -45,9 +51,27 @@ :) declare function unapi:get-object($id as xs:string, $format as xs:string, $resource as element(mods:mods)) as element()? { if($format eq "mods")then - clean:cleanup($resource) + ( + response:set-header("Content-Type", "application/xml"), + <modsCollection version="3.4" xmlns="http://www.loc.gov/mods/v3" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/standards/mods/mods.xsd"> + { + clean:cleanup($resource) + } + </modsCollection> + ) else if($format eq "web")then - () (: TODO export as html :) + ( + response:set-header("Content-Type", "text/html"), + util:declare-option("exist:serialize", "doctype-public=-//W3C//DTD XHTML 1.1//EN doctype-system=http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"), + <html> + <head> + <title>{$id}</title> + </head> + <body> + <p>{$resource//text()}</p> + </body> + </html> + ) else response:set-status-code($HTTP_NOT_ACCEPTABLE) }; @@ -56,7 +80,7 @@ : Get a mods resource from the database :) declare function local:get-resource($id as xs:string) as element(mods:mods)? { - fn:collection($config:mods-root)//mods:mods[@ID eq $id] + fn:collection($config:mods-root)//mods:mods[@ID eq unapi:extract-uuid-from-uri($id)] }; (:~ Modified: apps/tamboti/themes/default/template.xml =================================================================== --- apps/tamboti/themes/default/template.xml 2011-07-10 14:54:28 UTC (rev 14854) +++ apps/tamboti/themes/default/template.xml 2011-07-10 17:02:52 UTC (rev 14855) @@ -7,7 +7,7 @@ <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> <script type="text/javascript" src="libs/scripts/jquery/jquery.dynatree.min.js"/> <script type="text/javascript" src="libs/scripts/jquery/jquery.cookie.js"/> - <script type="text/javascript" src="../../resources/scripts/query.js"/> + <script type="text/javascript" src="resources/scripts/query.js"/> <link rel="stylesheet" type="text/css" href="libs/styles/default-style2.css"/> <link rel="stylesheet" type="text/css" href="libs/scripts/jquery/skin/ui.dynatree.css"/> <link rel="stylesheet" type="text/css" href="theme/css/biblio.css"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2011-07-12 08:20:43
|
Revision: 14864 http://exist.svn.sourceforge.net/exist/?rev=14864&view=rev Author: jenspetersen Date: 2011-07-12 08:20:34 +0000 (Tue, 12 Jul 2011) Log Message: ----------- [tamboti] Theme formatting, first steps. Modified Paths: -------------- apps/tamboti/README.txt apps/tamboti/modules/search/retrieve-mods.xql apps/tamboti/modules/search/session.xql apps/tamboti/themes/configuration.xml apps/tamboti/themes/default/collection-tree.xml apps/tamboti/themes/default/css/biblio.css apps/tamboti/themes/default/template.xml Added Paths: ----------- apps/tamboti/themes/wsc/ apps/tamboti/themes/wsc/css/ apps/tamboti/themes/wsc/css/theme.css apps/tamboti/themes/wsc/images/ apps/tamboti/themes/wsc/images/YishuJingyanlu_bg2000xy.jpg apps/tamboti/themes/wsc/images/aboutus.gif apps/tamboti/themes/wsc/images/activities.gif apps/tamboti/themes/wsc/images/bookpile.gif apps/tamboti/themes/wsc/images/button-active.jpg apps/tamboti/themes/wsc/images/button2.jpg apps/tamboti/themes/wsc/images/database-structure700.gif apps/tamboti/themes/wsc/images/db-biblio.gif apps/tamboti/themes/wsc/images/db-bio.gif apps/tamboti/themes/wsc/images/db-term.gif apps/tamboti/themes/wsc/images/dict.gif apps/tamboti/themes/wsc/images/favicon.ico apps/tamboti/themes/wsc/images/foot2.png apps/tamboti/themes/wsc/images/gezhi.gif apps/tamboti/themes/wsc/images/logovjc2.gif apps/tamboti/themes/wsc/images/nav_a3.gif apps/tamboti/themes/wsc/images/wsc-background5.jpg apps/tamboti/themes/wsc/images/wsc-logo-schriftzug4.png apps/tamboti/themes/wsc/images/yishujingyanlu_bg2000d.jpg apps/tamboti/themes/wsc/pages/ apps/tamboti/themes/wsc/pages/aboutus.html apps/tamboti/themes/wsc/pages/activities.html apps/tamboti/themes/wsc/pages/databases.html apps/tamboti/themes/wsc/pages/index.html apps/tamboti/themes/wsc/pages/publications.html apps/tamboti/themes/wsc/query.xml apps/tamboti/themes/wsc/template.xml Modified: apps/tamboti/README.txt =================================================================== --- apps/tamboti/README.txt 2011-07-11 19:10:55 UTC (rev 14863) +++ apps/tamboti/README.txt 2011-07-12 08:20:34 UTC (rev 14864) @@ -3,3 +3,11 @@ Icon stock is from - http://www.famfamfam.com/lab/icons/silk/ JQuery processing framework is found in src/org/exist/xquery/lib + +To install: + +cd into the tamboti directory and call ant; a file, library-1.0.xar, is created. + +log in as admin to eXist, go to the Package Reposistory, choose library-1.0.xar and upload it. + +click "Install" and access tamboti at <http://localhost:8080/exist/apps/library/>. \ No newline at end of file Modified: apps/tamboti/modules/search/retrieve-mods.xql =================================================================== --- apps/tamboti/modules/search/retrieve-mods.xql 2011-07-11 19:10:55 UTC (rev 14863) +++ apps/tamboti/modules/search/retrieve-mods.xql 2011-07-12 08:20:34 UTC (rev 14864) @@ -1524,7 +1524,8 @@ else '' , if ($titleTranslation) - then <span class="title"> [{$titleTranslationFormat/text()}]</span> + (:NB: iterate.:) + then <span class="title"> [{$titleTranslationFormat[1]/text()}]</span> else () , if ($quotes and $titleTranslation) @@ -1865,7 +1866,7 @@ <table class="biblio-full"> { <tr> - <td class="label">In Folder:</td> + <td class="collection-label">In Folder:</td> <td><div class="collection">{$collection-short}</div></td> </tr> , Modified: apps/tamboti/modules/search/session.xql =================================================================== --- apps/tamboti/modules/search/session.xql 2011-07-11 19:10:55 UTC (rev 14863) +++ apps/tamboti/modules/search/session.xql 2011-07-12 08:20:34 UTC (rev 14864) @@ -164,4 +164,4 @@ let $count0 := request:get-parameter("count", ()) let $count := xs:int(if ($count0) then $count0 else 10) return - bs:retrieve($start, $count) + bs:retrieve($start, $count) \ No newline at end of file Modified: apps/tamboti/themes/configuration.xml =================================================================== --- apps/tamboti/themes/configuration.xml 2011-07-11 19:10:55 UTC (rev 14863) +++ apps/tamboti/themes/configuration.xml 2011-07-12 08:20:34 UTC (rev 14864) @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> <themes> <map path="/apps/tamboti" theme="tamboti" root="/db/resources/commons/samples"/> + <map path="/apps/wsc" theme="wsc" root="/db/resources/commons/samples"/> </themes> \ No newline at end of file Modified: apps/tamboti/themes/default/collection-tree.xml =================================================================== --- apps/tamboti/themes/default/collection-tree.xml 2011-07-11 19:10:55 UTC (rev 14863) +++ apps/tamboti/themes/default/collection-tree.xml 2011-07-12 08:20:34 UTC (rev 14864) @@ -60,7 +60,7 @@ <div id="collection-tree-tree"/> <div class="box"> <p> To view all - records in a folder, select it and perform an empty search. + records in a folder, double-click on it. </p> </div> </div> Modified: apps/tamboti/themes/default/css/biblio.css =================================================================== --- apps/tamboti/themes/default/css/biblio.css 2011-07-11 19:10:55 UTC (rev 14863) +++ apps/tamboti/themes/default/css/biblio.css 2011-07-12 08:20:34 UTC (rev 14864) @@ -99,23 +99,37 @@ /*folder view*/ +/*#collection-tree-main { + background-color:white; +} +*/ #collection-tree { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; float: left; margin-top: 1em; - background-color: #CCC; + background-color: #EDEDED !important; width: 40px; height: 390px; } .collection-tree-head { - background-color: #CCC; + background-color: #EDEDED; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } .collection-tree-toolbar { + margin:5px; height: 20px; list-style: none; padding: 8px 0; - margin: 0; + 1margin: 0; + background-color: white; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } .collection-tree-toolbar li { @@ -137,13 +151,23 @@ } #collection-tree-tree ul { - font-size: 0.9em; + font-size: 1em; } ul.dynatree-container { border: 0; + background-color: white;/*#EDEDED !important;*/ + font-size:1em; + margin-left:5px; + margin-right:5px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; } +#collection-expand-all { + margin-left: 5px; +} + td.collection-path { width: 800px; } @@ -164,15 +188,17 @@ } .box { - -moz-border-radius: 10px; - -webkit-border-radius: 10px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; background-color: #CCC; color: #FFFFFF; - margin-top: 100px; + margin-top: 75px; + margin-bottom: 5px; width: 240px; margin-left: auto; margin-right: auto; text-align: center; + padding: 2px; } .box p { @@ -276,7 +302,7 @@ cursor: pointer; padding: 2px 4px; border: 1px solid #0083CB; - color: #0083CB; + color: #5DB0E6; margin-right: 10px; } @@ -284,7 +310,7 @@ cursor: pointer; padding: 2px 4px; border: 1px solid #0083CB; - color: #0083CB; + color: #5DB0E6; } .inactive { @@ -409,6 +435,11 @@ width:40em; } +table .biblio-full .record table, +table .biblio-full .subrecord table { + margin:0; +} + table .biblio-full .related td { margin:10em; line-height:3.4em; @@ -463,7 +494,7 @@ /*collection-tree*/ span.readable .dynatree-title { font-weight: normal; - color: #999; + color: grey; } /*folder sharing dialog begins*/ Modified: apps/tamboti/themes/default/template.xml =================================================================== --- apps/tamboti/themes/default/template.xml 2011-07-11 19:10:55 UTC (rev 14863) +++ apps/tamboti/themes/default/template.xml 2011-07-12 08:20:34 UTC (rev 14864) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - HTML template: will be merged with each of the pages to be displayed. - --> + HTML template: will be merged with each of the pages to be displayed. +--> <html xmlns:jquery="http://exist-db.org/xquery/jquery"> <head> <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> Added: apps/tamboti/themes/wsc/css/theme.css =================================================================== --- apps/tamboti/themes/wsc/css/theme.css (rev 0) +++ apps/tamboti/themes/wsc/css/theme.css 2011-07-12 08:20:34 UTC (rev 14864) @@ -0,0 +1,665 @@ +/* +purple +(#000000 1 black) > #333333 +(#222222 1 black) > #333333 +#333333 1 ***almost black*** +#666666 10 dark grey +#dcdad9 3 grey +(#cccccc 1 grey) > #dcdad9 +(#dedede 1 light grey) > #dcdad9 +#E6E6E6 +#efefef 1 very light grey +#F3F3F3 1 very light grey + +#663333 4 clotted blood > #C7B899 +#C7B899 6 ***brown*** +#c39d4c 1 brown > #C7B899 +#cc9900 3 brown > #C7B899 +#B3A17D ***dark brown (for background text)*** +#835400 5 ***extra dark brown*** (for forefront text) +#955702 1 dark brown > #835400 +#f9f7f0 2 very light brown +#f0ede7 1 very light brown +#fdfbf5 1 very light brown +#f2eee5 1 very light brown +#F5F4F2 8 ***very light brown*** +#dddad3 1 very light brown + */ +/*jquery css overrides begin */ + +#query-tabs ul { + background-color:#F5F4F2 !important; + background-image:url("") !important; + } + +.ui-tabs-nav { + 1background-color:#F5F4F2; +} + +.ui-tabs .ui-tabs-nav li a { + color:#FFFFFF; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a { + color:#B3A17D; +} + +.ui-state-active a { + color:#666666; +} + +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited + { + background:#C7B899; /*c9bea9 c2b497 dcdad9 C7B899*/ + color:#333333; +} + +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited +{ + color:#666666/*{fcActive}*/; + background:#f5f4f2; /*dcdad9 C7B899 f9f7f0*/ + text-decoration:none; + border-bottom:none; + border-color:#C7B899; +} + +#filters .ui-state-default a, +#filters .ui-state-default a:link, +#filters .ui-state-default a:visited + { + background:#F5F4F2; /*c9bea9 c2b497 dcdad9 C7B899*/ + color:#B3A17D; + 1font-weight:bold; +} + +.ui-widget-header { + border:1px solid #dcdad9; + 1background:#dddad3 url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x ; /*dcdad9*/ + color:purple; + font-weight:bold; +} + +.ui-tabs .ui-tabs-panel { + background:#f5f4f2; +} + +/*jquery css overrides end */ + +.bullet { + font-size:3em; + margin-bottom:.1em; +} +a { + color:#666666; +} + +a:hover { + color:#C7B899; +} + +p a:hover { + color:red; +} + +a:link, +a:visited { + color:#B3A17D; + text-decoration:none; +} + +p a:link, +p a:visited + { + color:#835400; + text-decoration:none; +} + + +.pagination-back { + border:1px solid #B3A17D; + color:#B3A17D; +} + +.pagination-next { + padding:2px 4px; + border:1px solid #B3A17D; + color:#B3A17D; +} + +table { + margin:1em; + +} + + +table .pagination {margin-left:1em;} + +td .biblio-full { + margin-top:-2.2em; + margin-left:-4em; + width:105%; + padding:5px; + +} + +/*above from wsc biblio.css*/ + +#collection-tree { + border:1px solid #C7B899; +} +ul.dynatree-container { + border:0; + background-color:#FFFFFF !important; + border:1px solid #C7B899; +} + +#dialogs { + margin-bottom:9em; +} + +.box p { + color:#C7B899 !important; +} +.box { + background-color:#FFFFFF !important; +} +#collection-tree, +.collection-tree-head +{ + background-color:#F5F4F2 !important; +} + +.collection-tree-toolbar { + padding-left:.5em; + border:1px solid #C7B899; + } + +.collection-input { + background-color:#F5F4F2; +} + +.dynatree-container +{ + background-color:#F5F4F2 !important; +} + +.page { + 1background:url("http://sunmoonlake.com/wsc/YishuJingyanlu_bg2000d.jpg") repeat-x scroll -100px -19px #dcdad9; + padding-right:0px; +} + +p { + color:#333333; + font-size:1.1em; + line-height:1.25em; + +} + +hr { + margin-bottom:1em; +} + +@media screen { + body { + 1background:url("http://sunmoonlake.com/wsc/YishuJingyanlu_bg2000xy.jpg") repeat scroll -100px 163px transparent; + background:url("http://sunmoonlake.com/wsc/YishuJingyanlu_bg2000d.jpg") repeat scroll -100px -19px #C7B899; + 1min-width:1000px; + display:block; +} + +#content2col { + left:220px; + right:50px; + top:215px; + position:absolute; + left:0; + margin-left:50px; + margin-right:290px; + display:block; + overflow:visible; + background-color:#FFFFFF; + } + +#content2col2 { +/* left:220px; + right:50px; + top:215px; */ + position:relative; + float:right; + right:0; + margin-right:50px; + margin-left:10px; + margin-top:-76px; + width:228px; + height:800px; + display:block; + overflow:visible; + 1background:url("http://sunmoonlake.com/wsc/wsc-background5.jpg") repeat-y right top white; + } + +#content { + position:absolute; + left:240px; + right:290px; + top:235px; + display:block; + overflow:visible; + background-color:#FFFFFF; +} + +#pagecontent1col { + left:50px; + right:50px; + top:235px; + margin-bottom:116px; + padding:30px; + display:block; + overflow:visible; + background:transparent; + z-index:1; + -moz-border-radius:10px; + -webkit-border-radius:10px; + border:1px solid #C7B899; +} + +#query-history *, +#personal-list * { + color:#835400; + font-size:1em; +} + +}#pagecontent { + /* position:absolute; */ + top:0; + bottom:100px; + left:0; + right:0; + height:100%; + 1width:960px; + display:block; + margin:0 50px 20px 50px; + padding:0 0 0 0; + overflow:visible; + background:#f2eee5; /*f2eee5 f5f4f2 f0ede7*/ + opacity:0.9; + z-index:-1; +} + +.repeat .label { + background-color:#F5F4F2; +} + +* html #pagecontent1col { + background-color:#fdfbf5; +} + +#content1col { + 1margin-top:-17px; + margin-left:50px; + margin-right:50px; + padding:1.5em; + top:235px; + display:block; + overflow:visible; + background-color:#f0ede7; + -moz-border-radius:10px; + -webkit-border-radius:10px; + border:1px solid #C7B899; + } +} + +/*#pagination { + -moz-border-radius:5px; + -webkit-border-radius:5px; + border:1px solid #C7B899 !important; +} +*/ + +table .even { + background-color:#F5F4F2; +} +.back { + margin-top:2em; +} +#header { + height:144px; + position:relative; +} + +#header, +#nav, +#main, +#footer +{ + clear:both; +} + +#page-head { + background: transparent; + color:#333333; + height:180px; + margin-top:0px; + margin-bottom:0; +} + +#page-footer { + display:block; + margin:0 50px 20px 50px; + background-color:#dcdad9; + color:#666666; + text-align:center; + margin-top:-7em; + padding:.5em; + border:1px solid #C7B899; + -moz-border-radius:10px; + -webkit-border-radius:10px; +} + +.articles { + margin-left:15px; + font-size:1.1em; +} + +* html #page-footer { + 1width:860px; + margin-top:20px; +} + +#page-head-left { + position:absolute; + top:20px; + left:0; +} + +#page-head-left img { + margin-right:10px; +} + +#page-head-right { + background:transparent; + position:absolute; + 1right:0; + top:20px; + height:144px; + width:100px; + 1left:860px; + 1margin-top:30px; + margin-left:30px; + +} + +.hideme { + display:none; +} + +#nav { + position:relative; + display:block; +} + +#nav .hlist { + left:55px; + position:absolute; + top:129px; +} + +#nav .hlist ul { + list-style-type:none; + padding:0; +} + +#nav .hlist ul li { + display:inline; + float:left; + height:31px; + margin:0 3px 0 0; + padding:0; +} + +#nav .hlist ul li a, +#nav .hlist ul li span + { + background-color:#C7B899; + color:#FFFFFF; + display:inline; + float:left; + font-family:"Lucida Sans Unicode",Lucida Sans,sans-serif; + font-size:15px; + font-weight:normal; + height:20px; + padding:6px 21px 5px; + text-decoration:none; + 1text-transform:uppercase; + -moz-border-radius-topleft:4px; + -moz-border-radius-topright:4px; + border-top-left-radius:4px 4px; + border-top-right-radius:4px 4px; +} + +#nav .hlist ul li a:hover, +#nav .hlist ul li a:active, +#nav .hlist ul li a:focus, +#nav .hlist ul li.active a +{ + background:none repeat scroll 0 0 #f9f7f0 !important; + color:#B3A17D; + 1font-weight:bold; + padding:6px 21px; + text-decoration:none !important; +} + +#nav .hlist ul li.active span { + background-color:#f9f7f0; + color:#666666 !important; + 1padding:6px 21px !important; + text-decoration:none; + border:1px solid #B3A17D; + border-bottom:0; +} + +#nav .hlist ul li.active span a, +#nav .hlist ul li.active span a:hover { + padding:0; +} + +#subnav { + position:relative; + height:70px; + top:163px; + display:block; +} + +#subnav .hlist { + left:14px; + position:absolute; + top:2px; +} + +#subnav .hlist ul { + list-style-type:none; + padding:0; +} + +#subnav .hlist ul li { + display:inline; + float:left; + height:68px; + width:160px; + margin:0 1px 0 0; + padding:0; +} + +#subnav .hlist ul li a, +#subnav .hlist ul li span { + 1background:url("http://sunmoonlake.com/wsc/button2.jpg") no-repeat scroll left top #FFFFFF; + color:#666666; + display:inline; + float:left; + font-family:"Lucida Sans Unicode",Lucida Sans,sans-serif; + font-size:15px; + font-weight:normal; + height:68px; + width:156px; + padding:1px 0 0 0; + text-align:center; + text-decoration:none; + text-transform:uppercase; +} + +#subnav .hlist ul li a:hover, +#subnav .hlist ul li a:active, +#subnav .hlist ul li a:focus, +#subnav .hlist ul li.active a { + 1background:url("http://sunmoonlake.com/wsc/button-active.jpg") no-repeat scroll 0 0 #FFFFFF !important; + color:#666666; + height:68px; + width:156px; + padding:2px 0 0 0; + text-align:center; + text-decoration:none !important; +} + +#subnav .hlist ul li.active span { + background:none repeat scroll 0 0 #FFFFFF !important; + color:#666666 !important; + height:68px; + width:156px; + padding:0 !important; + text-align:center; + text-decoration:none; +} + +#subnav .hlist ul li.active span a { + padding:2px 0 0 0; +} + +#header login-form { + 1background:url("http://sunmoonlake.com/wsc/login_bg.jpg") no-repeat scroll left top transparent; + height:144px; + position:absolute; + right:0; + text-align:right; + top:33px; + width:228px; +} + +#dbpics { + height:550px; + width:740px; + background:url("http://sunmoonlake.com/wsc/database-structure700.gif") no-repeat left 20px transparent; +} + +#dbpics .db-bio { + position:relative; + top:0px; left:236px; + width:340px; + height:128px; + border:2px solid transparent; + background:transparent; + display:block; +} + +#dbpics .db-biblio { + position:relative; + top:0px; left:236px; + width:340px; + height:160px; + border:2px solid transparent; + background:transparent; + display:block; +} + +#dbpics .db-term { + position:relative; + top:0px; left:236px; + width:340px; + height:140px; + border:2px solid transparent; + background:transparent; + display:block; +} + +#db-bio a:hover { + background:url("http://sunmoonlake.com/wsc/db-bio.gif") no-repeat left top transparent; +} + +#db-biblio a:hover { + background:url("http://sunmoonlake.com/wsc/db-biblio.gif") no-repeat left top transparent; +} + +#db-term a:hover { + background:url("http://sunmoonlake.com/wsc/db-term.gif") no-repeat left top transparent; +} + +h2 { + font-weight:bolder; + +} + +h1 { + background-color:transparent; + color:#835400; + text-align:center; +} + +.pagination-link { +border:1px solid #C7B899; +color:#B3A17D; +} + +.pagination-link:hover { +border:1px solid #C7B899; +color:#C7B899; +} + +#messages { + color:#B3A17D; +} + +#query-panel .search-form .collection-input { + color:#666666; +} + +.relatedItem-record { + background-color:#F3F3F3; +} + +td .biblio-full .label { + background-color:#efefef; + color:#B3A17D; +} + +.biblio-full .record { + background-color:#f3f3f3; /*f0ede7*/ +} + +td .biblio-full .url { + background-color:#E6E6E6; + color:#C7B899; +} + +div #result-container { + background:white; + margin-right:4px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + border:1px solid #C7B899 !important; + +} + +#facets { + margin-top:.5em; + margin-right:.5em; +} +table.biblio-full td.collection-label { + background-color:#FFFFFF; + text-align:right; + color:#B3A17D; +} + +table.biblio-full .sublabel { + color:#B3A17D; +} \ No newline at end of file Added: apps/tamboti/themes/wsc/images/YishuJingyanlu_bg2000xy.jpg =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/YishuJingyanlu_bg2000xy.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/aboutus.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/aboutus.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/activities.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/activities.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/bookpile.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/bookpile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/button-active.jpg =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/button-active.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/button2.jpg =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/button2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/database-structure700.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/database-structure700.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/db-biblio.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/db-biblio.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/db-bio.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/db-bio.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/db-term.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/db-term.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/dict.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/dict.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/favicon.ico =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/favicon.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/foot2.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/foot2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/gezhi.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/gezhi.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/logovjc2.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/logovjc2.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/nav_a3.gif =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/nav_a3.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/wsc-background5.jpg =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/wsc-background5.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/wsc-logo-schriftzug4.png =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/wsc-logo-schriftzug4.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/images/yishujingyanlu_bg2000d.jpg =================================================================== (Binary files differ) Property changes on: apps/tamboti/themes/wsc/images/yishujingyanlu_bg2000d.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: apps/tamboti/themes/wsc/pages/aboutus.html =================================================================== --- apps/tamboti/themes/wsc/pages/aboutus.html (rev 0) +++ apps/tamboti/themes/wsc/pages/aboutus.html 2011-07-12 08:20:34 UTC (rev 14864) @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html> + <head/> + <body> + <div id="bg"/> + <div id="page-head"> + <a name="top"/> + <div id="page-head-left"> + <a href="/exist/apps/wsc/"> + <img src="theme/images/wsc-logo-schriftzug4.png" title="WSC" alt="WSC" style="border-style: none;"/> + </a> + </div> + <div id="page-head-right"> + <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> + <img src="theme/images/logovjc2.gif" width="75" height="69" style="border-style: none" alt=""/> + </a> + </div> + <div id="nav"> + <a name="navigation" id="navigation"/> + <div class="hlist"> + <h4 class="hideme">Main Navigation</h4> + <ul> + <li> + <a title="Home" href="index.html">Home</a> + </li> + <li class="active"> + <span> + <a title="About Us" href="aboutus.html">About Us</a> + </span> + </li> + <li> + <a title="Databases" href="databases.html">Databases</a> + </li> + <li> + <a title="Activities" href="activities.html">Activities</a> + </li> + <li> + <a title="Publications" href="publications.html">Publications</a> + </li> + </ul> + </div> + </div> + </div> + <div id="pagecontent"> + <div id="pagecontent1col"> + <h2>About Us</h2> + <img style="float:left; margin: 0 20px 0 0;" src="http://sunmoonlake.com/wsc/aboutus.gif" border="0"/> + <p>The research project "Wissenschaftssprache Chinesisch / Modern Chinese Scientific Terminologies - The Distribution of Western Knowledge in + Late Imperial China" is an international effort to understand the translation of Western sciences and philosophies into China through the + reconstruction of Chinese terminologies coined since the early nineteenth century. </p> + <p>The WSC project has been supported by the Volkswagen Foundation since December 1996. It was started simultaneously at the East Asian + Department of the University of Göttingen and the Study Group for the History and Philosophy of Chinese Science and Technology at Technische + Universität Berlin. It was continued at the Department of Middle Eastern and Far Eastern Languages and Cultures at the + Friedrich-Alexander-University Erlangen-Nürnberg in October 2000. </p> + <p>Since February 2010, it is located at the Cluster of Excellence "Asia and Europe" at Heidelberg University, where the data is being revised + and enlarged, external resources are integrated, and a more definitive structure for the portal as well as a user-friendly interface are being + designed. A second stage will be devoted to consolidating data gathered at Heidelberg and in cooperation with international partners, + refining the tools of analysis, and adapting solutions developed here to the purposes and needs of other projects, throughout the Cluster + and beyond. Researches associated with the WSC Project are based in Heidelberg, Frankfurt, Erlangen, Göttingen, Shanghai, Peking, Paris, + Oslo, Winnersh (UK), Osaka, Rome, Leuven, Hong Kong, and elsewhere. </p> + <h2>More...</h2> + <p>As Jorge Luis Borges remarked, every dictionary is based on the obviously unwarranted hypothesis that languages are made up of equivalent + synonyms. From a pragmatic point of view this hypothesis is certainly indispensable. Yet, everyone who ever had to translate seemingly + unproblematic texts or propositions into a foreign tongue has experienced that different languages consist only to a very limited extent of + equivalents. Even within Europe, with its many shared cultural and linguistic roots, the incongruencies between the terms of the different + national and regional languages represent a persistent nuisance for the translator. In the case of two systems of speech and writing as + different as the European and the Chinese, the difficulties of translation and the limits of translatability inevitably become even more + obvious. At times, they may seem nearly insurmountable.</p> + <p>In view of this situation, the attempt, undertaken since the mid-nineteenth century, to translate entirely foreign systems of knowledge--the + Western sciences and their underlying philosophical premises--into the Chinese cultural and linguistic context must be viewed as a truly + challenging enterprise. In contrast to the historical, political, sociological and intellectual aspects of China's encounter with the modern + West, this enterprise has up to now not been sufficiently studied. Except for the works of Novotná (1967-69), Ivanov (1973), Lippert (1979), + Masini (1993), Xiong (1994), Shen (1994) and Liu (1996), a number of essays investigating the evolution of particular terms and some + fruitful explorations into the political language of the Chinese revolution, which have each examined individual aspects of the problematic, + no systematic study has been undertaken, neither in Chinese or Japanese nor in any Western language. The WSC Project is intended as a step + towards systematically reconstructing the formation and development of the terms in which scientific discourse is articulated in the Chinese + speaking worlds today.</p> + <p>The WSC Project aims to understand the translation of Western sciences and philosophies into China through the reconstruction of Chinese + scientific terminologies coined, altered, disputed and successively refined since the early nineteenth century. Due to the vast amount of + relevant sources, the project will limit its scope for the time being to the disciplines of philosophy, logic, physics, chemistry, geography + (i.e. "knowledge on foreign countries"), politics and international law. In addition, it will concentrate on the formative period of modern + Chinese scientific vocabulary between ca. 1840 and 1930. Although there were scattered efforts to translate "Western learning", as it was + known at the time, into Chinese languages by Protestant missionaries in the first decades of the nineteenth century, it was only in the + aftermath of China's violent opening during the so called "Opium Wars" of 1839-42 and 1860 that the terms of the Western sciences began to + find their way into Chinese learned discourse. For obvious reasons, Chinese scholar-officials were at first almost exclusively interested in + knowledge they considered as being useful for the defence of the Qing empire against further foreign aggression: besides geographical + knowledge on the nations that so powerfully demonstrated China's vulnerability, the scholarly elite initially decided to import above all + such knowledge and "cunning clues" that promised to cure the empire's apparent military and economic weaknesses. The "Unequal Treaties" + forced upon China by various Western powers then also incited increased interest in the pratice and intellectual tenets of international + law. Eventually, areas of Western learning that seemed to possess the potential to upset the foundations of the traditional Chinese state + came into view around the turn of the century: promoted by a small, but constantly growing number of reform-minded literati, political, + social and, finally, philosophical theories were introduced into the reeling empire, now mainly through Japan, China's once despised + neighbour in the east that seemed to have mastered the challenge of Western imperialism so much better than the intellectually + self-sufficient Middle Kingdom.</p> + <p>The terms that were needed to translate the new ideas from various fields of Western learning into Chinese discourse were coined in a process + that relied from the onset to a great extent on intercultural cooperation. In addition to Chinese literati, Japanese scholars and Protestant + missionaries from many Western countries were involved in the invention of the new lexicon. No matter if working on their own or in groups, + all translators had to overcome enormous difficulties. In contrast to translations between European languages where translators searching an + appropriate rendering could turn to Greek or Latin prototypes, the Chinese language did not share a conceptual reservoir with the + Indo-European languages wherefrom new terms could be inferred. Neither existed a tradition of translation comparable to European experiences + that may have provided suitable models for the interlingual transfer of hitherto unknown ideas. Finally, the unique characteristics of the + Chinese language and in particular its script proved to be an obstacle that more often than not turned the naturalization of foreign + concepts into a choice between aesthetic and semantic inadequacy. In view of all these difficulties, it is no doubt a remarkable achievement + that translators eventually succeeded in inventing thousands of largely adequate terms for the flood of new ideas streaming into China in + the course of its confrontation with the modern West.</p> + <p>The reconstruction of the scientific terminologies that have evolved from this complex process of translation, appropriation and intellectual + naturalization must rely on the systematic examination of extensive source materials. Besides contemporary dictionaries and encyclopedias, + the WSC Project takes into account selected monographs and translations of works on individual scientific disciplines or topics, textbooks, + introductory articles in learned journals and the evolving press as well as essays, travel reports, diaries and personal memoirs written by + Chinese diplomats, scholars and students. Following the compilation of a bibliographical database on the transmission of Western learning + into China, that by now contains more than 8.500 relevant titles (monographs and articles), we have established a preliminary sample of new + Chinese scientific terms on the basis of specialized and general dictionaries published between 1815 and 1916. This terminological sample + currently includes entries on approx. 125.000 simple and compound terms. At the moment, the sample data is being cross-checked with lists of + Western terms compiled from contemporary specialized dictionaries of European languages in order to assess to which extent it represents a + full or biased picture of the scienctific disciplines that were to be translated. Simultaneously, we have begun to analyze a considerable + number of primary texts, beginning with the earliest or arguably most influential works in each field.</p> + <p>For an outline of the accomplished and projected results of our effort, please consult our <a href="publications.html">publications</a> + page.</p> + <p/> + <p/> + <p> + <b> + <span class="heading">Select Bibliography</span> + </b> + </p> + <p/> + <p>Ivanov, V.V., <i>Terminologija i zaimstvovanija v sovremennom kitajskom jazyke,</i> Moskow 1973.<br/> Lippert, Wolfgang, <i>Entstehung und + Funktion einiger chinesischer marxistischer Termini. Der lexikalisch-begriffliche Aspekt der Rezeption des Marxismus in Japan und + China,</i> Wiesbaden 1979.<br/> Liu, Lydia H., <i>Translingual Practice: Literature, National Culture, and Translated Modernity. China, + 1900-1937,</i> Stanford 1996.<br/> Masini, Federico, <i>The Formation of Modern Chinese Lexicon and its Evolution toward a National + Language: The Period from 1840 to 1898,</i> Berkeley 1993.<br/> Novotná, Zdenka, "Contributions to the Study of Loan-words and Hybrid + Words in Modern Chinese", <i> Archiv Orientální</i> 35 (1967), pp. 613-648; 36 (1969), pp. 48-75.<br/> Shen Guowei, <i>Kindai Nitchu goi + koryushi: Shin kango no seisei to juyo,</i> Tokyo 1994.<br/> Xiong Yuezhi, <i>Xixue dongjian yu wan Qing shehui,</i> Shanghai 1994.</p> + <div class="back"> + <a href="#top"> [BACK TO TOP] </a> + </div> + </div> + </div> + </body> +</html> \ No newline at end of file Added: apps/tamboti/themes/wsc/pages/activities.html =================================================================== --- apps/tamboti/themes/wsc/pages/activities.html (rev 0) +++ apps/tamboti/themes/wsc/pages/activities.html 2011-07-12 08:20:34 UTC (rev 14864) @@ -0,0 +1,598 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html> + <head/> + <body> + <div id="bg"/> + <div id="page-head"> + <a name="top"/> + <div id="page-head-left"> + <a href="/exist/apps/wsc/"> + <img src="theme/images/wsc-logo-schriftzug4.png" title="WSC" alt="WSC" style="border-style: none;"/> + </a> + </div> + <div id="page-head-right"> + <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> + <img src="theme/images/logovjc2.gif" width="75" height="69" style="border-style: none"/> + </a> + </div> + <div id="nav"> + <a name="navigation" id="navigation"/> + <div class="hlist"> + <h4 class="hideme">Main Navigation</h4> + <ul> + <li> + <a title="Home" href="index.html">Home</a> + </li> + <li> + <a title="About Us" href="aboutus.html">About Us</a> + </li> + <li> + <a title="Databases" href="databases.html">Databases</a> + </li> + <li class="active"> + <span> + <a title="Activities" href="activities.html">Activities</a> + </span> + </li> + <li> + <a title="Publications" href="publications.html">Publications</a> + </li> + </ul> + </div> + </div> + </div> + <div id="pagecontent"> + <div id="pagecontent1col"> + <h2>Activities</h2> + <img style="float:left; margin: 0 30px 30px 30px;" src="http://sunmoonlake.com/wsc/activities.gif" border="0"/> + <br clear="all"/> + <table> + <tbody> + <tr> + <td> + <div class="bullet">◦</div><!--•--><!--<div class="bullet">⃝</div>--><!--<img src="http://www.wsc.uni-erlangen.de/images/w11.gif" alt="" width="26" height="26" hspace="6" align="MIDDLE"/>--> + </td> + <td> + <strong>International Workshop: China and Japan - Transnational Interaction and its Impact on Language and Identity</strong> + </td> + </tr> + <tr> + <td/> + <td>On the occasion of the visit of Profs Joan Judge and Joshua Fogel (University of California at Santa Barbara), the MCST-Project + hosted an informal workshop, organised by Natascha Vittinghoff, on the multi-facetted relations of transnational interaction + between China and Japan.<br/> The following papers were read and discussed at the meeting that took place on June 20, 2000, at + the East Asian Department of the University of Göttingen:<br/> Joan Judge: "Chinese nationalisms and female subjectivities: + Meiji Japan and the emergence of feminine modernity in early twentieth century China", introduced by Natascha Vittinghoff: + "Chinese students in the world and their relation to China";<br/> Josh Fogel: "Changing Chinese representations of the Japanese + language from Ming to Qing", introduced by Joachim Kurtz: "Migrating Meanings - Sino-Japanese linguistic exchange revisited" + </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Lecture: Denise Gimpel (University of Marburg)</strong> + </td> + </tr> + <tr> + <td/> + <td>Dr Denise Gimpel (University of Marburg) presented a paper on the topic "Mehr als Enten und Schmetterlinge: Die + Literaturzeitschrift <em>Xiaoshuo yuebao,</em> 1910-1914" on May 4, 2000.<br/> + </td> + </tr> + <tr> + <td> + + </td> + <td> + <strong>Online Essay: <a href="http://www.wsc.uni-erlangen.de/wenming.htm" target="_blank">"Changing Concepts of 'Civilization' and 'Culture' in + Modern China"</a> + </strong> + <em>(in Chinese)</em> + </td> + </tr> + <tr> + <td/> + <td>This essay by <a href="mailto:wf...@gw...">Fang Weigui</a> was first published in a slightly abbreviated version in the + Chinese journal <em>Shilin</em> ("Historical Review"), edited under the auspices of the Institute of History, Shanghai Academy of + Social Sciences, 1999.4, pp. 69-83. The online version is in BIG5 ("Traditional") Chinese encoding.<br/> + </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>International Conference: <a href="http://www.wsc.uni-erlangen.de/99conf.htm" target="_blank">Translating Western Knowledge into Late + Imperial China</a> + </strong> + </td> + </tr> + <tr> + <td/> + <td>The MCST-Project hosted an international conference on the manifold problems of the translation of Western knowledge into late + imperial China from 6-9 December, 1999 at the University of Göttingen.<br/> For further information please visit the <a href="http://www.wsc.uni-erlangen.de/99conf.htm" target="_blank">conference website</a> or contact Natascha Vittinghoff (<a href="mailto:nv...@gw...">nv...@gw...</a>).<br/> + </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar: Viviane Alleton (EHESS, Paris)</strong> + </td> + </tr> + <tr> + <td/> + <td>Prof. Viviane Alleton (Centre Chine, EHESS, Paris) worked again in Göttingen and Berlin in December 1999. This visit was + dedicated to the preparation of the chapter on linguistics for the bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial China, 1800-1911"</a>. </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar: Wang Yangzong (Chinese Academy of Sciences, Peking)</strong> + </td> + </tr> + <tr> + <td/> + <td>Prof. Wang Yangzong (Institute for the History of Natural Science, Chinese Academy of Sciences, Peking) worked once again in + Göttingen and Berlin from December 1999 to February 2000. This visit was primarily dedicated to the preparation and revision of + the chapters on physical sciences for the bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western + Knowledge in Late Imperial China, 1800-1911"</a> as well as further work on terminological questions. </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar: Ma Jun (Shanghai Academy of Social Sciences) </strong> + </td> + </tr> + <tr> + <td/> + <td>Associate Prof. Ma Jun (Institute of History, Shanghai Academy of Social Sciences) worked with the WSC-Project in Göttingen and + Berlin in December 1999. His visit was primarily dedicated to the preparation of the chapters on military sciences and + technology for the bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial + China, 1800-1911"</a>. </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar: Su Rongyu (Chinese Academy of Sciences, Peking)</strong> + </td> + </tr> + <tr> + <td/> + <td>Prof. Su Rongyu (Institute for the History of Natural Science, Chinese Academy of Sciences, Peking) worked in Göttingen and + Berlin in December 1999. His visit was primarily dedicated to the preparation of the chapter on archaeology for the bibliography + <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial China, 1800-1911"</a>. </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar: Rune Svarverud (University of Oslo)</strong> + </td> + </tr> + <tr> + <td/> + <td>Dr Rune Svarverud (Department of Eastern European and Oriental Languages, University of Oslo) worked once again in Göttingen and + Berlin in December 1999. This visit was dedicated to the preparation of the chapter on international law for the bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial China, 1800-1911"</a>. </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar: Xiong Yuezhi (Shanghai Academy of Social Sciences) </strong> + </td> + </tr> + <tr> + <td/> + <td>Prof. Xiong Yuezhi (Institute of History, Shanghai Academy of Social Sciences) worked once again work with the project in + Göttingen and Berlin in September and October 1999. This year collaboration focused on the chapters on social sciences in the + bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial China, 1800-1911"</a>. + </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar: Benjamin T'sou (City University of Hong Kong)</strong> + </td> + </tr> + <tr> + <td/> + <td>Prof. Benjamin T'sou (Language Information Sciences Research Center, City University of Hong Kong) visited Göttingen in + September 1999 for the second time within the framework of a project sponsored by the DAAD and the Hong Kong Research Council + dedicated to comparing the results of synchronic and diachronic studies of linguistic change in modern China. This visit was + reserved for the discussion of methodological problems in assessing the dissemination of neologisms, in particular in the realm + of law, and deliberations on possibilities of further cooperation between the WSC-Project and the Hong Kong programme on + Linguistic Variations among Chinese Communities (LIVAC). </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar and Seminar: John Moffett (NRI, Cambridge)</strong> + </td> + </tr> + <tr> + <td/> + <td>John Moffett (Librarian, Needham Research Institute, Cambridge) visited Göttingen in July 1999 to discuss possibilities of + further cooperation and exchanges. In addition, he gave a seminar entitled "Mandates, Ritual Faults, Senility and Death: + Prediction in the Zuozhuan" on July 5, 1999.<br/> + </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Lecture: Christoph Müller-Hofstede (Ost-West-Kolleg, Bonn)</strong> + </td> + </tr> + <tr> + <td/> + <td>Christoph Müller-Hofstede, M.A. (Ost-West-Kolleg, Bonn) presented a lecture on the topic "Sinologie und Beruf" on June 29, + 1999.<br/> + </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Visiting Scholar and Seminars: Chen Junmin (Zhejiang-University, Hangzhou)</strong> + </td> + </tr> + <tr> + <td/> + <td>Prof. Chen Junmin (Institute for History, Zhejiang-University, Hangzhou) visited the East Asian Department of the University of + Göttingen in May and June 1999. Amongst other activities, Prof. Chen presented two papers on his research into the evolution of + the term "Modern Neoconfucianism" (<em>xiandai xin rujia</em>) and the development of the Quanzhen-school of Daoism. </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Lecture: Henrik Jaeger (University of Trier)</strong> + </td> + </tr> + <tr> + <td/> + <td>Dr Henrik Jager (University of Trier) read a paper entitled "Ein buddhistischer Kommentar (<em>Hanshan Deqing</em>) zum 11. + Kapitel des Laozi" on April 27, 1999.<br/> + </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + <strong>Lecture: Andrea Bréard (Université Paris VII)</strong> + </td> + </tr> + <tr> + <td/> + <td> Dr Andrea Bréard (Université Paris VII) presented a paper entitled "Schriftzeichenkombinatorik. Zur Konstruktion eines Systems + mathematischer Objekte in der Yuan-Zeit" on January 27, 1999. </td> + </tr> + <tr> + <td> + <div class="bullet">◦</div> + </td> + <td> + ... [truncated message content] |
From: Adam R. <ad...@ex...> - 2011-07-12 15:46:43
|
Jens, I dont think Kaja's theme should not be added to our SVN repo. On 12 July 2011 10:20, <jen...@us...> wrote: > Revision: 14864 > http://exist.svn.sourceforge.net/exist/?rev=14864&view=rev > Author: jenspetersen > Date: 2011-07-12 08:20:34 +0000 (Tue, 12 Jul 2011) > > Log Message: > ----------- > [tamboti] Theme formatting, first steps. > > Modified Paths: > -------------- > apps/tamboti/README.txt > apps/tamboti/modules/search/retrieve-mods.xql > apps/tamboti/modules/search/session.xql > apps/tamboti/themes/configuration.xml > apps/tamboti/themes/default/collection-tree.xml > apps/tamboti/themes/default/css/biblio.css > apps/tamboti/themes/default/template.xml > > Added Paths: > ----------- > apps/tamboti/themes/wsc/ > apps/tamboti/themes/wsc/css/ > apps/tamboti/themes/wsc/css/theme.css > apps/tamboti/themes/wsc/images/ > apps/tamboti/themes/wsc/images/YishuJingyanlu_bg2000xy.jpg > apps/tamboti/themes/wsc/images/aboutus.gif > apps/tamboti/themes/wsc/images/activities.gif > apps/tamboti/themes/wsc/images/bookpile.gif > apps/tamboti/themes/wsc/images/button-active.jpg > apps/tamboti/themes/wsc/images/button2.jpg > apps/tamboti/themes/wsc/images/database-structure700.gif > apps/tamboti/themes/wsc/images/db-biblio.gif > apps/tamboti/themes/wsc/images/db-bio.gif > apps/tamboti/themes/wsc/images/db-term.gif > apps/tamboti/themes/wsc/images/dict.gif > apps/tamboti/themes/wsc/images/favicon.ico > apps/tamboti/themes/wsc/images/foot2.png > apps/tamboti/themes/wsc/images/gezhi.gif > apps/tamboti/themes/wsc/images/logovjc2.gif > apps/tamboti/themes/wsc/images/nav_a3.gif > apps/tamboti/themes/wsc/images/wsc-background5.jpg > apps/tamboti/themes/wsc/images/wsc-logo-schriftzug4.png > apps/tamboti/themes/wsc/images/yishujingyanlu_bg2000d.jpg > apps/tamboti/themes/wsc/pages/ > apps/tamboti/themes/wsc/pages/aboutus.html > apps/tamboti/themes/wsc/pages/activities.html > apps/tamboti/themes/wsc/pages/databases.html > apps/tamboti/themes/wsc/pages/index.html > apps/tamboti/themes/wsc/pages/publications.html > apps/tamboti/themes/wsc/query.xml > apps/tamboti/themes/wsc/template.xml > > Modified: apps/tamboti/README.txt > =================================================================== > --- apps/tamboti/README.txt 2011-07-11 19:10:55 UTC (rev 14863) > +++ apps/tamboti/README.txt 2011-07-12 08:20:34 UTC (rev 14864) > @@ -3,3 +3,11 @@ > Icon stock is from - http://www.famfamfam.com/lab/icons/silk/ > > JQuery processing framework is found in src/org/exist/xquery/lib > + > +To install: > + > +cd into the tamboti directory and call ant; a file, library-1.0.xar, is created. > + > +log in as admin to eXist, go to the Package Reposistory, choose library-1.0.xar and upload it. > + > +click "Install" and access tamboti at <http://localhost:8080/exist/apps/library/>. > \ No newline at end of file > > Modified: apps/tamboti/modules/search/retrieve-mods.xql > =================================================================== > --- apps/tamboti/modules/search/retrieve-mods.xql 2011-07-11 19:10:55 UTC (rev 14863) > +++ apps/tamboti/modules/search/retrieve-mods.xql 2011-07-12 08:20:34 UTC (rev 14864) > @@ -1524,7 +1524,8 @@ > else '' > , > if ($titleTranslation) > - then <span class="title"> [{$titleTranslationFormat/text()}]</span> > + (:NB: iterate.:) > + then <span class="title"> [{$titleTranslationFormat[1]/text()}]</span> > else () > , > if ($quotes and $titleTranslation) > @@ -1865,7 +1866,7 @@ > <table class="biblio-full"> > { > <tr> > - <td class="label">In Folder:</td> > + <td class="collection-label">In Folder:</td> > <td><div class="collection">{$collection-short}</div></td> > </tr> > , > > Modified: apps/tamboti/modules/search/session.xql > =================================================================== > --- apps/tamboti/modules/search/session.xql 2011-07-11 19:10:55 UTC (rev 14863) > +++ apps/tamboti/modules/search/session.xql 2011-07-12 08:20:34 UTC (rev 14864) > @@ -164,4 +164,4 @@ > let $count0 := request:get-parameter("count", ()) > let $count := xs:int(if ($count0) then $count0 else 10) > return > - bs:retrieve($start, $count) > + bs:retrieve($start, $count) > \ No newline at end of file > > Modified: apps/tamboti/themes/configuration.xml > =================================================================== > --- apps/tamboti/themes/configuration.xml 2011-07-11 19:10:55 UTC (rev 14863) > +++ apps/tamboti/themes/configuration.xml 2011-07-12 08:20:34 UTC (rev 14864) > @@ -1,4 +1,4 @@ > -<?xml version="1.0" encoding="UTF-8"?> > <themes> > <map path="/apps/tamboti" theme="tamboti" root="/db/resources/commons/samples"/> > + <map path="/apps/wsc" theme="wsc" root="/db/resources/commons/samples"/> > </themes> > \ No newline at end of file > > Modified: apps/tamboti/themes/default/collection-tree.xml > =================================================================== > --- apps/tamboti/themes/default/collection-tree.xml 2011-07-11 19:10:55 UTC (rev 14863) > +++ apps/tamboti/themes/default/collection-tree.xml 2011-07-12 08:20:34 UTC (rev 14864) > @@ -60,7 +60,7 @@ > <div id="collection-tree-tree"/> > <div class="box"> > <p> To view all > - records in a folder, select it and perform an empty search. > + records in a folder, double-click on it. > </p> > </div> > </div> > > Modified: apps/tamboti/themes/default/css/biblio.css > =================================================================== > --- apps/tamboti/themes/default/css/biblio.css 2011-07-11 19:10:55 UTC (rev 14863) > +++ apps/tamboti/themes/default/css/biblio.css 2011-07-12 08:20:34 UTC (rev 14864) > @@ -99,23 +99,37 @@ > > /*folder view*/ > > +/*#collection-tree-main { > + background-color:white; > +} > +*/ > #collection-tree { > + -moz-border-radius: 5px; > + -webkit-border-radius: 5px; > float: left; > margin-top: 1em; > - background-color: #CCC; > + background-color: #EDEDED !important; > width: 40px; > height: 390px; > } > > .collection-tree-head { > - background-color: #CCC; > + background-color: #EDEDED; > + -moz-border-radius: 5px; > + -webkit-border-radius: 5px; > + > } > > .collection-tree-toolbar { > + margin:5px; > height: 20px; > list-style: none; > padding: 8px 0; > - margin: 0; > + 1margin: 0; > + background-color: white; > + -moz-border-radius: 5px; > + -webkit-border-radius: 5px; > + > } > > .collection-tree-toolbar li { > @@ -137,13 +151,23 @@ > } > > #collection-tree-tree ul { > - font-size: 0.9em; > + font-size: 1em; > } > > ul.dynatree-container { > border: 0; > + background-color: white;/*#EDEDED !important;*/ > + font-size:1em; > + margin-left:5px; > + margin-right:5px; > + -moz-border-radius: 10px; > + -webkit-border-radius: 10px; > } > > +#collection-expand-all { > + margin-left: 5px; > +} > + > td.collection-path { > width: 800px; > } > @@ -164,15 +188,17 @@ > } > > .box { > - -moz-border-radius: 10px; > - -webkit-border-radius: 10px; > + -moz-border-radius: 5px; > + -webkit-border-radius: 5px; > background-color: #CCC; > color: #FFFFFF; > - margin-top: 100px; > + margin-top: 75px; > + margin-bottom: 5px; > width: 240px; > margin-left: auto; > margin-right: auto; > text-align: center; > + padding: 2px; > } > > .box p { > @@ -276,7 +302,7 @@ > cursor: pointer; > padding: 2px 4px; > border: 1px solid #0083CB; > - color: #0083CB; > + color: #5DB0E6; > margin-right: 10px; > } > > @@ -284,7 +310,7 @@ > cursor: pointer; > padding: 2px 4px; > border: 1px solid #0083CB; > - color: #0083CB; > + color: #5DB0E6; > } > > .inactive { > @@ -409,6 +435,11 @@ > width:40em; > } > > +table .biblio-full .record table, > +table .biblio-full .subrecord table { > + margin:0; > +} > + > table .biblio-full .related td { > margin:10em; > line-height:3.4em; > @@ -463,7 +494,7 @@ > /*collection-tree*/ > span.readable .dynatree-title { > font-weight: normal; > - color: #999; > + color: grey; > } > > /*folder sharing dialog begins*/ > > Modified: apps/tamboti/themes/default/template.xml > =================================================================== > --- apps/tamboti/themes/default/template.xml 2011-07-11 19:10:55 UTC (rev 14863) > +++ apps/tamboti/themes/default/template.xml 2011-07-12 08:20:34 UTC (rev 14864) > @@ -1,7 +1,7 @@ > <?xml version="1.0" encoding="UTF-8"?> > <!-- > - HTML template: will be merged with each of the pages to be displayed. > - --> > + HTML template: will be merged with each of the pages to be displayed. > +--> > <html xmlns:jquery="http://exist-db.org/xquery/jquery"> > <head> > <jquery:header base="libs/scripts/jquery" cssbase="libs/scripts/jquery/css"/> > > Added: apps/tamboti/themes/wsc/css/theme.css > =================================================================== > --- apps/tamboti/themes/wsc/css/theme.css (rev 0) > +++ apps/tamboti/themes/wsc/css/theme.css 2011-07-12 08:20:34 UTC (rev 14864) > @@ -0,0 +1,665 @@ > +/* > +purple > +(#000000 1 black) > #333333 > +(#222222 1 black) > #333333 > +#333333 1 ***almost black*** > +#666666 10 dark grey > +#dcdad9 3 grey > +(#cccccc 1 grey) > #dcdad9 > +(#dedede 1 light grey) > #dcdad9 > +#E6E6E6 > +#efefef 1 very light grey > +#F3F3F3 1 very light grey > + > +#663333 4 clotted blood > #C7B899 > +#C7B899 6 ***brown*** > +#c39d4c 1 brown > #C7B899 > +#cc9900 3 brown > #C7B899 > +#B3A17D ***dark brown (for background text)*** > +#835400 5 ***extra dark brown*** (for forefront text) > +#955702 1 dark brown > #835400 > +#f9f7f0 2 very light brown > +#f0ede7 1 very light brown > +#fdfbf5 1 very light brown > +#f2eee5 1 very light brown > +#F5F4F2 8 ***very light brown*** > +#dddad3 1 very light brown > + */ > +/*jquery css overrides begin */ > + > +#query-tabs ul { > + background-color:#F5F4F2 !important; > + background-image:url("") !important; > + } > + > +.ui-tabs-nav { > + 1background-color:#F5F4F2; > +} > + > +.ui-tabs .ui-tabs-nav li a { > + color:#FFFFFF; > +} > +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a { > + color:#B3A17D; > +} > + > +.ui-state-active a { > + color:#666666; > +} > + > +.ui-state-default a, > +.ui-state-default a:link, > +.ui-state-default a:visited > + { > + background:#C7B899; /*c9bea9 c2b497 dcdad9 C7B899*/ > + color:#333333; > +} > + > +.ui-state-active a, > +.ui-state-active a:link, > +.ui-state-active a:visited > +{ > + color:#666666/*{fcActive}*/; > + background:#f5f4f2; /*dcdad9 C7B899 f9f7f0*/ > + text-decoration:none; > + border-bottom:none; > + border-color:#C7B899; > +} > + > +#filters .ui-state-default a, > +#filters .ui-state-default a:link, > +#filters .ui-state-default a:visited > + { > + background:#F5F4F2; /*c9bea9 c2b497 dcdad9 C7B899*/ > + color:#B3A17D; > + 1font-weight:bold; > +} > + > +.ui-widget-header { > + border:1px solid #dcdad9; > + 1background:#dddad3 url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x ; /*dcdad9*/ > + color:purple; > + font-weight:bold; > +} > + > +.ui-tabs .ui-tabs-panel { > + background:#f5f4f2; > +} > + > +/*jquery css overrides end */ > + > +.bullet { > + font-size:3em; > + margin-bottom:.1em; > +} > +a { > + color:#666666; > +} > + > +a:hover { > + color:#C7B899; > +} > + > +p a:hover { > + color:red; > +} > + > +a:link, > +a:visited { > + color:#B3A17D; > + text-decoration:none; > +} > + > +p a:link, > +p a:visited > + { > + color:#835400; > + text-decoration:none; > +} > + > + > +.pagination-back { > + border:1px solid #B3A17D; > + color:#B3A17D; > +} > + > +.pagination-next { > + padding:2px 4px; > + border:1px solid #B3A17D; > + color:#B3A17D; > +} > + > +table { > + margin:1em; > + > +} > + > + > +table .pagination {margin-left:1em;} > + > +td .biblio-full { > + margin-top:-2.2em; > + margin-left:-4em; > + width:105%; > + padding:5px; > + > +} > + > +/*above from wsc biblio.css*/ > + > +#collection-tree { > + border:1px solid #C7B899; > +} > +ul.dynatree-container { > + border:0; > + background-color:#FFFFFF !important; > + border:1px solid #C7B899; > +} > + > +#dialogs { > + margin-bottom:9em; > +} > + > +.box p { > + color:#C7B899 !important; > +} > +.box { > + background-color:#FFFFFF !important; > +} > +#collection-tree, > +.collection-tree-head > +{ > + background-color:#F5F4F2 !important; > +} > + > +.collection-tree-toolbar { > + padding-left:.5em; > + border:1px solid #C7B899; > + } > + > +.collection-input { > + background-color:#F5F4F2; > +} > + > +.dynatree-container > +{ > + background-color:#F5F4F2 !important; > +} > + > +.page { > + 1background:url("http://sunmoonlake.com/wsc/YishuJingyanlu_bg2000d.jpg") repeat-x scroll -100px -19px #dcdad9; > + padding-right:0px; > +} > + > +p { > + color:#333333; > + font-size:1.1em; > + line-height:1.25em; > + > +} > + > +hr { > + margin-bottom:1em; > +} > + > +@media screen { > + body { > + 1background:url("http://sunmoonlake.com/wsc/YishuJingyanlu_bg2000xy.jpg") repeat scroll -100px 163px transparent; > + background:url("http://sunmoonlake.com/wsc/YishuJingyanlu_bg2000d.jpg") repeat scroll -100px -19px #C7B899; > + 1min-width:1000px; > + display:block; > +} > + > +#content2col { > + left:220px; > + right:50px; > + top:215px; > + position:absolute; > + left:0; > + margin-left:50px; > + margin-right:290px; > + display:block; > + overflow:visible; > + background-color:#FFFFFF; > + } > + > +#content2col2 { > +/* left:220px; > + right:50px; > + top:215px; */ > + position:relative; > + float:right; > + right:0; > + margin-right:50px; > + margin-left:10px; > + margin-top:-76px; > + width:228px; > + height:800px; > + display:block; > + overflow:visible; > + 1background:url("http://sunmoonlake.com/wsc/wsc-background5.jpg") repeat-y right top white; > + } > + > +#content { > + position:absolute; > + left:240px; > + right:290px; > + top:235px; > + display:block; > + overflow:visible; > + background-color:#FFFFFF; > +} > + > +#pagecontent1col { > + left:50px; > + right:50px; > + top:235px; > + margin-bottom:116px; > + padding:30px; > + display:block; > + overflow:visible; > + background:transparent; > + z-index:1; > + -moz-border-radius:10px; > + -webkit-border-radius:10px; > + border:1px solid #C7B899; > +} > + > +#query-history *, > +#personal-list * { > + color:#835400; > + font-size:1em; > +} > + > +}#pagecontent { > + /* position:absolute; */ > + top:0; > + bottom:100px; > + left:0; > + right:0; > + height:100%; > + 1width:960px; > + display:block; > + margin:0 50px 20px 50px; > + padding:0 0 0 0; > + overflow:visible; > + background:#f2eee5; /*f2eee5 f5f4f2 f0ede7*/ > + opacity:0.9; > + z-index:-1; > +} > + > +.repeat .label { > + background-color:#F5F4F2; > +} > + > +* html #pagecontent1col { > + background-color:#fdfbf5; > +} > + > +#content1col { > + 1margin-top:-17px; > + margin-left:50px; > + margin-right:50px; > + padding:1.5em; > + top:235px; > + display:block; > + overflow:visible; > + background-color:#f0ede7; > + -moz-border-radius:10px; > + -webkit-border-radius:10px; > + border:1px solid #C7B899; > + } > +} > + > +/*#pagination { > + -moz-border-radius:5px; > + -webkit-border-radius:5px; > + border:1px solid #C7B899 !important; > +} > +*/ > + > +table .even { > + background-color:#F5F4F2; > +} > +.back { > + margin-top:2em; > +} > +#header { > + height:144px; > + position:relative; > +} > + > +#header, > +#nav, > +#main, > +#footer > +{ > + clear:both; > +} > + > +#page-head { > + background: transparent; > + color:#333333; > + height:180px; > + margin-top:0px; > + margin-bottom:0; > +} > + > +#page-footer { > + display:block; > + margin:0 50px 20px 50px; > + background-color:#dcdad9; > + color:#666666; > + text-align:center; > + margin-top:-7em; > + padding:.5em; > + border:1px solid #C7B899; > + -moz-border-radius:10px; > + -webkit-border-radius:10px; > +} > + > +.articles { > + margin-left:15px; > + font-size:1.1em; > +} > + > +* html #page-footer { > + 1width:860px; > + margin-top:20px; > +} > + > +#page-head-left { > + position:absolute; > + top:20px; > + left:0; > +} > + > +#page-head-left img { > + margin-right:10px; > +} > + > +#page-head-right { > + background:transparent; > + position:absolute; > + 1right:0; > + top:20px; > + height:144px; > + width:100px; > + 1left:860px; > + 1margin-top:30px; > + margin-left:30px; > + > +} > + > +.hideme { > + display:none; > +} > + > +#nav { > + position:relative; > + display:block; > +} > + > +#nav .hlist { > + left:55px; > + position:absolute; > + top:129px; > +} > + > +#nav .hlist ul { > + list-style-type:none; > + padding:0; > +} > + > +#nav .hlist ul li { > + display:inline; > + float:left; > + height:31px; > + margin:0 3px 0 0; > + padding:0; > +} > + > +#nav .hlist ul li a, > +#nav .hlist ul li span > + { > + background-color:#C7B899; > + color:#FFFFFF; > + display:inline; > + float:left; > + font-family:"Lucida Sans Unicode",Lucida Sans,sans-serif; > + font-size:15px; > + font-weight:normal; > + height:20px; > + padding:6px 21px 5px; > + text-decoration:none; > + 1text-transform:uppercase; > + -moz-border-radius-topleft:4px; > + -moz-border-radius-topright:4px; > + border-top-left-radius:4px 4px; > + border-top-right-radius:4px 4px; > +} > + > +#nav .hlist ul li a:hover, > +#nav .hlist ul li a:active, > +#nav .hlist ul li a:focus, > +#nav .hlist ul li.active a > +{ > + background:none repeat scroll 0 0 #f9f7f0 !important; > + color:#B3A17D; > + 1font-weight:bold; > + padding:6px 21px; > + text-decoration:none !important; > +} > + > +#nav .hlist ul li.active span { > + background-color:#f9f7f0; > + color:#666666 !important; > + 1padding:6px 21px !important; > + text-decoration:none; > + border:1px solid #B3A17D; > + border-bottom:0; > +} > + > +#nav .hlist ul li.active span a, > +#nav .hlist ul li.active span a:hover { > + padding:0; > +} > + > +#subnav { > + position:relative; > + height:70px; > + top:163px; > + display:block; > +} > + > +#subnav .hlist { > + left:14px; > + position:absolute; > + top:2px; > +} > + > +#subnav .hlist ul { > + list-style-type:none; > + padding:0; > +} > + > +#subnav .hlist ul li { > + display:inline; > + float:left; > + height:68px; > + width:160px; > + margin:0 1px 0 0; > + padding:0; > +} > + > +#subnav .hlist ul li a, > +#subnav .hlist ul li span { > + 1background:url("http://sunmoonlake.com/wsc/button2.jpg") no-repeat scroll left top #FFFFFF; > + color:#666666; > + display:inline; > + float:left; > + font-family:"Lucida Sans Unicode",Lucida Sans,sans-serif; > + font-size:15px; > + font-weight:normal; > + height:68px; > + width:156px; > + padding:1px 0 0 0; > + text-align:center; > + text-decoration:none; > + text-transform:uppercase; > +} > + > +#subnav .hlist ul li a:hover, > +#subnav .hlist ul li a:active, > +#subnav .hlist ul li a:focus, > +#subnav .hlist ul li.active a { > + 1background:url("http://sunmoonlake.com/wsc/button-active.jpg") no-repeat scroll 0 0 #FFFFFF !important; > + color:#666666; > + height:68px; > + width:156px; > + padding:2px 0 0 0; > + text-align:center; > + text-decoration:none !important; > +} > + > +#subnav .hlist ul li.active span { > + background:none repeat scroll 0 0 #FFFFFF !important; > + color:#666666 !important; > + height:68px; > + width:156px; > + padding:0 !important; > + text-align:center; > + text-decoration:none; > +} > + > +#subnav .hlist ul li.active span a { > + padding:2px 0 0 0; > +} > + > +#header login-form { > + 1background:url("http://sunmoonlake.com/wsc/login_bg.jpg") no-repeat scroll left top transparent; > + height:144px; > + position:absolute; > + right:0; > + text-align:right; > + top:33px; > + width:228px; > +} > + > +#dbpics { > + height:550px; > + width:740px; > + background:url("http://sunmoonlake.com/wsc/database-structure700.gif") no-repeat left 20px transparent; > +} > + > +#dbpics .db-bio { > + position:relative; > + top:0px; left:236px; > + width:340px; > + height:128px; > + border:2px solid transparent; > + background:transparent; > + display:block; > +} > + > +#dbpics .db-biblio { > + position:relative; > + top:0px; left:236px; > + width:340px; > + height:160px; > + border:2px solid transparent; > + background:transparent; > + display:block; > +} > + > +#dbpics .db-term { > + position:relative; > + top:0px; left:236px; > + width:340px; > + height:140px; > + border:2px solid transparent; > + background:transparent; > + display:block; > +} > + > +#db-bio a:hover { > + background:url("http://sunmoonlake.com/wsc/db-bio.gif") no-repeat left top transparent; > +} > + > +#db-biblio a:hover { > + background:url("http://sunmoonlake.com/wsc/db-biblio.gif") no-repeat left top transparent; > +} > + > +#db-term a:hover { > + background:url("http://sunmoonlake.com/wsc/db-term.gif") no-repeat left top transparent; > +} > + > +h2 { > + font-weight:bolder; > + > +} > + > +h1 { > + background-color:transparent; > + color:#835400; > + text-align:center; > +} > + > +.pagination-link { > +border:1px solid #C7B899; > +color:#B3A17D; > +} > + > +.pagination-link:hover { > +border:1px solid #C7B899; > +color:#C7B899; > +} > + > +#messages { > + color:#B3A17D; > +} > + > +#query-panel .search-form .collection-input { > + color:#666666; > +} > + > +.relatedItem-record { > + background-color:#F3F3F3; > +} > + > +td .biblio-full .label { > + background-color:#efefef; > + color:#B3A17D; > +} > + > +.biblio-full .record { > + background-color:#f3f3f3; /*f0ede7*/ > +} > + > +td .biblio-full .url { > + background-color:#E6E6E6; > + color:#C7B899; > +} > + > +div #result-container { > + background:white; > + margin-right:4px; > + -moz-border-radius:5px; > + -webkit-border-radius:5px; > + border:1px solid #C7B899 !important; > + > +} > + > +#facets { > + margin-top:.5em; > + margin-right:.5em; > +} > +table.biblio-full td.collection-label { > + background-color:#FFFFFF; > + text-align:right; > + color:#B3A17D; > +} > + > +table.biblio-full .sublabel { > + color:#B3A17D; > +} > \ No newline at end of file > > Added: apps/tamboti/themes/wsc/images/YishuJingyanlu_bg2000xy.jpg > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/YishuJingyanlu_bg2000xy.jpg > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/aboutus.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/aboutus.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/activities.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/activities.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/bookpile.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/bookpile.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/button-active.jpg > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/button-active.jpg > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/button2.jpg > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/button2.jpg > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/database-structure700.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/database-structure700.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/db-biblio.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/db-biblio.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/db-bio.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/db-bio.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/db-term.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/db-term.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/dict.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/dict.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/favicon.ico > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/favicon.ico > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/foot2.png > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/foot2.png > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/gezhi.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/gezhi.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/logovjc2.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/logovjc2.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/nav_a3.gif > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/nav_a3.gif > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/wsc-background5.jpg > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/wsc-background5.jpg > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/wsc-logo-schriftzug4.png > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/wsc-logo-schriftzug4.png > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/images/yishujingyanlu_bg2000d.jpg > =================================================================== > (Binary files differ) > > > Property changes on: apps/tamboti/themes/wsc/images/yishujingyanlu_bg2000d.jpg > ___________________________________________________________________ > Added: svn:mime-type > + application/octet-stream > > Added: apps/tamboti/themes/wsc/pages/aboutus.html > =================================================================== > --- apps/tamboti/themes/wsc/pages/aboutus.html (rev 0) > +++ apps/tamboti/themes/wsc/pages/aboutus.html 2011-07-12 08:20:34 UTC (rev 14864) > @@ -0,0 +1,140 @@ > +<?xml version="1.0" encoding="UTF-8"?> > +<html> > + <head/> > + <body> > + <div id="bg"/> > + <div id="page-head"> > + <a name="top"/> > + <div id="page-head-left"> > + <a href="/exist/apps/wsc/"> > + <img src="theme/images/wsc-logo-schriftzug4.png" title="WSC" alt="WSC" style="border-style: none;"/> > + </a> > + </div> > + <div id="page-head-right"> > + <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> > + <img src="theme/images/logovjc2.gif" width="75" height="69" style="border-style: none" alt=""/> > + </a> > + </div> > + <div id="nav"> > + <a name="navigation" id="navigation"/> > + <div class="hlist"> > + <h4 class="hideme">Main Navigation</h4> > + <ul> > + <li> > + <a title="Home" href="index.html">Home</a> > + </li> > + <li class="active"> > + <span> > + <a title="About Us" href="aboutus.html">About Us</a> > + </span> > + </li> > + <li> > + <a title="Databases" href="databases.html">Databases</a> > + </li> > + <li> > + <a title="Activities" href="activities.html">Activities</a> > + </li> > + <li> > + <a title="Publications" href="publications.html">Publications</a> > + </li> > + </ul> > + </div> > + </div> > + </div> > + <div id="pagecontent"> > + <div id="pagecontent1col"> > + <h2>About Us</h2> > + <img style="float:left; margin: 0 20px 0 0;" src="http://sunmoonlake.com/wsc/aboutus.gif" border="0"/> > + <p>The research project "Wissenschaftssprache Chinesisch / Modern Chinese Scientific Terminologies - The Distribution of Western Knowledge in > + Late Imperial China" is an international effort to understand the translation of Western sciences and philosophies into China through the > + reconstruction of Chinese terminologies coined since the early nineteenth century. </p> > + <p>The WSC project has been supported by the Volkswagen Foundation since December 1996. It was started simultaneously at the East Asian > + Department of the University of Göttingen and the Study Group for the History and Philosophy of Chinese Science and Technology at Technische > + Universität Berlin. It was continued at the Department of Middle Eastern and Far Eastern Languages and Cultures at the > + Friedrich-Alexander-University Erlangen-Nürnberg in October 2000. </p> > + <p>Since February 2010, it is located at the Cluster of Excellence "Asia and Europe" at Heidelberg University, where the data is being revised > + and enlarged, external resources are integrated, and a more definitive structure for the portal as well as a user-friendly interface are being > + designed. A second stage will be devoted to consolidating data gathered at Heidelberg and in cooperation with international partners, > + refining the tools of analysis, and adapting solutions developed here to the purposes and needs of other projects, throughout the Cluster > + and beyond. Researches associated with the WSC Project are based in Heidelberg, Frankfurt, Erlangen, Göttingen, Shanghai, Peking, Paris, > + Oslo, Winnersh (UK), Osaka, Rome, Leuven, Hong Kong, and elsewhere. </p> > + <h2>More...</h2> > + <p>As Jorge Luis Borges remarked, every dictionary is based on the obviously unwarranted hypothesis that languages are made up of equivalent > + synonyms. From a pragmatic point of view this hypothesis is certainly indispensable. Yet, everyone who ever had to translate seemingly > + unproblematic texts or propositions into a foreign tongue has experienced that different languages consist only to a very limited extent of > + equivalents. Even within Europe, with its many shared cultural and linguistic roots, the incongruencies between the terms of the different > + national and regional languages represent a persistent nuisance for the translator. In the case of two systems of speech and writing as > + different as the European and the Chinese, the difficulties of translation and the limits of translatability inevitably become even more > + obvious. At times, they may seem nearly insurmountable.</p> > + <p>In view of this situation, the attempt, undertaken since the mid-nineteenth century, to translate entirely foreign systems of knowledge--the > + Western sciences and their underlying philosophical premises--into the Chinese cultural and linguistic context must be viewed as a truly > + challenging enterprise. In contrast to the historical, political, sociological and intellectual aspects of China's encounter with the modern > + West, this enterprise has up to now not been sufficiently studied. Except for the works of Novotná (1967-69), Ivanov (1973), Lippert (1979), > + Masini (1993), Xiong (1994), Shen (1994) and Liu (1996), a number of essays investigating the evolution of particular terms and some > + fruitful explorations into the political language of the Chinese revolution, which have each examined individual aspects of the problematic, > + no systematic study has been undertaken, neither in Chinese or Japanese nor in any Western language. The WSC Project is intended as a step > + towards systematically reconstructing the formation and development of the terms in which scientific discourse is articulated in the Chinese > + speaking worlds today.</p> > + <p>The WSC Project aims to understand the translation of Western sciences and philosophies into China through the reconstruction of Chinese > + scientific terminologies coined, altered, disputed and successively refined since the early nineteenth century. Due to the vast amount of > + relevant sources, the project will limit its scope for the time being to the disciplines of philosophy, logic, physics, chemistry, geography > + (i.e. "knowledge on foreign countries"), politics and international law. In addition, it will concentrate on the formative period of modern > + Chinese scientific vocabulary between ca. 1840 and 1930. Although there were scattered efforts to translate "Western learning", as it was > + known at the time, into Chinese languages by Protestant missionaries in the first decades of the nineteenth century, it was only in the > + aftermath of China's violent opening during the so called "Opium Wars" of 1839-42 and 1860 that the terms of the Western sciences began to > + find their way into Chinese learned discourse. For obvious reasons, Chinese scholar-officials were at first almost exclusively interested in > + knowledge they considered as being useful for the defence of the Qing empire against further foreign aggression: besides geographical > + knowledge on the nations that so powerfully demonstrated China's vulnerability, the scholarly elite initially decided to import above all > + such knowledge and "cunning clues" that promised to cure the empire's apparent military and economic weaknesses. The "Unequal Treaties" > + forced upon China by various Western powers then also incited increased interest in the pratice and intellectual tenets of international > + law. Eventually, areas of Western learning that seemed to possess the potential to upset the foundations of the traditional Chinese state > + came into view around the turn of the century: promoted by a small, but constantly growing number of reform-minded literati, political, > + social and, finally, philosophical theories were introduced into the reeling empire, now mainly through Japan, China's once despised > + neighbour in the east that seemed to have mastered the challenge of Western imperialism so much better than the intellectually > + self-sufficient Middle Kingdom.</p> > + <p>The terms that were needed to translate the new ideas from various fields of Western learning into Chinese discourse were coined in a process > + that relied from the onset to a great extent on intercultural cooperation. In addition to Chinese literati, Japanese scholars and Protestant > + missionaries from many Western countries were involved in the invention of the new lexicon. No matter if working on their own or in groups, > + all translators had to overcome enormous difficulties. In contrast to translations between European languages where translators searching an > + appropriate rendering could turn to Greek or Latin prototypes, the Chinese language did not share a conceptual reservoir with the > + Indo-European languages wherefrom new terms could be inferred. Neither existed a tradition of translation comparable to European experiences > + that may have provided suitable models for the interlingual transfer of hitherto unknown ideas. Finally, the unique characteristics of the > + Chinese language and in particular its script proved to be an obstacle that more often than not turned the naturalization of foreign > + concepts into a choice between aesthetic and semantic inadequacy. In view of all these difficulties, it is no doubt a remarkable achievement > + that translators eventually succeeded in inventing thousands of largely adequate terms for the flood of new ideas streaming into China in > + the course of its confrontation with the modern West.</p> > + <p>The reconstruction of the scientific terminologies that have evolved from this complex process of translation, appropriation and intellectual > + naturalization must rely on the systematic examination of extensive source materials. Besides contemporary dictionaries and encyclopedias, > + the WSC Project takes into account selected monographs and translations of works on individual scientific disciplines or topics, textbooks, > + introductory articles in learned journals and the evolving press as well as essays, travel reports, diaries and personal memoirs written by > + Chinese diplomats, scholars and students. Following the compilation of a bibliographical database on the transmission of Western learning > + into China, that by now contains more than 8.500 relevant titles (monographs and articles), we have established a preliminary sample of new > + Chinese scientific terms on the basis of specialized and general dictionaries published between 1815 and 1916. This terminological sample > + currently includes entries on approx. 125.000 simple and compound terms. At the moment, the sample data is being cross-checked with lists of > + Western terms compiled from contemporary specialized dictionaries of European languages in order to assess to which extent it represents a > + full or biased picture of the scienctific disciplines that were to be translated. Simultaneously, we have begun to analyze a considerable > + number of primary texts, beginning with the earliest or arguably most influential works in each field.</p> > + <p>For an outline of the accomplished and projected results of our effort, please consult our <a href="publications.html">publications</a> > + page.</p> > + <p/> > + <p/> > + <p> > + <b> > + <span class="heading">Select Bibliography</span> > + </b> > + </p> > + <p/> > + <p>Ivanov, V.V., <i>Terminologija i zaimstvovanija v sovremennom kitajskom jazyke,</i> Moskow 1973.<br/> Lippert, Wolfgang, <i>Entstehung und > + Funktion einiger chinesischer marxistischer Termini. Der lexikalisch-begriffliche Aspekt der Rezeption des Marxismus in Japan und > + China,</i> Wiesbaden 1979.<br/> Liu, Lydia H., <i>Translingual Practice: Literature, National Culture, and Translated Modernity. China, > + 1900-1937,</i> Stanford 1996.<br/> Masini, Federico, <i>The Formation of Modern Chinese Lexicon and its Evolution toward a National > + Language: The Period from 1840 to 1898,</i> Berkeley 1993.<br/> Novotná, Zdenka, "Contributions to the Study of Loan-words and Hybrid > + Words in Modern Chinese", <i> Archiv Orientální</i> 35 (1967), pp. 613-648; 36 (1969), pp. 48-75.<br/> Shen Guowei, <i>Kindai Nitchu goi > + koryushi: Shin kango no seisei to juyo,</i> Tokyo 1994.<br/> Xiong Yuezhi, <i>Xixue dongjian yu wan Qing shehui,</i> Shanghai 1994.</p> > + <div class="back"> > + <a href="#top"> [BACK TO TOP] </a> > + </div> > + </div> > + </div> > + </body> > +</html> > \ No newline at end of file > > Added: apps/tamboti/themes/wsc/pages/activities.html > =================================================================== > --- apps/tamboti/themes/wsc/pages/activities.html (rev 0) > +++ apps/tamboti/themes/wsc/pages/activities.html 2011-07-12 08:20:34 UTC (rev 14864) > @@ -0,0 +1,598 @@ > +<?xml version="1.0" encoding="UTF-8"?> > +<html> > + <head/> > + <body> > + <div id="bg"/> > + <div id="page-head"> > + <a name="top"/> > + <div id="page-head-left"> > + <a href="/exist/apps/wsc/"> > + <img src="theme/images/wsc-logo-schriftzug4.png" title="WSC" alt="WSC" style="border-style: none;"/> > + </a> > + </div> > + <div id="page-head-right"> > + <a href="http://www.asia-europe.uni-heidelberg.de/en/home.html" target="_blank"> > + <img src="theme/images/logovjc2.gif" width="75" height="69" style="border-style: none"/> > + </a> > + </div> > + <div id="nav"> > + <a name="navigation" id="navigation"/> > + <div class="hlist"> > + <h4 class="hideme">Main Navigation</h4> > + <ul> > + <li> > + <a title="Home" href="index.html">Home</a> > + </li> > + <li> > + <a title="About Us" href="aboutus.html">About Us</a> > + </li> > + <li> > + <a title="Databases" href="databases.html">Databases</a> > + </li> > + <li class="active"> > + <span> > + <a title="Activities" href="activities.html">Activities</a> > + </span> > + </li> > + <li> > + <a title="Publications" href="publications.html">Publications</a> > + </li> > + </ul> > + </div> > + </div> > + </div> > + <div id="pagecontent"> > + <div id="pagecontent1col"> > + <h2>Activities</h2> > + <img style="float:left; margin: 0 30px 30px 30px;" src="http://sunmoonlake.com/wsc/activities.gif" border="0"/> > + <br clear="all"/> > + <table> > + <tbody> > + <tr> > + <td> > + <div class="bullet">◦</div><!--•--><!--<div class="bullet">⃝</div>--><!--<img src="http://www.wsc.uni-erlangen.de/images/w11.gif" alt="" width="26" height="26" hspace="6" align="MIDDLE"/>--> > + </td> > + <td> > + <strong>International Workshop: China and Japan - Transnational Interaction and its Impact on Language and Identity</strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>On the occasion of the visit of Profs Joan Judge and Joshua Fogel (University of California at Santa Barbara), the MCST-Project > + hosted an informal workshop, organised by Natascha Vittinghoff, on the multi-facetted relations of transnational interaction > + between China and Japan.<br/> The following papers were read and discussed at the meeting that took place on June 20, 2000, at > + the East Asian Department of the University of Göttingen:<br/> Joan Judge: "Chinese nationalisms and female subjectivities: > + Meiji Japan and the emergence of feminine modernity in early twentieth century China", introduced by Natascha Vittinghoff: > + "Chinese students in the world and their relation to China";<br/> Josh Fogel: "Changing Chinese representations of the Japanese > + language from Ming to Qing", introduced by Joachim Kurtz: "Migrating Meanings - Sino-Japanese linguistic exchange revisited" > + </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Lecture: Denise Gimpel (University of Marburg)</strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>Dr Denise Gimpel (University of Marburg) presented a paper on the topic "Mehr als Enten und Schmetterlinge: Die > + Literaturzeitschrift <em>Xiaoshuo yuebao,</em> 1910-1914" on May 4, 2000.<br/> > + </td> > + </tr> > + <tr> > + <td> > + > + </td> > + <td> > + <strong>Online Essay: <a href="http://www.wsc.uni-erlangen.de/wenming.htm" target="_blank">"Changing Concepts of 'Civilization' and 'Culture' in > + Modern China"</a> > + </strong> > + <em>(in Chinese)</em> > + </td> > + </tr> > + <tr> > + <td/> > + <td>This essay by <a href="mailto:wf...@gw...">Fang Weigui</a> was first published in a slightly abbreviated version in the > + Chinese journal <em>Shilin</em> ("Historical Review"), edited under the auspices of the Institute of History, Shanghai Academy of > + Social Sciences, 1999.4, pp. 69-83. The online version is in BIG5 ("Traditional") Chinese encoding.<br/> > + </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>International Conference: <a href="http://www.wsc.uni-erlangen.de/99conf.htm" target="_blank">Translating Western Knowledge into Late > + Imperial China</a> > + </strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>The MCST-Project hosted an international conference on the manifold problems of the translation of Western knowledge into late > + imperial China from 6-9 December, 1999 at the University of Göttingen.<br/> For further information please visit the <a href="http://www.wsc.uni-erlangen.de/99conf.htm" target="_blank">conference website</a> or contact Natascha Vittinghoff (<a href="mailto:nv...@gw...">nv...@gw...</a>).<br/> > + </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Visiting Scholar: Viviane Alleton (EHESS, Paris)</strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>Prof. Viviane Alleton (Centre Chine, EHESS, Paris) worked again in Göttingen and Berlin in December 1999. This visit was > + dedicated to the preparation of the chapter on linguistics for the bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial China, 1800-1911"</a>. </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Visiting Scholar: Wang Yangzong (Chinese Academy of Sciences, Peking)</strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>Prof. Wang Yangzong (Institute for the History of Natural Science, Chinese Academy of Sciences, Peking) worked once again in > + Göttingen and Berlin from December 1999 to February 2000. This visit was primarily dedicated to the preparation and revision of > + the chapters on physical sciences for the bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western > + Knowledge in Late Imperial China, 1800-1911"</a> as well as further work on terminological questions. </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Visiting Scholar: Ma Jun (Shanghai Academy of Social Sciences) </strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>Associate Prof. Ma Jun (Institute of History, Shanghai Academy of Social Sciences) worked with the WSC-Project in Göttingen and > + Berlin in December 1999. His visit was primarily dedicated to the preparation of the chapters on military sciences and > + technology for the bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial > + China, 1800-1911"</a>. </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Visiting Scholar: Su Rongyu (Chinese Academy of Sciences, Peking)</strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>Prof. Su Rongyu (Institute for the History of Natural Science, Chinese Academy of Sciences, Peking) worked in Göttingen and > + Berlin in December 1999. His visit was primarily dedicated to the preparation of the chapter on archaeology for the bibliography > + <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial China, 1800-1911"</a>. </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Visiting Scholar: Rune Svarverud (University of Oslo)</strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>Dr Rune Svarverud (Department of Eastern European and Oriental Languages, University of Oslo) worked once again in Göttingen and > + Berlin in December 1999. This visit was dedicated to the preparation of the chapter on international law for the bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial China, 1800-1911"</a>. </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Visiting Scholar: Xiong Yuezhi (Shanghai Academy of Social Sciences) </strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>Prof. Xiong Yuezhi (Institute of History, Shanghai Academy of Social Sciences) worked once again work with the project in > + Göttingen and Berlin in September and October 1999. This year collaboration focused on the chapters on social sciences in the > + bibliography <a href="http://www.wsc.uni-erlangen.de/wscpub.htm#bib" target="_blank">"Western Knowledge in Late Imperial China, 1800-1911"</a>. > + </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Visiting Scholar: Benjamin T'sou (City University of Hong Kong)</strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>Prof. Benjamin T'sou (Language Information Sciences Research Center, City University of Hong Kong) visited Göttingen in > + September 1999 for the second time within the framework of a project sponsored by the DAAD and the Hong Kong Research Council > + dedicated to comparing the results of synchronic and diachronic studies of linguistic change in modern China. This visit was > + reserved for the discussion of methodological problems in assessing the dissemination of neologisms, in particular in the realm > + of law, and deliberations on possibilities of further cooperation between the WSC-Project and the Hong Kong programme on > + Linguistic Variations among Chinese Communities (LIVAC). </td> > + </tr> > + <tr> > + <td> > + <div class="bullet">◦</div> > + </td> > + <td> > + <strong>Visiting Scholar and Seminar: John Moffett (NRI, Cambridge)</strong> > + </td> > + </tr> > + <tr> > + <td/> > + <td>John Moffett (Librarian, Needham Research Institute, Cambridge) visited Göttingen in July 1999 to discuss possibilities of > + further cooperation and exchanges. In addition, he gave a seminar entitled "Mandates, Ritual Faults, Senility and Death: > + Prediction in the Zuozhuan" on July 5, 1999.<br/> > + </td> > + </tr> > + <tr> > + <td> > + ... [truncated message content] |
From: <jen...@us...> - 2011-07-15 15:24:39
|
Revision: 14887 http://exist.svn.sourceforge.net/exist/?rev=14887&view=rev Author: jenspetersen Date: 2011-07-15 15:24:28 +0000 (Fri, 15 Jul 2011) Log Message: ----------- [tamboti] Fixes to editor and search display (mainly name forms). Modified Paths: -------------- apps/tamboti/modules/edit/body/00-compact-contents.xml apps/tamboti/modules/edit/code-tables/language-3-type-codes.xml apps/tamboti/modules/edit/code-tables/language-3-type-sorted-codes.xml apps/tamboti/modules/edit/edit.css apps/tamboti/modules/edit/style.xqm apps/tamboti/modules/edit/tab-data.xml apps/tamboti/modules/search/cleanup.xql apps/tamboti/modules/search/retrieve-mods.xql apps/tamboti/modules/search/search.xql apps/tamboti/themes/default/css/biblio.css apps/tamboti/themes/default/query.xml Added Paths: ----------- apps/tamboti/modules/edit/body/00-compact-contents-name-title.xml Removed Paths: ------------- apps/tamboti/modules/edit/tamboti.css Added: apps/tamboti/modules/edit/body/00-compact-contents-name-title.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-contents-name-title.xml (rev 0) +++ apps/tamboti/modules/edit/body/00-compact-contents-name-title.xml 2011-07-15 15:24:28 UTC (rev 14887) @@ -0,0 +1,580 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- insert does not work with name --> +<div xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xf="http://www.w3.org/2002/xforms" class="compact block-form" tab-id="compact-c"> + <xf:group> + <fieldset class="level-1"> + <div class="join"> + <span class="legend">Subjects</span> + <span class="join-button"> + <xf:trigger> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:subject" at="index('subject-repeat')" position="after" origin="instance('compact-template')/mods:subject"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='subject']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="instance('save-data')/mods:subject" id="subject-repeat"> + <xf:group ref=".[mods:topic]"> + <fieldset class="level-2"> + <div class="join"> + <span class="legend">Topic</span> + <span class="join-button"> + <xf:trigger> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:topic" at="index('topic-repeat')" position="after" origin="instance('compact-template')/mods:subject/mods:topic"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='topic']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:topic" id="topic-repeat"> + <xf:group ref="." class="hide-label margin-plus"> + <xf:input ref="." class="text_100"> + <xf:label>Topic</xf:label> + </xf:input> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> + <xf:group ref=".[mods:geographic]"> + <fieldset class="level-2"> + <div class="join"> + <span class="legend">Place</span> + <span class="join-button"> + <xf:trigger> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:geographic" at="index('geographic-repeat')" position="after" origin="instance('compact-template')/mods:subject/mods:geographic"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='geographic']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:geographic" id="geographic-repeat"> + <xf:group ref="." class="hide-label margin-plus"> + <xf:input ref="." class="text_100"> + <xf:label>Geographic</xf:label> + </xf:input> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> + <xf:group ref=".[mods:temporal]"> + <fieldset class="level-2"> + <div class="join"> + <span class="legend">Time</span> + <span class="join-button"> + <xf:trigger> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:temporal" at="index('temporal-repeat')" position="after" origin="instance('compact-template')/mods:subject/mods:temporal"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='temporal']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:temporal" id="temporal-repeat"> + <xf:group ref=".[@encoding]" class="margin-plus"> + <xf:select1 ref="./@encoding"> + <xf:label>Encoding<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='temporal-encoding']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='date-encoding-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[@point]" class="margin-plus"> + <xf:select1 ref="./@point"> + <xf:label>Point<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='temporal-point']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='date-point-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref="." class="hide-label margin-plus"> + <xf:input ref="." class="text_50"> + <xf:label>Date</xf:label> + </xf:input> + </xf:group> + <xf:group ref=".[count(../mods:temporal) > 1]"> + <br/> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> + <xf:group> + <fieldset class="level-2"> + <div class="join"> + <span class="legend">Works as Topic</span> + <span class="join-button"> + <!-- Is it possible to insert both untyped, transliteration and translation titleInfo at the same time? --> + <!--<xf:trigger> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:titleInfo" at="index('subject-titleInfo-repeat')" position="after" + origin="instance('compact-template')/mods:titleInfo[1]"/> + </xf:action> + </xf:trigger>--> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='subject-titleInfo']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:titleInfo" id="subject-titleInfo-repeat"> + <xf:group ref=".[(@transliteration) or string-length(@lang) > 0]"> + <br/> + </xf:group> + <xf:group ref=".[@lang and string-length(@lang) < 1]" class="text_10 margin-plus"> + <xf:select1 ref="/mods:mods/mods:language/mods:languageTerm"> + <xf:label>Global Language<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='lang-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[@lang]" class="text_10 margin-plus"> + <xf:select1 ref="./@lang"> + <xf:label>Local Language<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='lang-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[string-length(/mods:mods/mods:extension/*:transliterationOfResource) > 0 and @transliteration and string-length(@transliteration) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> + <xf:label>Global Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[@transliteration]" class="margin-plus"> + <xf:select1 ref="./@transliteration"> + <xf:label>Local Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[not(@type) and string-length(@script) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:language/mods:scriptTerm"> + <xf:label>Global Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[not(@type)]" class="margin-plus"> + <xf:select1 ref="./@script"> + <xf:label>Local Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group> + <xf:input ref="./mods:nonSort" class="text_10 margin-plus"> + <xf:label> + <xf:group ref=".[string-length(../@type) = 0]">Non Sort</xf:group> + <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Non Sort</xf:group> + <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Non Sort</xf:group> + </xf:label> + </xf:input> + </xf:group> + <xf:group> + <xf:input ref="./mods:title" class="text_150 margin-plus"> + <xf:label> + <xf:group ref=".[string-length(../@type) = 0]">Title</xf:group> + <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Title</xf:group> + <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Title</xf:group> + </xf:label> + </xf:input> + </xf:group> + <xf:group> + <xf:input ref="./mods:subTitle" class="text_150 margin-plus"> + <xf:label> + <xf:group ref=".[string-length(../@type) = 0]">Subtitle</xf:group> + <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Subtitle</xf:group> + <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Subtitle</xf:group> + </xf:label> + </xf:input> + </xf:group> + <xf:group ref=".[count(../mods:titleInfo) > 1]"> + <br/> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> + <xf:group> + <fieldset class="level-2"> + <div class="join extra-wide"> + <span class="legend">Persons and Institutions as Topics</span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='subject-name']/help"/> + </div> + </span> + </div> + <fieldset class="level-3"> + <div class="join"> + <span class="legend">Person(s) as Topic</span> + <span class="join-button"> + <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='Latin']"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-person-repeat')" position="after" origin="instance('compact-template')/mods:name[1]"/> + </xf:action> + </xf:trigger> + <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='not Latin']"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-person-repeat')" position="after" origin="instance('compact-template')/mods:name[2]"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-compact']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:name" id="subject-name-person-repeat"> + <xf:group ref=".[@type = 'personal']"> + <fieldset class="level-4"> + <div class="join"> + <span class="legend">Name</span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='namePart-compact']/help"/> + </div> + </span> + </div> + <xf:group ref=".[string-length(/mods:mods/mods:extension/*:transliterationOfResource) > 0 and mods:namePart/@transliteration and string-length(mods:namePart/@transliteration) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> + <xf:label>Global Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[mods:namePart/@transliteration]" class="margin-plus"> + <xf:select1 ref="./mods:namePart/@transliteration"> + <xf:label>Local Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:repeat nodeset="./mods:namePart" id="subject-namePart-person-repeat"> + <xf:group class="margin-plus"> + <xf:select1 ref="./@type"> + <xf:label> + <xf:group ref="../.[@script='Latn']">Transliterated<span class="xforms-hint-icon opaque"/> + </xf:group> + <xf:group ref="../.[not(@script='Latn')]"/> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='name-part-type-compact-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + <xf:input ref="." class="text_100"> + <xf:label/> + </xf:input> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> + </xf:repeat> + </fieldset> + <fieldset class="level-3"> + <div class="join"> + <span class="legend">Institutions(s) as Topic</span> + <span class="join-button"> + <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='Latin']"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-institution-repeat')" position="after" origin="instance('compact-template')/mods:name[1]"/> + </xf:action> + </xf:trigger> + <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='not Latin']"> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-institution-repeat')" position="after" origin="instance('compact-template')/mods:name[2]"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='name-compact']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:name" id="subject-name-institution-repeat"> + <xf:group ref=".[@type = 'corporate']"> + <fieldset class="level-4"> + <div class="join"> + <span class="legend">Name</span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='namePart-compact']/help"/> + </div> + </span> + </div> + <xf:group class="hide-label margin-plus"/> + <xf:group ref=".[mods:namePart/@script and string-length(mods:namePart/@script) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:language/mods:scriptTerm"> + <xf:label>Global Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[mods:namePart/@script]" class="margin-plus"> + <xf:select1 ref="./mods:namePart/@script"> + <xf:label>Local Script<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[string-length(/mods:mods/mods:extension/*:transliterationOfResource) > 0 and mods:namePart/@transliteration and string-length(mods:namePart/@transliteration) < 1]" class="margin-plus"> + <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> + <xf:label>Global Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-global-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group ref=".[mods:namePart/@transliteration]" class="margin-plus"> + <xf:select1 ref="./mods:namePart/@transliteration"> + <xf:label>Local Transliteration<span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-local-compact']/help"/> + </div> + </span> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:repeat nodeset="./mods:namePart" id="subject-namePart-person-repeat"> + <xf:group class="margin-plus"> + <xf:input ref="." class="text_100"> + <xf:label> + <xf:group ref=".[@transliteration]">Transliterated</xf:group> + <xf:group ref=".[@script]"/> + </xf:label> + </xf:input> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> + </xf:repeat> + </fieldset> + </fieldset> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> + <xf:group> + <fieldset class="level-1"> + <div class="join"> + <span class="legend"> + <span class="legend">Notes</span> + </span> + <span class="join-button wide"> + <xf:trigger> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:note" at="index('note-repeat')" position="after" origin="instance('compact-template')/mods:note"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='note']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:note" id="note-repeat"> + <xf:group class="margin-plus"> + <xf:select1 ref="./@type" selection="open" class="margin-plus"> + <xf:label>Type<span class="xforms-hint-icon opaque"/> + </xf:label> + <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='note-type-code']/items/item"> + <xf:label ref="label"/> + <xf:value ref="value"/> + </xf:itemset> + </xf:select1> + </xf:group> + <xf:group class="hide-label margin-plus"> + <xf:textarea ref="." class="textarea"> + <xf:label>Note</xf:label> + </xf:textarea> + </xf:group> + <xf:group ref=".[count(../mods:note) > 1]"> + <br/> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> + <xf:group> + <fieldset class="level-1"> + <div class="join"> + <span class="legend"> + <span class="legend">Abstracts</span> + </span> + <span class="join-button wide"> + <xf:trigger> + <xf:label>+</xf:label> + <xf:action ev:event="DOMActivate"> + <xf:insert nodeset="instance('save-data')/mods:abstract" at="index('abstract-repeat')" position="after" origin="instance('compact-template')/mods:abstract"/> + </xf:action> + </xf:trigger> + </span> + <span class="xforms-help"> + <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> + <div class="xforms-help-value"> + <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='abstract']/help"/> + </div> + </span> + </div> + <xf:repeat nodeset="./mods:abstract" id="abstract-repeat"> + <xf:group> + <xf:textarea ref="." class="textarea hide-label margin-plus"> + <xf:label>Abstract</xf:label> + </xf:textarea> + </xf:group> + <xf:group ref=".[count(../mods:abstract) > 1]"> + <br/> + </xf:group> + </xf:repeat> + </fieldset> + </xf:group> +</div> \ No newline at end of file Modified: apps/tamboti/modules/edit/body/00-compact-contents.xml =================================================================== --- apps/tamboti/modules/edit/body/00-compact-contents.xml 2011-07-15 13:49:35 UTC (rev 14886) +++ apps/tamboti/modules/edit/body/00-compact-contents.xml 2011-07-15 15:24:28 UTC (rev 14887) @@ -138,366 +138,6 @@ </xf:repeat> </fieldset> </xf:group> - <xf:group> - <fieldset class="level-2"> - <div class="join"> - <span class="legend">Works as Topic</span> - <span class="join-button"> - <!-- Is it possible to insert both untyped, transliteration and translation titleInfo at the same time? --> - <!--<xf:trigger> - <xf:label>+</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="instance('save-data')/mods:titleInfo" at="index('subject-titleInfo-repeat')" position="after" - origin="instance('compact-template')/mods:titleInfo[1]"/> - </xf:action> - </xf:trigger>--> - </span> - <span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='subject-titleInfo']/help"/> - </div> - </span> - </div> - <xf:repeat nodeset="./mods:titleInfo" id="subject-titleInfo-repeat"> - <xf:group ref=".[(@transliteration) or string-length(@lang) > 0]"> - <br/> - </xf:group> - <xf:group ref=".[@lang and string-length(@lang) < 1]" class="text_10 margin-plus"> - <xf:select1 ref="/mods:mods/mods:language/mods:languageTerm"> - <xf:label>Global Language<span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='lang-global-compact']/help"/> - </div> - </span> - </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-short-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group ref=".[@lang]" class="text_10 margin-plus"> - <xf:select1 ref="./@lang"> - <xf:label>Local Language<span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='lang-local-compact']/help"/> - </div> - </span> - </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='language-3-type-sorted-short-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group ref=".[string-length(/mods:mods/mods:extension/*:transliterationOfResource) > 0 and @transliteration and string-length(@transliteration) < 1]" class="margin-plus"> - <xf:select1 ref="/mods:mods/mods:extension/*:transliterationOfResource"> - <xf:label>Global Transliteration<span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-global-compact']/help"/> - </div> - </span> - </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group ref=".[@transliteration]" class="margin-plus"> - <xf:select1 ref="./@transliteration"> - <xf:label>Local Transliteration<span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='transliteration-local-compact']/help"/> - </div> - </span> - </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='transliteration-short-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group ref=".[not(@type) and string-length(@script) < 1]" class="margin-plus"> - <xf:select1 ref="/mods:mods/mods:language/mods:scriptTerm"> - <xf:label>Global Script<span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-global-compact']/help"/> - </div> - </span> - </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group ref=".[not(@type)]" class="margin-plus"> - <xf:select1 ref="./@script"> - <xf:label>Local Script<span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='script-local-compact']/help"/> - </div> - </span> - </xf:label> - <xf:itemset nodeset="instance('code-tables')/code-table[code-table-name='script-short-code']/items/item"> - <xf:label ref="label"/> - <xf:value ref="value"/> - </xf:itemset> - </xf:select1> - </xf:group> - <xf:group> - <xf:input ref="./mods:nonSort" class="text_10 margin-plus"> - <xf:label> - <xf:group ref=".[string-length(../@type) = 0]">Non Sort</xf:group> - <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Non Sort</xf:group> - <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Non Sort</xf:group> - </xf:label> - </xf:input> - </xf:group> - <xf:group> - <xf:input ref="./mods:title" class="text_150 margin-plus"> - <xf:label> - <xf:group ref=".[string-length(../@type) = 0]">Title</xf:group> - <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Title</xf:group> - <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Title</xf:group> - </xf:label> - </xf:input> - </xf:group> - <xf:group> - <xf:input ref="./mods:subTitle" class="text_150 margin-plus"> - <xf:label> - <xf:group ref=".[string-length(../@type) = 0]">Subtitle</xf:group> - <xf:group ref=".[../@type='translated' and not(../@lang)]">Transliterated Subtitle</xf:group> - <xf:group ref=".[../@type='translated' and (../@lang)]">Translated Subtitle</xf:group> - </xf:label> - </xf:input> - </xf:group> - <xf:group ref=".[count(../mods:titleInfo) > 1]"> - <br/> - </xf:group> - </xf:repeat> - </fieldset> - </xf:group> - <xf:group> - <fieldset class="level-2"> - <div class="join extra-wide"> - <span class="legend">Persons and Institutions as Topics</span> - <span class="xforms-help"> - <span onmouseover="show(this, 'hint', true)" onmouseout="show(this, 'hint', false)" class="xforms-hint-icon"/> - <div class="xforms-help-value"> - <xf:output mediatype="application/xhtml+xml" incremental="true" ref="instance('code-tables')/code-table[code-table-name='hint-code']/items/item[value='subject-name']/help"/> - </div> - </span> - </div> - <fieldset class="level-3"> - <div class="join"> - <span class="legend">Person(s) as Topic</span> - <span class="join-button"> - <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='Latin']"> - <xf:label>+</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="instance('save-data')/mods:name" at="index('subject-name-person-repeat')" position="after" origin="instance('compact-template')/mods:name[1]"/> - </xf:action> - </xf:trigger> - <xf:trigger ref="/mods:mods/mods:extension[*:scriptTypeOfResource='not Latin']"> - <xf:label>+</xf:label> - <xf:action ev:event="DOMActivate"> - <xf:insert nodeset="instance('save-data')/mo... [truncated message content] |
From: <wol...@us...> - 2011-07-19 14:56:03
|
Revision: 14909 http://exist.svn.sourceforge.net/exist/?rev=14909&view=rev Author: wolfgang_m Date: 2011-07-19 14:55:57 +0000 (Tue, 19 Jul 2011) Log Message: ----------- [bugfix] Fixed tamboti controller. eXist does now behave standard-conformant: default namespaces are no longer "inherited" by called functions. Modified Paths: -------------- apps/tamboti/controller.xql apps/tamboti/modules/search/controller.xql Modified: apps/tamboti/controller.xql =================================================================== --- apps/tamboti/controller.xql 2011-07-19 10:59:02 UTC (rev 14908) +++ apps/tamboti/controller.xql 2011-07-19 14:55:57 UTC (rev 14909) @@ -47,14 +47,14 @@ return if ($user) then ( security:store-user-credential-in-session($user, $password), - <set-attribute name="xquery.user" value="{$user}"/>, - <set-attribute name="xquery.password" value="{$password}"/> + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.user" value="{$user}"/>, + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.password" value="{$password}"/> ) else if ($session-user-credential != '') then ( - <set-attribute name="xquery.user" value="{$session-user-credential[1]}"/>, - <set-attribute name="xquery.password" value="{$session-user-credential[2]}"/> + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.user" value="{$session-user-credential[1]}"/>, + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.password" value="{$session-user-credential[2]}"/> ) else ( - <set-attribute name="xquery.user" value="{$security:GUEST_CREDENTIALS[1]}"/>, - <set-attribute name="xquery.password" value="{$security:GUEST_CREDENTIALS[2]}"/> + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.user" value="{$security:GUEST_CREDENTIALS[1]}"/>, + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.password" value="{$security:GUEST_CREDENTIALS[2]}"/> ) }; Modified: apps/tamboti/modules/search/controller.xql =================================================================== --- apps/tamboti/modules/search/controller.xql 2011-07-19 10:59:02 UTC (rev 14908) +++ apps/tamboti/modules/search/controller.xql 2011-07-19 14:55:57 UTC (rev 14909) @@ -23,14 +23,14 @@ return if ($user) then ( security:store-user-credential-in-session($user, $password), - <set-attribute name="xquery.user" value="{$user}"/>, - <set-attribute name="xquery.password" value="{$password}"/> + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.user" value="{$user}"/>, + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.password" value="{$password}"/> ) else if ($session-user-credential != '') then ( - <set-attribute name="xquery.user" value="{$session-user-credential[1]}"/>, - <set-attribute name="xquery.password" value="{$session-user-credential[2]}"/> + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.user" value="{$session-user-credential[1]}"/>, + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.password" value="{$session-user-credential[2]}"/> ) else ( - <set-attribute name="xquery.user" value="{$security:GUEST_CREDENTIALS[1]}"/>, - <set-attribute name="xquery.password" value="{$security:GUEST_CREDENTIALS[2]}"/> + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.user" value="{$security:GUEST_CREDENTIALS[1]}"/>, + <set-attribute xmlns="http://exist.sourceforge.net/NS/exist" name="xquery.password" value="{$security:GUEST_CREDENTIALS[2]}"/> ) }; @@ -69,6 +69,7 @@ <view> <forward url="search.xql"> <!-- Errors should be passed through instead of terminating the request --> + { local:set-user() } <set-attribute name="xquery.report-errors" value="yes"/> <set-attribute name="exist:root" value="{$exist:root}"/> <set-attribute name="exist:path" value="{$exist:path}"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |