Skip to content

Commit 43e0cd3

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

2 files changed

Lines changed: 12 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: 11 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,7 @@
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:result-document href="{concat($tidied-output-base-uri, '/', $mainFormName,'/index.xhtml')}" format="xform">
405406
<xsl:call-template name="formMainPage"/>
406407
</xsl:result-document>
407408
<!-- Output an XForm for each subform listed in the config.xml subforms section -->
@@ -429,24 +430,24 @@
429430
<xsl:variable name="subform" select="."/>
430431
<xsl:variable name="formName" select="@formName"/>
431432
<!-- Ouput XForms xml instance with finalized schema rules -->
432-
<xsl:result-document href="{$output-base-uri}/{$mainFormName}/templates/{$formName}-schemaConstraints.xml" format="tei">
433+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/{$formName}-schemaConstraints.xml" format="tei">
433434
<xsl:sequence select="$schemaInstanceDoc"/>
434435
</xsl:result-document>
435-
<xsl:result-document href="{$output-base-uri}/{$mainFormName}/templates/{$formName}-elementTemplate.xml" format="tei">
436+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/{$formName}-elementTemplate.xml" format="tei">
436437
<xsl:call-template name="elementTemplate">
437438
<xsl:with-param name="subform" select="$formName"/>
438439
<xsl:with-param name="maxLevel" select="$maxLevel"/>
439440
</xsl:call-template>
440441
</xsl:result-document>
441-
<xsl:result-document href="{concat($output-base-uri, '/', $mainFormName,'/',$formName)}.xhtml" format="xform">
442+
<xsl:result-document href="{concat($tidied-output-base-uri, '/', $mainFormName,'/',$formName)}.xhtml" format="xform">
442443
<xsl:call-template name="xform">
443444
<xsl:with-param name="subform" select="."/>
444445
<xsl:with-param name="schemaConstraints" select="$schemaInstanceDoc"/>
445446
</xsl:call-template>
446447
</xsl:result-document>
447448
<xsl:for-each select="subform">
448449
<xsl:variable name="subFormName" select="@formName"/>
449-
<xsl:result-document href="{concat($output-base-uri, '/', $mainFormName,'/',$formName,'/',$subFormName)}.xhtml" format="xform">
450+
<xsl:result-document href="{concat($tidied-output-base-uri, '/', $mainFormName,'/',$formName,'/',$subFormName)}.xhtml" format="xform">
450451
<xsl:call-template name="xform">
451452
<xsl:with-param name="subform" select="."/>
452453
<xsl:with-param name="schemaConstraints" select="$schemaInstanceDoc"/>
@@ -456,25 +457,25 @@
456457
</xsl:for-each>
457458
<!-- Output any controlled vocab subforms -->
458459
<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">
460+
<xsl:result-document href="{concat($tidied-output-base-uri, '/', $mainFormName,'/lookup/',@formName)}.xhtml" format="xform">
460461
<xsl:call-template name="controlledVocabLookup">
461462
<xsl:with-param name="lookup" select="."/>
462463
</xsl:call-template>
463464
</xsl:result-document>
464465
</xsl:for-each-group>
465466

466467
<!-- 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">
468+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/elementTemplate.xml" format="tei">
468469
<xsl:call-template name="elementTemplate"/>
469470
</xsl:result-document>
470471

471472
<!-- 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">
473+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/attributesTemplate.xml" format="tei">
473474
<xsl:call-template name="attributesTemplate"/>
474475
</xsl:result-document>
475476
<!-- Output an XForm with all possible attributes, used to add new attributes -->
476477
<!--
477-
<xsl:result-document href="{$output-base-uri}/{$mainFormName}/templates/availableAttributes.xml" format="tei">
478+
<xsl:result-document href="{$tidied-output-base-uri}/{$mainFormName}/templates/availableAttributes.xml" format="tei">
478479
<xsl:call-template name="availableAttributes"/>
479480
</xsl:result-document>
480481
-->

0 commit comments

Comments
 (0)