|
Subject: Aw: Re: [xsl] Trying to Extract a node with matching attribute value with xsltproc From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 24 Mar 2024 08:35:41 -0000 |
You need xsl:copy-of, not xsl:value-of, if you want to output the full
node. But if there is some default namespace declaration the suggested
XPath expression might not select anything.
--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail
gesendet.Am 24.03.24, 01:35 schrieb "ohaya ohaya@xxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>:
I tried the XSL that Liam suggested, but it isn't finding anything
:(.... Below is the xsltproc run with -v:
-bash-4.4$ xsltproc -v mulberry.xsl configfile.xml
creating dictionary for stylesheet
reusing dictionary from mulberry.xsl for stylesheet
xsltParseStylesheetProcess : found stylesheet
xsltPreprocessStylesheet: removing ignorable blank node
xsltCompilePattern : parsing '/'
xsltCompilePattern : parsed /, default priority 0.500000
added pattern : '/' priority 0.500000
parsed 1 templates
Resolving attribute sets references
Creating sub-dictionary from stylesheet for transformation
Registered 0 modules
reusing transformation dict for output
Registering global variables
Registering global variables from mulberry.xsl
xsltProcessOneNode: applying template '/' for /
xsltValueOf: select //Setting[@Name = 'TheOneIWant']
xsltValueOf: result ''
freeing transformation dictionary
freeing dictionary from stylesheet
Here's snippet of the XML file which should have matched:
<Setting Name="TheOneIWant" Type="htf:map">
&n bsp; <Setting Name="requiresignedassertion"
Type="xsd:boolean">false</Setting>
&n bsp; <Setting Name="succinctid"
Type="xsd:string">2KYi3gZ7THiZU0Hbft/mYgio0PE=</Setting>
. . </Setting> . .
Also, I think that I may not have been clear about what I want as the
output of running the XSLT...
If the XSLT was successful, I want the output to be the ENTIRE
matching node, including all the contents of the node, i.e.:
<Setting Name="TheOneIWant" Type="htf:map">
<Setting Name="requiresignedassertion"
Type="xsd:boolean">false</Setting>
<Setting Name="succinctid"
Type="xsd:string">2KYi3gZ7THiZU0Hbft/mYgio0PE=</Setting>
. . </Setting>
That's why, in my original post, I thought I had to include use of
the identity transformation.
My apologies if I wasn't clear about that.
Thanks, Jim
On Saturday, March 23, 2024 at 02:09:01 PM EDT, BR Chrisman
brchrisman@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
Might need to use <xsl:output method="text"/> as well.
On Fri, Mar 22, 2024 at 7:19b/PM Liam R. E. Quin
liam@xxxxxxxxxxxxxxxx <xsl-list-service@lists. mulberrytech.com>
wrote:
On Sat, 2024-03-23 at 01:55 +0000, ohaya ohaya@xxxxxxxxx wrote:
[...]
I think what you want is simply XPath here.
But with XSLT you could use,
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transf orm">
<xsl:template match="/">
<xsl:value-of select="//Setting[@Name = 'TheOneIWant']" />
</xsl:template>
</xsl:stylesheet>
The xsl:value-of "instruction" evalueates its argument and
converts the
result to a string (actually a "text node").
The contents of the "select" attribute is an XPath expression.
liam
--
Liam Quin, https://www.delightfulcomputing.c om/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations:
http://www.fromoldbooks.org
XSL-List info and archiveEasyUnsubscribe (by email) XSL-List info and
archiveEasyUnsubscribe (by email)
XSL-List info and archiveEasyUnsubscribe (by email)
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Trying to Extract a node , Michael Kay mike@xxx | Thread | Re: [xsl] Trying to Extract a node , Martin Honnen martin |
| Re: [xsl] Trying to Extract a node , Michael Kay mike@xxx | Date | Re: [xsl] Trying to Extract a node , Martin Honnen martin |
| Month |