Skip to content

Commit e94abec

Browse files
committed
Update to remove empty editor elements. majlis-erc#638
Ensure correct editor is added.
1 parent 9d9bb44 commit e94abec

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

forms/formGenerator/generateXForm.xsl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
- XSLTForms
1515
- eXist-db
1616
17-
Version: 1.70 Beta
17+
Version: 1.71 Beta
1818
-1.23 marks a major redesign
1919
2020
@@ -643,9 +643,11 @@
643643
<xf:resource value="concat('services/get-rec.xql?template=true&amp;path=',instance('i-selected'))"/>
644644
<xf:action ev:event="xforms-submit-done">
645645
<xf:message level="modeless"> Data Loaded! </xf:message>
646+
<!--
646647
<xf:insert ref="instance('i-rec')//*:titleStmt/child::*" at="last()" origin="instance('i-admin')//*:editor" position="after"/>
647648
<xf:setvalue ref="instance('i-rec')//*:titleStmt/*:editor[last()]" value="instance('i-user')//*:fullName"/>
648649
<xf:setvalue ref="instance('i-rec')//*:titleStmt/*:editor[last()]/@xml:id" value="instance('i-user')//*:user"/>
650+
-->
649651
<xf:insert ref="instance('i-rec')//*:revisionDesc/child::*" at="1" origin="instance('i-admin')//*:change[1]" position="before"/>
650652
<xf:setvalue ref="instance('i-rec')//*:revisionDesc/*:change[1]/@who" value="concat('#',instance('i-user')//*:user)"/>
651653
<xf:setvalue ref="instance('i-rec')//*:revisionDesc/*:change[1]/@when" value="getXMLDate()"/>
@@ -658,9 +660,11 @@
658660
<xf:resource value="concat('services/get-rec.xql?template=true&amp;path=',instance('i-selected-search'))"/>
659661
<xf:action ev:event="xforms-submit-done">
660662
<xf:message level="modeless"> Data Loaded! </xf:message>
663+
<!--
661664
<xf:insert ref="instance('i-rec')//*:titleStmt/child::*" at="last()" origin="instance('i-admin')//*:editor" position="after"/>
662665
<xf:setvalue ref="instance('i-rec')//*:titleStmt/*:editor[last()]" value="instance('i-user')//*:fullName"/>
663666
<xf:setvalue ref="instance('i-rec')//*:titleStmt/*:editor[last()]/@xml:id" value="instance('i-user')//*:user"/>
667+
-->
664668
<xf:insert ref="instance('i-rec')//*:revisionDesc/child::*" at="1" origin="instance('i-admin')//*:change[1]" position="before"/>
665669
<xf:setvalue ref="instance('i-rec')//*:revisionDesc/*:change[1]/@who" value="concat('#',instance('i-user')//*:user)"/>
666670
<xf:setvalue ref="instance('i-rec')//*:revisionDesc/*:change[1]/@when" value="getXMLDate()"/>

services/submit.xql

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ declare function local:createID(){
4444

4545
(: Any post processing to TEI form data happens here :)
4646
declare 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

Comments
 (0)