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)
-> + Specifying EDI Delimiters (2)
-> + Defining 'connection string' f... (9)
-> + Help Programatically Convertin... (2)
-> + Using adapter URL in pipeline. (7)
-> + How to enable EDI functionalit... (2)
-> + Unable to open file with '%2F'... (2)
-> + How to create a dependency gra... (2)
-> + If block (2)
-> + Mapping multiple files within ... (7)
-> + StylusStudio vs Altova vs BizT... (4)
-> + Command line execution (7)
-> + CSS and Styling in X15 (2)
-> + Ignores debug breakpoints in X... (5)
-> + Cursor dissapearing in Text vi... (5)
-> + compile error xquery java styl... (3)
-> + Stylus Studio Setup: Applicati... (10)
-> + Stylus StudioX15 Crashing whe... (4)
-> + Upgrade Stylus 14 to 15 (2)
-> + ACE Broker Download v2.5 (2)
-> + Help creating custom convertor (7)
-> + Problem saving Documentation (5)
-> + Registry keys for Stylus x15 (8)
-> + How to add a value when conver... (10)
-> + Stylus Studio Pro & Ent X15r1 ... (2)
-> + You need to install Java 2 SDK... (4)
-> - How to disable automatic and m... (1)
-> + Does Stylus Studio / DataDirec... (4)
-> + Stylus Studio fails with 'The ... (12)
-> + Struzzo.exe side by side confi... (7)
-> + unable to use converter (5)
-> + How to enable XSD 1.1 for Saxo... (3)
-> + XSD v.1.1 validation and Xerce... (8)
-> + FATAL ERROR: unsupported XML v... (2)
-> + Java Runtime Environment boot ... (2)
-> + Associate XML with Schema (3)
-> + JVM not found in stylus studio... (2)
-> + Change newline to Linux (on Wi... (4)
-> + Indent XML Tags only partially... (2)
-> + dealing with invalid character... (2)
-> + Unable to call Webservice thro... (2)
-> + XML to CSV Video create csv te... (5)
-> + Try to test this product, (2)
-> + How to migrate license? (3)
-> - kepp your settings on X15 upda... (1)
-> + No Topic (2)
-> + XSD validation scalability iss... (2)
-> + Installing documentation in ai... (4)
-> + Stylus Studio is currently una... (2)
-> + Change from SS Pro 2011 to SS ... (2)
-> + Problem with pipeline function... (2)
-> + Min and Max Occurs for Choices... (2)
-> + XSLT without Preview window ou... (3)
-> + How to achieve this transforma... (2)
-> + Licence Authentication Failed (2)
-> - using Oracle V2 for validation... (1)
-> + Steps needed to execute standa... (2)
-> + xsi:noNamespaceSchemaLocation ... (8)
-> + Using Saxon 9.4 and integrated... (4)
-> + "net XML Parser (5)
-> + How to undo in Stylus Studio X... (2)
-> + .RENAME section not loaded cor... (3)
-> + Stylus StudioŽ X14 Release 2 X... (2)
-> + The JVM initialization failed ... (2)
-> + XML schema to XML does not wor... (4)
-> + missing ExtraLines (3)
-> + EDI validation tool (2)
-> + Registering Custom Tool from c... (5)
-> + Setting Default XML Validation... (2)
-> + Project Directory in Custom Do... (3)
-> + Problem with Saxon 9.4.0.4 AVT... (5)
-> + XML To HL7 (3)
-> + Siblings not repeating when mi... (7)
-> + Nesting of records from fixed ... (5)
-> + Licensing (3)
-> + CSV set up to support predefin... (10)
-> + Scripting conversion (2)
-> + Edi/Euritmo automatic conversi... (4)
-> + Have new stylesheet automatica... (3)
-> + Text file to CSV to xml (9)
-> + EDIFACT to XML (4)
-> + About Stylus Studio... dialog ... (5)
-> + Set Stylus as default editor f... (3)
-> + CSV to XML (11)
-> + Indent XML tags no longer work... (9)
-> + XSL code completion moe like o... (3)
-> + xsl:fo - unable to use any fon... (5)
-> + Bug when calling a ms script f... (13)
-> - url schema (1)
-> + Quickbooks invoice to XML (4)
-> + X14 locks up, Unresponsive (4)
-> + Fields missing from middle of ... (2)
-> + Cannot install trial (2)
-> + Text File with Page breaks - H... (8)
-> + Complex transactional CSV mapp... (2)
-> + XML Report (2)
-> - Create an XML feed for videos (1)
-> + word doc (2)
-> + Saving to a UNC path (7)
-> + sharing violation (3)
-> + Convert XML to XML (6)
-- Previous [181-200] [201-220] [221-240] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2016)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
John HigginsSubject: Using variables in a select attribute
Author: John Higgins
Date: 30 Nov 2005 08:11 AM
I am attempting to convert 2 XML files into one and would like to use an attribute values to open the second file and assign the node path. I have successfully opened the second file and accessed the desired data using the statement below (I plagerized this from XSLT mapper):

