OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [wsbpel] Issue - 157 - Proposal For Vote


I agree that we should vote on re-opening 48.  We're certainly 
discussing it already.  That discussion will be fruitless without 
re-opening 48.  Conversely, if we don't have the stomach to re-open it, 
then we shouldn't be bothering to discuss it.

Yaron Y. Goland wrote:
> Executive Summary: We shouldn't go for a XSLT approach without formally 
> re-opening issue 48. We also shouldn't kid ourselves (as I did to myself 
> yesterday), we don't know what we don't know about XSLT+BPEL and we will 
> be using XSLT in a potentially novel way. This is a huge ship risk to 
> the spec. Upon reflection I believe the least awful option is to just 
> finish copy as is.
> 
> Long Winded Version:
> 
> I find myself having to agree with Alex on a number of points.
> 
> 1 - We did consider exactly this suggestion in issue 48 and it was 
> rejected. Of late we have made a big deal of not undoing previous 
> decisions without due process. I would therefore argue that we shouldn't 
> close issue 157 using a XSLT based solution without some kind of formal 
> decision to re-open 48.
> 
> 2 - Yesterday I was really happy to use the XSLT solution because it 
> gets me out of the copy business and would make issue 11 go away. But I 
> now realize that I was kidding myself. We don't know what we don't know 
> about XSLT where as we know a lot about the current copy proposal. In 
> terms of 'time to completion' the best choice was to get rid of copy but 
> the group soundly rejected that. So we can either adopt XSLT or finish 
> copy.
> 
>     Adopting XSLT sounds nice (to me at least) because we can inherit a 
> bunch of functionality but the reality is that we would be using XSLT in 
> a potentially novel way and in general we as a group don't have a deep 
> understanding of all the gotchas in embedding XSLT in BPEL.
> 
>     I would remind the group that it took us a full year to embed XPATH 
> into BPEL and that was a much simpler challenge. What took all that time 
> wasn't just figuring out how to represent WSDL messages, that was more a 
> political than technical issue. What really took all the time was 
> figuring out every possible connection point and how to deal with it.
> 
>     Right now we know a lot about XPATH, the infoset and Copy, therefore 
> we are in a reasonably good position to define Copy using those 
> technologies. We don't know what we don't know about XSLT+BPEL and I 
> suspect as we learn we will find many issues and problems that will take 
> us quite some time to figure out.
> 
>     If our goal is to ship this spec I suspect there is much less risk 
> in copy than in XSLT.
> 
> So I find myself having to reverse my position from yesterday, I propose 
> we stick with the current copy approach.
> 
>         Yaron
> 
> Alex Yiu wrote:
> 
>> Yaron,
>>
>> *[A]*
>> This is NOT an implementation issue.
>> But, this is a _language semantics and specification issue_.
>>
>> I add a reply to explain this with an example later.
>>
>> *[B]*
>> BTW, can someone show me an XSLT implementation that will actually 
>> modify the source tree without generating a seperate result tree? 
>> (Please read my quotation from XSLT spec: "_The result tree is 
>> *separate* from the source tree_."). If that XSLT implementation does 
>> not violate the spec, I don't know what implementation will violate 
>> the spec. :-)
>> *[C]*
>> To clarify, I don't mind ADDING an optional "stylesheet" attribute to 
>> the from-spec. I think that is a good feature, _as long as current 
>> <copy> functionalities are kept_.
>>
>> BTW, I am curious who voted to close Issue 48 without changes. :-)
>> If the group really likes the transform features, let us EITHER open a 
>> new issue similar which is somewhat equivalent  to Issue 48 OR 
>> re-group the XSLT feature under Issue 11.
>>
>>
>> Thanks!
>>
>>
>> Regards,
>> Alex Yiu
>>
>>
>>
>> Yaron Y. Goland wrote:
>>
>>> I don't see any of Alex's issues as being show stoppers.
>>>
>>> Yes, XSLT is a replace. So what? A dump implementation will be 
>>> expensive and a smart implementation will be cheap. What else is new?
>>>
>>> As for the vote, the group agreed to keep assign and copy semantics, 
>>> I would argue that XSLT provides those copy semantics so I don't see 
>>> this action as violating the word or spirit of the motion.
>>>
>>> Using XSLT would drastically simplify the specification, allow us to 
>>> avoid re-inventing a whole stack of wheels, provide all the 
>>> functionality we wanted from copy and resolve issue 11. Using XSLT 
>>> seems like a winner to me.
>>>
>>>         Yaron
>>>
>>> Alex Yiu wrote:
>>>
>>>>
>>>> Hi all,
>>>>
>>>> Yuzo, thank you for the sample example also.
>>>>
>>>> _*[A] Nature of XSLT*_
>>>>
>>>> The same old reminder to people: XSLT and XQuery are used to _create 
>>>> *NEW* documents or XML fragments based on an existing piece of XML 
>>>> data_.
>>>>
>>>> Quotation--1:  from the Introduction of XSLT 1.0 Spec:
>>>> --------------------------------------
>>>> A transformation expressed in XSLT describes rules for _transforming 
>>>> a source tree into a result tree_. The transformation is achieved by 
>>>> associating patterns with templates. A pattern is matched against 
>>>> elements in the source tree. A template is instantiated to _*create* 
>>>> part of the result tree_. _The result tree is *separate* from the 
>>>> source tree_. The structure of the result tree can be completely 
>>>> different from the structure of the source tree. ...
>>>> ...
>>>> _A template is *instantiated* for a particular source element_ to 
>>>> _*create* part of the result tree_. A template can contain elements 
>>>> that specify literal result element structure. A template can also 
>>>> contain elements from the XSLT namespace that are _instructions for 
>>>> *creating* result tree_ fragments. When a template is instantiated, 
>>>> each instruction is executed and replaced by the result tree 
>>>> fragment that it creates.
>>>> --------------------------------------
>>>>
>>>> [Note: "replace" here does NOT mean replace the source-tree. It 
>>>> means: replace the instructions in the template with execution 
>>>> result. Think of any web-page-template engine. e.g.: ASP, JSP, PHP.]
>>>>
>>>> Typically, an XSLT has a default "catch-all-else" copy rule similar 
>>>> to below to do a copy any nodes from source tree to result tree 
>>>> without any transformation:
>>>> -----------------------------
>>>>
>>>>     <xsl:template match="@*|node()">
>>>>         <xsl:copy>
>>>>             <xsl:apply-templates select="@*|node()"/>
>>>>         </xsl:copy>
>>>>     </xsl:template>
>>>>
>>>> -----------------------------
>>>>
>>>> Quotation--2:   [ http://www.w3.org/TR/xslt#copying ]
>>>> -------------------------------
>>>> The xsl:copy element provides an easy way of _*copying* the current 
>>>> node_. _Instantiating the xsl:copy element creates a copy of the 
>>>> current node_.
>>>> -------------------------------
>>>>
>>>> If the result tree was NOT a distinct copy from the source tree, the 
>>>> above <xsl:copy> would  not be needed. In fact, if the above 
>>>> "catch-all-else" copy rule are _NOT used in XSLT_, most of nodes (if 
>>>> not all) in the _source tree will NOT be present in / copied to the 
>>>> result tree_.
>>>>
>>>> I hope the above quotations are good enough to prove that XSLT 
>>>> creates NEW documents but NOT replacing any existing docs.  If not, 
>>>> we just need to cross reference to our W3C rep in XPath, XSLT, and 
>>>> XQuery WG - TRIO in W3C.
>>>>
>>>> Furthermore, XSLT is a non-procedural language. If executation of 
>>>> XSLT were allowed to modify any source or existing XML Document, its 
>>>> semantics can be extremely difficult to be defined. E.g. Will rules 
>>>> in XSLT be re-fired, if the source document got changed? (very hairy 
>>>> business there. Will it result in infinite loop?)
>>>>
>>>> In short, XSLT is used to create new documents. _When the base 
>>>> document is large and delta is small, the runtime efficiencies of 
>>>> such an XSLT will be inheritly low. _
>>>>
>>>>
>>>> _*[B] How to apply XSLT in BPEL *_
>>>>
>>>> Yuzo's example illustrates one of the possible ways to interprete 
>>>> Assaf's original suggestion to apply XSLT in BPEL  [i.e. (1b) below].
>>>>
>>>> *(1)* _Using XSLT to transform a variable or a variable part:_
>>>>
>>>>     *(1a)* Refering to a variable or a variable part as the source 
>>>> document:
>>>>     --------------------------------
>>>>     <assign>
>>>>         ...
>>>>         <transform variable="var1" part="part1"
>>>>                 stylesheet="http://foo.com/my.xslt"; />
>>>>                 outputVariable="var2" outputPart="part1" />
>>>>         ...
>>>>     </assign>
>>>>     --------------------------------
>>>>     Or alternatively using a syntax closer to existing <copy>:
>>>>     --------------------------------
>>>>     <assign>
>>>>         ...
>>>>         <copy>
>>>>              <from variable="var1" part="part1"
>>>>                 stylesheet="http://foo.com/my.xslt"; />
>>>>              <to variable="var2" part="part1" />
>>>>         </copy>
>>>>         ...
>>>>     </assign>
>>>>     --------------------------------
>>>>
>>>>     *(1b)* Embedding XSLT into BPEL with variable bindings:
>>>>     Examples would be very similar to what Yuzo has provided.
>>>>
>>>>     (1a) and (1b) are not that different. One allows multiple input 
>>>> variables,
>>>>     while the other allows one variable only. One uses embedded 
>>>> XSLT, one refers
>>>>     the XSLT by a URI.
>>>>
>>>> _*(2)* Still using 100% of current <assign>/<copy> syntax._
>>>>
>>>>     E.g.:
>>>>     ---------------------------
>>>>     <assign>
>>>>         <copy>
>>>>            <from>$var/p:abc/p:def</from>
>>>>            <to>$var/p:ghi/p:def</to>
>>>>         </copy>
>>>>     </assign>
>>>>     ---------------------------
>>>>     However, when one try to define its semantics of syntax, one may 
>>>> reuse
>>>>     fragments of definitions from XSLT (e.g. "xslt:copy", 
>>>> "xslt:copy-of",
>>>>     "xslt:value-of")
>>>>
>>>>
>>>> _*KEY POINTS to analysis about XSLT facilities:*_
>>>>
>>>>     * The biggest difference between (1) and (2) is: the granularity 
>>>> of replacement:
>>>>       ==>  _variable or msg-part *VS* any node within a variable or 
>>>> a msg-part
>>>>
>>>>       _
>>>>     * I would emphasize that the _replacement of any node is a big 
>>>> part of
>>>>       <assign>/<copy> logic in BPEL 1.1_. Since we passed to keep
>>>>       <assign>/<copy> functionalities, we MUST/SHOULD keep this part of
>>>>       functionality as well. And, not having the capabilities of a 
>>>> smaller
>>>>       granularity of replacement has a _BIG impact on efficiency of 
>>>> <assign>_.
>>>>
>>>>       For example: in order to replace a small zip code field of a 
>>>> large PO
>>>>       documents (e.g. 100 line items), we would effectively copy all 
>>>> those 100
>>>>       line items. That is NOT an implementation-dependent issue. The 
>>>> XSLT spec
>>>>       clearly shows its intention (see the quotations above).
>>>>
>>>>     * And, leveraging XSLT can be _a totally orthogonal add-on 
>>>> feature to the
>>>>       current <assign>/<copy>_. For example: XSLT features in (1a) 
>>>> and (1b) can
>>>>       be _extended and blended with existing <copy> features_:
>>>>
>>>>     --------------------------------
>>>>     <assign>
>>>>         ...
>>>>         <copy>
>>>>              <from>
>>>>                  _<transform>_
>>>>                     <!-- embedded XSLT code ...
>>>>                          similar to Yuzo's example -->
>>>>                  _<transform>_
>>>>              </from>
>>>>              <to> *$var2.part1/p:lineItem[10]* </to>
>>>>         </copy>
>>>>         ...
>>>>     </assign>
>>>>     --------------------------------
>>>>
>>>>     --------------------------------
>>>>     <assign>
>>>>         ...
>>>>         <copy>
>>>>              <from variable="var1" part="part1"
>>>>                 _stylesheet="http://foo.com/my.xslt"_ />
>>>>              <to> *$var2.part1/p:lineItem[10]* </to>
>>>>         </copy>
>>>>         ...
>>>>     </assign>
>>>>     --------------------------------
>>>>
>>>>     * The "xslt:copy", "xslt:copy-of", "xslt:value-of" are used  to 
>>>> _*append*_
>>>>       the execution result of "xslt:*" into the current result tree, 
>>>> which is
>>>>       being created brand-new. It _has NO definition on how to do node
>>>>       replacement_ for an existing doc tree. Regardless whether we 
>>>> go (1a), (1b)
>>>>       or (2), we still need to define a table very similar to the 
>>>> table in my
>>>>       previous Issue 157 email. E.g.:
>>>>
>>>>       Src\Dest
>>>>           EII
>>>>           AII/TII
>>>>       EII with
>>>>       Complex-Content
>>>>           RE
>>>>           F
>>>>       EII with
>>>>       Simple-Content
>>>>           RE
>>>>           RC
>>>>       AII/TII
>>>>           RC
>>>>           RC
>>>>
>>>>
>>>>       Because, we need to define the semantics on how to replace the 
>>>> value
>>>>       pointed by the to-spec withe result of the XSLT 
>>>> transformation. E.g. there
>>>>       should be a fault, if one tries to fill in a simple-typed 
>>>> variable with an
>>>>       element of complex content.  (i.e. the Fault caseas denoted by 
>>>> "F" above).
>>>>
>>>>       Even if somebody tries to cut the corner by removing the 
>>>> capabilties to
>>>>       replace a smaller granularity of variable tree, it will NOT 
>>>> make the
>>>>       definition simplier. Because, the copy/replacement behavior on 
>>>> Attribute
>>>>       (AII) and Text (TII - from simple-typed variable) are 
>>>> virtually the same.
>>>>       (See the table above)
>>>>
>>>>       In short, _attempt to leverage XSLT concept to simplify Issue 
>>>> 157_ is just
>>>>       a _*"false hope of economy"*_. On the other hand, adding XSLT 
>>>> to BPEL
>>>>       (under Issue 48 or Issue 11) does have its merits in a sense.
>>>>
>>>>     * To define an XSLT to just do simple-type manipulation is just 
>>>> awkard and
>>>>       anti-ease-of-use. Think of about the case that one needs to 
>>>> increase an
>>>>       counter value. With current <copy>, it is straight forward and 
>>>> easy:
>>>>       <assign>
>>>>               <copy> <from>$count + 1 </from> <to> $count </to> </copy>
>>>>       </assign>
>>>>
>>>>       Try to do that with an XSLT. ;-)  ... Possible but clumsy.
>>>>
>>>>     * Currently, <assign>/<copy> and Issue 103 are _data-model 
>>>> independent_.
>>>>       That is, we have no bias to any expression language. If BPEL's 
>>>> only
>>>>       operation under <assign> has such a strong dependency on 
>>>> XSLT1.0, the
>>>>       BPEL's expression language independence would be destroyed.  
>>>> (If BPEL spec
>>>>       ever enforces any data model in future, we should enforce 
>>>> XPath 2.0 data
>>>>       model, because of its schemaful nature, instead of 
>>>> XPath1.0/XSLT1.0.)
>>>>
>>>>
>>>> [Side note: Between (1a) and (1b), I prefer (1a), because I am 
>>>> afraid that we would go through another issue 103 exercise, even 
>>>> though we may be able to reuse a number of definitions from Issue 
>>>> 103. ]
>>>>
>>>>
>>>>
>>>> _*[C] Summary*_
>>>>
>>>> Main goals for Issue 157:
>>>>
>>>>     * _to clarify the semantics of <copy>_
>>>>           o The typical and trivial cases in the table <copy> logic 
>>>> are quite
>>>>             clear already. That's why there are more than 3 
>>>> companies coming up
>>>>             with interpretation in those cases. All we need to 
>>>> clarify those
>>>>             corner cases (e.g. when a standard runtime fault would 
>>>> happen).
>>>>     * _NOT to re-define <copy>_ into a completely different animal 
>>>> and causing
>>>>       all sorts of un-resolvable backward compatibility problems.
>>>>           o We have passed a binding resolution to keep 
>>>> <assign>/<copy>. _If we
>>>>             defined XSLT transform as the only operation under 
>>>> <assign>_, that
>>>>             is virtually getting rid of <copy>. I would argue that 
>>>> is a _direct
>>>>             violation to our binding resolution_ in the F2F in Palo 
>>>> Alto.
>>>>     * Let us focus finish the clarification of <copy> in Issue 157 
>>>> and call it a
>>>>       day. :-)
>>>>           o I am happy to see a standardized XSLT transform 
>>>> construct also, if
>>>>             we want to _*add *XSLT stylesheet attribute on top of 
>>>> from-spec_.
>>>>             But, _let's put it into Issue 48 or Issue 11_.
>>>>
>>>>
>>>>
>>>> Thank you for reading such a long email!
>>>>
>>>>
>>>>
>>>>
>>>> Regards,
>>>> Alex Yiu
>>>>
>>>>
>>>>
>>>>
>>>> Satish Thatte wrote:
>>>>
>>>>> Yuzo,
>>>>>
>>>>> Thanks for the example.  I will study it.  It seems to me that you 
>>>>> have used XPath variable binding in the template, which assumes 
>>>>> that our current Xpath variable binding mechanism would carry over 
>>>>> without additional work.  Is that your understanding?
>>>>>
>>>>> Satish
>>>>>
>>>>> ________________________________
>>>>>
>>>>> From: Yuzo Fujishima [mailto:fujishima@bc.jp.nec.com]
>>>>> Sent: Sat 6/4/2005 8:11 AM
>>>>> To: Satish Thatte; wsbpeltc
>>>>> Cc: Assaf Arkin; Danny van der Rijn; Charlton Barreto
>>>>> Subject: Re: [wsbpel] Issue - 157 - Proposal For Vote
>>>>>
>>>>>
>>>>>
>>>>> I don't quite see what are the problems.
>>>>>
>>>>> I've written an example and attached the files used.
>>>>> (Apply assign.xsl to var1.xml. Then you'll get newVar1.xml.)
>>>>>
>>>>> Suppose we want to assign from var2 and var3 to var1.
>>>>>
>>>>> In that case, we write something similar to assign.xsl (excluding the
>>>>> variable binding part) within an assign activity.
>>>>> Perhaps we should rename the activity to "transform".
>>>>>
>>>>> The activity should look like below:
>>>>>
>>>>> <transform variable="var1">
>>>>> <xsl:stylesheet version="1.0"
>>>>>    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>>>>>    <xsl:template match="orderNumber">
>>>>>        <xsl:element name="orderNumber">
>>>>>            <xsl:value-of select="$var2/purchaseOrder/orderNumber"/>
>>>>>        </xsl:element>
>>>>>    </xsl:template>
>>>>>    <xsl:template match="billingAddress">
>>>>>        <xsl:element name="billingAddress">
>>>>>            <xsl:copy-of select="$var3/customers/customer[
>>>>>                @id=$var2/purchaseOrder/buyerId]/address/*"/>
>>>>>        </xsl:element>
>>>>>    </xsl:template>
>>>>>    <xsl:template match="@*|node()">
>>>>>        <xsl:copy>
>>>>>            <xsl:apply-templates select="@*|node()"/>
>>>>>        </xsl:copy>
>>>>>    </xsl:template>
>>>>> </xsl:stylesheet>
>>>>> </transform>
>>>>>
>>>>> Those parts of var1 that need not be modified are copied
>>>>> by <xsl:template match="@*|node()"> template. Pretty simple
>>>>> and idiomatic.
>>>>>
>>>>> I noticed that the use of XSLT may sometimes result in
>>>>> more efficient (rather than inefficient) processing
>>>>> because multiple assigns can be bunched together to form
>>>>> one transformation.
>>>>>
>>>>> How do you like above?
>>>>>
>>>>> Yuzo Fujishima
>>>>> NEC Corporation
>>>>>
>>>>> Satish Thatte wrote:
>>>>>  
>>>>>
>>>>>> Alex has pointed out various technical difficulties he sees with 
>>>>>> using XSLT to resolve 157, privately to some of us at the F2F.  
>>>>>> The principal one being that XSLT templates costruct new XML 
>>>>>> documents rather than update existing ones.  According to Alex, 
>>>>>> doing anything else requires non-standard usage of XSLT.  I am no 
>>>>>> XSLT expert so I am looking for confirmation or otherwise of 
>>>>>> Alex's position.  If he is right then we are stuck with doing 157 
>>>>>> as far as I can see.  I would much prefer not to add features to 
>>>>>> BPEL for any XML data manipulation, but we have assignment/copy 
>>>>>> today and we have voted not to remove them so the only other 
>>>>>> option is to find a way to use some existing XML data manipulation 
>>>>>> spec as normative with the usual extensibility.  XPath is what we 
>>>>>> have used in copy but that seems to require the sort of xII rules 
>>>>>> that the current 157 proposals specify.
>>>>>>
>>>>>> If someone has a simpler way to resolve this I am all ears.
>>>>>>
>>>>>> Satish
>>>>>>
>>>>>> ________________________________
>>>>>>
>>>>>> From: Assaf Arkin [mailto:arkin@intalio.com]
>>>>>> Sent: Fri 6/3/2005 9:28 AM
>>>>>> To: Danny van der Rijn
>>>>>> Cc: Satish Thatte; Charlton Barreto; wsbpeltc
>>>>>> Subject: Re: [wsbpel] Issue - 157 - Proposal For Vote
>>>>>>
>>>>>>
>>>>>>
>>>>>> I wouldn't rule out that we closed issue 48 because the scope was 
>>>>>> a bit
>>>>>> more generic, and from the issue list, apparently because 13 
>>>>>> solves the
>>>>>> problem. So given issue 13 you can incorporate XSLT into BPEL as a
>>>>>> proprietary extension.
>>>>>>
>>>>>> The problem we're facing is how to handle simple assignments as a
>>>>>> normalized part of the spec, which 48/13 do not cover. I, for one, am
>>>>>> not interested in re-inventing the wheel, so in this particular 
>>>>>> context
>>>>>> I have no problem revisiting issue 48 or resolving this as part of 
>>>>>> issue
>>>>>> 157, whichever is more convenient.
>>>>>>
>>>>>> Assaf
>>>>>>
>>>>>>
>>>>>> Danny van der Rijn wrote:
>>>>>>
>>>>>>
>>>>>>  
>>>>>>
>>>>>>> What you're proposing, Satish, sounds like Issue 48, which was
>>>>>>> rejected in April of 2004.  I'd be happy to revisit it, but I'm not
>>>>>>> sure how others feel.
>>>>>>>
>>>>>>> Danny
>>>>>>>
>>>>>>> Satish Thatte wrote:
>>>>>>>
>>>>>>>
>>>>>>>    
>>>>>>>
>>>>>>>> Wonderful.  I didn't see this mail before sending mine.
>>>>>>>>
>>>>>>>> +1
>>>>>>>>
>>>>>>>> ________________________________
>>>>>>>>
>>>>>>>> From: Charlton Barreto [mailto:cbarreto@adobe.com]
>>>>>>>> Sent: Thu 6/2/2005 9:29 AM
>>>>>>>> To: Assaf Arkin
>>>>>>>> Cc: wsbpeltc
>>>>>>>> Subject: Re: [wsbpel] Issue - 157 - Proposal For Vote
>>>>>>>>
>>>>>>>>
>>>>>>>> I second this proposal. I feel that we should delegate the problem
>>>>>>>> scoped by issue 157 by leveraging another spec which is actually
>>>>>>>> focussed on it, rather than attempting to invest the considerable
>>>>>>>> amount of time and energy necessary to address it in BPEL.
>>>>>>>> On 01/06/2005, at 16:08, Assaf Arkin wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>   I want to propose an alternative way to solve issue 157, without
>>>>>>>> introducing significant complexity to the language.
>>>>>>>>
>>>>>>>>   The XSLT specification has been dealing with the exact same
>>>>>>>> problem of evaluating an expression and placing the results in a
>>>>>>>> target context. XSLT provides two separate mechanisms: copy-of and
>>>>>>>> value-of. I would propose using these two XSLT elements as a
>>>>>>>> normative part of the BPEL specification, instead of inventing yet
>>>>>>>> another copy mechanism.
>>>>>>>>
>>>>>>>>   http://www.w3.org/TR/xslt#copy-of
>>>>>>>>   http://www.w3.org/TR/xslt#value-of
>>>>>>>>
>>>>>>>>   Assaf
>>>>>>>>   ||
>>>>>>>>
>>>>>>>>
>>>>>>>>   <arkin.vcf>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Charlton Barreto
>>>>>>>>
>>>>>>>> P 1.408.536.4496
>>>>>>>>
>>>>>>>> cbarreto@adobe.com
>>>>>>>>
>>>>>>>>
>>>>>>>> www.adobe.com <http://www.adobe.com/>
>>>>>>>> logo.gif
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>> To unsubscribe from this mail list, you must leave the OASIS TC 
>>>>>>>> that
>>>>>>>> generates this mail.  You may a link to this group and all your TCs
>>>>>>>> in OASIS
>>>>>>>> at:
>>>>>>>> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>       
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe from this mail list, you must leave the OASIS TC that
>>>>>> generates this mail.  You may a link to this group and all your 
>>>>>> TCs in OASIS
>>>>>> at:
>>>>>> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>   
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe from this mail list, you must leave the OASIS TC that
>>>>> generates this mail.  You may a link to this group and all your TCs 
>>>>> in OASIS
>>>>> at:
>>>>> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>>>>>  
>>>>>
>>>>
>>>
>>
> 
> 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]