- 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