Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mit XPath neuen Knoten einfügen (vom Schema erlaubt)

12 views
Skip to first unread message

Christian Bruckhoff

unread,
May 23, 2011, 6:37:04 AM5/23/11
to
Hi.

I need your help. I've received this [1] bpel message. Now I need to a
assign a new node, '<qualityRemark>value</qualityRemark>' to this
message. The schema [2, 3, 4] allows this node, but I don't know, how I
have to assign it correctly. If I do it like this [5] then i get a
selection failure.

How I have to assign this correctly?

Regards
Christian

--------------------------------------

[1]:
<message>
<parameters>
<getSensorDataListResponse
xmlns="http://databasewebservice.webservices.pegelsuite.uni_koblenz.de"
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:ns4="http://xhydro.org/minimal/2009/09"
xmlns:ns5="http://watergauge.types.webservices.pegelsuite.uni_koblenz.de" xmlns:ns6="http://sensordata.types.webservices.pegelsuite.uni_koblenz.de"
xmlns:ns7="http://databasewebservice.webservices.pegelsuite.uni_koblenz.de"
xmlns:ns8="http://sensordatalist.types.webservices.pegelsuite.uni_koblenz.de">
<sensorDataList
xmlns="http://sensordatalist.types.webservices.pegelsuite.uni_koblenz.de">
<waterGauge
xmlns="http://watergauge.types.webservices.pegelsuite.uni_koblenz.de">
<locationName>MAINZ</locationName>
<ipAddress>localhost</ipAddress>
<getTimeSeriesPath>:9875/getTimeSeries/service
</getTimeSeriesPath>
<sensorCount>4</sensorCount>
<maxSensorDeviation>2.5</maxSensorDeviation>
</waterGauge>
<sensorData
xmlns="http://sensordata.types.webservices.pegelsuite.uni_koblenz.de">
<sensorNumber>1</sensorNumber>
<parameter>W</parameter>
<value>213.0</value>
<unit>cm</unit>
</sensorData>
<sensorData
xmlns="http://sensordata.types.webservices.pegelsuite.uni_koblenz.de">
<sensorNumber>2</sensorNumber>
<parameter>W</parameter>
<value>213.0</value>
<unit>cm</unit>
</sensorData>
</getSensorDataListResponse>
</parameters>
</message>

--------------------------------------

[2]:
<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified"
elementFormDefault="qualified" version="1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wg="http://watergauge.types.webservices.pegelsuite.uni_koblenz.de"
xmlns:sd="http://sensordata.types.webservices.pegelsuite.uni_koblenz.de"
xmlns="http://sensordatalist.types.webservices.pegelsuite.uni_koblenz.de" targetNamespace="http://sensordatalist.types.webservices.pegelsuite.uni_koblenz.de">

<xsd:import
namespace="http://watergauge.types.webservices.pegelsuite.uni_koblenz.de" schemaLocation="waterGauge.xsd"
/>
<xsd:import
namespace="http://sensordata.types.webservices.pegelsuite.uni_koblenz.de" schemaLocation="sensorData.xsd"
/>

<xsd:element name="sensorDataList" type="sensorDataListType" />

<xsd:complexType name="sensorDataListType">
<xsd:sequence>
<xsd:element ref="wg:waterGauge" />
<xsd:element ref="sd:sensorData" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>

</xsd:schema>

--------------------------------------

[3]:
<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified
elementFormDefault="qualified" version="1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://watergauge.types.webservices.pegelsuite.uni_koblenz.de"
targetNamespace="http://watergauge.types.webservices.pegelsuite.uni_koblenz.de">

<xsd:element name="waterGauge" type="waterGaugeType" />

<xsd:complexType name="waterGaugeType">
<xsd:sequence>
<xsd:element name="locationNumber" type="xsd:string" />
<xsd:element name="locationName" type="xsd:string" minOccurs="0" />
<xsd:element name="ipAddress" type="xsd:string" minOccurs="0" />
<xsd:element name="getTimeSeriesPath" type="xsd:string" minOccurs="0" />
<xsd:element name="sensorNumber" type="xsd:integer" minOccurs="0" />
<xsd:element name="sensorCount" type="xsd:integer" minOccurs="0" />
<xsd:element name="parameter" type="xsd:string" minOccurs="0" />
<xsd:element name="maxSensorDeviation" type="xsd:double"
minOccurs="0" />
<xsd:element name="qualityRemark" type="xsd:double" minOccurs="0" />
<xsd:element name="from" type="xsd:dateTime" minOccurs="0" />
<xsd:element name="to" type="xsd:dateTime" minOccurs="0" />
<xsd:element name="timeStamp" type="xsd:dateTime" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

</xsd:schema>

--------------------------------------

[4]:
<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified"
elementFormDefault="qualified" version="1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://sensordata.types.webservices.pegelsuite.uni_koblenz.de"
targetNamespace="http://sensordata.types.webservices.pegelsuite.uni_koblenz.de">

<xsd:element name="sensorData" type="sensorDataType" />

<xsd:complexType name="sensorDataType">
<xsd:sequence>
<xsd:element name="sensorNumber" type="xsd:integer" />
<xsd:element name="parameter" type="xsd:string" />
<xsd:element name="value" type="xsd:double" />
<xsd:element name="unit" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>

</xsd:schema>

Christian Bruckhoff

unread,
May 23, 2011, 6:42:05 AM5/23/11
to
Hi.

Ich habe dieses XML-Dokument [1] empfangen und muss nun nachträglich den
Knoten '<qualityRemark>value</qualityRemark>' hinzufügen. Die
Schema-Dateien [2, 3, 4] erlauben dies, allerdings habe ich kene Ahnung,
wie ich diesen Knoten nachträglich einfügen kann. Könnt ihr mir da helfen?

MfG

Martin Honnen

unread,
May 23, 2011, 7:42:27 AM5/23/11
to
Christian Bruckhoff wrote:

> Ich habe dieses XML-Dokument [1] empfangen und muss nun nachträglich den
> Knoten '<qualityRemark>value</qualityRemark>' hinzufügen. Die
> Schema-Dateien [2, 3, 4] erlauben dies, allerdings habe ich kene Ahnung,
> wie ich diesen Knoten nachträglich einfügen kann. Könnt ihr mir da helfen?

Welche Programmiersprache, welche XML-API benutzt du bzw. willst du
benutzen?
Mit XPath alleine kann man ohnehin nur Knoten selektieren, neue erzeugen
kann man dann mit Hilfe von XSLT oder XQuery oder DOM oder LINQ to XML
oder ..., je nach Programmiersprache und/oder Plattform.


--

Martin Honnen --- MVP Data Platform Development
http://msmvps.com/blogs/martin_honnen/

Christian Bruckhoff

unread,
May 27, 2011, 7:32:37 PM5/27/11
to
Hi.

Am 23.05.2011 13:42, schrieb Martin Honnen:
> Welche Programmiersprache, welche XML-API benutzt du bzw. willst du
> benutzen?
> Mit XPath alleine kann man ohnehin nur Knoten selektieren, neue erzeugen
> kann man dann mit Hilfe von XSLT oder XQuery oder DOM oder LINQ to XML
> oder ..., je nach Programmiersprache und/oder Plattform.

Ich verwende WS-BPEL 2.0.

Mit freundlichen Grüßen
Christian

0 new messages