f



Non-XML tagged value text to XML

I would like to use XSLT to translate some tagged value text to XML
elements like this:

Input Doc:

<data>x=1.234 y=ABC z="Hello World"</data>

Output Doc:

<x>1.234</value>
<y>ABC</y>
<z>&quot;Hello World&quot;</z>

Is XSLT up to the task? What would it look like? Most of the XSLT
string processing code I've seen looks very verbose - can't be too
efficient.

0
mikea_59 (17)
1/13/2005 12:54:05 PM
comp.text.xml 8781 articles. 0 followers. Post Follow

1 Replies
1125 Views

Similar Articles

[PageSpeed] 47


mikea_59 wrote:

> I would like to use XSLT to translate some tagged value text to XML
> elements like this:
> 
> Input Doc:
> 
> <data>x=1.234 y=ABC z="Hello World"</data>
> 
> Output Doc:
> 
> <x>1.234</value>
> <y>ABC</y>
> <z>&quot;Hello World&quot;</z>
> 
> Is XSLT up to the task? What would it look like? Most of the XSLT
> string processing code I've seen looks very verbose - can't be too
> efficient.

Using XSLT 2.0 you can do that with regular expression matching as follows:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   version="2.0">

<xsl:output method="xml" encoding="UTF-8" indent="yes" />

<xsl:template match="/">
   <results>
     <xsl:apply-templates />
   </results>
</xsl:template>

<xsl:template match="data">
   <xsl:analyze-string select="." regex="((\w+)=(&quot;.*&quot;|\S+))">
     <xsl:matching-substring>
       <xsl:element name="{regex-group(2)}">
         <xsl:value-of select="regex-group(3)" />
       </xsl:element>
     </xsl:matching-substring>
   </xsl:analyze-string>
</xsl:template>

</xsl:stylesheet>

Output with Saxon 8.2 is

<?xml version="1.0" encoding="UTF-8"?>
<results>
    <x>1.234</x>
    <y>ABC</y>
    <z>"Hello World"</z>
</results>

With XSLT 1.0/XPath 2.0 you need to write a template that processes the 
string x=1.234 y=ABC z="Hello World" recursively using functions 
substring-before/substring-after.


-- 

	Martin Honnen
	http://JavaScript.FAQTs.com/
0
mahotrash (2052)
1/13/2005 4:28:51 PM
Reply:

Similar Artilces:

embedding xml in xml as non-xml :)
Hi all, I have an application that logs in xml. Assume <xmlLog></xmlLog>. In this element the app logs anything it gets from foreign hosts. Now if the host sends xml data, the structure of the document changes. ie. <xmlLog><somTag></somTag></xmlLog>. This will cause problems with my log reader, because it assumes that <xmlLog/> contains non-xml data. My question is, is there a way to treat the data in the <xmlLog/> element as non xml data. Something I can do that would treat anything this element contains as a literal? Any help or suggestions would be greatly appreciated. Regards, Mark Mark Van Orman <mark@icsaccess.com> wrote: > Hi all, > > I have an application that logs in xml. > > Assume <xmlLog></xmlLog>. In this element the app logs > anything it gets from foreign hosts. Now if the host sends xml > data, the structure of the document changes. ie. > <xmlLog><somTag></somTag></xmlLog>. This will cause problems > with my log reader, because it assumes that <xmlLog/> contains > non-xml data. > > My question is, is there a way to treat the data in the > <xmlLog/> element as non xml data. Something I can do that > would treat anything this element contains as a literal? > > Any help or suggestions would be greatly ap...

xml wrongly views as text extracted from the xml tags
we have a java framework, where we feed a request xml. this request xml is forwarded through the framework, tomcat and axis, for the backend processing, and the processing results are again received by the internet explorer, after they are transformed with an xslt by the framework. now the problem that we are facing is like - the explorer extracts the text inside all xml tags of the response xml and shows it as simple text. but, if you view the source of the 'text', it will show it all as well-formed xml. moreover, if you save the source as an xml file, and again open it through internet explorer, it will show the xml in proper way. i have tried using firefox, processing with xml spy, but with same results... has somebody experienced similar problem before??? i wonder what can be wrong in this case, and would be thankful for any pointers as to what can be the cause and solution to this. Thanks in advance, Shreyas Hi all, Finally i got what was the problem. it was because the response xml contained a <Title> </Title> tag in it. and dont know why/how, but IE was treating it as an HTML tag. i noticed that the browser window title was indeed "Mr" which is the text enclosed by the Title element. one more weird thing i noticed was that if i moved the <xsl:apply-templates> line for the tag downwords after one more template application, it was showing the xml properly alongwith the <Title> element, and not treating it as an HTML tag...

