Hi Scott,
I have a xml file that looks like this:
<imageInfo>
<psd width="288">
<other stuff>
</other stuff>
<layer name="Blue" type="pixel" top="84" left="83" right="211"
bottom="206" />
</psd>
</imgeInfo>
I want to programatically change the top from '84' to '0' but I am
struggline. The next three lines are some I have. The first two
work, and actually are successful. But I cannot figure out how to
set another attribute eg 'top' value.
<set target="/psd/layer[(_at_)name='Green']/@visibility" value="hidden" />
<!-- works great -->
<set target="/psd/layer[(_at_)name='Blue']/@opacity" value=".5" />
<!-- works great -->
<set target="/psd/layer[(_at_)name='Blue']["top" value="0.0"] /> <!-- have
no clue how to set the top value.
The last one there isn't even well-formed XML. I think that you want
to follow the same pattern as the previous two, and use:
<set target="/psd/layer[(_at_)name='Blue']/@top" value="0.0" />
don't you?
PS, Why the @name and @visibility and @opacity. What does the @
represent?
In XPath, '@' is a shorthand for specifying the attribute axis. For
example:
psd/layer
would give you the 'layer' child *element* of psd, whereas:
psd/@layer
would give you the 'layer' *attribute* of psd.
By the way, what application are you using these XPaths in? It doesn't
look like it's XSLT...
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list