XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + how to insert un return in the... (2)
-> + String in a range (5)
-> + To identify the right edition (4)
-> + Flow Control Feature (2)
-> + calling nested external functi... (3)
-> + Replacing commas with a blank (6)
-> + Grouping very urgent . (2)
-> + xsl node number (3)
-> + Wordml intelligence (6)
-> + Preview and backmapping for wo... (5)
-> + XSLT - find line numbers of di... (2)
-> + The last five bytes of a varia... (7)
-> + simple problem but i'm a bit t... (3)
-> + H plz help me (2)
-> + XSLT : Very Urgent Requirement (7)
-> + comparing two xml files (3)
-> + Support for xsl created from w... (4)
-> + Wildcard Param (3)
-> + XSLT OutOfMemoryError (3)
-> + How can I output the filename ... (7)
-> + How do I strip out a comma ast... (8)
-> + xslt current-dateTime() not re... (2)
-> + Exceed the maximum recursion d... (8)
-> + Saxon9 "java.net.ConnectExcept... (2)
-> - Help Required (1)
-> + XSLT Help to get value from Up... (2)
-> + Date Functions (5)
-> + Need to unescape < and > (2)
-> + No Topic (2)
-> + Problem with handling multiple... (3)
-> + Question XPath expression (dis... (2)
-> + New user, basic question (2)
-> + Serializing XML to a string wi... (2)
-> + Node already has a control li... (2)
-> + Trying to access the position ... (5)
-> + XSLT Help (2)
-> + XSLT, Microsoft Access, and re... (4)
-> + saxon:assign usage problem. (5)
-> + Help with XSLT mapping require... (4)
-> + Muenchian Grouping problem (6)
-> + Automatic postprocessing (2)
-> + Problem Setting Variable (3)
-> - Problem Setting Variable (1)
-> + Looping question (14)
-> + Attribute Centeric XML from Re... (2)
-> + How do I do this ? (2)
-> + Accessing an attribute based o... (3)
-> + help needed - using saxon thro... (2)
-> + Grouping Problem still (6)
-> + Use XSL-FO to create tables fr... (6)
-> + taking out a child and (6)
-> + Yet another problem (3)
-> + using XSL-FO to convert PDF (4)
-> + Preventing namespace declarati... (2)
-> + Small problem during conversio... (4)
-> + Problems removing namespaces (2)
-> + Grouping/Following question (4)
-> + Transforming XML into another ... (3)
-> + Help Needes (3)
-> - Help needed! (1)
-> + Conv of DSML Format to XML for... (2)
-> - Regd, entering text in the t... (1)
-> + displaying all the text around... (4)
-> - inserting values into empty ta... (5)
-> ->inserting values into emp...
-> ->inserting values into emp...
-> ->inserting values into emp...
-> ->inserting values into emp...
-> + How to get rid of xmlns="" att... (3)
-> + XSLT How to include the '<' sy... (2)
-> - HELP: Functional XSLT Implemen... (1)
-> - Cannot find a matching 1-argum... (1)
-> + XSLT a:? (2)
-> + Attribute Value Concatenation (2)
-> - Why is the WYSIWYG xslt editor... (1)
-> + WebService Call Error: Ref ele... (4)
-> + How to replace value of a fiel... (2)
-> + Schema Validation Problems (3)
-> + Reusing a prior valid value in... (5)
-> + Clutching at straws! (2)
-> + Adding a number to a for each ... (2)
-> + Transform Name Value pairs int... (4)
-> + Transform the XML Scheme with ... (2)
-> + create XML drop down lists (2)
-> + error during stylesheet tutori... (3)
-> + Modify the value in a element ... (2)
-> + Call to extension function fai... (2)
-> + Convert XML Schema to XML - Mi... (2)
-> + How to calculate maximun RowCo... (3)
-> + Help with using not(preceding:... (5)
-> - Please Help me on this XML to ... (1)
-> + Paasing Parameter Values From ... (6)
-> + XSLT Transformation w/ namespa... (3)
-> + For-each select and parameter ... (3)
-> + Using < (less than) operator (5)
-> + Inserting carriage return (spe... (3)
-> + Inserting carriage return (spe... (2)
-> + Help with SerializerTrace erro... (8)
-> + xml to x3d (5)
-> + Exiting processing loop early (2)
-> + Easy way to Convert One source... (3)
-> + XSLT Editor tab missing from D... (2)
-> + Writing strings of characters ... (4)
-> + Adding the content of an eleme... (3)
-- Previous [601-620] [621-640] [641-660] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
justin shellSubject: inserting values into empty tags
Author: justin shell
Date: 12 Mar 2008 05:28 PM
I am processing a file that looks like

<xml>
<fields>
<field name="field1">
<value>1</value>
</field>
<field name="field2">
<value/>
</field>
</fields>
</xml>

I am using XSLT to format the file for import to MS Access. The XSLT looks something like:

<xsl:template match="fields">
<table1>
<field1>
<<xsl:value-of select="field[@name='field1']/value"/>
</field1>
<field2>
<<xsl:value-of select="field[@name='field2']/value"/>
</field2>
</table1>
</xsl:template>

Some of the <value> tags return with values and others return empty--<value/>. My problem is that upon import, those empty tags create error messages.

Is there any way to loop through the new file and replace all <value/> tags with <value>0</value>?

I have some experience with XSLT but am still learning. Thanks for any help.

Postnext
Ivan PedruzziSubject: inserting values into empty tags
Author: Ivan Pedruzzi
Date: 12 Mar 2008 06:27 PM

Hi Justin,

See if the attached file helps.

Ivan Pedruzzi
Stylus Studio Team


DocumentTO_MSAccess.xsl

Postnext
justin shellSubject: inserting values into empty tags
Author: justin shell
Date: 13 Mar 2008 12:56 PM
Ivan,

Thanks for your reply. Your XSLT file does help solve my problem, but it creates a new one. Let me further explain the source xml and the desired output. The source xml comes from a PDF form. There are about 250 fields in the form and each field is stored in a separate <field> element. These fields are grouped under questions in the form. So question 1 has 1 field and question 2 has 26 fields. When I import these fields into Access, I want to create a new table for each question. So table 1 will have 1 field and table 2 will have 26. The XSLT that I wrote formats all the fields so that they import to the correct table. (See the attached file.) There is probably a simpler way to do it, but I am working with only a basic knowledge of XSLT and XPath.

The XSLT you provided solves most of my problems (it uses the @name to create elements, inserts 0 into empty tags) but does not sort by questions to create tables. As you can see in my XSLT, I did this manually. The source document shows fields are related to questions through the Q## of the name attribute. So all question 2 fields begin with "Q02_". Is there a way to group elements by the first three letters of the tag name? And then nest those elements under a <table> tag? If not, then is there a way, using my original XSLT, to cycle through all the elements and insert a 0 into empty tags?

Justin


Documentsource(1).xml
Source document

Documenttrans.xsl
transformation

Postnext
Ivan PedruzziSubject: inserting values into empty tags
Author: Ivan Pedruzzi
Date: 13 Mar 2008 03:28 PM

This is a typical grouping problem, see if the attached example put you on the right track.


Ivan Pedruzzi
Stylus Studio Team


DocumentTO_MSAccess2.xsl

Posttop
justin shellSubject: inserting values into empty tags
Author: justin shell
Date: 14 Mar 2008 11:54 AM
Ivan,

Thanks for the help with this. Looking through your stylesheet, I learned a lot.

Your stylesheet solved almost all my problems. I also need the <table> tags to be unique, and ideally to reference the question # (I forgot to mention that). After a little study of your stylesheet and a few mistakes on my part, I figured out how to include those tags. I removed the <table> tag and inserted an <xsl:element name="{substring(@nam, 1, 3)}"> tag. seems to work.

Thanks again for the help.
Justin

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.