XML to XML
I have a gnucash file that I'm trying to transform into an identical XML file without the invoices. I've been at this for a while now. The gnucash file is in XML and the element I'm looking into is: <gnc:transaction> I want to ignore those that contain <slot:key>gncInvoice</slot:key> which is a child of slot which is a child of slots which is a child of transactions. Any help you're willing to provide would be greatly appreciated. Thanks. Classic application for XSLT. Start with the identity transformation, then add a template which matches the ones you want to treat specially and yields no output. From your description that would be match="gnc:transaction[transactions/slots/slot/slot:key='gncInvoice']" with the namespaces declared appropriately in the stylesheet. (That looks like a somewhat unlikely markup design to me, but since I haven't played with gnucash at all I'm taking your word for it.) -- () ASCII Ribbon Campaign | Joe Kesselman /\ Stamp out HTML e-mail! | System architexture and kinetic poetry Actually, from the Relax-NG schema for gnucash, it looks like it should be more like "gnc:transaction[trn:slots/slot/slot:key='gncInvoice']" with gnc:, trn:, and slot: all bound to the appropriate namespace URIs. The fact that some of their elements -- eg <slot> -- aren't in any namespace is probably left over from a pre-namespaces initial design, as is their now-brok...

To XML or not to XML?
Ok, it has been a while since I've needed to make an involved web page. Coming back on the scene now is a bit confusing, what with all the cool stuff to use like XML, PHP, MySQL, etc... So here is my question. I'm in search of a good dynamic way to generate web pages which separates content from presentation. I am seeking to create a web site that, to put it succinctly, has a list of users and sets of information corresponding to each user. I am familiar with how to do this using PHP, MySQL, and regular old HTML. I maintain the user database in MySQL and dynamically present it and the information with PHP. This is very easy to do in terms of coding for it. But I'm wondering? Is it time for me to switch to the XML with XSL method instead? Everyone seems to be talking of XML as the end all be all. I've looked into it, and on the surface, I just can't tell if it's worth it. I don't really see the benefit. XML is just a "create your own HTML tags" and then figure out wtf to do with them orgy. Great, so I can write <dog>Spot</dog>. Whoop de do, that's useless to me unless I write a parser for it to display it in a user friendly way. And I shouldn't have to write a parser, there should be standardized ones for certain purposes. But wait, isn't that what HTML already is? A bunch of <dog>Spot</dog> (figuratively speaking) with the parsers having been written and mostly standardized between companies ages ago...

XML or not XML?
I am developing a simple MySQL database editor, and am looking into creating an PHP/AJAX app as the GUI. A lot of this in new ground, and much more is dusting off things I haven't used in a while. My question though involves whether or nor to employ XML. I did some XML a few years back, but don't typically bother anymore. As I see it XML is great when I need to have an app with a standard data presentation that other developers can easily interface. I.E. like a bank statement that may feed a variety of applications developed by a variety of clients. However, if I am develo...

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 ...

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...

enumerate XML tags (keys that will become headers) along with text (values) and write to CSV in one row (as opposed to "stacked" values with one header)
My question can be found here: http://stackoverflow.com/questions/31058100/enumerate-column-headers-in-csv-that-belong-to-the-same-tag-key-in-python Here is an additional sample sample of the XML that I am working with: <Response ID="123546 - 7831" RequestType="Moverview"> <MonthDayCount> <Int32>0</Int32> <Int32>0</Int32> <Int32>0</Int32> <Int32>0</Int32> <Int32>0</Int32> <Int32>0</Int32...

