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)
- XQuery Help and Discussion (2017)
-> + problem converting json to XML... (2)
-> + Problem base64 decoding string... (3)
-> + Problems posting multipart for... (5)
-> + trouble with download of price... (2)
-> + Problem with http-post not bei... (3)
-> + path problem, xps_file:writeAl... (9)
-> + Xquery update support? (2)
-> + problem with Stylus studio try... (5)
-> + adding dtd reference to xml ou... (4)
-> + xquery escaping ambarsand when... (3)
-> + Whitespace problem when return... (5)
-> + Problem with namespace prefix ... (5)
-> - Sending via SFTP returns unexp... (1)
-> + Query and Sftp clent (4)
-> + xquery and try - catch (3)
-> + Query + ddtek:http-post optio... (5)
-> + Example files referenced in do... (3)
-> + Automatic Error Detection and ... (3)
-> + Working with result of ddtek:h... (2)
-> + Problems with FTP upload via X... (3)
-> + What path notation works when ... (6)
-> - Xquery Exception (1)
-> + [java] [Fatal Error] Test.xml:... (2)
-> + unable to produce correct XML ... (2)
-> + where can I find stylusxql uti... (3)
-> + Trouble Mapping Multiple Eleme... (3)
-> - input parameter (1)
-> - set element value (1)
-> + Xquery Performance Issue (21)
-> + Run Xquery Program using Java (3)
-> + XQuery XML to CSV (3)
-> + XQuery MySQL connector (4)
-> + XQuery with JDBC connection is... (3)
-> + Create FTP Server (2)
-> + XQuery Nested Loop Lookup (5)
-> + Xpath using a Variable for [@I... (2)
-> - My xqDoc option is disabled. (1)
-> + Xpath ancestor selection (4)
-> + Exception: sequence of more th... (2)
-> + XQUF usage (3)
-> - xquery rule execution (1)
-> + Loving XQuery (3)
-> + Cross Referencing Country Name... (4)
-> + Creating a Pivot Table with xQ... (2)
-> + Error Please Help (3)
-> - Error Please Help (1)
-> + XPath descendant question (2)
-> + java/lang/OutOfMemoryError Run... (2)
-> + Xquery key value lookup (8)
-> + Improve xQuery Performance (3)
-> + MS SQL Server - Disable order ... (10)
-> + proper use of fn:distinct-valu... (2)
-> + Ignore DTD (7)
-> - Thanks Ivan (1)
-> + Trying to get 2nd value of nod... (5)
-> + Outer joins (4)
-> + Figured Out Issues From Last P... (2)
-> + Best Way To Generate Complex X... (3)
-> + count in xquery (4)
-> + left/right presentation (3)
-> + new to stylus - connecting to ... (2)
-> + XQuery problem with namespaces (4)
-> + .conv and xquery problem (3)
-> + Can pass text into CONV file (2)
-> + doc-available not working as e... (4)
-> + ddtekjava write to file only e... (5)
-> + arrayindexoutofbounds with ddt... (7)
-> + XSD: Structure definition depe... (2)
-> + Fatal Error whitespace expecte... (3)
-> + Executing a pipeline sequence ... (2)
-> - Data Transfer (1)
-> + Specifying the SEF File Locati... (4)
-> + Multiply numbers... (2)
-> + Using Generated Java-Code... (5)
-> + Mapper does not show all nodes... (5)
-> - Xul tree search using XQuery X... (1)
-> + converting XML to CSV (2)
-> - datadirect licenses (1)
-> + generate a uuid (2)
-> + Help to write Xquery (2)
-> + XQuery java ddtek:serialize-to... (2)
-> + EDI to XML Automation (2)
-> + Generating XQUERY to use in Or... (2)
-> + Stylus is not easy to learn XQ... (2)
-> - java.lang.OutOfMemoryError (1)
-> + how to save to xml format (2)
-> + Formating a date in xquery (2)
-> + two xml statements when mappin... (5)
-> + XQuery (2)
-> + saxon-license.lic Not Found (2)
-> + hands off conversion to final ... (2)
-> + fn:substring in XQuery to Orac... (4)
-> + Using Saxon with XQuery to ins... (4)
-> + Can't SAVE or DO a SAVE AS Fro... (2)
-> + Saxon Unexpected token < e o f... (2)
-> + Inserting and selecting data i... (2)
-> - convert sql statement into xml... (1)
-> + need help in converting this a... (2)
-> + IS IT POSSIBLE TO DO AN XQUERY... (2)
-> + XQUERY RESULTS NOT IN PROPER F... (2)
-> + how to get data from database ... (2)
-> + tree view in xquery (2)
-> + Need help with SelectsingleNod... (5)
-> - counting in query (1)
-> + WebApplication with Xquery (3)
-> + Limit to number of elements in... (3)
-> + Automate xquery Conversion (2)
-> + ddtek:wscall problem (2)
-> - Problem with case sensitive (1)
-> + Is this the formal tech suppor... (2)
-> + problem with Conditional Expre... (5)
-> - problem with Conditional Expre... (1)
-> + connect to mysql for xquery? (2)
-> - NOOB Help (1)
-> - Getting rid of empty namespace... (1)
-> + Xquery not yielding results (3)
-> - fn:replace() inserting spaces ... (1)
-> + Xquery XML document with spcei... (7)
-> + XLS (MS Excel) to XML Converte... (3)
-> + Little Help :))) (2)
-> + Xquery tag position (2)
-> - Can I connect to MonetDB/XQuer... (1)
-> + Is there a way to format a num... (2)
-> + Please help convert SQL query ... (3)
-> + Connect to SQL Server Express ... (3)
-> - Convert HTML to XML within C# ... (1)
-> + return different result based ... (7)
-> + Java Heap Space (2)
-> + XQuery Results export to multi... (3)
-> + NO RETURN (5)
-> + Part of a csv into a current X... (3)
-> + How to escape ampersand in xqu... (2)
-> + How to Convert CSV lines to in... (5)
-> + Data connection Stylus Studio ... (2)
-> + Nested XQuery FLOWRs with RDBM... (3)
-> + observing xquery at work (2)
-> + alternative for 'exists' (4)
-> + Xquery and webpages how? (2)
-> + Help with another DataDirect p... (5)
-> + How to resolve XPTY0004 error (3)
-> + Search a sequence of siblings ... (3)
-> + DataDirect process getting XPS... (2)
-> + Find the parent who doesn't ha... (3)
-> + Help with a basic FLWOR query (3)
-> + xQuery Efficient Performance B... (5)
-> + How to break down a sequence a... (3)
-> + Xquery returning odd number fo... (2)
-> + Problems with Java date parame... (3)
-> + Xquery filter on multiple valu... (2)
-> + Xquery filter by using contain... (5)
-> + multiple xslt execution using ... (2)
-> + How to access to global variab... (6)
-> + "Value can not be converted to... (4)
-> + (simple) problem with xquery (3)
-> + Version of xQuery Included wit... (3)
-> + xQuery 1.0 Produces XPTY0004 E... (3)
-> + Replace Node with Set of Nodes (2)
-> + Unable to Use File Name as Ext... (5)
-> + EDI to XSD and validation (2)
-> + Sample XQuery extension using ... (2)
-> + Another EDI problem (7)
-> + Removing xmls:od and xmls:xsi ... (2)
-> + Configuring MarkLogic with Sty... (10)
-> + EDI to XML (7)
-> + Can't write to SQL-Server (4)
-> + XQuery and SQL-Server (2)
-> + Connection to MS SQL Server in... (2)
-> + copy/modify with Stylus Studio... (5)
-> - copy/modify with Stylus Studio... (1)
-> + [SQLServer JDBC Driver]Value c... (5)
-> + wild card chracter usage in XS... (2)
-> + Xquery with SQL NEWID function (4)
-> + Change Only One Line (5)
-> + Format DB xQuery results (3)
-> + Adding MsSQL Database to XQuer... (3)
-> + Need help with using XQuery in... (2)
-> + please help! simple XML transf... (2)
-> + xquery for invoice data (3)
-> + Xquery to cross reference two ... (3)
-> + how to list distinct value? (5)
-> + Reading XML Files Across Netwo... (8)
-> + I want to automatically check ... (4)
-> + Parent tags (5)
-> + Remove Empty tags (2)
-> + dynamic function call | dynami... (3)
-> + Can I define a function like f... (3)
-> + remove empty tags (4)
-> + Loops (7)
-> + flat to XML with xQuery (4)
-> + Xquery for timer based events. (2)
-> + Cleaning up Word 2007 xml (3)
-> + Xquery string-pad function (5)
-> + DB to XML Data Source (2)
-> + XML Streaming not working (2)
-> + XQuery General Question (11)
-> + ERROR XQueryMediator Error dur... (2)
-> + Print Date in XML File (2)
-> + Aritmetic in Xquery (2)
-> + Use content of node as node na... (2)
-> + Better way to do this? (3)
-> + Get output line by line!! (2)
-> + Use of if-then-else (2)
-> + Manipulation of XQuery output!... (4)
-> + Subtract times (6)
-> + Using xQuery to call a Convers... (3)
-> + How to add a custom class to t... (3)
-> + How to get rid of multiple occ... (2)
-> - Problem with conditional JOINi... (8)
-> ->Problem with conditional ...
-> ->Problem with conditional ...
-> ->Problem with conditional ...
-> ->Problem with conditional ...
-> ->Problem with conditional ...
-> ->Problem with conditional ...
-> ->Problem with conditional ...
-> + XQuery editor whitin Stylus St... (3)
-> + Get rid of spaces in returned ... (4)
-> + Can XQuery be embeded in a Jav... (2)
-> + Need help on converting <br... (3)
-> + postgresql (3)
-> + No format-number functionsupp... (4)
-> + Swapping elements using XQuery... (2)
-> + Trying to contact DataDirect d... (3)
-> + External Java functions with b... (5)
-> + Looking for xQuery help (6)
-> + Built-in processor & filtered ... (2)
-> + Multiple Sibling Matches (2)
-> + Issue with data($element) (4)
-> + convert text to xml from more ... (2)
-> + xquery syntax (2)
-> + SQL Table To XML using XQuery (4)
-> + delimiting values of attribute... (3)
-> + empty child nodes (9)
-> + Illegal XML characters (4)
-> + Complete SQL Server database t... (34)
-> + Prevent xquery from converting... (8)
-> + Another edi question. (6)
-> + Running xquery with a source c... (4)
-> + xml to edi segment count quest (3)
-> + Running xquery from the comman... (7)
-> + How to change the node name in... (5)
-> + How to loop through a set of e... (10)
-> + Can I pass a parameter/vaiable... (3)
-> + generating an XML file (3)
-> + generating log files of Xquery... (2)
-> + Stylus Studio crashes when edi... (3)
-> + Checking for Values in an Arra... (3)
-> + Adding embedded functions (11)
-> + multiple DTPs at the same leve... (2)
-> + java.lang.OutOfMemoryError: Ja... (3)
-> + xml validation against wsdl (2)
-> + Using same Xquery (4)
-> + Changing name value pairs to t... (4)
-> + removing unwanted attributes r... (4)
-> + Repeated Crashing of System (2)
-> + Create multiple XML Files (5)
-> + Best xQuery engine? (2)
-> + Xquery outputs XML attributes ... (4)
-> + DataDirect SequeLink as a DB-t... (2)
-> + Using same xquery for 2 xml fi... (5)
-> + Performance of XQuery (2)
-> + fail to use Saxon Process for ... (4)
-> + Conditional statements in xque... (2)
-> + Option Declaration Using Saxon (2)
-> + Multiple option declarations (2)
-> + Importing modules with a Custo... (3)
-> + Possible bug: Problem with aut... (5)
-> + getting the value of an attrib... (4)
-> + Memory problems using xQuery (6)
-> + Adding a namespace (6)
-> + [DataDirect][XQuery][err:FODC0... (9)
-> + Mapping Trouble (4)
-> + Two level grouping (5)
-> + Error: A parameter of the oper... (3)
-> + Grouping in xQurey (Nested For... (7)
-> + err:XPST0005 - Error at line 9... (4)
-> + Error at line 1, column 126. U... (6)
-> + Strange output (2)
-> - word count for each category (1)
-> + Need help with this xquery (2)
-> + XML DOM (3)
-> + License issues related to XQue... (3)
-> + XQuery, ddtek:wscall, and an e... (9)
-> + How to give sub equation nos (3)
-> + XML DOM (3)
-> + forcing empty elements to have... (4)
-> + SQL Server 2005 XQuery help (4)
-> + Type error (5)
-> + MarkLogic queries (2)
-> + relative uri (3)
-> + Recursive Template Funcion Fro... (2)
-> - Create RDF for xml (1)
-> + Schema validation errors (2)
-> + KEYWORD EXTRACTION FROM XML DO... (6)
-> + Newbie struggling with nested ... (4)
-> + Path evaluation bug (?) concer... (2)
-> + XPath query (3)
-> + make sequence (4)
-> + XPath Query Editor Schema-Awar... (3)
-> + Newbe To This Form of programm... (2)
-> + Connection to remote database (2)
-> + Addnamespace using xquery (4)
-> + FATAL ERROR: Invalid document ... (3)
-> + FLOWR Loop Counter (5)
-> + Stylus Studio XML generation f... (2)
-> + Potential bugs? (2)
-> + hierarchical XML into tables (2)
-> + Incremental line counts (4)
-> + preceding-sibling syntax help ... (2)
-> + Creating hierarchical identifi... (5)
-> + Convert decimal to Hex. (3)
-> + XQuery automated comparison of... (3)
-> + validating schemas (2)
-> + very simple fn:string() proble... (5)
-> + Need help with a XSL file (2)
-> + Problems with conversion from ... (3)
-> + MS Sql Server (2)
-> + XQuery equivalent of xsl:resul... (2)
-> + tokenizing a string - problem ... (3)
-> + XQuery and eXist error process... (2)
-> + Deploying an xquery file with ... (2)
-> + Newbie struggling with simple ... (4)
-> + summing up the figure in the n... (8)
-> + Variable as part of a tag? (2)
-> + xquery element tag name (2)
-> + xquery - question for count fu... (3)
-> + get multiple values from multi... (4)
-> + Is it possible to add new data... (7)
-> + Can't connect to DB - MS SQL S... (16)
-> + sequence distinct values (4)
-> + XSQL QUERY (2)
-> + External xquery functions (2)
-> + Error in Xquery V3.0 (7)
-> + Problem getting distinct value... (2)
-> + XQuery reference book recommen... (2)
-> + it's possible to have a where ... (2)
-> + XSLT sorting parent nodes by m... (2)
-> + Catalyst EDI Mapping (2)
-> + h2 element is there but XQuery... (2)
-> + Adding the XML header to an ou... (2)
-> + Newbie question regarding dyna... (2)
-> + Group parent elements in targe... (5)
-> + Need XPath to return just imme... (4)
-> + XQUERY Java run-time error (4)
-> + dbxml and collection() (2)
-> + Nothing returned when namespac... (3)
-> + XQERY and Stylus Studio suppor... (3)
-> + x12 837 convert to xml fail wi... (3)
-> + Choose more than one attribute (2)
-> + XQuery Engine (4)
-> + finding nodes in source docume... (2)
-> + unable to create any xquery (3)
-> + counter in xquery (5)
-> + How to change JVM settings -Xm... (4)
-> + Postgresql (3)
-> + Can I call an xquery file from... (5)
-> + How to output a text with a mi... (3)
-> + Mapping - How Include the Sche... (6)
-> + XQuery beginner problem (2)
-> + No output from StylusFile Conv... (3)
-> + getting all nodes leading up t... (3)
-> + Java exception when apply regu... (5)
-> + X12 resources not reachable (T... (13)
-> + XQuery error on Oracle views (5)
-> + Results multiplied by number o... (3)
-> - Continous sequence check (1)
-> + No results for second row of s... (14)
-> + Problems connecting to DB2/400... (6)
-> + External Class : Invalid linki... (8)
-> + Error during SQL execution: [O... (2)
-> + Warnings when running Schema a... (2)
-> + XQuery basics (2)
-> + XPath Query Editor - not visib... (3)
-> + Document loading and unloading (3)
-> + Xpath to return xmlns (3)
-> + How to execute xQuery and exec... (3)
-> + Schema Aware Saxon (5)
-> + Want to execute a XQuery by AP... (7)
-> + Use a user-defined adapter as ... (2)
-> + RDB collections versus DB-to-X... (5)
-> + XMLTABLE WITH COLUMN OF ALL NO... (5)
-> + Xquery question (4)
-> - XQuery 1.0 is now a Proposed R... (1)
-> + I can't seem to get my xml "re... (7)
-> + Custom pipeline elements (4)
-> + FIND ALL ELEMENTS WITH SAME NA... (3)
-> - CONCATENATE COMPLEX TYPE ELEME... (1)
-> + XQuery & MySQL (4)
-> - Referring elements from an imp... (1)
-> + Selecting operator from XML to... (5)
-> + copy-namespaces mode (5)
-> + XQuery and Javascript 1.5+ on ... (2)
-> + XQuery sort & extract data (4)
-> + [DataDirect][XQuery]No value h... (9)
-> + About typing system for XQuery... (5)
-> + root() vs // - saxon and built... (3)
-> + XQuery or XPath "between" func... (4)
-> + Xpath Query Editor button grey... (3)
-> + Processing Instructions, Built... (4)
-> + XPath parser in Java (3)
-> + XQuery "declare xmlspace prese... (10)
-> + Save results of XQuery as CSV? (7)
-> + Cleanup and combine question (3)
-> + xquery function from within xs... (4)
-> + Saxon XQuery error (4)
-> + xquery and 1gb xml files (3)
-> + How can i output key words suc... (5)
-> + Viewing XQuery (4)
-> - Webinar: Using XQuery and Data... (1)
-> + Java code generated by Xquery ... (6)
-> + Multiple items in return (2)
-> + Confused using match (2)
-> + Counting distinct node types (7)
-> + XQUERY Newbie question (3)
-> + Receiving a function as a para... (7)
-> + Xpath Version - and Doc for Re... (2)
-> + Convert namespace? (2)
-> + Can I search for one line and ... (3)
-> + Reading Data from Soap Respons... (2)
-> + Access To XML Query Question (4)
-> + Xquery find avg and count (3)
-> + Bug using global variables in ... (3)
-> - Problem uploading XSLT to xml ... (1)
-> + Bug? HTMLTidy does not support... (2)
-> + Finding a string within an XML... (4)
-> + Store query result in java.lan... (2)
-> + Comparing databases and XML. (3)
-> + namespace information with XQu... (4)
-> + Single row to multiple row tra... (3)
-> + Webservice call failed (2)
-> + Stylus Studio has encountered ... (2)
-> + My XQUERY on Berkley DBXML s... (2)
-> + Filtering multiple values from... (5)
-> + SaxonB8.4 testing (8)
-> + Problem with oracle large tabl... (3)
-> + incorrect syntax? (3)
-> + XQUERY-based app usage (4)
-> + position() and last() in XQuer... (3)
-> + Returning Values (5)
-> + new to XQuery- "expected cardi... (2)
-> + using XQuery to keep all data ... (2)
-> + search in XQuery (6)
-> + Defined source and destination... (2)
-> + Stopping running xquery in R2 (4)
-> + XQuery where can i use it? (5)
-> + Scheduling the conversion (2)
-> + Converting Oracle table to XML... (5)
-> - Formating and Indentation Pres... (1)
-> + Omiting the XML declaration fr... (4)
-> + Define function (4)
-> + External Java class problems (15)
-> + C++/COM API for XQuery (3)
-> + PROBLEM AT THE DECLARATION OF ... (3)
-> - Cobol Flat file to XML (1)
-> + xpath question (2)
-> + XQST0059 cannot locate the req... (6)
-> + How to generate XML with proce... (2)
-> + ODBC Connection refused (12)
-> + node search and replace (3)
-> + generate xml file on web serve... (5)
-> + How to navigate to a ref node (5)
-> + How to query when a default na... (2)
-> + full xpath to a node (3)
-> + Performance bench (2)
-> + how to run xquery using java (2)
-> + [ convert dtd to xsd ] (3)
-> + How to map a recursive node? (9)
-> + java class implementing extern... (3)
-> + context to context reference (2)
-> + Problems with Replace (7)
-> + Use of special characters in X... (5)
-> + How to write XML Parser IN VC+... (2)
-> + Xquery (5)
-> + Trivial XQUERY application que... (2)
-> + XML as a data model (2)
-> + XQuery (2)
-> + Relative path (2)
-> + Support for xml is-idref (4)
-> + Accessing the document context... (3)
-> + Getting recursion return type ... (4)
-> + Parsing XMLFormatted as String... (5)
-> + XQuery Replace (2)
-> - How to join the two table usin... (1)
-> + Update variable value inside b... (5)
-> + Run XQuery on XMLDB databases (2)
-> + Treatment of reserved characte... (6)
-> + XQuery Core (6)
-> + Built-In Saxon 8.4 processor (3)
-> + dynamic order by clause (3)
-> + Dynamical xpath (3)
-> + How to use xquery? :) (2)
-> + Converting SQL query to XQuery (4)
-> - New XQuery Primer: Learn XQuer... (1)
-> - XQuery Co-Author and XML Indus... (1)
-> + sequence to collect (3)
-> + user defined functions in xque... (2)
-> + Need second set of eyes to deb... (2)
-> - Xquery calling Java function f... (1)
-> + Xquery on existing XML files i... (2)
-> + Need Help Resorting (11)
-> + "for" clause question (2)
-> + New XQuery Video: Using DataDi... (2)
-> + data() function not returning... (2)
-> + XSL-FO using RenderX's XEP on ... (4)
-> + Xquery to find sample data fil... (4)
-> + Xquery to find sample data fil... (4)
-> + Error with Berkeley XML DB and... (13)
-> + Berkeley XML DB & Professional... (3)
-> + question (2)
-> + Writing UDDI API's in XQuery (2)
-> - DataDirect XQuery Enables XQue... (1)
-> + Xquery to MS/SQL? (8)
-> + Left Outer Join in XQuery (2)
-> - New XQJ Tutorial and Example F... (1)
-> + asked (2)
-> - generate XML file from tables ... (1)
-> - XQuery interest growing: DevX (1)
-> + New to XQuery question (2)
-> - Help Support XQuery in the Mic... (1)
-> + Xquery and Web Service Caller (4)
-> + XQuery from JavaScript? (4)
-> + Find Maximum Numeric Value in ... (2)
-> + Can you use XQuery and SQL/XML... (2)
-> + XQuery and Relational Data map... (2)
-> + STyluus and C# (MS) (2)
-> - XQuery making headlines (again... (1)
-> + XQuery Syntax (2)
-> - XQuery in Outer Space (1)
-> + import several modules in a xq... (2)
-> - Developers Flock to XQuery Spe... (1)
-> + UPDATE (2)
-> + global variable (4)
-> + XQuery on all XML Files in a D... (12)
-> + Stylus Studio Interoperability... (5)
-> - Genereating values in a combob... (1)
-> - SQL Server 2005 "Yukon" (1)
-> - XQuery Drivers (1)
-> - Database Trends and Applicatio... (1)
-> - Why XQuery? How new XML Standa... (1)
-> - Develop, Edit and Debug XQuery... (1)
-> + Native XML Database Tools (3)
-> - XQuery in Bank Systems and Tec... (1)
-> + User functions (5)
-> + Setting Values for External Va... (4)
-> - XQuery 2005 Road Show (1)
-> - XQuery Introduction (1)
-> - New XQuery Developer Awards Pr... (1)
-> + Convert String to xml document... (2)
-> + import de modules (7)
-> + String to XML conversion in a ... (2)
-> + DML language (2)
-> + Newbie Xquery problem to solve (7)
-> - What is XQuery? (1)
-> - XQuery Talk: Priscilla Walmsle... (1)
-> + Learn XQJ : The XQuery API for... (3)
-> + XQuery to consolidate modular ... (6)
-> + problem with xquery (4)
-> + use cases (5)
-> - XQuery and XQJ Talk with Jason... (1)
-> + append the output of the xquer... (3)
-> + Problem with command line argu... (4)
-> - Can you associate hundreds of ... (1)
-> + PARAMETER VALUES IN STYLUS STU... (2)
-> + Problem with stylusxql calls (5)
-> - Join us for Eggs & XML at the ... (1)
-> + More about Java extensions and... (2)
-> + Stylus Studio Crashes with Jav... (6)
-> - An Interview with Jason Hunter... (1)
-> + attribute order in query resul... (3)
-> - Interview with XQuery Guru Dr.... (1)
-> + SequenceType matching failed" ... (2)
-> + XQuery tutorial (3)
-> - W3C Releases Public Working Dr... (1)
-> + Problem with a function (3)
-> + Problem with Stylus Studio 5.3 (5)
-> + Studio Studio crashes (7)
-> + STYLUSXQL (8)
-> + Execute a Query From the Comma... (2)
-> + Import Modules. (8)
-> + User-Defined Functions (3)
-> + new to Xquery (3)
-> + XQuery engines (4)
-> + APIs or OCXs (2)
-- [1-20] [21-40] [41-60] Next
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Rodolfo VegasSubject: Problem with conditional JOINing of SQL database tables
Author: Rodolfo Vegas
Date: 03 Nov 2008 05:51 AM
Hi, I'm stucked with this problem, that seems to be some kind of "performance" issue.

I'm constructing an XML document based upon the information keeped in 6 SQL Server database tables. On an central part of the output document, the output data must be retrieved from 1 table or from antoher 2 tablas, respectively, depending on the value of a column of a table.

On my first approach I did code the following (sample structure):

for $A in collection("db.dbo.tableA"),
$B in collection("db.dbo.tableB"),
$C in collection("db.dbo.tableC"),
$D in collection("db.dbo.tableD")
where ... (: <- JOIN conditions between the 4 tables :)
return
<Root>
<Row>
...
...
<Conditional>
{ if ($D/check = "N") then
(
<field1>{$B/code/text()}</field1>
<field2>Text</field2>
)
else
(
for $E in collection("db.dbo.tableE"),
$F in collection("db.dbo.tableF")
where ... (: <- JOIN condition between the tables D, E and F :)
return
(
<field1>{$F/code/text()}</field1>
<field2>{$E/info/text()}</field2>
)
)
}
</Conditional>
...
...
</Row>
...
...
<Row>
...
</Row>
</Root>

This works OK except when the JOIN for tables D, E and F returns no results; in this case the result is an empty <Conditional> element, but the desired result shoul be not to output anything, that is, "ignore" the complete output Row.

To try to get the desired result I coded again, including th 6 tables in the main (and now unique) for instruction:

for $A in collection("db.dbo.tableA"),
$B in collection("db.dbo.tableB"),
$C in collection("db.dbo.tableC"),
$D in collection("db.dbo.tableD")
$E in collection("db.dbo.tableE"),
$F in collection("db.dbo.tableF")
where ... (: <- JOIN conditions between the 4 main tables A, B, C, D :)
and (
($D/check = "N")
or
((not($D/check = "N") and
... (: <- JOIN between tables D, E and F :)
)
(
return
<Root>
<Row>
...
...
<Conditional>
{ if ($D/check = "N") then
(
<field1>{$B/code/text()}</field1>
<field2>Text</field2>
)
else
(
<field1>{$F/code/text()}</field1>
<field2>{$E/info/text()}</field2>
)
}
</Conditional>
...
...
</Row>
...
...
<Row>
...
</Row>
</Root>

When I execute this code, I get no error message and it remains executing for a long time without actually displaying anything nor raising any error, and I cannot stop the process normally within Stylus Studio, having to shut down the Struzzo.exe process within the Task Manager.

If I omit the condition that JOINs the D table with the E and F tables ( $D/check value ) it executes well in a reasonable amount of time, but I get only the rows for wich $D/check = "N" (those for which the JOIN condition between D, E and F satisfies):

for $A in collection("db.dbo.tableA"),
$B in collection("db.dbo.tableB"),
$C in collection("db.dbo.tableC"),
$D in collection("db.dbo.tableD")
$E in collection("db.dbo.tableE"),
$F in collection("db.dbo.tableF")
where ... (: <- JOIN conditions between the 4 main tables A, B, C, D :)
and ... (: <- JOIN between tables D, E and F :)
return
<Root>
<Row>
...


...
</Row>
</Root>

Can you tell me what's going on? Is ther any way to recode this to avoid the problem or have you any suggestion about any part of the code that could be causing the problem?

Thanks in advance.
Rodolfo

Postnext
(Deleted User) Subject: Problem with conditional JOINing of SQL database tables
Author: (Deleted User)
Date: 04 Nov 2008 08:32 AM
Hi Rodolfo,
have you tried an approach like this?

for $A in collection("db.dbo.tableA"),
$B in collection("db.dbo.tableB"),
$C in collection("db.dbo.tableC"),
$D in collection("db.dbo.tableD")

let $E := collection("db.dbo.tableE")/info[test with $D],
$F := collection("db.dbo.tableF")/code[test with $D]

where (: <- JOIN conditions between the 4 main tables A, B, C, D :)
and (
($D/check = "N")
or
(not($D/check = "N") and not(empty($E)))
)

return ...


Alberto

Postnext
Rodolfo VegasSubject: Problem with conditional JOINing of SQL database tables
Author: Rodolfo Vegas
Date: 05 Nov 2008 10:52 AM
Hi Alberto,

Although the JOIN condition between tables D, E and F was not as you assumed (instead of D->E and D->F relations, it's D->E and E->F), and the condition was more complex than
what I wrote down on the sample code (even with a SQL-like SUBSELECT), I tried the approach you suggested... and voilá... it gave me the desired output in just a few seconds!!!

Thanks very much for your invaluable help and support!!!




I have only a few questions (maybe the 2 last ones are interesting questions for the XML Connections blog from Minollo):

1) I would like to add the following 3 attributes with their corresponding values to the document node:

xmlns xmlns:xsi xsi:schemaLocation

How can I do this in XQuery?

2) What's the real difference between 'joining' the two last tables (EXTERNAL_TEACHERS and COMPANIES) in the 'for' part of the FLWOR expression (as on my second approach) or in
the 'let' part of it?
From my SQL-programmer point of view, I see the code is basically the same (same conditions, but in different place), but if I'm right, the execution is different:
On my second approach (all tables on the 'for' part of FLWOR expr.), XQuery (and therefore also SQL Server) tries to collect the whole set of data for the 6 tables involved
and (I think) this could be the (performance) issue (on SQL Server).
With the solution you suggested, only the data for the 4 tables of the 'for' part are collected on the beginning to determine the whole dataset, and then, for each of the
datarows, a new collection dataset is set up for the EXTERNAL_TEACHERS and COMPANIES tables.
I've also noted that for this solution, the plan includes the creation and use of some temporary tables on the SQL Server (those prefixed with the # simbol), that are well
known to improve overall performance, specially in complex SQL queries that involves several tables and/or views.

3) After having a look at the plan for your suggested, and finally working, solution I've noted that the generated SQL sentences include ALL the columns for the tables included in
the 'for' part of the FLWOR expr. If I just need or are going to use some of the columns of certain table(s) involved in the query, is there any way to have XQuery to 'collect'
just these columns? This is important as it should reduce traffic between the application and the SQL Server and so will improve performance. I'm thinking of something similar
to this:
for $row in collection("DATABASE.dbo.TABLE")/TABLE//*[local-name() = ('name1', 'name2', ... , 'nameN')]

that should be translated to:

SELECT name1, name2, ... , nameN
FROM DATABASE.dbo.TABLE




For other people to let them have an real example of this, here are the codes I had before and after implementing your suggested solution:

------
BEFORE (first approach)
------

<groups>
{
for $edition in collection("TRAINING.dbo.EDITIONS")/EDITIONS,
$course in collection("TRAINING.dbo.COURSES_CATALOG")/COURSES_CATALOG,
$office in collection("TRAINING.dbo.OFFICES")/OFFICES,
$teach in collection("TRAINING.dbo.TEACHERS")/TEACHERS
where
(: Parameter filters :)
$edition/YEAR = $YEAR
and $edition/FROM_DATE >= xs:dateTime(concat(normalize-space($from_date_start),"T00:00:00"))
and $edition/FROM_DATE < xs:dateTime(concat(normalize-space($from_date_end), "T00:00:00"))
(: Other filters :)
and ($edition/CANCELLED/text() = "N" or empty($edition/CANCELLED))
and not(empty($edition/ACTION))
and not(empty($edition/GROUP))
and not($edition/ACTION = 0)
and not($edition/GROUP = 0)
and not(normalize-space($edition/COURSE_TYPE/text()) = "BECA")
and $edition/TOTAL_HOURS >= 6
(: Join COURSES_CATALOG table :)
and $edition/COURSE_CODE = $course/COURSE_CODE
and not(empty($course/COURSE_NAME_2))
and not(starts-with($course/COURSE_NAME_2, "ESPAÑOL"))
(: Join OFFICES table :)
and normalize-space($edition/OFFICE_NAME) = normalize-space($office/OFFICE_NAME)
(: Join TEACHERS table :)
and $edition/COURSE_CODE = $teach/COURSE_CODE
and $edition/COURSE_ZONE = $teach/COURSE_ZONE
and $edition/YEAR = $teach/YEAR
and $edition/ORDER = $teach/ORDER
order by $edition/ACTION, $edition/GROUP
return


...


<center>
{
if ($teach/EXTERNAL = "N") then
(
<cif>12345678</cif>,
<name>My Company's Training Center</name>,
<address>{normalize-space($office/DETAILED_ADDRESS)}</address>,
<zipCode>{$office/ZIP_CODE/text()}</zipCode>,
<city>{normalize-space($office/CITY)}</city>
)
else
(
for $comp in collection("TRAINING.dbo.COMPANIES")/COMPANIES,
$xteach in collection("TRAINING.dbo.EXTERNAL_TEACHERS")/EXTERNAL_TEACHERS
where $comp/ID = $xteach/COMPANY_ID
and $xteach/PERS_ID = $teach/PERS_ID
and matches($xteach/COMPANY_ID/text(), '[A-S][0-9]{7}([A-Z]|[0-9])')
and $comp/COMPANY_CODE = max(for $comp2 in collection("TRAINING.dbo.COMPANIES")/COMPANIES
where $comp2/ID = $xteach/COMPANY_ID
return max($comp2/COMPANY_CODE))
return
(
<cif>{$comp/ID/text()}</cif>,
<name>{normalize-space($comp/COMPANY_NAME)}</name>,
<address>{normalize-space($comp/ADDRESS)}</address>,
<zipCode>{$comp/ZIP_CODE/text()}</zipCode>,
<city>{normalize-space(collection("TRAINING.dbo.CITIES")/CITIES/NAME[../PROVINCE_CODE = substring($comp/ZIP_CODE/text(), 1, 2)]/text())}</city>
)
)
}
</center>

...

}
</groups>



------
BEFORE (second approach)
------

<groups>
{
for $edition in collection("TRAINING.dbo.EDITIONS")/EDITIONS,
$course in collection("TRAINING.dbo.COURSES_CATALOG")/COURSES_CATALOG,
$office in collection("TRAINING.dbo.OFFICES")/OFFICES,
$teach in collection("TRAINING.dbo.TEACHERS")/TEACHERS,
$comp in collection("TRAINING.dbo.COMPANIES")/COMPANIES,
$xteach in collection("TRAINING.dbo.EXTERNAL_TEACHERS")/EXTERNAL_TEACHERS
where
(: Parameter filters :)
$edition/YEAR = $YEAR
and $edition/FROM_DATE >= xs:dateTime(concat(normalize-space($from_date_start),"T00:00:00"))
and $edition/FROM_DATE < xs:dateTime(concat(normalize-space($from_date_end), "T00:00:00"))
(: Other filters :)
and ($edition/CANCELLED/text() = "N" or empty($edition/CANCELLED))
and not(empty($edition/ACTION))
and not(empty($edition/GROUP))
and not($edition/ACTION = 0)
and not($edition/GROUP = 0)
and not(normalize-space($edition/COURSE_TYPE/text()) = "BECA")
and $edition/TOTAL_HOURS >= 6
(: Join COURSES_CATALOG table :)
and $edition/COURSE_CODE = $course/COURSE_CODE
and not(empty($course/COURSE_NAME_2))
and not(starts-with($course/COURSE_NAME_2, "ESPAÑOL"))
(: Join OFFICES table :)
and normalize-space($edition/OFFICE_NAME) = normalize-space($office/OFFICE_NAME)
(: Join TEACHERS table :)
and $edition/COURSE_CODE = $teach/COURSE_CODE
and $edition/COURSE_ZONE = $teach/COURSE_ZONE
and $edition/YEAR = $teach/YEAR
and $edition/ORDER = $teach/ORDER
(: Join EXTERNAL_TEACHERS and COMPANIES tables :)
and (
($teach/EXTERNAL = "N")
or
(
not($teach/EXTERNAL = "N") and
$xteach/PERS_ID = $teach/PERS_ID and
matches($xteach/COMPANY_ID/text(), '[A-S][0-9]{7}([A-Z]|[0-9])') and
$comp/ID = $xteach/COMPANY_ID and
$comp/COMPANY_CODE = max(for $comp2 in collection("TRAINING.dbo.COMPANIES")/COMPANIES
where $comp2/ID = $xteach/COMPANY_ID
return max($comp2/COMPANY_CODE))
)
)
order by $edition/ACTION, $edition/GROUP
return


...


<center>
{
if ($teach/EXTERNAL = "N") then
(
<cif>12345678</cif>,
<name>My Company's Training Center</name>,
<address>{normalize-space($office/DETAILED_ADDRESS)}</address>,
<zipCode>{$office/ZIP_CODE/text()}</zipCode>,
<city>{normalize-space($office/CITY)}</city>
)
else
(
(
<cif>{$comp/ID/text()}</cif>,
<name>{normalize-space($comp/COMPANY_NAME)}</name>,
<address>{normalize-space($comp/ADDRESS)}</address>,
<zipCode>{$comp/ZIP_CODE/text()}</zipCode>,
<city>{normalize-space(collection("TRAINING.dbo.CITIES")/CITIES/NAME[../PROVINCE_CODE = substring($comp/ZIP_CODE/text(), 1, 2)]/text())}</city>
)
}
</center>

...

}
</groups>



-----
AFTER
-----

<groups>
{
for $edition in collection("TRAINING.dbo.EDITIONS")/EDITIONS,
$course in collection("TRAINING.dbo.COURSES_CATALOG")/COURSES_CATALOG,
$office in collection("TRAINING.dbo.OFFICES")/OFFICES,
$teach in collection("TRAINING.dbo.TEACHERS")/TEACHERS

let $xprof := collection("TRAINING.dbo.EXTERNAL_TEACHERS")/EXTERNAL_TEACHERS[(PERS_ID/text() = $teach/PERS_ID/text()) and (matches(COMPANY_ID/text(), '[A-S][0-9]{7}([A-Z]|[0-9])'))],
$comp := collection("TRAINING.dbo.COMPANIES")/COMPANIES[(ID = $xteach/COMP_ID) and
(COMPANY_CODE = max(for $comp2 in collection("TRAINING.dbo.COMPANIES")/COMPANIES
where $comp2/ID = $xteach/COMPANY_ID
return max($comp2/COMPANY_CODE)))]

where
(: Parameter filters :)
$edition/YEAR = $YEAR
and $edition/FROM_DATE >= xs:dateTime(concat(normalize-space($from_date_start),"T00:00:00"))
and $edition/FROM_DATE < xs:dateTime(concat(normalize-space($from_date_end), "T00:00:00"))
(: Other filters :)
and ($edition/CANCELLED/text() = "N" or empty($edition/CANCELLED))
and not(empty($edition/ACTION))
and not(empty($edition/GROUP))
and not($edition/ACTION = 0)
and not($edition/GROUP = 0)
and not(normalize-space($edition/COURSE_TYPE/text()) = "BECA")
and $edition/TOTAL_HOURS >= 6
(: Join COURSES_CATALOG table :)
and $edition/COURSE_CODE = $course/COURSE_CODE
and not(empty($course/COURSE_NAME_2))
and not(starts-with($course/COURSE_NAME_2, "ESPAÑOL"))
(: Join OFFICES table :)
and normalize-space($edition/OFFICE_NAME) = normalize-space($office/OFFICE_NAME)
(: Join TEACHERS table :)
and $edition/COURSE_CODE = $teach/COURSE_CODE
and $edition/COURSE_ZONE = $teach/COURSE_ZONE
and $edition/YEAR = $teach/YEAR
and $edition/ORDER = $teach/ORDER
(: Internal/external teachers filter :)
and (
($teach/EXTERNAL = "N")
or
(not($teach/EXTERNAL = "N") and not(empty($comp))
)

order by $edition/ACTION, $edition/GROUP
return


...


<center>
{
if ($teach/EXTERNAL = "N") then
(
<cif>12345678</cif>,
<name>My Company's Training Center</name>,
<address>{normalize-space($office/DETAILED_ADDRESS)}</address>,
<zipCode>{$office/ZIP_CODE/text()}</zipCode>,
<city>{normalize-space($office/CITY)}</city>
)
else
(
<cif>{$comp/ID/text()}</cif>,
<name>{normalize-space($comp/COMPANY_NAME)}</name>,
<address>{normalize-space($comp/ADDRESS)}</address>,
<zipCode>{$comp/ZIP_CODE/text()}</zipCode>,
<city>{normalize-space(collection("TRAINING.dbo.CITIES")/CITIES/NAME[../PROVINCE_CODE = substring($comp/ZIP_CODE/text(), 1, 2)]/text())}</city>
)
}
</center>

...

}
</groups>


Thanks again and regards,
Rodolfo

Postnext
Marc Van CappellenSubject: Problem with conditional JOINing of SQL database tables
Author: Marc Van Cappellen
Date: 06 Nov 2008 04:24 AM
Hi Rodolfo,

let me try to answer the 3 questions you have.

1) this can be achieved in a very natural way in XQuery. Just specify these as attributes in the desired element constructors.
For example, the following is not only XML, but is also valid XQuery!

<test xmlns="hello"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="somelocation"/>

2) each additional for-clause without an appropriate join condition will result in a cartesian product. If we have a closer look at your "second approach" we see:
($D/check = "N")
or
((not($D/check = "N") and
... (: <- JOIN between tables D, E and F :)
)
As such, in case $D/check is equal to "N", there is no join condition between D, E and F. In other words, each of the $D bindings where check = "N", will result in #E * #F tuples. As you understand, depending of the number of records in your #E and #F tables the query result can become huge.
Using a let as in Alberto's query this is not the case.
First there is a predicate to joing E (and F) with D. Second, a let basically aggregates the data.

3) DataDirect XQuery definitely projects only the relevant columns in the generated SQL. This and other aspects of our SQL generation are explained in the following paper http://www.xquery.com/white_papers/generating_sql/
If you think to have a scenario where this is not the case, or at least not optimal, then we're much interested to hear about it.
May I advise to have this discussion in a new thread, and include the exact XQuery you execute, preferable with the DDL if the tables. And some details on what you believe can be more optimal.
Or if you prefer, you could also contact our support organization http://www.datadirect.com/support/index.ssp

Thanks,
Marc

Postnext
Rodolfo VegasSubject: Problem with conditional JOINing of SQL database tables
Author: Rodolfo Vegas
Date: 06 Nov 2008 06:04 AM
Originally Posted: 06 Nov 2008 06:05 AM
Hi Marc,

Thank you for your clarifying answers.

Question 2 is now clear for me.

Regarding question 1, I've added the attributes as you suggested, but I get the following error message on the first 'for' clause:

[DataDirect][XQuery][err:XPST0005]Error at line 25, column 63. Static error. The static type of step 'child::COURSES' is empty-sequence(). (Did you mean 'COURSES'?)

and on the output I get only the root node <groups> with the 3 attributes and nothing else (neiter the close tag for this node).

After this, I deleted the attributes code, and now I'm getting a very strange error message like this:

Error: on line 25 of file:///c:/.../start_groups.xquery:
FODC0004: The file or directory file:///c:/.../TRAINING.dbo.COURSES does not exist

It seems that it's not recognizing the connection to the Microsoft SQL Server database and is interpreting the 'collection' source as being a file or directory instead. I've closed the query, shut down Stylus Studio, refreshed the connection on the File Explorer, where the database and its tables are all perfectly visible and explorable, but the problem persists. Afterthis I tried to change the processor, but with the same bad results. Also a very strange and 'suspicious', but maybe revealing circumstance, is that the Plan tab on the bottom of the XQuery Source editor windows, does not appear any more (only for this specific query!!!)...
What's going on, please? **** I need help with this ASAP, please *****

Regarding question 3, I will analyze more in-depth the generated SQL sentences in the Plan tab (when again available) and will share any comment, doubt, idea, that I may have.

Rgds,
Rodolfo

Postnext
Marc Van CappellenSubject: Problem with conditional JOINing of SQL database tables
Author: Marc Van Cappellen
Date: 06 Nov 2008 12:08 PM
Hi Rodolfo,

about the last problem you raised. I advise to first read the following, http://www.xquery.com/tips_and_tricks/xpath_and_namespaces.html. this will help you understand how adding a default namespace declaration makes your enclosed path expressions change in behavior.

So, let's take a step back and start from the query where you get the error as follows: [DataDirect][XQuery][err:XPST0005]Error at line 25, column 63. Static error. The static type of step 'child::COURSES' is empty-sequence().

I assume your query is something as follows,

<root xmlns="whatever">{
for $c in collection("TRAINING.dbo.COURSES")/COURSES
return
$c/SOME_COLUMN
}</root>

Adding the xmlns="whatever" also affects the XPath expressions. Now the /COURSES and /SOME_COLUMN steps are assumed to return elements in the "whatever" namespace. Which is not what you want, they need to be in no namespace.

You have two ways to resolve this.

a) don't use the default namespace, but rather an explicit prefix.
<p:root xmlns:p="whatever">{
for $c in collection("TRAINING.dbo.COURSES")/COURSES
return
$c/SOME_COLUMN
}</p:root>

b) use the default namespace, but change your path expressions to use a wild card for the namespace. In theory it it means that all COURSES elements in all namespaces are returned. But of course, in reality it doesn't matter as you're querying an XML structure where all COURSES are in no namespace.
The query becomes something as follows (note the /*:COURSES and /*:SOME_COLUMN):
<root xmlns="whatever">{
for $c in collection("TRAINING.dbo.COURSES")/*:COURSES
return
$c/*:SOME_COLUMN
}</root>

Regards,
Marc

Postnext
Rodolfo VegasSubject: Problem with conditional JOINing of SQL database tables
Author: Rodolfo Vegas
Date: 07 Nov 2008 06:26 AM
Hi Marc,

I've been reading the whole XQuery Tips & Tricks section, including the page about XPath and namespaces, and following your advise I've taken one of your two suggested solutions, in this case the second one.

I've choosed this one because the XML document I'm generating must be uploaded on a Web page application that uses a schema to validate it, and I don't really know if using a specific prefix for the namespace and thus also prefixing the root element as in your first suggested solution, will make the validation to fail (I know, maybe this is a simple question, but namespaces and their behavior, are somewhat obscure to me....).

If not so, please let me know, as I see this first solution is much cleener (for the second one, having a complex query with many fields, it's tidy to having to prefix ALL the elements name's with the *: characters, and also produces an, at least for me, undesired side-effect of not being able in Stylus Studio to see the structure for the current node in the drop-down list when typing the code).

Regarding the SQL generating question, I'm willing to post the full XQuery file with the DDL for the relevant tables, and the saved Plan for the query. As I'm using DataDirect XQuery from within Stylus Studio, not having a DataDirect XQuery license nor a SupportLink license, can I post them to the address you supplied? If not, could you please supply me another address?

Thanks for your support,
Rodolfo

P.D.: I will also post the Schema XSD file for the namespace question, if needed.

Posttop
Marc Van CappellenSubject: Problem with conditional JOINing of SQL database tables
Author: Marc Van Cappellen
Date: 07 Nov 2008 08:27 AM
Hello,

it's good to hear you have your query up an running.

To answer your question on namespaces. Theoretically using a default namespace or using a prefix should not make a difference. Both XML documents should be considered equivalent. But of course, that is the theory, there are tools out there that require the use the default namespace approach. If so, I would say there is a problem with that component, but of course that doesn't mean you can change or want to fix it. In any case, the only way to find out, is to give it a try.

I appreciate your help to possibly improve our SQL generation. I will contact you today offline, and we can then discuss.

Thanks,
Marc

   
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.