Subject: Re: [xsl] foreign keys in a xml-database From: ChivaBaba@xxxxxxx Date: Tue, 07 May 2002 03:55:48 EDT |
Hi folks, > Assuming that you mean files with XML content, yes, > you can store stuff in a second file and refer to > parts of it during an XSL transformation. There is > no formal declaration of a foreign key in the sense > this term is used for RDBMS. first I want to thank J. Pietschmann for steering me in the right direction! But my attempts to implement it, created a bunch of new problems. I have two xml-files, the first stores projects and references to needed tools, the second stores the details of this software: first.xml: +++++++++++++++++++++++++++++++++++++++++++++++++++++++ <devEnviron name="Oscar"> <project name="RR 30" version="A"> <tool name="Gnu C Compiler" version="3.0.1"> <location name="SDBH58"/> </tool> <tool name="Gnu Debugger" version="2.4.1"> <location name="SDBWAW"/> </tool> .... </project> ... </devEnviron> +++++++++++++++++++++++++++++++++++++++++++++++++++++++ second.xml: +++++++++++++++++++++++++++++++++++++++++++++++++++++++ <software> <tool name="Gnu C Compiler" company="open source" category="Compiler-Interpreter" phase="Coding"> <release name="3.0.1"> <os name="Solaris" version="7" kernel="1.3.0"/> <computer name="SDBWAW" path="/bin/compiler"> <docu kind="man" loc="/bin/docus"> gcc </docu> </computer> <docu kind="url" loc="internet"> www.gcc.com </docu> </release> <release name="3.1.1"> <os name="Solaris" version="7" kernel="1.3.1"/> <computer name="SDBH58" path="/bin/compiler"> <docu kind="man" loc="/bin/tools/docus"> gcc </docu> </computer> <docu kind="url" loc="internet"> www.gcc.com </docu> </release> .... </tool> <tool name="Gnu Debugger" company="open source" category="Debugger" phase="Coding"> <release name="2.4.1"> <os name="Solaris" version="7" kernel="1.3.0"/> <computer name="SDBWAW" path="/bin/debugger"> <docu kind="man" loc="/bin/docus"> gdb </docu> </computer> <docu kind="url" loc="internet"> www.gdb.com </docu> </release> ..... </tool> .... </software> ++++++++++++++++++++++++++++++++++++++++++++++++++++++ The Stylesheet I use, transforms the first.xml into html-files. The problem I got in my xsl-file now,is that I need to output for each project the included tools sorted first by category and second by name. That means I have to copy the tool-nodes from second.xml whose name fits any tool-node-name in the current project of first.xml. The first difficuilty is, that I want only those release-nodes (childs of tools from second.xml) to be copied, whose name fits the version-attribute of the current tool-node in first.xml. The second difficuilty is, to sort the copied tool-nodes by their category-attribute and their name. After this has been done I want to output all data of each tool and its children ( releases ). Within my project-template I copy the tool-nodes to a variable, which I use later to expand the tool-nodes: ++++++++++++++++++++++++++++++++++++++++++++++++++++++ <xsl:variable name="sw"> <xsl:for-each select="tool"> <xsl:copy-of select="document('second.xml') /software/tool[@name = current()/@name]"/> <!-- <xsl:sort data-type="text" lang="en" select="@category"/> <xsl:copy-of select="."/> --> </xsl:for-each> </xsl:variable> ........ ........ <xsl:apply-templates select="exsl:node-set($sw)"/> +++++++++++++++++++++++++++++++++++++++++++++++++++++++ As you see, I only copy all tool-nodes whose names fit the names of tool-nodes within my project at the moment. The sort I had to deactivate, cause it did not work. Does anybody know how to solve these difficuilties??? I would be very glad to get some suggestions!! Many thanks in advance, Stefan Greim XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] foreign keys in a xml-dat, J.Pietschmann | Thread | Re: [xsl] foreign keys in a xml-dat, J.Pietschmann |
[xsl] mixed content searching, Thinh Nguyen | Date | RE: [xsl] Identifying two tags that, Michael Kay |
Month |