| P. Wadler. A formal semantics of patterns in XSLT. In Proc. Markup Technologies, Philadelphia, PA, USA, 1999. |
....semantics of the logics provided by its DSD and (d) the representation of the proof like the one described above. Of these elements, the only missing one is the representation of the semantics of XSLT. There are several attempts, however, to provide a semantics for XSLT fragments that can be used [Wadler 2000, Bex 2000] Another path, consists of defining a transformation language simpler than XSLT but with a clean semantics. This is partly the case of Transmorpher (see 5) Checking is the opposite of trusting. Both approaches have different advantages: trusting does not require to spend time ....
Philip Wadler, A formal semantics of patterns in XSLT, Markup technologies, 1999 http://www.cs.bell-labs.com/who/wadler/papers/xsl-semantics/xslsemantics. pdf
....to expression (1) that the OrderHead element found must have a Total child. Since this is already required by expression (1) expression (2) is not minimal. The equivalence of (more than) simple XPath expressions was studied explicitly in [11] while being implicit in [4, 7] and mentioned in [10]. Since each simple XPath expression corresponds to a conjunctive query, testing equivalence is no harder than testing equivalence of conjunctive queries [2] a problem known to be NP complete. We show that, in fact, equivalence and minimality of simple XPath expressions can be decided in ....
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies 99, 1999.
....are called predicates. The use of the current node in expressions such as a= b or a= b, it can be eliminated. Expressions in XP do not use . or . and a tree t 2 T Sigma , Q(t) denotes the set of nodes that is the result of evaluating Q on t according to the semantics given in [14]. We assume that the context node for evaluating Q on t is always root(t) If Q(t) 6= we say that t satisfies Q. The set of trees over Sigma satisfying Q is denoted SAT Sigma (Q) Let P and Q be queries in XP . We say that P contains Q, written P Q, if for all trees t 2 T Sigma , P (t) ....
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies, pages 183--202, 1999.
....from the discussion. The current node is needed in contexts like a=b= c] and can otherwise be eliminated, e.g. a= b is equivalent to a=b. Given an expression q 2 XP and tree t 2 T , q(t) denotes a set of nodes in t. We adopt the formal semantics (omitted from this abstract) given in [23], xing the root as context node. Two XP expressions are contained if their result sets are contained for every tree. Two expressions are equivalent if their result sets are equal. Tree Patterns We also use an alternative, and slightly more general representation of expressions as tree ....
P. Wadler. A formal semantics of patterns in xslt. Markup Technologies, pages 183-202, 1999.
....from the discussion. The current node is needed in contexts like a=b= c] and can otherwise be eliminated, e.g. a= b is equivalent to a=b. Given an expression q 2 XP and tree t 2 T , q(t) denotes a set of nodes in t. We adopt the formal semantics (omitted from this abstract) given in [23], xing the root as context node. Two XP expressions are contained if their result sets are contained for every tree. Two expressions are equivalent if their result sets are equal. Tree Patterns We also use an alternative, and slightly more general representation of expressions in as tree ....
P. Wadler. A formal semantics of patterns in xslt. Markup Technologies, pages 183-202, 1999.
....using ref . id(S) descendant or self(S) ref id 1 (S) ancestor or self( x ref, y S ) This computation can be performed in linear time. We may define XPatterns as the smallest language that subsumes Core XPath and the XSLT Pattern language of [18] see also [15] for a good and formal overview of this language) and is (syntactically) contained in XPath. Stated di#erently, it is obtained by extending the language of [18] without the first oftype and last of type predicates (which do not exist in XPath) to support all of the XPath axes. As pointed out in ....
....be an XPatterns query. Then, Q can be evaluated on D # Q ) Proof (Rough Sketch) XPatterns extends Core XPath by the id axis and a number of features which are definable as unary predicates, of which we give an overview in Table 5. It becomes clear by considering the semantics definition of [15] that after parsing the query, one knows of a fixed number of predicates to populate, and this action takes time O( D ) for each. Thus, since this computation precedes the query evaluation which has a time bound of O( D this does not pose a problem. id(s) for some fixed string s) may ....
P. Wadler. "A Formal Semantics of Patterns in XSLT". In Markup Technologies, Philadelphia, December 1999.
....using ref . id(S) descendant or self(S) ref id 1 (S) ancestor or self( x ref, y S ) This computation can be performed in linear time. We may define XPatterns as the smallest language that subsumes Core XPath and the XSLT Pattern language of [18] see also [15] for a good and formal overview of this language) and is (syntactically) contained in XPath. Stated di#erently, it is obtained by extending the language of [18] without the first oftype and last of type predicates (which do not exist in XPath) to support all of the XPath axes. As pointed out in ....
....be an XPatterns query. Then, Q can be evaluated on D # Q ) Proof (Rough Sketch) XPatterns extends Core XPath by the id axis and a number of features which are definable as unary predicates, of which we give an overview in Table 5. It becomes clear by considering the semantics definition of [15] that after parsing the query, one knows of a fixed number of predicates to populate, and this action takes time O( D ) for each. Thus, since this computation precedes the query evaluation which has a time bound of O( D this does not pose a problem. id(s) for some fixed string s) may ....
P. Wadler. "A Formal Semantics of Patterns in XSLT". In Markup Technologies, Philadelphia, December 1999.
....can be evaluated without restriction on the use of reverse axes. Section 2 speci es the location path language considered in the rest of the paper. Then, the notion of equivalence between location paths is de ned in Section 3 using a formal model and a denotational semantics for XPath based on [24, 25]. Furthermore, two sets of equivalences (with rather di erent properties) are established. These equivalences are used as rewriting rules in an algorithm, called rare , for transforming absolute XPath location paths with reverse axes into equivalent reverse axis free ones (Section 4) Two ....
....XML documents. The root node of a document corresponds to the document node of DOM and of the XQuery 1.0 and XPath 2.0 Data Model [22] i.e. it is none of the document elements. A leaf is an empty element or a text node cf. Figure 1. The mathematical model used in this paper is adapted from [24, 25]. The full formal model as well as the denotational semantics can be found in the full version [17] of this paper. It consists of mathematical functions that can be seen as (formal speci cations of) elementary procedures. 2 Figure 1 Tree and XML data it represents title databases title ....
[Article contains additional citation context not shown here]
P. Wadler, A formal semantics of patterns in XSLT, Proc. of Conference on Markup Technologies, 1999.
....element with attributes topmgrID and employeeID (cf. Figure 4) mode= selecttopmgr select= group[mgr employee[ id= varID] group employee Figure 2: An XSLT program computing the query of Section 2. Note that patterns in XSLT are XPath expressions [Cla99a] for a formal semantics see [Wad99] In brief, the leading selects the root of the document. Root here does not correspond to the top element of the XML document but to an extra (invisible) node above it. We will abstract from this in our formal model. Successive symbols mean child of , and the symbol means descendand ....
....# not ]T[text # a problem. Actually, this resembles the second choice of representing a bcd a mentioned above. # Patterns In our formal model we abstract from a particular selection pattern language. Recall that XSLT uses the pattern language described in XPath [Cla99a] see [Wad99] for a formal semantics) Patterns can be rather involved as illustrated by the second template rule in Figure 2, where the pattern depends on the value of the variable varID. In addition, patterns can also be moving instructions of the form parent, left sibling, right sibling, or first child. ....
P. Wadler. A formal semantics of patterns in XSLT. Markup Technologies, 1999. 27
....elements which is not supported by common storage structure. This paper rst establishes a set of equivalences between location paths involving reverse axes. The notion of equivalence between location paths is formally de ned using a formal model and a denotational semantics for XPath based on [7, 8]. This model and semantics also provide with a convenient formal framework for proving the above mentioned equivalences. Then, these equivalences are used as rewriting rules in two algorithms, called rare 1 and rare 2 , for transforming absolute location paths of the above mentioned class ....
....instructions, attributes, attribute values, document collections, schema types, references, and white space processing are not considered. The results given in this paper extend straightforwardly to unrestricted XML documents. The mathematical model described in Section 2. 1 is adapted from [7, 8]. It consists of a few mathematical functions that can be seen as (formal speci cations of) elementary procedures. In Section 2.3 they are used in de ning two so called semantics functions that can be seen as (a formal speci cation of) an implementation of XPath. 2.1 Formal Model There is a ....
[Article contains additional citation context not shown here]
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies, 1999.
....returns the set of attributes named n of all elements tagged c which are children of an element tagged a or b and have an attribute named m of value 0 , a descendant element tagged d and some ancestor with an attribute named o. There is much more about XPath and its semantics that can be found in [14, 18]. The space limitations prevent more detailed explanations here. Additional operators are described below. 8] contains precise semantic definitions for the XPath fragments we analyze. We also consider a class of XML integrity constraints that combine the logical shape of the classical relational ....
.... Q(x; q1 and q2) Q(x; q1 ) Q(x; q2 ) Q(x; p) T (x; p; z) Q(x; p = s) T (x; p; s) Q(x; n = v) fattr(x; 00 n 00 ; v)g Q(x; v1 = v2 ) fv1 = v2g Q(x; p1 = p2) T (x; p1 ; z) T (x; p2 ; z) It is not hard to see that this translation captures exactly the formal semantics in [18] over models in which desc has the intended interpretation. Example translation. Recalling our regular XPath example P from section 1, we first translate away the disjunction obtaining P1 [ P2 , where P1 = a=c[ m = 0 and : d and : o] n and P2 = b=c[ m = 0 and : d and : ....
Phil Wadler. A Formal Semantics of Patterns in XSLT. In Proceeding of the Conference for Markup Technologies, 1999. 11
....language describing sources by a set of rules relating XPath location paths to the concepts and roles of an ontology and (2) a query rewriting algorithm for translating user queries into queries expressed in an XML query language [3, 4, 16] that are send for evaluation to XML sources. XPath [6, 17] is a tree pattern language which allows to characterise XML fragments according to their position in the document tree, their type and their contents. Whereas XPath does not have the full expressive power of XML query languages, the choice of using XPath as part of a mapping language for XML ....
.... R7 : u1 NATIONALITY born.took place at R8 : http: www.art.com ARTIFACT as u2 Man Made Object R9 : u2 LOCATION located at Figure 3: Set of Mapping Rules For example, rule R 1 states that all fragments of element type ARTIST which are descendants of the root of document http: www.art.com (see [6, 17] for the definition of XPath patterns location paths) are instances of concept Person. In the same way, rule R 8 states that all elements of element type ARTIFACT, descendants of the root of document http: www.art.com, are instances of concept Man Made Object. Rule R 3 creates instances of the ....
P. Wadler. A formal semantics of patterns in XSLT, 1999. 6
....all the document forms are probably di erent. So for writing the application sketched above, it is indeed necessary to transform the XML documentinto di erent forms. In this paper we report on an approach to facilitate the development of XML transformers. We use the widely available language XSLT [3, 7,6,8,11] as transformation language. To overcome some shortcomings of this language we rst bind XSLT transformers to the DTD (document type de nition) of the source and destination document types. This makes it easier to search for appropriate transformers when a new one has to be developed. Then ....
....parts for particular subtrees of the XML document. The main idea of our approach is to reuse the transformations of shared structures among di erent documents which are based on the same DTD. 2. 2 Transforming Documents with XSLT XSLT (########## ########## ######## ### ###############) [3, 7, 6, 8, 11] is a language for transforming XML documents. A transformation in the XSLT language is expressed as an XML document and can therefore be validated and parsed by XML parsers. A transformation expressed in XSLT consists of rules for transforming a source tree of an XML documentinto a result tree, ....
P.Wadler. A formal semantics of patterns in XSLT. Markup Technologies, 1999.
.... and binary relations such as relation element(A) which states that A is an element node, relation child(A; B) whose semantics are the element identified by A has the element identified by B as a child, and relation value(C; D) whose semantics are the data for the node identified by C is D [33]. Relations element, child and value (along with others) are then used to store the XML document contents. For the insertion or deletion of element nodes, the ECA rules would now have the form on insertion deletion into child if condition do action . Consequently any triggering graph containing ....
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies 99, 1999.
....of relational databases construct not only relations but also schemas. For example, given input schemas (A; B)and(B;C) the join operation creates an output schema (A; B; C) Such output schemas allow # However, a formal semantics for a subset of XPath has been later developed by Philip Wadler [35]. further processing of output relations. It would be desirable for query languages for XML to provide such schema transformations. That is, we would like to construct output schemas from input schemas and query operations (e.g. select, delete) which utilize hedge regular expressions and ....
P.Wadler. A formal semantics of patterns in XSLT. In ###### ############ ##, 1999.
....to establish their consistency status with respect to the rule. The first step in defining the language is to decide on a mechanism for obtaining the elements to work with. We use the XPath language to build up sets of elements. In the following, we use a notation for XPath queries due to Wadler [24]: S[ p] x selects all nodes matching pattern p with x as the context node the context node becomes the relative root for the selection. For example, S[ schemadef ] z selects all schemadef elements underneath the z element, which is also the root of the document. rule : #var # ....
P. Wadler. A formal semantics of patterns in XSLT. Markup Technologies, December 1999.
....nodetest specifies an elementtype which subelements should be considered) are selected. From these, the ones qualify which satisfy the given filter roughly spoken, a predicate over XPath expressions which state conditions on a node (for details, 3 see [XPa99] or the formal semantics given in [Wad99a, Wad99b] Starting with this (local) result set, the next step is applied. The most frequently used axes are abbreviated as path nodetest for path child: nodetest, path nodetest for path descendant: nodetest, and path nodetest for path attribute: nodetest. Example 2.1 (XPath, Result Sets) ....
....expressions. ffl XPathLogRules are logical rules over the above kinds of atoms (see Section 6. 3) 2 The variables are bound to the names nodes literals (for i.e. CDATA or NMTOKENS attributes) which result from the respective match; the formal semantics is based on that of XPath given in [Wad99a, Wad99b] Example 2.3 (XPathLog) Pure XPath expressions: pure XPath expressions (i.e. without variables) are interpreted as existential queries which return true if the result set is non empty: country[name text( Switzerland ] city name text( true since the country element which ....
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies, 1999. http://www.cs.bell-labs.com/who/wadler/topics/xml.html.
....consistency constraints between distributed documents. We outline a simple formal basis for the language and formalise our example rule. To do this we use a notation for evaluating XPath expressions and for the formalisation of the DOM which 4 Figure 4: Sample linkbase in HTML is due to Wadler [31]. In order to make the explanation as easy to read as possible, we will introduce some further simplifying notation. For the full grammar and semantics the reader is referred to Appendix B. # Uppercase letters A;B;C; correspond to sets of DOM nodes # Lowercase letters a;b;c; correspond to ....
WADLER, P. A formal semantics of patterns in XSLT. Markup Technologies, December 1999.
....(1) blonde , and t taste (1) bitter . Here, D is assumed to contain the subset f Le e trippel ; 8.7 ; blonde ; bitter g. In our formal model we abstract away from a particular selection pattern language. Recall that XSLT uses the pattern language described in XPath [Cla] see [Wad99] for a formal semantics) Patterns can be rather involved as illustrated by the second template rule in Figure 2 where the pattern depends on the value of the variable varID. In addition, patterns can also be moving instructions like select parent, left sibling, right sibling, or rst child. ....
P. Wadler. A formal semantics of patterns in XSLT. Markup Technologies, 1999. 24
....forests f over [ B such that symbols of B may only appear at the leaves of f . Below, B will be the set of apply template expressions. In our formal model we abstract away from a particular selection pattern language. Recall that XSLT uses the pattern language described in XPath [5] see [21], for a formal semantics) Patterns can be rather involved as illustrated by the second template rule in Figure 2 where the pattern depends on the value of the variable varID. In addition, patterns can also be moving instructions like select parent, left sibling, right sibling, or rst child. ....
P. Wadler. A formal semantics of patterns in XSLT. Markup Technologies, 1999.
....D . For a set B, F D (B) denotes the set of attributed forests f over [ B such that symbols of B may only appear at the leaves of f . In our formal model we abstract away from a particular selection pattern language. Recall that XSLT uses the pattern language described in XPath [5] see [26], for a formal semantics) Patterns can be rather involved as illustrated by the second template rule in Figure 2 where the pattern depends on the value of the variable varID. In addition, patterns can also be moving instructions like select parent, left sibling, right sibling, or rst child. ....
P. Wadler. A formal semantics of patterns in XSLT. Markup Technologies, 1999. 16
....standard ideas about type systems for semistructured data as described in the literature [1, 9] notably the use of regular expressions and tree grammars. In particular, MSL closely resembles the type system in Xduce [8] Another example of formalizing part of an XML specification can be found in [12]. Many important aspects of XML Schema are not modeled by MSL. We have focussed on the core material in XML Schema Part I (Structures) as we believe this is the most complex. Many features of XML Schema are not modeled. These include the following. Identity constraints. The mapping from ....
Philip Wadler. A formal semantics of patterns in XSLT. In B. Tommie Usdin, Deborah A. Lapeyre, and C. M. Sperberg-McQueen, editors, Proceedings of Markup Technologies, Philadelphia, 1999.
....level. The remainder of this paper is organized as follows. Section 2 presents the data model. Section 3 presents the algebra. Section 4 presents some of the laws that apply to list comprehensions and regular expressions. 2 Data Model Our data model is based on the data model for XSLT given in [4], which in turn is based on the data model in the XSLT recommendation [5] One difference is the addition of reference nodes. The data model here is simpler in a few ways; notably, it merges attribute and element nodes, and eliminates 1 comment and PI nodes. But these differences are minor; if ....
Philip Wadler. A formal semantics of patterns in XSLT. Markup Technologies, Philadelphia, December 1999.
....standard ideas about type systems for semistructured data as described in the literature [1, 9] notably the use of regular expressions and tree grammars. In particular, MSL closely resembles the type system in Xduce [8] Another example of formalizing part of an XML speci cation can be found in [12]. Many important aspects of XML Schema are not modeled by MSL. We have focussed on the core material in XML Schema Part I (Structures) as we believe this is the most complex. Many features of XML Schema are not modeled. These include the following. # Identity constraints. # The mapping from ....
Philip Wadler. A formal semantics of patterns in XSLT. In B. Tommie Usdin, Deborah A. Lapeyre, and C. M. Sperberg-McQueen, editors, Proceedings of Markup Technologies, Philadelphia, 1999.
No context found.
Philip Wadler. A formal semantics of patterns in XSLT. Markup Technologies, Philadelphia, December 1999.
.... algebras for XML [3, 11] comprehensions [32, 6] monads [26, 27, 32 34] NRA and equivalents [14, 7, 22, 23, 29, 30] OQL [2, 1, 13, 9] Quilt [10] UnQL [5] SQL [16] tree Automata [15, 31] type systems [24, 25] XDuce [20, 21] XML Query [38, 39] XML Schema [40, 41] XMLQL [17] XPath [37, 35], XQL [28] XSLT [42] and YaTL [12] 2 The Algebra by Example This section introduces the main features of the algebra, using familiar examples based on accessing a database of books. 2.1 Data and Types Consider the following sample data: bib book title Data on the Web title ....
Philip Wadler. A formal semantics of patterns in XSLT. Markup Technologies, Philadelphia, December 1999.
....level. The remainder of this paper is organized as follows. Section 2 presents the data model. Section 3 presents the algebra. Section 4 presents some of the laws that apply to list comprehensions and regular expressions. 2 Data Model Our data model is based on the data model for XSLT given in [4], which in turn is based on the data model in the XSLT recommendation [5] One di#erence is the addition of reference nodes. The data model here is simpler in a few ways; notably, it merges attribute and element nodes, and eliminates 1 comment and PI nodes. But these di#erences are minor; if ....
Philip Wadler. A formal semantics of patterns in XSLT. Markup Technologies, Philadelphia, December 1999.
No context found.
Philip Wadler. A formal semantics of patterns in XSLT. Markup Technologies, Philadelphia, December 1999.
....level. The remainder of this paper is organized as follows. Section 2 presents the data model. Section 3 presents the algebra. Section 4 presents some of the laws that apply to list comprehensions and regular expressions. 2 Data Model Our data model is based on the data model for XSLT given in [4], which in turn is based on the data model in the XSLT recommendation [5] One difference is the addition of reference nodes. The data model here is simpler in a few ways; notably, it merges attribute and element nodes, and eliminates 1 comment and PI nodes. But these differences are minor; if ....
Philip Wadler. A formal semantics of patterns in XSLT. Markup Technologies, Philadelphia, December 1999.
No context found.
P. Wadler. A formal semantics of patterns in XSLT. In Proc. Markup Technologies, Philadelphia, PA, USA, 1999.
No context found.
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies, pages 183--202, Philadelphia, 1999.
No context found.
P. Wadler. A formal semantics of patterns in XSLT. Markup Technologies, 1999. 27
No context found.
P. Wadler. "A Formal Semantics of Patterns in XSLT". In Markup Technologies, Philadelphia, December 1999.
No context found.
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies 99, 1999.
No context found.
Phil Wadler, "A formal semantics of patterns in XSLT", Markup Technologies, 1999.
No context found.
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies 99, 1999.
No context found.
P. Wadler. A formal semantics of patterns in XSLT. Markup Technologies, December 1999.
No context found.
P. Wadler. A formal semantics of patterns in XSLT. In Markup Technologies 99, 1999.
No context found.
Philip Wadler. A formal semantics of patterns in XSLT, December 1999. http://cm. bell-labs.com/cm/cs/who/wadler/topics/xml.html.
No context found.
Philip Wadler. A formal semantics of patterns in XSLT. In Markup Technologies, Philadelphia, December 1999.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC