Hi Mike,
On Sun, Mar 14, 2010 at 7:04 PM, Michael Kay <mike(_at_)saxonica(_dot_)com>
wrote:
So how would you find a product element whose price today is less than its
price a week ago?
I might, like to keep a sequence of "price" nodes for a product,
instead of only one price for a product. Each price information can
have an "effective" date.
Therefore, I might have a schema like following:
<xs:complexType name="Product">
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="price" maxOccurs="unbounded">
<xs:simpleType>
<xs:extension base="xs:double">
<xs:attribute name="effective" type="xs:dateTime" />
</xs:extension>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="ID" type="xs:string" />
</xs:complexType>
<xs:element name="product" type="Product" maxOccurs="unbounded" />
If the corresponding XML instance is like following:
<product ID="100">
<name>kitchen sink</name>
<price effective="2010-03-07">15</price>
<price effective="2010-03-14">10</price>
</product>
I can get the products as you suggested, as follows:
//product[price[last()] lt price[last() - 1]]
This technique, doesn't use the creation & modification dateTime's as
I suggested initially, but this uses a custom schema.
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--