In the process of reactivating the automatic updates of HTML tables (from XSD) in #216, I stumbled upon another error:
Generating documentation tables ...
/home/runner/basex/.basex: writing new configuration file.
*** Dnames excluded: ".git .github"
*** Count(input XSDs): 86
"Resolve schema imports / inclusions"
"Resolving finished"
"Write edesc report(s)"
"*** Optimization - cache all simple types (548)"
Stopped at /home/runner/work/SIRI/SIRI/docs/xco-stype-description.xqm, 131/28:
[FORG0001] Cannot convert to xs:double: PT0S.
The culprit is that that the code below does not know how to handle a duration type.
https://github.com/SIRI-CEN/SIRI/blob/2d0a216a9a5b45f5d5749dd6378ad2acba12e277/docs/xco-stype-description.xqm#L199-L211
In theory, this error should have appeared as soon as in #188, if the tables had been regenerated then.
But because #188 targeted branch SIRI-CEN:2.2, and a fix like #216 was not yet applied, the regeneration did not occur, and the error was not seen then.
A possible fix could be this:
diff --git a/docs/xco-stype-description.xqm b/docs/xco-stype-description.xqm
index addf83a..768a8bb 100644
--- a/docs/xco-stype-description.xqm
+++ b/docs/xco-stype-description.xqm
@@ -201,9 +201,10 @@ declare function sd:isTypeDescriptionEnumDesc($tdesc as xs:string?)
:)
declare function sd:castToComparable($s as xs:string?)
as item()? {
- if ($s castable as xs:date) then xs:date($s)
- else if ($s castable as xs:dateTime) then xs:dateTime($s)
- else if ($s castable as xs:time) then xs:time($s)
+ if ($s castable as xs:date) then xs:date($s)
+ else if ($s castable as xs:dateTime) then xs:dateTime($s)
+ else if ($s castable as xs:time) then xs:time($s)
+ else if ($s castable as xs:duration) then xs:duration($s)
else if ($s castable as xs:double) then number($s)
else if ($s castable as xs:decimal) then number($s)
else if ($s castable as xs:boolean) then xs:boolean($s) ! number(.)
I'm not sure though:
- if we want to "fork" our vendored version of xcore (presumably copied from there? Switch to documentation tables based on xcore VDVde/OJP#438)
- if the behaviour works well for the comment indicated on the method (
Casts a string to a value comparable per < and >.) - some verification will be needed in the generated tables!
@haeckerbaer @skinkie @TuThoThai in particular, FYI, to be fixed before v2.3.0 is issued, or the HTML tables will remain out of date!
For now, I will try to integrate the proposed fix in #216
In the process of reactivating the automatic updates of HTML tables (from XSD) in #216, I stumbled upon another error:
The culprit is that that the code below does not know how to handle a
durationtype.https://github.com/SIRI-CEN/SIRI/blob/2d0a216a9a5b45f5d5749dd6378ad2acba12e277/docs/xco-stype-description.xqm#L199-L211
In theory, this error should have appeared as soon as in #188, if the tables had been regenerated then.
But because #188 targeted branch
SIRI-CEN:2.2, and a fix like #216 was not yet applied, the regeneration did not occur, and the error was not seen then.A possible fix could be this:
I'm not sure though:
Casts a string to a value comparable per < and >.) - some verification will be needed in the generated tables!@haeckerbaer @skinkie @TuThoThai in particular, FYI, to be fixed before
v2.3.0is issued, or the HTML tables will remain out of date!For now, I will try to integrate the proposed fix in #216