Как я могу установить значение экземпляра из другого экземпляра?
У меня есть экземпляр на странице. Тем не менее, я хочу, чтобы содержимое этого экземпляра имело некоторое содержимое, которое является частью другого экземпляра.
<xf:instance id="subInstance">
<data xmlns="">
<xsl:choose>
<xsl:when test="$newType= 'false' ">
???
<xsl:copy-of select="????"/>
</xsl:when>
<xsl:otherwise>
<!-- add a new type -->
<type>
<name/>
<base/>
</type>
</xsl:otherwise>
</xsl:choose>
</data>
</xf:instance>
Что должно быть вместо вопросительных знаков, чтобы я мог получить тип из другого экземпляра?
Или я должен использовать xf:setvalue
установить экземпляр на xforms-model-construct-done
событие? Но разве это не конструкция самой модели? Я запутался, как использовать значения из другого экземпляра.
Можем ли мы использовать xf: insert как-нибудь?
<xf:action ev:event="xforms-model-construct">
<xf:insert nodeset="instance('subInstance')" origin="instance('defaultType')/type"/>
</xf:action>
Это не работает. Это событие правильно? Поскольку создание экземпляра является частью построения модели, я подумал об использовании "xforms-model-construct". Но все равно не повезло!
1 ответ
Да. Вставка xf: работает. Событие "xforms-model-construct" не отправлялось, и поэтому я почувствовал, что оно не работает. Когда я изменил событие на "xforms-model-construct-done", это сработало.
<xf:action ev:event="xforms-model-construct">
<xf:insert nodeset="instance('subInstance')" origin="instance('defaultType')/type"/>
</xf:action>