Skip to content

Commit f54e314

Browse files
committed
[bugfix] Fix an issue with URI generation on Windows
1 parent 8afeaa6 commit f54e314

2 files changed

Lines changed: 13 additions & 11 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@
192192
<parameters>
193193
<parameter>
194194
<name>output-base-uri</name>
195-
<value>file:${project.build.directory}/generated-xar-resources/forms</value>
195+
<value>file://${project.build.directory}/generated-xar-resources/forms</value>
196196
</parameter>
197197
</parameters>
198198
<stylesheet>src/main/formGenerator/generateXForm.xsl</stylesheet>

src/main/formGenerator/generateXForm.xsl

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030

3131
<!-- The base directory to write output files to -->
3232
<xsl:param name="output-base-uri" select="replace(base-uri(), '(.+)/.+/.+', '$1')"/>
33-
33+
<xsl:variable name="tidied-output-base-uri" select="replace(replace($output-base-uri, '\\', '/'), 'file://([A-Za-z]:.+)', 'file:///$1')"/> <!-- NOTE(AR) convert Windows path separator to URI -->
34+
3435
<!-- Global Variables -->
3536
<!-- XForm configuration document from config prameter. Default is config.xml -->
3637
<xsl:variable name="configDoc" select="document($config)"/>
@@ -401,7 +402,8 @@
401402
<xsl:template match="/">
402403
<!-- Create the index page for the current form, creates sub-form navigation-->
403404
<xsl:variable name="mainFormName" select="$configDoc//formName"/>
404-
<xsl:result-document href="{concat($output-base-uri, '/', $mainFormName,'/index.xhtml')}" format="xform">
405+
<xsl:message select="concat('ADAM2: ', $tidied-output-base-uri)"/>
406+
<xsl:result-document href="{concat($tidied-output-base-uri, '/', $mainFormName,'/index.xhtml')}" format="xform">
405407
<xsl:call-template name="formMainPage"/>
406408
</xsl:result-document>
407409
<!-- Output an XForm for each subform listed in the config.xml subforms section -->
@@ -429,24 +431,24 @@
429431
<xsl:variable name="subform" select="."/>
430432
<xsl:variable name="formName" select="@formName"/>
431433
<!-- Ouput XForms xml instance with finalized schema rules -->
432-
<xsl:result-document href="{$output-base-uri}/{$mainFormName}/templates/{$formName}-schemaConstraints.xml" format="tei">
434+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/{$formName}-schemaConstraints.xml" format="tei">
433435
<xsl:sequence select="$schemaInstanceDoc"/>
434436
</xsl:result-document>
435-
<xsl:result-document href="{$output-base-uri}/{$mainFormName}/templates/{$formName}-elementTemplate.xml" format="tei">
437+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/{$formName}-elementTemplate.xml" format="tei">
436438
<xsl:call-template name="elementTemplate">
437439
<xsl:with-param name="subform" select="$formName"/>
438440
<xsl:with-param name="maxLevel" select="$maxLevel"/>
439441
</xsl:call-template>
440442
</xsl:result-document>
441-
<xsl:result-document href="{concat($output-base-uri, '/', $mainFormName,'/',$formName)}.xhtml" format="xform">
443+
<xsl:result-document href="{concat($tidied-output-base-uri, '/', $mainFormName,'/',$formName)}.xhtml" format="xform">
442444
<xsl:call-template name="xform">
443445
<xsl:with-param name="subform" select="."/>
444446
<xsl:with-param name="schemaConstraints" select="$schemaInstanceDoc"/>
445447
</xsl:call-template>
446448
</xsl:result-document>
447449
<xsl:for-each select="subform">
448450
<xsl:variable name="subFormName" select="@formName"/>
449-
<xsl:result-document href="{concat($output-base-uri, '/', $mainFormName,'/',$formName,'/',$subFormName)}.xhtml" format="xform">
451+
<xsl:result-document href="{concat($tidied-output-base-uri, '/', $mainFormName,'/',$formName,'/',$subFormName)}.xhtml" format="xform">
450452
<xsl:call-template name="xform">
451453
<xsl:with-param name="subform" select="."/>
452454
<xsl:with-param name="schemaConstraints" select="$schemaInstanceDoc"/>
@@ -456,25 +458,25 @@
456458
</xsl:for-each>
457459
<!-- Output any controlled vocab subforms -->
458460
<xsl:for-each-group select="$configDoc//lookup" group-by="@formName">
459-
<xsl:result-document href="{concat($output-base-uri, '/', $mainFormName,'/lookup/',@formName)}.xhtml" format="xform">
461+
<xsl:result-document href="{concat($tidied-output-base-uri, '/', $mainFormName,'/lookup/',@formName)}.xhtml" format="xform">
460462
<xsl:call-template name="controlledVocabLookup">
461463
<xsl:with-param name="lookup" select="."/>
462464
</xsl:call-template>
463465
</xsl:result-document>
464466
</xsl:for-each-group>
465467

466468
<!-- Output an XForm with all possible elements, used to add new elements -->
467-
<xsl:result-document href="{$output-base-uri}/{$mainFormName}/templates/elementTemplate.xml" format="tei">
469+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/elementTemplate.xml" format="tei">
468470
<xsl:call-template name="elementTemplate"/>
469471
</xsl:result-document>
470472

471473
<!-- Output an XForm with all possible attributes, used to add new attributes -->
472-
<xsl:result-document href="{$output-base-uri}/{$mainFormName}/templates/attributesTemplate.xml" format="tei">
474+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/attributesTemplate.xml" format="tei">
473475
<xsl:call-template name="attributesTemplate"/>
474476
</xsl:result-document>
475477
<!-- Output an XForm with all possible attributes, used to add new attributes -->
476478
<!--
477-
<xsl:result-document href="{$output-base-uri}/{$mainFormName}/templates/availableAttributes.xml" format="tei">
479+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/availableAttributes.xml" format="tei">
478480
<xsl:call-template name="availableAttributes"/>
479481
</xsl:result-document>
480482
-->

0 commit comments

Comments
 (0)