Thanks for reporting your issue. Please make sure these boxes are checked before submitting your issue - thank you!

- [x] I looked for a similar issue and couldn't find any.
- [x] I tried with the latest version of GPAC. Installers available at http://gpac.io/downloads/gpac-nightly-builds/
- [x] I give enough information for contributors to reproduce my issue (meaningful title, github labels, platform and compiler, command-line ...). I can share files anonymously with this dropbox: https://www.mediafire.com/filedrop/filedrop_hosted.php?drop=eec9e058a9486fe4e99c33021481d9e1826ca9dbc242a6cfaab0fe95da5e5d95

Detailed guidelines: http://gpac.io/bug-reporting/

---

https://github.com/gpac/gpac/pull/1369 attempts to fix the XML escaping, but did not apply the changes to `UTCTiming`

```bash
ffmpeg -re -f lavfi -i testsrc -t 5 sample.mp4

gpac \
        -i sample.mp4 \
        --utcs='https://time.akamai.com/?iso&ms' \
        -o 'public.mpd:dmode=dynamic:profile=live'
```

will produce

```xml
<?xml version="1.0"?>
<!-- MPD file Generated with GPAC version 2.2.1-revrelease at 2023-10-19T15:23:06.676Z -->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.000S" type="dynamic" availabilityStartTime="2023-10-19T15:23:06.673Z" publishTime="2023-10-19T15:23:06.676Z" minimumUpdatePeriod="PT0H0M1.000S" timeShiftBufferDepth="PT0H0M30.000S" maxSegmentDuration="PT0H0M5.000S" profiles="urn:mpeg:dash:profile:isoff-live:2011">
 <ProgramInformation moreInformationURL="http://gpac.io">
  <Title>public.mpd generated by GPAC</Title>
 </ProgramInformation>

 <Period id="DID1" start="PT0H0M0.000S">
  <AdaptationSet segmentAlignment="true" maxWidth="320" maxHeight="240" maxFrameRate="25" par="4:3" lang="und" startWithSAP="1">
   <SegmentTemplate media="sample_dash$Number$.m4s" initialization="sample_dashinit.mp4" timescale="12800" startNumber="1" duration="12800"/>
   <Representation id="1" mimeType="video/mp4" codecs="avc1.F4000D" width="320" height="240" frameRate="25" sar="1:1" bandwidth="38547">
   </Representation>
  </AdaptationSet>
 </Period>
 <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://time.akamai.com/?iso&ms"/>
</MPD>
```

The expected value is 

```xml
<UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://time.akamai.com/?iso&amp;ms"/>
```
`UTCTiming` needs XML escaping for DASH MPD
This is a GitHub Issue
repo:gpac
owner:gpac
Title : `UTCTiming` needs XML escaping for DASH MPD
Issue date:

--- start body ---
Thanks for reporting your issue. Please make sure these boxes are checked before submitting your issue - thank you!

- [x] I looked for a similar issue and couldn't find any.
- [x] I tried with the latest version of GPAC. Installers available at http://gpac.io/downloads/gpac-nightly-builds/
- [x] I give enough information for contributors to reproduce my issue (meaningful title, github labels, platform and compiler, command-line ...). I can share files anonymously with this dropbox: https://www.mediafire.com/filedrop/filedrop_hosted.php?drop=eec9e058a9486fe4e99c33021481d9e1826ca9dbc242a6cfaab0fe95da5e5d95

Detailed guidelines: http://gpac.io/bug-reporting/

---

https://github.com/gpac/gpac/pull/1369 attempts to fix the XML escaping, but did not apply the changes to `UTCTiming`

```bash
ffmpeg -re -f lavfi -i testsrc -t 5 sample.mp4

gpac \
        -i sample.mp4 \
        --utcs='https://time.akamai.com/?iso&ms' \
        -o 'public.mpd:dmode=dynamic:profile=live'
```

will produce

```xml
<?xml version="1.0"?>
<!-- MPD file Generated with GPAC version 2.2.1-revrelease at 2023-10-19T15:23:06.676Z -->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.000S" type="dynamic" availabilityStartTime="2023-10-19T15:23:06.673Z" publishTime="2023-10-19T15:23:06.676Z" minimumUpdatePeriod="PT0H0M1.000S" timeShiftBufferDepth="PT0H0M30.000S" maxSegmentDuration="PT0H0M5.000S" profiles="urn:mpeg:dash:profile:isoff-live:2011">
 <ProgramInformation moreInformationURL="http://gpac.io">
  <Title>public.mpd generated by GPAC</Title>
 </ProgramInformation>

 <Period id="DID1" start="PT0H0M0.000S">
  <AdaptationSet segmentAlignment="true" maxWidth="320" maxHeight="240" maxFrameRate="25" par="4:3" lang="und" startWithSAP="1">
   <SegmentTemplate media="sample_dash$Number$.m4s" initialization="sample_dashinit.mp4" timescale="12800" startNumber="1" duration="12800"/>
   <Representation id="1" mimeType="video/mp4" codecs="avc1.F4000D" width="320" height="240" frameRate="25" sar="1:1" bandwidth="38547">
   </Representation>
  </AdaptationSet>
 </Period>
 <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://time.akamai.com/?iso&ms"/>
</MPD>
```

The expected value is 

```xml
<UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://time.akamai.com/?iso&amp;ms"/>
```
--- end body ---

The issue indicates that the `UTCTiming` element in the generated DASH MPD file does not properly escape the XML special character '&' in the URL, which can lead to invalid XML output. This could potentially cause issues when parsing the MPD file in clients that expect well-formed XML. The expected behavior is to have the '&' character replaced with '&amp;'.