Matt Dittbenner wrote:
Let me show another example.....
<package name="product1" categories="personal small_business"/>
<package name="product2" categories="business enterprise" />
In this example I want to match packages that belong to the category
"business" exclusively (not including small business). Using the
contains function will return both product1 and product2, which is not
the data I am looking for.
Ahhhh, right; sorry for the too-quick reply. I guess you need to work a
little more by matching the nodes with contains, then validating them in
a template with the substring functions. Check out
http://www.w3.org/TR/xpath#section-String-Functions
for reference. Dunno if an extention exists for what you want (ie
match-word or something), but i guess it checking out EXSLT would not
take too much time.
hth,
Manos
Thanks for such fast responses!
Emmanouil Batsis wrote:
An attribute value is atomic. You can look whether it contains a
substring using the contains(a, b) function. It will return true if a
contains b.
hth,
MAnos
Matt Dittbenner wrote:
Hey there,
I am having trouble finding any information on this. I have some XML
data with an attribute that has a space-delimited list inside of it
(kind of like putting multiple classes on an element in html for use
by CSS). How can I use XPath to match the nodes with attributes that
contain a specific value. I think the best way to describe this
would be with an example:
<data>
<item name="a" attribute="value value1"/>
<item name="b" attribute="value2 value1"/>
<item name="c" attribute="value1 value3"/>
<item name="d" attribute="value"/>
</data>
If I want to match the elements where "attribute" has one of its
values "value1", I want item "a", item "b" and item "c". But if I
want the elements where "attribute" has one of its values "value", I
should get item "a" and item "d". If you use the contains() string
function, you would obviously match all items, which is not what I
want.
As I said before CSS allows you to create styles that apply to a
class, and on your html, you can just set class="class1 class2
class3". That way ".class1", ".class2", ".class3", and
".class1.class2" are all separate styles! I don't need this extent
of functionality, but it leads me to believe something like this
just might exist in XPath.
Any ideas?
Thanks in advance,
Matt
--+------------------------------------------------------------------
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>
--+--
--+------------------------------------------------------------------
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>
--+--
--+------------------------------------------------------------------
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>
--+--