<xsl:copy-of select="document($filename)/boiler_plate/branch_name"/>

I would like to replace "/boiler_plate/branch_name" with:

<xsl:copy-of select="document($filename)$nodename"/> (or correct syntax)

but get the error message "Unexpected token in xsl:copy-of".

I have attached snippets of the primary XML and transform stylesheet for specific information.


DocumentXML_Question1.TXT
Text

Postnext
Tony LavinioSubject: Using variables in a select attribute
Author: Tony Lavinio
Date: 30 Nov 2005 09:28 AM
You must supply the pathname so that it can be resolved at compile-time,
not at run-time, so variable substitution in the path won't work.

What you can do is something like this:
<xsl:copy-of select="document($filename)/node()[local-name(.) = $nodename]"/>

Postnext
John HigginsSubject: Using variables in a select attribute
Author: John Higgins
Date: 30 Nov 2005 11:13 AM
Originally Posted: 30 Nov 2005 10:58 AM
Tony, thanks for the quick turn around. I have tried your suggestion, but cannot get it to work (it compiles, but does not make a copy-of the text). As a novice, I am obviously missing something. Am I supposed to substitute "local-name" with something (none of the books I have reference such an XPath function)? Should the nodename be "/boiler_plate/branch_name" (boiler_plate being the root element of boiler_plate.xml and branch_name the child node I wish to copy)?

Postnext
(Deleted User) Subject: Using variables in a select attribute
Author: (Deleted User)
Date: 30 Nov 2005 11:42 AM
John,

Can you attach the .xml data and the .xsl file so we can take a look?

Thanks
Clyde

Postnext
John HigginsSubject: Using variables in a select attribute
Author: John Higgins
Date: 30 Nov 2005 12:01 PM
Clyde, I will need some time to sanitize the files for transmittal (an hour or so), but, yes I can.

Postnext
John HigginsSubject: Using variables in a select attribute
Author: John Higgins
Date: 30 Nov 2005 12:41 PM
Clyde,
Attached are the primary XML (item_spec.xml) the secondary (bp_file.xml) and the stylesheet (item_tran_1.xsl). If you substitute "/boiler_plate/branch_name" for "/node()..." in the copy-of, you can see the output I expect.


Documentitem_spec.xml
Text

Documentbp_file.xml
Text

Documentitem_trans_1.xsl
Text

Postnext
(Deleted User) Subject: Using variables in a select attribute
Author: (Deleted User)
Date: 30 Nov 2005 01:22 PM
John,

The local-name(.)=$nodename idea didn't work because $nodename does not contain a node name, it contains an entire xpath expression, in this case /boiler_plate/branch_name.

So, what you need is something which will dynamically compile and evaluate that xpath expression. Lucky for you, the Saxon processor has that. It you are willing and able to use Saxon (select the saxon processor in the scenario processor tab), then the attached fragment does what you need. I tried this and it worked in saxon 8.6.1. If you use saxon 6, you should change the xmlns:saxon= to "http://icl.com/saxon". Remove the <var>....</var> when you are happy that it works ok.


<xsl:template match="tp_header">
<xsl:variable name="filename" select="@file_id"/>
<xsl:variable name="nodename" select="@element"/>
<xsl:variable name="xpathexpr" select="concat('document(&quot;', $filename, '&quot;)', $nodename)"/>
<var><xsl:value-of select="$xpathexpr"/></var>
<xsl:copy-of select="saxon:evaluate($xpathexpr)" xmlns:saxon="http://saxon.sf.net/"/>
</xsl:template>

If you can't use saxon, then I would suggest you write a java extension which does the same thing as saxon:evaluate. This is not as hard as it seems, just invoke an xslt processor.

Good luck,
Clyde

Posttop
John HigginsSubject: Using variables in a select attribute
Author: John Higgins
Date: 30 Nov 2005 02:53 PM
Worked like a charm. Many Thanks.

   
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.