I´m consuming the Banxico Web Services and it returns a string, inside that string there is the XML.
What I really need is to extract the next part using XSLT or XPath.
How can do it using XSLT or Xpath?
Pesos por dólar E.U.A. Tipo de cambio para solventar obligaciones denominadas en moneda extranjera Fecha de determinación (FIX)" IDSERIE="SF43718" BANXICO_FREQ="Dia" BANXICO_FIGURE_TYPE="TipoCambio" BANXICO_UNIT_TYPE="PesoxDoll">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<X-OPNET-Transaction-Trace:X-OPNET-Transaction-Trace soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0" xsi:type="soapenc:string" xmlns:X-OPNET-Transaction-Trace="http://opnet.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">pid=4468,requestid=4d0ce60a-c92f-441e-87b1-4c6f12b26574</X-OPNET-Transaction-Trace:X-OPNET-Transaction-Trace>
</soapenv:Header>
<soapenv:Body>
<ns1:tiposDeCambioBanxicoResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://ws.dgie.banxico.org.mx">
<result xsi:type="xsd:string"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
<CompactData xmlns="http://www.SDMX.org/resources/SDMXML/schemas/v1_0/message"
xmlns:bm="http://www.banxico.org.mx/structure/key_families/dgie/sie/series/compact"
xmlns:compact="http://www.SDMX.org/resources/SDMXML/schemas/v1_0/compact"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.SDMX.org/resources/SDMXML/schemas/v1_0/message SDMXMessage.xsd
http://www.banxico.org.mx/structure/key_families/dgie/sie/series/compact BANXICO_DGIE_SIE_Compact.xsd
http://www.SDMX.org/resources/SDMXML/schemas/v1_0/compact SDMXCompactData.xsd" >
<Header>
<ID>TIPOSDECAMBIO</ID>
<Test>false</Test>
<Truncated>false</Truncated>
<Name xml:lang="sp">Tipos de Cambio</Name>
<Prepared>2016-12-15 12:26:37.766</Prepared>
<Sender id="BANXICO">
<Name xml:lang="sp">Banco de México</Name>
<Contact>
<Name xml:lang="sp">Subgerencia de Desarrollo de Sistemas</Name>
<Telephone>(01 55)52372678</Telephone>
</Contact>
</Sender>
<DataSetAction>Update</DataSetAction>
<Extracted>2016-12-15 12:26:37.766</Extracted>
</Header>
<bm:DataSet>
<bm:SiblingGroup BANXICO_FREQ="Dia" TIME_FORMAT="P1D"/>
<bm:Series TITULO="Tipo de cambio pesos por dólar E.U.A. Tipo de cambio para solventar obligaciones denominadas en moneda extranjera Fecha de liquidación" IDSERIE="SF60653" BANXICO_FREQ="Dia" BANXICO_FIGURE_TYPE="TipoCambio" BANXICO_UNIT_TYPE="PesoxDoll">
<bm:Obs TIME_PERIOD="2016-12-15" OBS_VALUE="20.2567"/>
</bm:Series>
<bm:Series TITULO="Tipo de cambio Pesos por dólar E.U.A. Tipo de cambio para solventar obligaciones denominadas en moneda extranjera Fecha de determinación (FIX)" IDSERIE="SF43718" BANXICO_FREQ="Dia" BANXICO_FIGURE_TYPE="TipoCambio" BANXICO_UNIT_TYPE="PesoxDoll">
<bm:Obs TIME_PERIOD="2016-12-15" OBS_VALUE="20.5973"/>
</bm:Series>
<bm:Series TITULO="Cotización de las divisas que conforman la canasta del DEG Respecto al peso mexicano Euro" IDSERIE="SF46410" BANXICO_FREQ="Dia" BANXICO_FIGURE_TYPE="TipoCambio" BANXICO_UNIT_TYPE="Peso">
<bm:Obs TIME_PERIOD="2016-12-14" OBS_VALUE="21.535"/>
</bm:Series>
<bm:Series TITULO="Cotización de la divisa Respecto al peso mexicano Dólar Canadiense" IDSERIE="SF60632" BANXICO_FREQ="Dia" BANXICO_FIGURE_TYPE="TipoCambio" BANXICO_UNIT_TYPE="Peso">
<bm:Obs TIME_PERIOD="2016-12-14" OBS_VALUE="15.4178"/>
</bm:Series>
<bm:Series TITULO="Cotización de las divisas que conforman la canasta del DEG Respecto al peso mexicano Yen japonés" IDSERIE="SF46406" BANXICO_FREQ="Dia" BANXICO_FIGURE_TYPE="TipoCambio" BANXICO_UNIT_TYPE="Peso">
<bm:Obs TIME_PERIOD="2016-12-14" OBS_VALUE="0.176"/>
</bm:Series>
<bm:Series TITULO="Cotización de las divisas que conforman la canasta del DEG Respecto al peso mexicano Libra esterlina" IDSERIE="SF46407" BANXICO_FREQ="Dia" BANXICO_FIGURE_TYPE="TipoCambio" BANXICO_UNIT_TYPE="Peso">
<bm:Obs TIME_PERIOD="2016-12-14" OBS_VALUE="25.5806"/>
</bm:Series>
</bm:DataSet>
</CompactData>]]></result>
</ns1:tiposDeCambioBanxicoResponse>
</soapenv:Body>
</soapenv:Envelope>
With that response I build a xsd schema.
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.banxico.org.mx/structure/key_families/dgie/sie/series/compact" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="DataSet">
<xs:complexType>
<xs:sequence>
<xs:element name="SiblingGroup">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="BANXICO_FREQ"/>
<xs:attribute type="xs:duration" name="TIME_FORMAT"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Series" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Obs">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:date" name="TIME_PERIOD" use="optional"/>
<xs:attribute type="xs:float" name="OBS_VALUE" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="TITULO" use="optional"/>
<xs:attribute type="xs:string" name="IDSERIE" use="optional"/>
<xs:attribute type="xs:string" name="BANXICO_FREQ" use="optional"/>
<xs:attribute type="xs:string" name="BANXICO_FIGURE_TYPE" use="optional"/>
<xs:attribute type="xs:string" name="BANXICO_UNIT_TYPE" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>