2013-04-19 2 views
-1

. castable as xs:date не работает, так как мы обновили ORBEON 3.9 до ORBEON 4.1. в теге xforms:output (как в атрибутах ref, так и в значениях).Castable не работает в XPATH в ORBEON 4.1

Связанное поле определяется с использованием файла xsd как xs: date, само поле имеет значение '' (пустая строка).

Исключение:

org.orbeon.oxf.common.ValidationException: line 1136 of file:///D:/oracle/wls10.3.3/domains/gacr/ (evaluating XPath expression: expression='datumUkonceni castable as xs:date'): null file:///D:/oracle/wls10.3.3/domains/gacr/, line 1136, column -1: null 
at org.orbeon.oxf.common.ValidationException.wrapException(ValidationException.java:126) 
at org.orbeon.oxf.util.XPath$.handleXPathException(XPath.scala:170) 
at org.orbeon.oxf.util.XPathCache$.withEvaluation(XPathCache.scala:516) 
at org.orbeon.oxf.util.XPathCache$.evaluateAsString(XPathCache.scala:312) 
at org.orbeon.oxf.xforms.control.ControlXPathSupport$class.evaluateAsString(ControlXPathSupport.scala:86) 
at org.orbeon.oxf.xforms.control.XFormsControl.evaluateAsString(XFormsControl.scala:47) 
at org.orbeon.oxf.xforms.control.controls.XFormsOutputControl.evaluateValue(XFormsOutputControl.scala:75) 
at org.orbeon.oxf.xforms.control.XFormsValueControl$class.evaluateImpl(XFormsValueControl.scala:80) 
at org.orbeon.oxf.xforms.control.controls.XFormsOutputControl.evaluateImpl(XFormsOutputControl.scala:58) 
at org.orbeon.oxf.xforms.control.XFormsControl.evaluate(XFormsControl.scala:204) 
at org.orbeon.oxf.xforms.control.ControlBindingSupport$class.setBindingContext(ControlBindingSupport.scala:102) 
at org.orbeon.oxf.xforms.control.XFormsControl.setBindingContext(XFormsControl.scala:47) 
at org.orbeon.oxf.xforms.control.ControlBindingSupport$class.evaluateBindingAndValues(ControlBindingSupport.scala:59) 
at org.orbeon.oxf.xforms.control.XFormsControl.evaluateBindingAndValues(XFormsControl.scala:47) 
.... stack continued 

Когда я использую эту конструкцию в свойствах-local.xml <property as="xs:string" name="oxf.xforms.format.output.date" value="if (. castable as xs:date) then format-date(xs:date(.), '[D01].[M01].[Y0001]', xxforms:lang(),(),()) else ."/>, то литьевой обрабатывается, как и ожидалось ...

ответ

0

С 4.0, используйте префикс xxf, вместо xxforms, в вашем properties-local.xml, и это должно решить вашу проблему.

В общем, XML-файлы в 4.0 были изменены, чтобы использовать более короткие префиксы, как xxf вместо xxforms, xf вместо xforms и xh вместо xhtml. В большинстве случаев это изменение обратно совместимо, так как вы префикс для преобразования пространства имен в свой собственный файл и, следовательно, можете использовать любой префикс, который вам нравится, но есть исключения.

0

Атрибуты ref и value тега xforms: output в ORBEON 3.9 почти такие же, как и выражения xpath в атрибуте ref. В ORBEON 4.1 атрибут ref должен ссылаться на выражение element-xpath, отличное как исключение бросков.