f

XPath - xsl:copy-of select node, text without itself

Hi,

I have been experimenting and searching for information on how to
retrieve the following using XPath.

I may have three types of XML:
<n>this is some text</n>
OR
<n>
<p>this is some text</p>
</n>
OR
<n>
<p>this is some text</p>
<p>some more text</p>
</n>
OR
<n>
this is some text
<p>some more text</p>
</n>

The result I need includes ALL of the children and/or text but NOT the
node element <n>.

Some of the tested xpath queries

<xsl:copy-of select="child::text()"/>
<xsl:copy-of select="child::*"/>
<xsl:copy-of select="self::*"/>
<xsl:copy-of select="self::node()"/>
<xsl:copy-of select="self::child"/>

and of course <xsl:copy-of select="."/> which returns <n>.

Any ideas?
/ jorge


 0
4/25/2005 4:32:43 PM
comp.text.xml 8781 articles. 0 followers.

3 Replies
403 Views

Similar Articles

[PageSpeed] 55

In article <1114446763.441590.223130@l41g2000cwc.googlegroups.com>,

>The result I need includes ALL of the children and/or text but NOT the
>node element <n>.
>
>Some of the tested xpath queries
>
><xsl:copy-of select="child::text()"/>
><xsl:copy-of select="child::*"/>
><xsl:copy-of select="self::*"/>
><xsl:copy-of select="self::node()"/>
><xsl:copy-of select="self::child"/>
>
>and of course <xsl:copy-of select="."/> which returns <n>.

You want all the children of the <n> element.  So assuming the context
node is the <n>:

<xsl:copy-of select="node()"/>

-- Richard

 0
richard91 (3692)
4/25/2005 4:37:04 PM
you want all (child) nodes so

<xsl:copy-of select="node()"/>

Of the ones you tried

<xsl:copy-of select="child::text()"/>
same as "text()" just selects child text nodes, not elements.

<xsl:copy-of select="child::*"/>
same as "*" just selects child elements, not text.

<xsl:copy-of select="self::*"/>
same as "." selects the current element.

<xsl:copy-of select="self::node()"/>
as above.

<xsl:copy-of select="self::child"/>
selects the empty set unless the current element has name "child" in
which case it would select the current element.

David

 0
davidc5020 (601)
4/25/2005 4:44:58 PM
Works like a charm. Thanks,
/ j


 0
4/28/2005 8:49:39 PM

Similar Artilces:

XSLT Select nodes without text-node children whose names starts with specifix text
Question on XSL expression Got this XML: <Body> <Page> <Line no="9" detail="true"> <onefield>onefieldstext</onefield> <twofield>twofieldstext</twofield> </Line> <Line no="10" detail="true"> <onefield>onefieldstext</onefield> <fgman9>fgmanfieldstext</fgman9> <twofield>twofieldstext</twofield> </Line> <Line no="11" detail="true"> <onefield>onefieldstext</onefield> <twofield>twofieldstext</twofield> </Line> <Line no="12" detail="true"> <onefield>onefieldstext</onefield> <twofield>twofieldstext</twofield> </Line> <Line no="13" detail="true"> <onefield>onefieldstext</onefield> <fgman5>fgmanfieldstext</fgman5> <twofield>twofieldstext</twofield> </Line> <Line no="14" detail="true"> <onefield>onefieldstext</onefield> <twofield>twofieldstext</twofield> </Line> </Page> </Body> I would select the <Line/> nodes without text-node children whose names is starting with "fgman" - in this example it is all <Line/> _except_ <fgman9/> and <fgman5/> in <Line/> with @no of 10 and 13. I know that this works: &...

