Как вы заметили, связывание с readonly="false()"
не действует, так как это значение по умолчанию, и оно не отменяет другое связывание, говоря, что этот узел доступен только для чтения, в соответствии с правилами, регулирующими множественные привязки для данногоузел .
Однако вы можете написать одну привязку, которая сделает все листовые элементы в вашем экземпляре (т.е. элементы, которые не содержат никаких других элементов: //*[empty(*)]
) доступными только для чтения, кроме определенныхэлементы.Например:
<xforms:bind ref="//*[empty(*)] except (/some/node, /some/other/node, …)"
readonly="true()"/>