Re: [xsl] xml inheritance / xslt inheritance application

Subject: Re: [xsl] xml inheritance / xslt inheritance application
From: "Greg Fausak" <lgfausak@xxxxxxxxx>
Date: Tue, 17 Jun 2008 15:08:37 -0500
On Tue, Jun 17, 2008 at 2:49 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
>
> 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[@name=current()/@name]@type)[1]
>

I don't quite understand.  This returns a nodeset with at least one @type,
perhaps 2 (if there is a default type).  [1] indexes the nodeset?  Does
indexing start at 0?  If so, if the 1th element isn't there does it
just reference
the nearest one?

I'm going to play with this a bit.  Thanks!
-g


> 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@xxxxxxxxx]
>> Sent: 17 June 2008 20:22
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> 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@xxxxxxxxxxxx
>
>



-- 
Greg Fausak
greg@xxxxxxxxxxxx

Current Thread