text + text
What is "text + text" supposed to do right now? It doesn't seem very useful to me. What about making "text + text" as an equivalent for "text || text"? Most strongly-typed programming languages do this. And MS SQL Server too, I think (CMIIW). -- dave ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org Am Freitag, 8. Oktober 2004 12:57 schrieb David Garamond: > What is "text + text" supposed to do right now? Nothing. > What about making "text + text" as an equivalent for "text > || text"? Most strongly-typed programming languages do this. And MS SQL > Server too, I think (CMIIW). What would this gain except for bloat? It's not like SQL is utterly compatible with any programming language; users will still have to learn all the operators anyway. -- Peter Eisentraut http://developer.postgresql.org/~petere/ ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match Peter Eisentraut wrote: >>What is "text + text" supposed to do right now? > > Nothing. Then are these bugs? (7.4.5 and 8.0.0beta1 give same results). Frankly, the current behaviour is quite strange to me. ------------------ =...

How to select all texts of the document of the format of the selected text?
Hi,i have selected a text of the document with the specified font face, color and size in MS Word 2000. Now , I want to select all the relevant texts from the entire document with the same format(face,color and size) as of the selected text. so Is there any method or shortcut to do this op.? Not really. You have to "walk" the document checking the styles as you go along. And You have to watch out for cases where the style changes in the middle of a word (!) and code accordingly to get the desired results. chetan26nov@gmail.com wrote: > Hi,i have selected a text of the documen...

text-text
Wondering how what I input to my UTF-8 terminal gets passed along through my patched [1] trn ... Cyrillic: А Б В Г Д Е Ж З И Й К Л М Н О П а б в г д е ж з и й к л м н о п IPA: ᴀ ᴁ ᴂ ᴃ ᴄ ᴅ ᴆ ᴇ ᴈ ᴉ ᴊ ᴋ ᴌ ᴍ ᴎ ᴏ ɀ Ɂ ɂ Ƀ Ʉ Ʌ Ɇ ɇ Ɉ ɉ Ɋ ɋ Ɍ ɍ Ɏ ɏ [1] https://groups.google.com/d/msg/comp.sys.raspberry-pi/7Z37Hdrm0DM/6aqD-reXFzAJ ...

Hi all, I need an XPath which selects all nodes of a specific name which start with a text node, i.e. I want the expression to select: <x> abcdefg <y>hijklmn</y> </x> but NOT <x> <y>hijklmn</y> abcdefg </x> I cant' seem to find the correct expression. Can somebody help? Thanks, Thomas Thomas Schmidt wrote: > I need an XPath which selects all nodes of a specific name which start > with a text node Node with specific name (x) with a first child that is a text node. x/node()[0][self::text()] -- () ASCII Ribbon Campaign | Joe Kesselman /\ Stamp out HTML e-mail! | System architexture and kinetic poetry Thomas Schmidt wrote: > I need an XPath which selects all nodes of a specific name which start > with a text node Node with specific name (x) with a first child that is a text node. x/node()[1][self::text()] -- () ASCII Ribbon Campaign | Joe Kesselman /\ Stamp out HTML e-mail! | System architexture and kinetic poetry Thomas Schmidt <Bernd.Moos@googlemail.com> wrote in <1184757177.171349.289160@j4g2000prf.googlegroups.com>: > I need an XPath which selects all nodes of a specific name > which start with a text node, i.e. I want the expression > to select: x[child::node()[1][self::text()]] > <x> > abcdefg > <y>hijklmn</y> > </x> > > but NOT > > <x> > <y>hijklmn</y> > abcdefg > ...

Text Color in Copied Text
I use Mathematica for all my class notes, and occasionally copy things from code editors that use color to highlight different constructs. In an earlier version (probably 5.2) the color highlighting copied over when I pasted it into a Text cell, but now this doesn't happen - all b/w. I don't see any way around this. Any ideas? Thanks, Kevin ...

xpath to select text nodes and <br>
Hello, I need to select all descendant text nodes and br elements using a xpath query. So this xml: <a> <b>text a</b> text b<br /> <c>text c</c> text d<br /> </a> results in this node list: 1. text a 2. text b 3. <br> 4. text c 5. text d 6. <br> I tried a/descendant::*[text() or self::br] but that got me some weird results. Thanks > I tried a/descendant::*[text() or self::br] but that got me some weird > results. a/descendant::node()[self::text() or self::br] a/descendant::node()[not(node())] sz. On 24. J=FAn, 21:38 h., "szomiz" <szo...@kocha.dostawac.reklamy.przez.net> wrote: > > I tried a/descendant::*[text() or self::br] but that got me some weird > > results. > > a/descendant::node()[self::text() or self::br] > > a/descendant::node()[not(node())] > > sz. Thanks ...

