@@ -44,6 +44,10 @@ declare function local:createID(){
4444
4545(: Any post processing to TEI form data happens here :)
4646declare function local:transform ($nodes as node ()*) as item ()* {
47+ let $user:=
48+ if (request:get-attribute ("org.exist.login.user" )) then request:get-attribute ("org.exist.login.user" )
49+ else (: xmldb:get-current-user():) sm:id ()/sm:id/sm:real/sm:username/string (.)
50+ let $name := if ($user) then sm:get-account-metadata ($user, xs:anyURI ('http://axschema.org/namePerson' )) else 'Guest'
4751 for $node in $nodes
4852 let $new := request:get-parameter ('new' ,'' )
4953 let $URI :=
@@ -87,8 +91,13 @@ declare function local:transform($nodes as node()*) as item()* {
8791 }
8892 else element {fn:QName ("http://www.tei-c.org/ns/1.0" ,local-name ($node))} {($node/@*, local:markdown2TEI ($node/node ()))}
8993 case element (tei:editor) return
90- if ($node/descendant-or-self::text () = '' ) then ()
91- else local:passthru ($node)
94+ if ($node/parent::tei:titleStmt) then
95+ if ($user != 'guest' ) then
96+ if (not ($node/following-sibling::tei:editor) and $node/preceding-sibling::tei:editor[. != $name]) then
97+ <editor xmlns = "http://www.tei-c.org/ns/1.0" xml:id = "{$user} " role = "contributor" >{$name}</editor>
98+ else local:passthru ($node)
99+ else local:passthru ($node)
100+ else local:passthru ($node)
92101 case element (tei:idno) return
93102 if ($node/parent::tei:ab[@type ='factoid' ][@subtype='relation' ]) then
94103 element {fn:QName ("http://www.tei-c.org/ns/1.0" ,local-name ($node)) }
0 commit comments