XPATH 1.0 : accès impossible à la valeur
[Observé]
J'ai un XML comportant des namespace dans la balise d'entête et dans le corps du message :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?xml version="1.0" encoding="UTF-8"?>
<StandardBusinessDocument xmlns="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader">
<StandardBusinessDocumentHeader>
<HeaderVersion>1.0</HeaderVersion>
<Type>PROCESSID</Type>
<InstanceIdentifier>urn:www.cenbii.eu:profile:bii28:ver2.0</InstanceIdentifier>
</StandardBusinessDocumentHeader>
<Order xmlns="urn:oasis:names:specification:ubl:schema:xsd:Order-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>urn:www.cenbii.eu:transaction:biitrns001:ver2.0:extended:urn:www.peppol.eu:bis:peppol28a:ver1.0</cbc:CustomizationID>
<cbc:ProfileID>urn:www.cenbii.eu:profile:bii28:ver2.0</cbc:ProfileID>
<cbc:ID>G0097921D</cbc:ID>
<cbc:IssueDate>2019-10-04</cbc:IssueDate>
</Order>
</StandardBusinessDocument> |
Cependant lorsque je cherche à accéder avec XML Spy par exemple à une valeur le parseur ne trouve pas la valeur.
Exemple: StandardBusinessDocument/Order/cbc:ProfileID
Même chose dans mon programme (préfixe d'espace de nom non défini). A priori le problème vient d'une déclaration qui n'est pas sur la balise root.
Peut-on déclarer les namespace dans le Xpath pour faire fonctionner la recherche ?