Text bind command not selecting text
I am putting together a small report editor and need some help with the following problem. I would like the user to type in some text and then later be able to select either all of it or a portion of it for formatting (ie. centering, bold, italic,etc.) by typing in a command like Ctrl-A. The following code is what I came up for this process but for some reason the text does not get selected. Can someone tell why this code doesn't work? ################################################################ # use strict ; use Tk ; use Tk::NoteBook ; my $fTab ; my$mw = MainW...

Deleting selected text from text area
I was wondering if anyone could help. I'm trying to find how to delete text from a selected text Area. I'm a beginner in Java Netbeans. So go easy! This is what I tried but its not happening. int start = 0, end = 1; while ( start < end ) { start = SpeechText.getSelectionStart(); end = SpeechText.getSelectionEnd(); if ( start != end ) remove( SpeechText.getText() ); } tom79l@googlemail.com wrote: > I was wondering if anyone could help. I'm trying to find how to > delete text from a selected text Area. > > I'm a beginn...

XML DOM: XML/XHTML inside a text node
In my program, I get input from the user and insert it into an XHTML document. Sometimes, this input will contain XHTML, but since I'm inserting it as a text node, xml.dom.minidom escapes the angle brackets ('<' becomes '&lt;', '>' becomes '&gt;'). I want to be able to override this behavior cleanly. I know I could pipe the input through a SAX parser and create nodes to insert into the tree, but that seems kind of messy. Is there a better way? Thanks. On Thu, 2 Nov 2005 noahlt@gmail.com wrote: > In my program, I get input from the us...

file command: "XML document text" vs "XML document text"
I've just used the file command on four files of RDF-XML with the following output: augtfidf.rdf: XML document text kyoto.rdf: XML document text stuff.rdf: XML document text tfidf.rdf: XML document text What does it mean that one of them has an extra space between "XML" and "document"? -- The kid's a hot prospect. He's got a good head for merchandising, an agent who can take you downtown and one of the best urine samples I've seen in a long time. [Dead Kennedys t-shirt] On 16.10.2012 16:06, Adam Funk wrote: > I've just used the file command on four files of RDF-XML with the > following output: > > augtfidf.rdf: XML document text > kyoto.rdf: XML document text > stuff.rdf: XML document text > tfidf.rdf: XML document text > > What does it mean that one of them has an extra space between "XML" > and "document"? Hard to tell without further information. What does file *.rdf | od -c show you? Janis Janis Papanagnou wrote: > On 16.10.2012 16:06, Adam Funk wrote: >> I've just used the file command on four files of RDF-XML with the >> following output: >> >> augtfidf.rdf: XML document text >> kyoto.rdf: XML document text >> stuff.rdf: XML document text >> tfidf.rdf: XML document text >> >> What does it mean that one ...

How do I Copy an error message to a text document, as text?
How do I Copy an error message to a text editor document (BBEdit, to be specific) as just plain text (what I see in the notebook cell)? I think I've now tried every possible Copy and Copy As . . . option in the Mac front end menus for Mathematica 4.2, with the text selected and with the cell bracket selected; and every one of them (fourteen cases in all) gives me a messy version of the error message with a bunch of formatting markup stuff inserted. Frustrating!!! Seigman: Yasvir was correct in copying Input and Output Forms to plaintext. However, that is not the M...

How to get selected text from a text edit control?
I created a text edit control using CreateEditTextControl. I can get the current text by calling char buf[256]; Size textSize = 0; GetControlData(controlRef, kControlEditTextPart, kControlEditTextTextTag, 255, buf, &textSize); but how do I get only the text that is currently selected (highlighted)? thanks, Shai In article <1111086224.345185.78280@g14g2000cwa.googlegroups.com>, shai@waves.com wrote: > I created a text edit control using CreateEditTextControl. > I can get the current text by calling > > char buf[256]; > Size textSize = 0; ...

