[
Lists Home |
Date Index |
Thread Index
]
- From: Jonathan.Robie@SoftwareAG-USA.com
- To: matthew@praxisxml.com, xml-dev@lists.xml.org
- Date: Fri, 22 Sep 2000 11:45:11 -0400
Title: RE: Inserting optional elements
Matthew,
If I understand your point, you are saying that the XPath does not tell you whether the new element is to be added before or after the element identified by the XPath. But why not embed the XPath in something else, e.g.:
<insert after="foo/bar[3]">
<bar />
</insert>
Jonathan
-----Original Message-----
From: Matthew Gertner
To: Xml-Dev
Sent: 9/22/00 11:18 AM
Subject: RE: Inserting optional elements
Paul,
This is an good point. XPath is not sufficient to specify the location
of a
new element unambiguously. This is obvious from the following example:
<element name="foo">
<complexType>
<element ref="bar" maxOccurs="unbounded"/>
<element ref="baz"/>
<element ref="bar" maxOccurs="unbounded"/>
</complexType>
</element>
Suppose I have the following document:
<foo>
<bar/>
<bar/>
<baz/>
<bar/>
</foo>
If I want to add an element with the XPath "foo/bar[3]", then I have no
way
of knowing whether this will result is bar,bar,bar,baz,bar or
bar,bar,baz,bar,bar. This is only one of several problems with XPath.
We're
thinking about extending the standard to solve these problems, so I'd be
most interested to know if any other individuals, companies or
organizations
are working on this and want to collaborate. I haven't checked whether
the
W3C is working on this yet (but I will).
Matthew
> -----Original Message-----
> From: Paul Spencer [mailto:paul.spencer@boynings.co.uk]
> Sent: Friday, September 15, 2000 7:54 PM
> To: Xml-Dev
> Subject: Inserting optional elements
>
>
> Here's a problem that has been bugging me all afternoon. I
> have to insert an
> element into an XML instance document. I have the XPath to
> the element, and
> I have an XML schema for the document. Logically, I should be
> able to use
> the schema to tell me where amongst its new siblings my new
> element must go.
> But I can't work out a simple general purpose way to do this,
> given the
> variety of ways in which a schema can be structured (and
> bearing in mind
> that some elements are locally scoped, so element names might not be
> unique).
>
> Surely I don't have to use regular expressions to break up
> the XPath and
> then work through the various complex data types and elements
> in the schema?
>
> Any suggestions?
>
> Paul Spencer
>
|