|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Selecting Nodes by nodeset comparison
Hello,
Unfortunately, I have a newbie question.
Given two xml data.
Each contain the same data structure.
I would like to select nodes from both of them which might fit an Xpath
condition (some attributes from xml1/nodes should be equal to attributes from
xml2/nodes).
Then I would like to select all other nodes that did not match the condition.
<xsl:variable name="input_IT_Stunde"
select="document(concat('../temp/stunde_',$Property_File/Vergleichseigenschaf
ten/Input[@Sortierungsart='Maschine']/@Input_XML,'.xml'))/EintrdgeListe"/>
<xsl:variable name="input_Manual_Stunde"
select="document(concat('../temp/stunde_',$Property_File/Vergleichseigenschaf
ten/Input[@Sortierungsart='Hand']/@Input_XML,'.xml'))/EintrdgeListe"/>
Is the following Xpath correct?
<xsl:variable name="matching_IT-Man"
select="$input_IT_Stunde/Eintrag[@Datum=$input_Manual_Stunde/Eintrag/@BZ_Abg
angsdatum and
substring(@Zeit,1,2)=substring($input_Manual_Stunde/Eintrag/@BZ_Zeit,1,2) and
@Geographisch=$input_Manual_Stunde/Eintrag/@BZ_Geographisch and
@BBZ_Nummer=$input_Manual_Stunde/Eintrag/@BZ_BBZ_Nummer and @Leistungsangebot=
$input_Manual_Stunde/Eintrag/@BZ_DLA and
@Verarbeitungsart=$input_Manual_Stunde/Eintrag/@BZ_Verarbeitung and
@Format=$input_Manual_Stunde/Eintrag/@BZ_Format and
@Zustellart=$input_Manual_Tage/Eintrag/@BZ_Zustellart]"
/>
... for each $matching_IT-Man, do....
THEN : (Same Xpath condition as the first one, but with a negation not()
<xsl:variable name="NOT_matching_IT-Man"
select="$input_IT_Stunde/Eintrag[not(@Datum=$input_Manual_Stunde/Eintrag/@BZ
_Abgangsdatum and
substring(@Zeit,1,2)=substring($input_Manual_Stunde/Eintrag/@BZ_Zeit,1,2) and
@Geographisch=$input_Manual_Stunde/Eintrag/@BZ_Geographisch and
@BBZ_Nummer=$input_Manual_Stunde/Eintrag/@BZ_BBZ_Nummer and @Leistungsangebot=
$input_Manual_Stunde/Eintrag/@BZ_DLA and
@Verarbeitungsart=$input_Manual_Stunde/Eintrag/@BZ_Verarbeitung and
@Format=$input_Manual_Stunde/Eintrag/@BZ_Format and
@Zustellart=$input_Manual_Tage/Eintrag/@BZ_Zustellart)]"
/>
... for each $NOT_matching_IT-Man, do....
The final result shoud be the whole XML1 input data.
Why I ask such a question is due to the fact that when I add all values
contained within one specific attribute, the resulting sum isn't equal to the
one of the main XML1 attributes.
Thanks for your help
Lawrence Michel
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