How do I 'SELECT All' text in a text box
I want to select all text in a multi line text box from a command butten. Thank for help Dave Try this... Private Sub Command1_Click() With Text1 .SelStart = 0 .SelLength = Len(.Text) .SetFocus End With End Sub Rick - MVP "Dave" <last2try@earthlink.net> wrote in message news:fo0b90h0j9imbvntdea3uu2mefth5teufr@4ax.com... > I want to select all text in a multi line text box from a command > butten. > > Thank for help > Dave ...

Using Control-a to select all text in a text widget
I'm having a difficult time binding Control-a so it selects all the text in a widget just like the default Control-/ binding does. I've tried: ..t bind <Control-a> [.t bind <Control-/>] But [.t bind <Control-/>] returns nothing. If I do: ..t bind <Control-/> {puts "Selecting all"} ..t bind <Control-a> [.t bind <Control-/>] When I hit Control-/ I get at the prompt "Selecting all" and all the text is selected. But when I hit Control-a all I get is the "Selecting all" at the prompt and no text is selected. I've also tried: ..t bind <Control-a> {.t tag add sel 1.0 end} And that doesn't work either. In fact, with this code if you do Control-/ and then Control-a it unselects everything. And dumping the tags for the entire region show the tagon/tagoff for sel are gone. Does anyone know the semantics of Control-/? There's got to be more to it. - Ian I've just found this thread: http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/5c1df73696e94962/38ec894e32bafcd2?lnk=gst&q=select+all&rnum=8#38ec894e32bafcd2 Which seems to suggest there's nothing fancy about Control-/. - Ian And to answer my own question, the following works: bind .t <Control-a> {%W tag add sel 1.0 end; break;} - Ian On Wed, 01 Aug 2007 16:54:06 -0000, sniff.scratch@gmail.com wrote: >I'm having a difficult time binding Control-a so it selects all the >text in a w...