XML schema validation of one xml block based on values from another xml block
Hi! Is possible to do xml validation of one xml block based on values from another xml block? For example, I have an input xml file containing account types. <Root> <AccountTypes> <AccountType></AccountType> �������������.. </AccountTypes> <Accounts> <Account> <AccountType></AccountType> </Account> </Accounts> </Root> Is there a way I can put restriction in schema that <Account> must have only such <AccountType> that are listed in <AccountTypes> The file size is 20-25 MB. (It would not be a good idea to load it into DOM) It is preferably to catch it before processing will start Thank you, Andy ...

How to retrieve XML CDATA text contents by org.xml.sax.ext.DefaultHandler2?
For example I have a XML tag <script> <![CDATA[ My script is here ]]> </script> I am using org.xml.sax.ext.DefaultHandler2 to parse my XML file. How do I retrieve my script contents? What shall I do in these two methods? @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if (qName.equals("script")) { // How to retrieve my script contents? } } @Override public void endElement(String uri, String localName, String qName) throws SAXException { if (qName.equals("script")) { ...

XML to XML Transformation
I was thrust into XML about 2 weeks ago and don't know much yet. From another department in the corp I am receiving an XML file which concatenates nodes all on one line i.e. <car><make>ford</make><color>red</color><year>2001</year></car><car><make><mb> etc. etc. etc. Some lines are over 300 characters long. I need to translate this spagetti XML into something which is humanly readable. I probably need to use XSL however I'm not sure what I need to do. Any help will be much appreciated. "Will" <william.cook@kla-tencor.com> wrote in message news:8506d1f6.0310311244.49a0856c@posting.google.com... > I was thrust into XML about 2 weeks ago and don't know much yet. From > another department in the corp I am receiving an XML file which > concatenates nodes all on one line i.e. > <car><make>ford</make><color>red</color><year>2001</year></car><car><make><m b> > etc. etc. etc. Some lines are over 300 characters long. I need to > translate this spagetti XML into something which is humanly readable. View the xml file using IE or Mozilla -- they provide an appealing, aesthetic looking layout with collapse/expanding of contents of elements. > I probably need to use XSL however I'm not sure what I need to do. If you decide to use XSLT (if, because the first approach above is really what one needs...

[XML] Is there an XML group?
Hi, I've typed an XML source which calls a CSS source, the result should be a page displayed in IE6, instead I see the XML source. That's pretty logical since there a no XHTML tags for IE6 to interpret. I'm looking for a discussion group like'comp.lang.xml' but I can't find one. Please help me. The first task is to see the Blue Jay. universalbitmapper wrote: > I'm looking for a discussion group like'comp.lang.xml' but I can't find > one. There's a comp.text.xml, which might be what you're looking for. Note that I don't read it,...

xml from 2 xml
Hi to everybody, would I like to create a consequential xml from the elaboration of two files xml using xslt, but is it possible to give in input to a trasform 2 files xml? thanks for the possible answers I have already found from me the answer: the function document('file2.xml') matatu ha scritto: > Hi to everybody, > > would I like to create a consequential xml from the elaboration of two > files xml using xslt, but is it possible to give in input to a trasform > 2 files xml? > > thanks for the possible answers ...

XML to XML conversion
Hello, I vageuly remember a standard that allowed for an XML document using one tag vocabulary to be translated to a diffirent XML document using a diffirent tag vocabulary using the information provided in a kind of dictionary XML pointed to in an URL present in the original XML file. I am very interested in trying it out for various applications, but I can't find anything on the internet about it, since I don't remember it's name, only the general appearance. Can anyone help me with this? What I remember, approximately: The idea is that you have one XML file, in which the namespace is defined in the standard way, using an URI. The URI, however, is pointing to an online XML file. For example: <x xmlns:abc="http://www.server.org/dictionary.xml"> <abc:one>orange</abc:one> </x> This dictionary.xml then contains, for example: <root> <one> <format1>1</format1> <format2>uno</format2> <format3>ena</format3> <format4>ein</format4> </one> </root> So a program wishing to convert the original XML to, say format2, would end up with the following XML: <x> <uno>orange</uno> </x> What I remember is that this dictionary trick was mainly used to allow diffirent software to be able to interpret the same XML file, without all of the software needing to be programmed for the same tag vocabulary. The program w...

How do I color text with XML tags?
I am trying to display some XML-tagged text in a web page. The following example works well in Netscape 7.1, but only the H2 heading is colored in MSIE. It seems that MSIE only applies style attributes to tags that it recognizes. Is there a way in which this can be done? Is it possible to format the XML part (from <azTagger> to </azTagger>) with XLS? If so, how? Thanks xyz ======== START OF HTML FILE =========== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>test</title> <style ...

Different results parsing a XML file with XML::Simple (XML::Sax vs. XML::Parser)
Hello Usenet. I'm subject to some confusion with XML and UTF8. I'm working with XML-Simple and I try to decode some XML with with german umlauts (ISO-8859-1). The first XML line declared the encoding correct (see code below). But I'm getting different results using XML-Simple with the default XML parser named XML::Sax and a second parser named XML::Parser. The following code tries to decode the mini XML file and prints the UTF8 flags of the resulting strings. Can someone run this code on his machine and post the results? Thanks. The results on my machine are this: ���ä...

no tags in my xml-to-xml transformation, help....
my xml-to-xml transformation is outputting an xml header and then just text like this: <?xml version="1.0" encoding="iso-8859-1"?>e19dbb7b-5529-43a0...... I've searched regarding this problem and it seems that if there's no match in your xsl template then by default everything gets spat out. But I've tested this with very definite matches in my template, and still there are no xml tags in the output. Has anyone seen this before? Any help much appreciated.... Yannick yannicklaclau wrote: > my xml-to-xml transformation is outputting an xml header and then just > text like this: > > <?xml version="1.0" encoding="iso-8859-1"?>e19dbb7b-5529-43a0...... > > I've searched regarding this problem and it seems that if there's no > match in your xsl template then by default everything gets spat out. > > But I've tested this with very definite matches in my template, and > still there are no xml tags in the output. > > Has anyone seen this before? We do not need to guess, try to reduce to the minimum necessary to show the problem, then post the relevant XML and XSLT here, and tell us which XSLT processor you use. -- Martin Honnen http://JavaScript.FAQTs.com/ Ok, false alarm. As I suspected, it was a newbie issue. In case anyone else has this problem, the solution is to use copy-of instead of value-of. Pretty self-explanatory: value-of will output the va...

Should the webserver add "Content-Type: text/xml header" to the requested XML file?
I've been informed that a webserver sending a XML file is supposed to add "Content-Type: text/xml header". I'm not questioning that infromation but i'm unsure what was ment by it. The XML i get on my screen when i type in the url to it looks as follows. <?xml version="1.0" encoding="UTF-8"?> <tag-uno>uno</tag-uno> <tag-duo>duo</tag-duo> I can't see any line containing "text/xml" but perhaps it's not supposed to show in the requested file. Please advise. -- Regards Konrad Viltersten ---------------...

Retrieving XML path text values
Trying to write a function to get all values from a XML path without using a third party XPath libraries Using jdk1.4 and wondering if it supports XPaths? If so would prefer that as a solution instead of writing a recursive one myself Thanks An example of a start that I'am trying below public static String[] getValue(Document doc, String path) throws Exception { String[] nodeNames = path.split("[\\/]"); for (int i = 0 ; i < nodeNames.length ; i++) { String nodeName = nodeNames[i]; NodeList elements = doc.getElementsByTagName(nodeName); } } Abraham Khalil wrote: > Trying to write a function to get all values from a XML path without using a > third party XPath libraries > > Using jdk1.4 and wondering if it supports XPaths? > If so would prefer that as a solution instead of writing a recursive one myself Unfortunately there is no standard way to apply an XPath expression to an org.w3c.dom.Node. However, the implementation of javax.xml.* that ships with Sun's JDK is Xalan, which does include nice XPath support. So if you're using Sun's JDK, you can write code like import org.apache.xpath.XPathAPI; import org.w3c.dom.*; // find the first node matching an XPath expression in // the subtree starting at "node" Node getNode(Node node, String xpathExpr) throws Exception { return XPathAPI.selectSingleNode(node, xpathExpr); } // get the string value of an XPath expression String getNodeValue(N...

[rfc-dist] RFC 6207 on The Media Types application/mods+xml, application/mads+xml, application/mets+xml, application/marcxml+xml, and application/sru+xml
A new Request for Comments is now available in online RFC libraries. RFC 6207 Title: The Media Types application/mods+xml, application/mads+xml, application/mets+xml, application/marcxml+xml, and application/sru+xml Author: R. Denenberg, Ed. Status: Informational Stream: IETF Date: April 2011 Mailbox: rden@loc.gov Pages: 11 Characters: 18090 Updates/Obsoletes/SeeAlso: None I-D Tag: draft-denenberg-mods-etc-media-types-03.txt URL: http://www.rfc-editor.org/rfc/rfc6207.txt This document specifies media types for the following formats: MODS (Metadata Object Description Schema), MADS (Metadata Authority Description Schema), METS (Metadata Encoding and Transmission Standard), MARCXML (MARC21 XML Schema), and the SRU (Search/Retrieve via URL Response Format) protocol response XML schema. These are all XML schemas providing representations of various forms of information including metadata and search results. This document is not an Internet Standards Track specification; it is published for informational purposes. INFORMATIONAL: This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. This announcement is sent to the IETF-Announce and rfc-dist lists. T...

how to check for existenceof XML tags with XML::Simple?
Using XML::Simple, what's the best way to check for the existence of a particular XML tag? For example, lets say I have 2 files, "success.xml" and "failure.xml" which differ only in their innermost tags (one being "<responseSuccess>" and the other being "<responseFailed>"). Can I use "exists()" or "defined()" on the path which refers to that tag? For example, consider the following: ------ START: success.xml ------- <?xml version="1.0" encoding="UTF-8"?> <response> <header> ...

XML-tagging text document from W3C-schema
Is there an XML-editor that can assist you in marking up the data in an urformatted text document, such that you mark the data and then right-click to access the Schema you have assigned, and choose the tag/attribute in the tree-structure, which then magically appears with your data enclosed? There must be, right? My assignment is to bring order to a truckload of stats from various Athletics events. For individual meetings, the formatting of the list of results are fairly standardized, but as a rule, they all follow their own standard, which means there's no hope making a script to automize the tagging, since there are several hundred meetings. I have made a fairly simple schema which covers basicaly what I need in the way of tags, which is: <statistics> <season name="" year=""> <meeting name="" date="" country="" location="" arranger="" arena=""> <event name="" category=""> <participant lastname="" firstname="" born="" club="" result="" type="" place="" other=""/> </event> </meeting> </season> </statistics> Here's hoping for some suggestions! -- A noise annoys an oyster Jana wrote: > Is there an XML-editor that can assist you in marking up the data in an > urformatted text document, such th...

web.xml / XML schema issue, why do some XML schema attributes disappear
Hi I'm trying to get my j2ee app to run on Jboss (version 3.2.3), but Jboss complains there are some missing attributes in the web-app element. The attributes are present in the XML file, but they seem to be removed by the parser, also when I view the file in a web browser. My XML below (I have cut out a lot of stuff for the purpose of this post) <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app xmlns="...

Installation of: XML-DOM-1.44, XML-Parser-2.36, XML-RSS-1.47, XML-Simple-2.18
- CPAN Forum Q&A, Installation of; -- XML-Writer-0.606 -- XML-DOM-1.44 -- XML-Simple-2.18 -- XML-RSS-1.47 -- XML-Parser-2.36 As concerns the installation of the four items above, these errors are continously flagged as an intervention to the process; XML-Simple-2.18, flagged: ======================== Checking installed modules... could not find ParseDetails.ini in C: \strawberry\perl\vendor\lib\xml\sax XML::Sax is installed, it will be used by the test suite Could not open 'lib/XML/Simple.pm': No such file or directory at C:/ strawberry/perl/lib/ExtUtils/MM_Unix.pm line 2627. --...

Web resources about - Non-XML tagged value text to XML - comp.text.xml

Resources last updated: 3/14/2016 12:07:07 AM