Hi,

I support the idea of an transform command, too. 
It would be nice to be able to define a staring template, too, if necessary. 
Like the Saxon -it parameter.

best regards,
Roman

> -----Original Message-----
> From: xmleditor-support-bounces at xmlmind.com 
> [mailto:xmleditor-support-bounces at xmlmind.com] On Behalf Of 
> Alain Pierrot
> Sent: Friday, January 05, 2007 1:36 PM
> To: xmleditor-support at xmlmind.com
> Subject: Re: [XXE] The "transform" command
> 
> I support the motion.
> It would also be nice to be able to store the result of the 
> transformation in a file, if it is not meant to be used in 
> pick or to be pasted as xml.
> 
> Alain Pierrot
> APSED
> 
> Le 5 janv. 07 ? 12:50, Hussein Shafie a ?crit :
> 
> > Kevin Flynn wrote:
> >>
> >> Thanks for the suggestion, but I'm afraid my problem is 
> rather more 
> >> complicated than that, and I'm certain that it cannot be 
> solved using 
> >> standard CSS.
> >
> > OK.
> >
> >
> >
> >> The root "mode" attribute is a kind of shorthand that can 
> define the 
> >> settings of several conditions. Mode="normal" might, for example, 
> >> mean os="linux", customer="Microsoft", version="3.0". 
> There is a lot 
> >> of indirection involved. If the "matches" function I 
> dreamed up were 
> >> implemented, this is how I believe I would need to use it:
> >>
> >> E:matches("contains(concat(' ', at value,' '),concat('
> >> ',/root/local-config/filters/filt...@id=/root/@mode]/criterion
> >> [...@selector=cur
> >> rent()/@selector]/@value,' '))"){
> >>      background-color: #ffe4c4;
> >>  }
> >>
> >> The E element has two attributes of interest, which might 
> be set as 
> >> follows:
> >>
> >> selector="os" value="linux mac"
> >>
> >> meaning that the contents of the element are relevant for 
> both linux 
> >> and mac OSes.
> >>
> >> The local-config element referenced in the xpath expression is 
> >> included in documents as an external entity and contains 
> >> configuration data (including filter definitions) for all the 
> >> documents in a particular project.
> >>
> >> A filter defines a set of selection criteria:
> >>
> >> <filter id="normal">
> >>  <criterion selector="os" value="linux"/>  <criterion 
> >> selector="customer" value="Microsoft"/>  <criterion 
> >> selector="version" value="3.0"/> </filter>
> >>
> >> and the /root/@mode attribute must contain the name of one 
> of these 
> >> filters if it is set.
> >>
> >> Selectors and their possible values are defined elsewhere in the 
> >> config file.
> >>
> >> This probably seems like a very convoluted structure, but 
> it makes it 
> >> relatively easy and SAFE to produce many variants of a single 
> >> document.
> >> Since all filter names, selector names and values are 
> predefined as 
> >> IDs in the local-config file, it's easy to prevent the 
> writer making 
> >> mistakes.
> >>
> >> As I said earlier, the "matches" idea is just a bit of "wishful 
> >> thinking", and a "transform" function would be a perfectly 
> adequate 
> >> solution for me. If you should decide not to implement 
> that, then I 
> >> will have to find some other solution myself...
> >
> > E:matches() selectors are not hard to implement but they are (1) 
> > non-standard, (2) potentially very slow. That's why we are very 
> > reluctant to implement such beast.
> >
> > Morever, a CSS style sheet extension (written in Java[tm]) may 
> > probably be used to solve this kind of problem. See 
> > http://www.xmlmind.com/xmleditor/_distrib/doc/dev/styleext.html
> >
> >
> >
> >> ... and it looks as though Alain Pierrot may have provided 
> me with  
> >> a means
> >> of doing that, so thanks very much to him.
> >>
> >> It would be nice to know if you intend to implement a "transform"  
> >> command,
> >
> > We could implement it in next version if there is 
> sufficient interest.
> >
> >> and if so, what it will look like.
> >
> > Like a number of other commands, the "transform" command is only  
> > useful
> > for writing macros.
> >
> > Using the XSLT style sheet passed as a parameter, the "transform"
> > command transforms part or all of the document being edited 
> (explicit
> > selection, implicit selection, whole document,  depending on a
> > parameter) to an output stream (XML, HTML, plain text).
> >
> > This output stream is ``loaded as a string'' and returned as the  
> > result
> > of the "transform" command.
> >
> > If this result is the string representation of an XML tree, it  
> > could be
> > directly used by a subsequent "paste" command.
> >
> > If this result is a plain text list of items, it could be directly  
> > used
> > by a subsequent "pick" command.
> >
> > The parameters of the "transform" command are:
> > * The URL of the XSLT style sheet. (The "%c" variable will be made
> > available in order to resolve URLs relative to the configuration
> > containing the macro invoking the transform command.)
> > * Optional parameters for this XSLT style sheet.
> > * What is to be transformed (explicit selection, implicit selection,
> > whole document; default: explicit selection).
> > * The encoding of the output stream (default: UTF-8).
> >
> > The "transform" command should be much more efficient than a process
> > command, even when the XSLT style sheet of the process command is  
> > cached
> > and when there is no user feedback during the execution of 
> the process
> > command.
> >
> >
> > --
> > XMLmind XML Editor Support List
> > xmleditor-support at xmlmind.com
> > http://www.xmlmind.com/mailman/listinfo/xmleditor-support
> > 
> --------------------------------------------------------------
> -------- 
> > -----------------
> > Orange vous informe que cet  e-mail a ete controle par 
> l'anti-virus  
> > mail.
> > Aucun virus connu a ce jour par nos services n'a ete detecte.
> >
> >
> >
> 
> 
>  
> --
> XMLmind XML Editor Support List
> xmleditor-support at xmlmind.com
> http://www.xmlmind.com/mailman/listinfo/xmleditor-support
> 

Reply via email to