XSLT

Ric fhj52ads at yahoo.com
Fri Aug 8 15:35:35 CEST 2003


Hey Matthew:

Looking back at this, it is kinda long but explains where I am in
getting xfce3rc transformed to a usable/valid xfce4rc.

--- Matthew Weier OPhinney <matthew-lists at weierophinney.net> wrote:
> -- Biju Chacko <biju_chacko at vsnl.net> wrote
> (on Friday, 08 August 2003, 12:09 PM +0530):
> > On Thu, 07 Aug 2003 23:11:46 -0700 (PDT), Ric wrote:
> > 
> > > Will somebody give me a heads-up on how y'all get the XML files
> into
> > > the format that you want?   Who's the XSL/XSLT guru here?
> > 
> > Frankly,  since the old format doesn't really map to the new format
> > very well I'm not sure how to do this.
> > 
> > I haven't really looked at the problem, but I would use perl to
> parse
> > the old file into a hash and write the appropriate values into a
> > template of the current format.
> 
> Right, he's already done that part. I think what Ric's getting at is
> that he wants to merge the xfce4rc XML he's generated from parsing
> the xfce3rc file with an existing xfce4rc file.  And he wants to make
> absolutely sure he does that _last_ part correctly.  Hence the
> XSL/XSLT questions.
> 
> -- 
> Matthew Weier O'Phinney
> http://weierophinney.net/matthew/

Yes.  I have looked at the xfce4rc and determined the general format.
Jasper (?) did a good job and made it easy to understand.  That helps. 
Hence the new names for the XML tags which mimic what & where the tags
need to go into the xfce4rc.  It (OUTPUT.xml) is setup to be
transformed, and then inserted/created but not inserted directly. So,
like you said there is a last step remaining.

The names do not match and, basically cannot, I don't think; plus soem
of the data has to be interpolated before insertion, e.g., panel size,
clock, ... and of course the order has to be straightened out so that
it flows from left to right on the panel.

There are also default items that exist with xfce4rc that have _no_
correlation to xfce3rc at all.  Those items need to remain in the same
structure so I think, using the default file and modifying it with
additions would work easiest but, perhaps, not.  Maybe just using a
skeleton of the default xfce4rc file containing _only_ the essiential
information that cannot be obtained from the xfce3rc would be better.
WDYT?

Like you said, 'XSLT questions'.  I know what it is supposed to do
according to what I have read but my many years of experience tells me
that is probably not what it does or, if it does do it, it may be such
a hair-pulling experience that we would be better off doing it another
way.

Basically, it (XSL) is nothing but a filter.  Input one XML and get out
another(or even HTML, pdf, etc...)
My big question is it active or passive? and if active, _how_ active? 
There's lots of info at InformIT as well as w3c, etc. but by the time I
read all of that to find out, XFce "5" might be in RC cycle.. :-)).  I
will read about it, _am_ reading it, but IF somebody can say
yes/no/maybe, it could shorten the cycle a bit 'cause I can read
selectively.

I was a little familiar with XML but XSL is a diffferent story.  So, I
am asking if it can

* reorder & gather the tags into a structure that 'fits' ? (ithink,
yes)
e.g., 
the xfce3rc  OUTPUT.xml file tag
 <Group_Control_Icon>
    <Icon-Group1>/ICONS/Clock-ScheduleBook.xpm</Icon-Group1>

has to go into
Groups
  Group
    <Popup>
              ....(There may be many "popups" listed here obtained
from:
                  <Group1> 
                     <Caption-Popup1_Item1
                     <Icon_id-Popup1_Item1
                     <Command-Popup1_Item1  
                       ...and so forth)
    </Popup>
     <Control>
        <Command ...(from <Group_Control_Commands> <Command-Group1)
        <Tooltip>      ...(An item that does not exist in the xfce3rc)
        <Icon id="-1">/ICONS/Clock-ScheduleBook.xpm</Icon>
      </Control>

The "Control" tag is the last tag in the Group, always below the
"popups" tags. And there can be as many of them as there are groups
with popups tags, maybe more.
So there is quite a bit of rearrangenment that has to be done.

* transform the content of one tag into another tag ?  (??)
    -obviously the tag names cannot be the same and some content of the

      xfce4rc tag will remain unaltered.  Panel tag is a good example
of the latter:
<Panel 
   orientation="0"  (horizontal always : to match xfce3 panel)
   layer="1"          (12 layers in xfce3; 3 in xfce4)
   size="1"            (interpolated from 2 sizes in xfce3rc)
   popupposition="3"  (has to be the default -no xfce3rc value)
   icontheme="FreeIcons"  (has to be the default -no xfce3rc value)
   groups="15">      (this value is at least 5 more than xfce3rc
[Popups] )
    
  <Position 
    x="61"    (straight from xfce3rc value)
     y="0"     ( straight from xfce3rc value)
     screenwidth="1024" screenheight="768"/> (no xfce3rc value, ...)
  </Panel>

* change the content of a tag based on a test ? (??)
  - "24hrs" in xfce3rc means  Toggle_military="1"  in xfce4rc
  -  other similar problems, e.g.,  the panel size, the number of
groups,...

* etc. ?
 ( +plus+ some things I do not know about yet :)

I am sure you see what I mean.  It seems like a lot but it really is
not, with the correct tool (and somebody who knows how to use it :)

If there is a XSLT  or DTD or an API describing how the XFce4 XML files
are formed, it certainly would help.  Blueprints/drawing are always
nice when you are building something, or, in this case, trying to...  

Are you familiar with the PERL XSL bindings? There are several modules.
 Maybe PERL could help to make the transform easier.( it could make it
harder too... :)  
WDYT?


=====
Have A Great Day!

Ric
***
Mondale knew this was gonna be a bad day when he called 
Dial-a-Prayer and the taped message answered him by name.
 -- Bob Hope, 1903-2003

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com



More information about the Xfce4-dev mailing list