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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] xml inheritance / xslt in, Michael Kay | Thread | RE: [xsl] xml inheritance / xslt in, Michael Kay |
RE: [xsl] xml inheritance / xslt in, Michael Kay | Date | RE: [xsl] xml inheritance / xslt in, Michael Kay |
Month |