Assuming XSLT 2.0, with a global variable $default set to the <default>
element, and <column> as the context node, you can access an attribute such
as "type" using
(@type, $default/column[(_at_)name=current()/@name](_at_)type)[1]
which might help. If the construct occurs often enough you can wrap it in a
function.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Greg Fausak [mailto:lgfausak(_at_)gmail(_dot_)com]
Sent: 17 June 2008 20:22
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] xml inheritance / xslt inheritance application
I'm not sure if this is the right group for this question.
But, here it goes.
I've modeled a xslt translation from a trivial xml syntax to
postgres. One of the problems I've run in to is the database
column belongs to a table, e.g.:
<table name="test">
<column name="col1" type="int" size="5" minvalue="50"
maxvalue="10000"/>
<column name="col2" type="text" size="50" notnull="true"/> </table>
etc..
however, in databaseland, the column is often a domain
descended from another tree. For example, the column could
be 'studentid' and that student id could be used in many
different tables because it is a foreign key.
So, in my source xml, I've introduced
<default>
<column name="col1" type="int" .../>
...
and I changed the table xml to:
<table name="test">
<column inherit="col1" minvalue="60" />
So, I translate this, but, it sure would be nice if I could
inherit the attributes and nodes of the default column name
and override what I want locally. Does such a construct
exist either on xsl side or xml side?
I did some google searches on inheritance/subtyping and there
seem to be pretty strong opinions about the subject.
Worst case I can do a pre-pass on the xml text and use a
heredoc to expand this sort of thing. Any ideas would be welcome!
Thanks,
---greg
--
Greg Fausak
greg(_at_)thursday(_dot_)com
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--