Bonjour à tous les membres du Forum ,
J'espère que vous vous portez bien.

Je viens vers vous avec une question relative à la lecture d'un tag dans un xml.

Mon xml est celui-ci :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<doc:form xmlns:doc="http://www...">
  <doc:SuperHeader>
    <gen:PrintInformation xmlns:gen="http://www...">
      <gen:PrInfJobName>CONTROL_STUDENT_DOCUMENT</gen:PrInfJobName>
      <gen:PrInfTimestamp>2021-09-18T18:10:00.000Z</gen:PrInfTimestamp>
      <gen:PrInfLogicalAddress>drukkerij</gen:PrInfLogicalAddress>
      <gen:PrInfArchive>true</gen:PrInfArchive>
      <gen:PrInfOutput>3</gen:PrInfOutput>
      <gen:PrInfCorrelationID>100018944090</gen:PrInfCorrelationID>
    </gen:PrintInformation>
  </doc:SuperHeader>
  <doc:Document>
    <doc:Header>
      <gen:Message xmlns:gen="http://www...">
        <gen:MessageName>P7IT</gen:MessageName>
        <gen:MessageNameDescription>Étudiants</gen:MessageNameDescription>
        <gen:MessageOrder>0</gen:MessageOrder>
        <gen:MessageVersion>3</gen:MessageVersion>
        <gen:MessageLanguage>FR</gen:MessageLanguage>
        <gen:MessageID>049714993492</gen:MessageID>
        <gen:MessageOriginalDate>2021-09-18</gen:MessageOriginalDate>
        <gen:MessageOriginalName>P7IT</gen:MessageOriginalName>
        <gen:MessageRegistered>false</gen:MessageRegistered>
        <gen:MessageDuplicate>false</gen:MessageDuplicate>
      </gen:Message>
    </doc:Header>
    <doc:RequestGeneral>
      <gen:Office xmlns:gen="http://www...">
        <gen:OfficeCode>27</gen:OfficeCode>
        <gen:OfficeName>Brussel-Bruxelles 27</gen:OfficeName>
        <gen:OfficeStreet>Rue de ...</gen:OfficeStreet>
        <gen:OfficeHouseNr>...</gen:OfficeHouseNr>
        <gen:OfficeZipcode>...</gen:OfficeZipcode>
        <gen:OfficeCity>...</gen:OfficeCity>
        <gen:OfficePhone>02-...</gen:OfficePhone>
        <gen:OfficeFax>02-...</gen:OfficeFax>
        <gen:OfficeOpen>0830</gen:OfficeOpen>
        <gen:OfficeClosed>1630</gen:OfficeClosed>
        <gen:OfficeLanguage>FR</gen:OfficeLanguage>
      </gen:Office>
      <gen:Agent xmlns:gen="http://www...">
        <gen:AgentTitle>Madame</gen:AgentTitle>
        <gen:AgentName>ST...</gen:AgentName>
        <gen:AgentFirstName>AN...</gen:AgentFirstName>
        <gen:AgentPhone>02-...</gen:AgentPhone>
        <gen:AgentNumber>00100401</gen:AgentNumber>
        <gen:AgentEmail>an...@....brussels</gen:AgentEmail>
      </gen:Agent>
      <gen:Sender xmlns:gen="http://www...">
        <gen:SenderName>It...</gen:SenderName>
        <gen:SenderFirstName/>
        <gen:SenderPhone/>
        <gen:SenderNumber/>
        <gen:SenderEmail/>
      </gen:Sender>
      <gen:Destination xmlns:gen="http://www...">
        <gen:DestinationTitleShort>Mme</gen:DestinationTitleShort>
        <gen:DestinationTitleLong>Madame</gen:DestinationTitleLong>
        <gen:DestinationName>Ci...</gen:DestinationName>
        <gen:DestinationFirstName>Ma...</gen:DestinationFirstName>
        <gen:DestinationStreet>Av...</gen:DestinationStreet>
        <gen:DestinationHouseNr>...</gen:DestinationHouseNr>
        <gen:DestinationPostBox>b...</gen:DestinationPostBox>
        <gen:DestinationZipCode>1...</gen:DestinationZipCode>
        <gen:DestinationCity>B...</gen:DestinationCity>
        <gen:DestinationCountry>B...</gen:DestinationCountry>
        <gen:AddressableId>PERSON_...</gen:AddressableId>
        <gen:DestinationINSS>81...</gen:DestinationINSS>
        <gen:DestinationEmail/>
        <gen:DestinationToTheAttentionOfTitle/>
        <gen:DestinationCorrespondenceLanguage>FR</gen:DestinationCorrespondenceLanguage>
      </gen:Destination>
      <gen:References xmlns:gen="http://www...">
        <gen:RefFileNumber>3011149</gen:RefFileNumber>
        <gen:RefInternalRef>3011149</gen:RefInternalRef>
        <gen:RefExternalRef/>
        <gen:RefSignature/>
        <gen:RefSignatureFunction/>
      </gen:References>
      <gen:Child xmlns:gen="http://www...">
        <gen:ChildName>Soumaré</gen:ChildName>
        <gen:ChildFirstName>Boub...</gen:ChildFirstName>
        <gen:ChildDateOfBirth>2003-04-02</gen:ChildDateOfBirth>
        <gen:ChildINSS>030402.....</gen:ChildINSS>
        <gen:ChildSex>1</gen:ChildSex>
        <gen:ChildChoice>false</gen:ChildChoice>
      </gen:Child>
      <gen:Period xmlns:gen="http://www...">
        <gen:PeriodStart>2021</gen:PeriodStart>
        <gen:PeriodEnd>2022</gen:PeriodEnd>
      </gen:Period>
      <gen:SuppressionDate xmlns:gen="http://www...">>2021-12-01</gen:SuppressionDate>
    </doc:RequestGeneral>
  </doc:Document>
</doc:form>

Mon but est de récupérer la valeur des balises PeriodStart (ligne 90) et PeriodEnd (ligne 91).
/!\ Astuce : ces PeriodStart et PeriodEnd peuvent avoir deux formats de données : soit une année - 2021 - soit une date complète - 2021-09-01.

Mon début de sql est celui-ci mais la requête ne renvoie rien.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
WITH x AS 
	(
		SELECT xmltype.createxml(od.DOCUMENT_XML) xml_data
		,dc.FILE_NUMBER AS FileN
 
		from DOCUMENT_CONVERSATIONS dc
		join OUTGOING_DOCUMENTS od on dc.DOCUMENT_CONVERSATION_ID = od.DOCUMENT_CONVERSATION_ID
		join OUTGOING_DOCUMENT_COPIES odc on od.OUTGOING_DOCUMENTS_ID = odc.OUTGOING_DOCUMENTS_ID
		where DOCUMENT_TEMPLATE in ('BHR402','BEISR402','BETN402','BM25','BRM402','BT25','BY30','E402','E403','P7A','P7INT','P9AIT','P9IT','TW_STU_RIP', 'P7IT')
		and to_char(odc.SEND_DATE,'yyyymm') > ('202109')  
		AND dc.FILE_NUMBER = 3011149
	)
SELECT xt.*
	--, x.niss
	--, x.FileN
FROM x, XMLTABLE('//Period'
         PASSING x.xml_data
         COLUMNS 
                Start_Period     		DATE PATH 	'PeriodStart',
        	End_period		DATE PATH	'PeriodEnd'
            ) xt
;
Qui aurait une bonne idée pour faire avancer mon Schmilblick ?
Merci d'avance,
Lionel