Ich habe die folgende XML:Mehrere Zustand in XSLT nicht funktioniert
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bp_list xmlns="http://example.com/2012/03/01/canonical/BusinessPartner">
<total_count>221</total_count>
<bp>
<bp_id>10</bp_id>
<bp_name>aad</bp_name>
<last_changed_date>2016-12-20T02:38:14</last_changed_date>
<location>
<location_id>200020</location_id>
<location_name>gfh</location_name>
<is_location_owner>true</is_location_owner>
<location_registration_status>
<registration_status_id>7202</registration_status_id>
<registration_status_name>Unregistered</registration_status_name>
<registration_status_effective_date>2015-07-24T00:00:00</registration_status_effective_date>
</location_registration_status>
<location_status>
<name>In Progress</name>
</location_status>
<marked_for_delete>false</marked_for_delete>
<bp_location>
<bp>
<bp_id>10</bp_id>
</bp>
<bp_location_capability>
<is_primary_capability>true</is_primary_capability>
<location_function_capability_category_id>50</location_function_capability_category_id>
<location_function_capability_name>hq</location_function_capability_name>
</bp_location_capability>
<bp_location_capability>
<is_primary_capability>true</is_primary_capability>
<location_function_capability_category_id>53</location_function_capability_category_id>
<location_function_capability_name>Remit To</location_function_capability_name>
</bp_location_capability>
</bp_location>
<address>
<id>103754</id>
<line1>someadress</line1>
<city>Columbus</city>
<postal_code>47201</postal_code>
<country_code>US</country_code>
<country_name>UNITED STATES</country_name>
<subdivision_code>US-IN </subdivision_code>
<subdivision_name>Indiana</subdivision_name>
<validation_status>0</validation_status>
</address>
<location_type>
<location_type_id>5003</location_type_id>
<location_type_name>Business Office</location_type_name>
</location_type>
<location_type>
<location_type_id>5002</location_type_id>
<location_type_name>Warehouse</location_type_name>
</location_type>
<location_capability>
<location_capability_id>13</location_capability_id>
<location_capability_name>Stores Cartons</location_capability_name>
<location_capability_category>1</location_capability_category>
</location_capability>
<location_capability>
<location_capability_id>50</location_capability_id>
<location_capability_name>hq</location_capability_name>
<location_capability_category>2</location_capability_category>
</location_capability>
<location_capability>
<location_capability_id>53</location_capability_id>
<location_capability_name>Remit To</location_capability_name>
<location_capability_category>2</location_capability_category>
</location_capability>
</location>
<location>
<location_id>16677059</location_id>
<location_name>ggg(something Co. Ltd)</location_name>
<is_location_owner>false</is_location_owner>
<location_registration_status>
<registration_status_id>7202</registration_status_id>
<registration_status_name>Unregistered</registration_status_name>
</location_registration_status>
<location_status>
<name>In Progress</name>
</location_status>
<marked_for_delete>false</marked_for_delete>
<bp_location>
<bp>
<bp_id>29303</bp_id>
</bp>
</bp_location>
<address>
<id>122088</id>
<line1>No.139 abc.</line1>
<line2>down the woods</line2>
<city>ff</city>
<postal_code>4567</postal_code>
<country_code>CN</country_code>
<country_name>CHINA</country_name>
<subdivision_code>r5 </subdivision_code>
<subdivision_name>Fujian</subdivision_name>
<validation_status>1702</validation_status>
</address>
<location_type>
<location_type_id>5001</location_type_id>
<location_type_name>Factory</location_type_name>
</location_type>
<location_capability>
<location_capability_id>10</location_capability_id>
<location_capability_name>Produces Product</location_capability_name>
<location_capability_category>1</location_capability_category>
</location_capability>
</location>
</bp>
ich nehmen, um die Linie 1 und Linie 2 der Adresse, wo „Primary-Fähigkeit ist“ wahr und „Location Funktionsfähigkeit“ hq ist .
In dieser speziellen Situation sollte ich nichts in Zeile2 bekommen, weil die Adresse keine hat (für die obige Adresse, die die Bedingung erfüllt). Allerdings nimmt mein XSLT die Leitung2 von der nächsten Adresse ab. Das hat mich glauben lassen, dass die Bedingung, die ich codiert habe, nicht funktioniert. Obwohl ich die erwartete Ausgabe in Line1 bekomme, ist es nur, weil es die allererste Adresse ist. Unten ist mein XSLT:
Was kann das Problem hier sein und wie kann ich das beheben?
Hat meine Antwort geholfen? –
Ja Daniel, Danke. Sie hatten Recht bei Ihrer Einschätzung und ich konnte mein Problem lösen. –
Bitte beachten Sie [Annahme meiner Antwort] (http://stackoverflow.com/help/accepted-answer). Siehe auch [Was soll ich tun, wenn jemand meine Frage beantwortet?] (Http://stackoverflow.com/help/someone-answers). –