2012-01-19 27 views
0

重用如果存在具有相同的約束或多個文本區域具有相同的約束
是否有可能重新使用綁定使用的約束多個日期字段,過類似的限制?orbeon:提高orbeon代碼

說文本區域1具有約束

if(string-length(.) > 500) 
    then substring(.,1,500) 
else . 

和文本區2具有約束

if(string-length(.) > 500) 
    then substring(.,1,500) 
else . 

是有可能有約束在共同的位置,並在每個綁定調用特定約束和重用代碼?

+0

如何textarea節點名稱將如何。他們會像或完全像個和不相干的名字呢? – Jayy

+0

@KaipaMSarma節點名稱可以是任何東西。這裏的約束是通過使用「。」來引用節點。所以,如果是不同的節點名,我想有些人認爲像參數傳遞(這裏全節點名傳遞)可以做 –

回答

1

您可以聲明一個bind,其中nodeset表達式指向與您的兩個文本區域對應的兩個節點。例如:

<bind nodeset="/my-root/(text-area-1 | text-area-2)" constraint="…"/> 

(。今後,一個功能來定義更像是可重複使用XPath表達式可以加到XForms的功能,讓你也輕鬆地重用在其他情況下,XPath表達式)

+0

但是,如果文本區域-2是不是在/我的根,則XPath表達式變成太複雜了。很高興在未來看到可重用的XPath表達式。 – Jayy

+0

我不確定我是否關注你。如果你有兩個''用同樣的限制,但是對於'nodeset',說'不同的XPath表達式'和'',你可以通過寫''來避免重複約束。或者我錯過了什麼? – avernet

+0

@avernet謝謝avernet肯定這會爲我做。 –