- From: Rhydian Morris <RMorris@focus-solutions.co.uk>
- Date: Fri, 11 Mar 2005 10:50:09 -0000
- To: 'Mike Kienenberger' <mkienenb@alaska.net>, www-forms@w3.org
Hi, Have you tried the following? I have done some similar things with the samples within XFormation "Dynamiclists.xhtml". I think your XPath should be something like this <xforms:itemset nodeset="instance('scratchpad-locations-work-type')/SubstationDistributionWo rkType/AllowedWorkType/*[name() = instance('work_order')/Location/SubstationCode][text() = 'true']"> Regards Rhydian Morris -----Original Message----- From: Mike Kienenberger [mailto:mkienenb@alaska.net] Sent: 11 March 2005 06:43 To: www-forms@w3.org Subject: XPath nodeset filtering by a constant element name defined in another expression (value of XPath) I have xml data of this form: <SubstationDistributionWorkType> <AllowedWorkType> <Description>Annunciator</Description> <ARS>false</ARS> <BRS>true</BRS> <BKS>true</BKS> <CPS>true</CPS> [...] </AllowedWorkType> </SubstationDistributionWorkType> I want to create a select1 control showing descriptions based on whether the 3-letter elements match another expression. For example, the following works, but has "BKS" hardcoded in. <xforms:select1 ref="WorkType" appearance="minimal" class="ctrl select1" navindex="8"> <xforms:itemset nodeset="instance('scratchpad-locations-work-type')/SubstationDistributionWo rkType/AllowedWorkType[BKS='true']"> <xforms:label ref="Description"/> <xforms:value ref="Description"/> </xforms:itemset> </xforms:select1> However, instead of a constant element name of "BKS", I want to use the value from the expression "instance('work_order')/Location/SubstationCode" as the basis of the element name used as the filter. I'm fairly certain that it's a matter of rewriting the filtering rather than simple substitution, but I'm not sure where to go from here. I've done similar things when I needed to compare a value (rather than an element name) using this expression <xforms:itemset nodeset="instance('scratchpad-equipment')/SubstationEquipment/Location[Locat ionID=instance('work_order')/Location/SubstationCode]"> but I can't seem to figure out the equivalent. Thanks, -Mike
Received on Friday, 11 March 2005 10:50:44 UTC