Hi,
Please try
$var(reg) = "(.*)/gml:Coordinates>(.*)<\/gml:Coordinates(.*)/\2/s";
xlog("Position is $(rb[1]{re.subst,$var(reg)})\n");
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 01/06/2017 05:44 PM, xaled wrote:
Hi Bogdan,
can you give any hints on how to get the Coordinates values and not
the whole xml body from the regex subst?
Sorry for being not clever enough to figure it out myself.
Thanks
Hi Bogdan,
$var(reg) = "/gml:Coordinates>(.*)<\/gml:Coordinates/\1/";
xlog("Position is $(rb[1]{re.subst,$var(reg)})\n");
DBG:core:subst_run:matched shows the needed XML element with value,
but not the value alone. The xlog output shows the whole XML body
without gml:Coordinates.
2017-01-05T13:23:23.104982+01:00 ivr01 /usr/local/sbin/opensips[2227]:
DBG:core:tr_eval_re: Trying to apply reg
exp [/gml:Coordinates>(.*)<\/gml:Coordinates/\1/] on : [<?xml
version="1.0" encoding="UTF-8"?>#015#012<presence xml
ns="urn:ietf:params:xml:ns:pidf"
xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
xmlns:gml="urn:opengis:specificat
ion:gml:schema-xsd:feature:v3.0"
entity="pres:sip:[email protected]">#015#012 <tuple id="PDT">#015#012 <s
tatus>#015#012 <gp:geopriv>#015#012 <gp:location-info>#015#012
<gml:location>#015#012 <gml:Point gml:
id="point1" srsName="epsg:4346">#015#012 <gml:Coordinates>12.32
34.24</gml:Coordinates>#015#012 </gml:P
oint>#015#012 </gml:location>#015#012 </gp:location-info>#015#012
<gp:usage-rules>#015#012 <gp:retran
smission-allowed>no</gp:retransmission-allowed>#015#012
<gp:retention-expiry />#015#012 </gp:usage-rules>#01
5#012 </gp:geopriv>#015#012 </status>#015#012
<timestamp>2016-8-02T04:13:23Z</timestamp>#015#012 </tuple>#015#0
12</presence>#015#012#015#012]
2017-01-05T13:23:23.107376+01:00 ivr01 /usr/local/sbin/opensips[2227]:
DBG:core:tr_eval_re: we must compile the
regexp
2017-01-05T13:23:23.107903+01:00 ivr01 /usr/local/sbin/opensips[2227]:
DBG:core:subst_parser: ok, se is 0x7f39a
5d0a1f0
2017-01-05T13:23:23.108241+01:00 ivr01 /usr/local/sbin/opensips[2227]:
DBG:core:subst_run: running. r=0
2017-01-05T13:23:23.111918+01:00 ivr01 /usr/local/sbin/opensips[2227]:
DBG:core:subst_run: matched (404, 45): [
gml:Coordinates>12.32 34.24</gml:Coordinates]
2017-01-05T13:23:23.112380+01:00 ivr01 /usr/local/sbin/opensips[2227]:
DBG:core:buf_init: initializing...
2017-01-05T13:23:23.112730+01:00 ivr01 /usr/local/sbin/opensips[2227]:
Position is <?xml version="1.0" encoding
="UTF-8"?>#015#012<presence xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xm
lns:gml="urn:opengis:specification:gml:schema-xsd:feature:v3.0"
entity="pres:sip:[email protected]">#015#0
12 <tuple id="PDT">#015#012 <status>#015#012 <gp:geopriv>#015#012
<gp:location-info>#015#012 <gml:locatio
n>#015#012 <gml:Point gml:id="point1"
srsName="epsg:4346">#015#012 <12.32 34.24>#015#012 </gml:Poi
nt>#015#012 </gml:location>#015#012 </gp:location-info>#015#012
<gp:usage-rules>#015#012 <gp:retransm
ission-allowed>no</gp:retransmission-allowed>#015#012
<gp:retention-expiry />#015#012 </gp:usage-rules>#015#
012 </gp:geopriv>#015#012 </status>#015#012
<timestamp>2016-8-02T04:13:23Z</timestamp>#015#012 </tuple>#015#012
</presence>
Thanks
*From:*Bogdan-Andrei Iancu [mailto:[email protected]]
*Sent:* Donnerstag, 5. Januar 2017 13:12
*To:* OpenSIPS users mailling list <[email protected]
<mailto:[email protected]>>; xaled <[email protected]
<mailto:[email protected]>>
*Subject:* Re: [OpenSIPS-Users] How to parse XML Body?
Try $var(reg) = "/gml:Coordinates>(.*)<\/gml:Coordinates/\1/";
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users