Getting kind of abstract text snippets from text nodes
Hi everybody, I am about implementing a little search engine that searches a phrase over xml text nodes. I got that all working fine but what I want as the results is not the complete text of the textnode, I would like to make an abstract like result list (such output that you get with google searches. For eg .... I am the <b>substring</b> from a complete text node ... where "substring" is the search term. The problem is simple (I think): I want to extract all the text parts of the complete text node, where search searchterm is highlighted, surrounded by the text like 30 characters. I found an intersting post "cut down text" which is almost that what I am looking for, but there the text is just trimmed by x characters. Is anybody here, that has an "elegant" way to solve that or some hints that get me to the solution? I am not able to use regex (would be nice though) My parser is Sablotron so I am restricted to the functions that I get. (1.0). Any help is greatly appreciated. regards, Andreas W Wylach Think about dividing the text into three parts: before your target, the target itself, and after the target. Process each appropriately. If you want to report multiple instances within the same block of text, look at the standard examples of recursive text processing. -- () ASCII Ribbon Campaign | Joe Kesselman /\ Stamp out HTML e-mail! | System architexture and kinetic poetry "Andreas W. Wylach" <aw@ioc...

selecting an area without text
is there a way to select an area in the window buffer that is with out lines and charecters (an empty part of the buffer )??? or highlight it ?? there is such optiion in my windows application of editing text , and i wonder if i can do it in xemacs too.. thanks TAZ ...

select dom text nodes
Hi, I want to select all the text nodes of an xml document using msxml dom. I tried using the selectNodes method with "//#text" argument. But it fails. Can anybody help please? Thank you. On Apr 13, 11:22 am, avs...@gmail.com wrote: > I want to select all the text nodes of an xml document > using msxml dom. I tried using the selectNodes method > with "//#text" argument. I don't believe there's a selectNodes() method in the W3C DOM specs. Assuming it accepts an XPath expression as an argument, what you need is '//text()'. #text is a nodeName, and is fairly meaningless in the context. Consider reading some sort of XPath tutorial, because invoking magic without understanding how it works is a recipe for disaster, as I can attest from painful personal experiences. -- Pavel Lepin Hey.. Thank you very much. That worked!! I m using MSXML and there is a selectNodes method. Yes, I agree that reading throughly before attempting a task is always the best way to work on something. Once in a while we all come across tasks where we dont have enough time to be thoroughly trained before attempting something. To be fair to me :-), I did go thru the material in MSDN on XPath. Most of it is given in the context of XSLT. That partly obstructed my learning. Inspite of that, I didnt find any reference to selecting all text nodes. After you pointed out, I did check the w3schools tutorial where I found a similar point documented, thanks to you...

extracting text from an XML node
Hi, suppose i get the simple xml sample: <foo> 1 <bar>2</bar> 3 </foo> Now suppose i want to extract all the text of only the 'foo' node, ie expected result is '1 3'. I tried both <xsl:template match="foo"> <xsl:value-of select="text()" /> </xsl:template> and <xsl:template match="foo"> <xsl:value-of select="." /> </xsl:template> but the former lead to '1' and the latter to '1 2 3' (using xsltproc & firefox). What did i missed ? thanks, -Nicolas nicolas.edel@gmail.com wrote: > Now suppose i want to extract all the text of only the 'foo' node That isn't a built-in concept; you have to recast it as "all the text nodes which are immediate children of the 'foo' node". (The built-in text value of an element, as you discovered, is the value of all text contained in it, directly or indirectly). Note too that the whitespace (line breaks and indentation) will be part of the the text nodes unless you explicitly strip that away. <xsl:value-of select="text()" /> didn't work because value-of returns the contents of only the first matching node. This is one case where xsl:for-each is appropriate, to explicitly iterate through the text children. -- Joe Kesselman / Beware the fury of a patient man. -- John Dryden On Nov 30, 12:34 am, Joseph Kesselman <kesh...

Pages
I have a titel-textfield over a pic (headline) , text is black, background for text transparent. A second textfield should overlapp the first textline..... When i arrange the second field with the same settings like the first, the first text disappear... How can i do, that the second text overpapps the first, all over the pic. Any help appreciated! Thanks for replies! I am german and hope that the engish speaking people understand my problem! Soory! Gerd In article <611db9e2-b085-4fe5-907a-ca714b0c32dd@m74g2000hsh.googlegroups.com>, hurlebaus <gerd.schenk@freenet.de> wrote:...

text 2 text
I'm rather new to ustation and am having trouble finding replacements for all of my Acad lisp routines. One that I'd like to find changes a selected text string to read like the second selected text string. I realize this can all be done in the text editor but it's not all that quick. Does anyone know of a macro or mdl which can handle this task? Thanks in advance.---Calvin I don't know of any application that will do what you describe, but have you looked at Edit > Find/Replace text? You may also find Bentley's discussion groups of assistance. Over there you can meet other users of Bentley products, exchange ideas, and discuss a wide range of technical subjects. These groups are an excellent technical resource for all users of Bentley products and services. Hope to see you there! For more information take a peek at this page: http://selectservices.bentley.com/discussion/index.htm -- Best Regards, Inga Morozoff [Bentley] www.askinga.com "jgonzales24" <jgonzales24@cox.net> wrote in message news:xcLMb.13975$zs4.2376@fed1read01... > I'm rather new to ustation and am having trouble finding replacements for > all of my Acad lisp routines. One that I'd like to find changes a selected > text string to read like the second selected text string. I realize this > can all be done in the text editor but it's not all that quick. Does anyone > know of a macro or mdl whi... Surrounding text with text I was wondering if it was possible to surround a text body with text like so: +--------------+ |ABCDEFGHIJKLM | |H N| |A Main Body O| |L Text goes P| |B here Q| |-=+_ZYXWVUTSR | | | | | | | | | +--------------+ This seems far-fetched, but just curious. I suppose that I could just move stuff around by hand in the GIMP later on, but there's probably a {better,more {extensible,clean}} way of doing it from (La)TeX. -FreeSmith ptjm@interlog.com (Patrick TJ McPhee) wrote in message news:<bffbhe$per$1@news.eusc.inter.net>... > Peter Flynn had an example like that, which he either posted here or > posted a link here. It was something to do with a certificate -- try > searching for his name and that word in google. > > It wouldn't be hard to do with metapost. I have a macro called `pathalong' > which puts text along an arbitrary path. Well, it's been a while, but I finally finished it. It's a little job I was doing for an upcoming wedding. At any rate, I used pstricks to make the text go along a path, along with a couple of hacks for sizing (from graphicx) and kerning along the line (from soul). Here's the code (don't laugh): CAUTION:THIS CODE MAY MAKE YOU WRETCH ---SNIP--- \documentclass{article} \usepackage{graphicx} \usepackage{pstricks,pst-text,nopageno} \usepackage[width=8.5in]{geometry} \usepackage{soul} \begin{document} \thispagestyle{empty} \set... Confusing behavior regarding selected text in a text widget Greetings one and all, I am having trouble understanding how lines of text that have been "selected" in a text widget are placed in the clipboard. Here's what's happening. I have a text widget that contains only lines of text. Some of the lines are covered by a tag that makes them invisible to the user. Specifically, if ".t" is a text widget, I have defined the tag "hide_tag": .t tag configure hide_tag -elide 1 and apply it from start of line through end of line. If one then "selects" lines of text that contain these "invisible" lines and copies them to the clipboard using control-C, all selected lines show up in the clipboard, including the "invisible" ones. I understand why this is happening and, in hindsight, I should have anticipated it, but nonetheless, it is undesirable behavior and needs to be fixed in my application. I've attempted to fix this by binding a proc to the <<Copy>> virtual event and having that proc copy all selected text that is not "invisible" to the clipboard using "clipboard clear" and "clipboard append" commands. Although the proc appears to do the correct thing, i.e., excludes the "invisible" lines, nonetheless, all selected lines, even the "invisible" ones, still appear in the clipboard. Something's going on here and I don't know what it is! Can anyone help? I have attached below example code ... text node has text but won't render This renders in Firefox perfectly well but the text in the red box remains invisible. The program is a subset of a larger and doesn't do much. but even after cutting out all the unneccessary stuf, I still can't get it to work!! Cheers, Greg =================== <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" > <xhtml:head> <xhtml:title> Intermingled XHTML and SVG </xhtml:title> <xhtml:script type="text/javascript" language="JavaScript"><![CDATA[ function gogo(evt){ var targetObj = evt.target; //The object that received the event var targetDoc = targetObj.ownerDocument; //Owner document var wg = document.getElementById("SVGroot"); var lg = document.getElementById("labelz"); //label labelBox= targetDoc.createElementNS("http://www.w3.org/2000/svg", "svg:rect"); labelBox.setAttributeNS(null, "id", "label1"); labelBox.setAttributeNS(null, "fill", "red"); labelBox.setAttributeNS(null, "fill-opacity", 1); labelBox.setAttributeNS(null, "x", 700); labelBox.setAttributeNS(null, "y", 400); labelBox.setAttributeNS(null, "width", 200); labelBox.setAttributeNS(null, "height", 20); labelBox.setAttributeNS(null, "visibility", "visible"); lg.appendC... Text widget: any way to copy while omitting elided text? Can you suggest a way to copy only the displayed text in the selection, omitting any elided text? -- Russell Russell E. Owen wrote: > Can you suggest a way to copy only the displayed text in the selection, > omitting any elided text? > > -- Russell With "selection handle" you can request that a command be run whenever the selection is retrieved. You can then use the "dump" subcommand of the text widget to get the text and tag information. Then, you can reconstitute the raw data, leaving out all the data with an elide tag. Russell E. Owen wrote: > Can you suggest a way to copy only the displayed text in the selection, > omitting any elided text? Use Tk 8.5 and "$text get -displaychars $from$to" cheers, Vince. ...

Web resources about - XPath - xsl:copy-of select node, text without itself - comp.text.xml

Resources last updated: 3/13/2016 11:46:38 PM