XML Query Data Model. W3C Working Draft 11 May Abstract. Status of this document

Size: px
Start display at page:

Download "XML Query Data Model. W3C Working Draft 11 May Abstract. Status of this document"

Transcription

1 XML Query Data Mode W3C Working Draft 11 May 2000 This version: Latest version: Editors: Mary Fernandez (AT&T Labs) < > Jonathan Robie (Software AG) Copyright 2000 W3C (MIT, INRIA, Keio), A Rights Reserved. W3C iabiity, trademark, document use and software icensing rues appy. Abstract This document defines the W3C XML Query Data Mode, which is the foundation of the W3C XML Query Agebra; the XML Query Agebra wi be specified in a future document. Together, these two documents [wi] provide a precise semantics of the XML Query Language. Status of this document This section describes the status of this document at the time of its pubication. Other documents may supersede this document. The atest status of this document series is maintained at the W3C. This is a First Pubic Working Draft for review by W3C Members and other interested parties. It is a draft document and may be updated, repaced or made obsoete by other documents at any time. It is inappropriate to use W3C Working Drafts as reference materia or to cite them as other than "work in progress". This is work in progress and does not impy endorsement by the W3C membership. This document has been produced as part of the W3C XML Activity, foowing the procedures set out for the W3C Process. The document has been written by the XML Query Working Group. The XML Query Working Group fees that the contents of this Working Draft are reasonaby stabe, and therefore encourages feedback.

2 Comments on this document shoud be sent to the W3C maiing ist (archived at A ist of current W3C Recommendations and other technica documents can be found at Tabe of contents 1 Introduction 2 Concepts 2.1 Types and Signatures Reference Type Schema Types 2.2 Post Schema-Vaidated Infoset 3 Nodes 3.1 Data Mode Instance 3.2 Document 3.3 Eements 3.4 Attributes 3.5 Namespaces 3.6 Processing Instructions 3.7 Comments 3.8 Vaues 3.9 Information Items 4 Exampe 5 Constraints on the Data Mode 6 References Appendices A XML Information Set Mapping A.1 Notation and Pseudo-code Syntax A.2 Information Items A.3 Document Item A.4 Eement Items A.5 Attribute Items A.6 Namespace Items A.7 Processing Instruction Items A.8 Comment Items A.9 Other Information Items B Candidate Operators for XML Query Agebra B.1 Equaity Operators B.2 Seriaization Operators B.3 Order Operators B.4 Accessors for Reference Vaues 1 Introduction

3 This document defines the W3C XML Query Data Mode, which is the foundation of the W3C XML Query Agebra; the XML Query Agebra wi be specified in a future document. Together, these two documents [wi] provide a precise semantics of the XML Query Language. Severa XML data modes have been deveoped in the W3C Activities. The XML Information Set ( provides a description of the information avaiabe in a weformed XML document. The XPath Recommendation ( which is used by both XSLT ( and XPointer ( contains a data mode and a mapping that reates the XPath data mode to the XML Information Set (hence Infoset ). The Document Object Mode ( is an API for HTML and XML documents, but it does impy an underying abstract data mode. The XML Schema Working Group is defining features, such as structures ( and datatypes ( that extend an instance of the XML Information Set with more precise type information. The XML Query Data Mode defines formay the information contained in the input to an XML Query processor; in other words, an XML Query processor evauates a query on an instance of the XML Query Data Mode. Our mode is based on the XML Information Set, but it requires the foowing new features to meet the XML Query Working Group s requirements: Support for XML Schema types. ( ) Representation of Coections of Documents and of Simpe and Compex Vaues. ( Representation of References. ( #references) In this document, we provide a precise and forma definition of how vaues in the XML Query Data Mode are constructed and accessed; these operators are the foundation of the XML Query Agebra, and therefore, require a more forma treatment than is provided in the definitions of the XPath and Infoset data modes. For comparison, we note wherever the XML Query Data Mode differs from that of XPath, and we provide a forma definition of the mapping from the Infoset to the XML Query Data Mode in Appendix A. An instance of the XML Query data mode represents one or more compete XML documents or document parts. As with the Infoset, the XML Query Data Mode specifies what information in the documents is accessibe, but it does not specify the programming-anguage interfaces or bindings used to represent or access the data. We assume that the information contained in an instance of the XML Query Data Mode is static for the duration query evauation; in particuar, the meaning of a query appied to input data that changes during query evauation is undefined. We define the data mode using a functiona notation. We chose this notation because it is simpe and permits a precise and concise definition of the data mode. The notation is presented in the next section. Athough the notation has a functiona stye, we emphasize that the data mode can be reaized in a variety of programming anguages and styes, for exampe, as object casses and methods in an object-oriented anguage.

4 There is a cose correspondence between the data mode and the agebraic operations that are appied to instances of the data mode. In the definition of the data mode, we mention severa agebraic operators. These and other candidate operators are identified in the Candidate Operators for XML Query Agebra appendix. The compete agebra wi be defined in a future document. 2 Concepts Because XML documents are tree-structured, we define the XML Query data mode using conventiona terminoogy for trees. Various mathematica representations of trees exist (see [CLR]). The graph-theoretic representation modes a tree as a tupe (N, E, r), where N is a set of tree nodes, E is a one-to-many reation of edges from parent nodes to chidren nodes, and r is the distinguished root node of the tree. The tree-constructor representation modes a tree by recursive appication of a tree-creation function to a ist of chidren trees [Knuth]. In either representation, a tree can have data associated with its nodes (node-abeed), with its edges (edge-abeed), or with both. The XPath and Infoset data modes are exampes of node-abeed, tree-constructor representations. The XML Query Data Mode (hence data mode ) is a node-abeed, tree-constructor representation, but aso incudes a concept of node identity. The addition of node identity simpifies the representation of XML reference vaues, e.g., IDREF, XPointer, and URI vaues. Unike the graph mode, the data mode does not support both nodes and edges as first-cass concepts. We note, however, whenever a graph mode may be more fexibe or concise. 2.1 Types and Signatures The data mode defines the structure of various kinds of tree nodes; functions to construct tree nodes, caed constructors; and functions to access nodes structure, caed accessors. This presentation is simiar to that in the definition of the XSLT data mode [Wader]. We use the terms node type to refer to the kind of a tree node; schema type to refer to an XML Schema type; and coection type to refer to tupes, ists, sets, and disjoint unions. The term type refers to any node, schema, or coection type. The term signature refers to a constructor s or accessor s function type, i.e., the function s zero or more input types and its one output type. To make the definition of the data mode concise, we use the foowing notation: N ranges over node types. U ranges over the union of node types, schema types, and coection types. [ U ] denotes a ist of vaues with type U; a ist is ordered and may contain dupicates. { U } denotes a set of vaues with type U; a set is unordered and does not contain dupicate vaues. { U } denotes a bag of vaues with type U; a bag is unordered and may contain dupicate vaues.

5 (U1, U2,..., Un) denotes a tupe whose first component has type U1, second component has type U2, etc. U1 U2... Un denotes the disjoint union of vaues with types U1,..., Un, etc. TN = U denotes that the string TN is a type name that represents the type U. A type name may appear wherever its associated type is expected. An occurrence of the type symbo U denotes a vaue or instance of that type. The signatures of constructors and accessors use the foowing notation: f : U1 -> U2 denotes a function f that takes an input vaue with type U1 and returns an output vaue with type U Reference Type The data mode provides node references as a mechanism to test and bind the identity of nodes in a given instance of the data mode. The actua mechanism for impementing node identity is impementation dependent, for exampe, node identity might be represented by a key vaue, an object identifier, an XPointer vaue, etc. Ref(N) denotes a reference to a node with type N. The data mode provides the function ref to create a reference to a node and the function deref to produce the node referent of a reference vaue. Their signatures are: ref : Node -> Ref(Node) deref : Ref(Node) -> Node The function ref is surjective, i.e., it is onto. The function deref is the inverse of ref, i.e., for a nodes n, node_equa(deref(ref(n)), n) is true, where node_equa is an impementation-dependent equaity operator over nodes. Some accessors map vaues (e.g., IDREF or key vaues) into reference vaues. If a key vaue does not represent a vaid reference, the not a reference vaue, NaR, may be used Schema Types Nodes contain vaues that are instances of schema types. The foowing symbos denote schema types: T ranges over XML schema types, which are either simpe or compex. ST ranges over simpe types. CT ranges over compex types.

6 A simpe type is either primitive (e.g., string, booean, foat, doube, ID, IDREF) or derived (e.g., anguage, NMTOKEN, ong, etc., or user defined). A compex type defines the structure and content of an eement. It may be necessary for a query to have access to a vaue s type during query execution, i.e., at run time. Because an instance of an XML Schema is aso an XML document (see XML Representation of Schemas and Schema Components in [XMLSchema Part 1]), a document s schema can be represented as an instance of the data mode. Def_T = EemNode denotes the data mode representation of schema type T. Because Def_T is an eement vaue in the data mode, i.e., an EemNode, a of the accessors defined for EemNode can be appied to Def_T vaues. 2.2 Post Schema-Vaidated Infoset We assume that an instance of the data mode is derived from an instance of the XML Information Set [XML Infoset] after XML Schema vaidation. Such an instance is caed a PSV Infoset, for post schema-vaidated Infoset. A we-formed document may have an associated schema, derived from one or more XML Schema documents; it may have an associated DTD; or it may have no schema, i.e., it is schemaess. For a document with a schema, the PSV Infoset provides the schema. For a document with a DTD, we assume a mapping from the DTD to an equivaent schema is provided. For a schemaess document, a defaut schema is provided by the data mode, and we specify in this document that defaut schema. In a three cases, a schema can be provided for the input document and corresponding data-mode instance. 3 Nodes The basic concept in the data mode is a Node. A Node is one of eight node types: document, eement, vaue, attribute, namespace (NS), processing instruction (PI), comment, or information item. This definition specifies that a Node is the disjoint union of eight node types: Node = DocNode EemNode VaueNode AttrNode NSNode PINode CommentNode InfoItemNode The eight node types are defined in the foowing subsections. Note that an impementation of the data mode in an object-oriented anguage might choose to make Node an interface (or an abstract cass) and to make each node type a concrete cass that impements the Node interface (or a sub-cass of the abstract cass Node). A Node has eight accessors, each of which returns true if the Node vaue is of the specified type. isdocnode iseemnode isvauenode isattrnode isnsnode ispinode : Node -> booean : Node -> booean : Node -> booean : Node -> booean : Node -> booean : Node -> booean

7 iscommentnode : Node -> booean isinfoitemnode : Node -> booean 3.1 Data Mode Instance An XML document is represented by its distinguished document node, which is a DocNode. A document part is a sub-tree of a document and is represented by an EemNode, VaueNode, PINode, or CommentNode. An instance of the data mode represents one or more compete documents or document parts and may be unordered or ordered. Therefore, a data-mode Instance is a set, a ist, or a bag of one or more nodes: Instance = { DocNode EemNode VaueNode PINode CommentNode } [ DocNode EemNode VaueNode PINode CommentNode ] { DocNode EemNode VaueNode PINode CommentNode } 3.2 Document A document is represented by a unique DocNode, which corresponds to a document information item in the Infoset. A DocNode has the constructor docnode, which takes a URI reference vaue and a non-empty ist of its chidren nodes: docnode : (URIRefVaue, [ Ref(EemNode) Ref(PINode) Ref(CommentNode) ]) -> DocNode The ist of chidren nodes may contain zero or more references to PINodes and CommentNodes and must contain exacty one reference to an EemNode. The accessor uri returns a DocNode s URI reference vaue, and the accessor chidren returns a DocNode s ist of chidren: uri : DocNode -> URIRefVaue chidren : DocNode -> [ Ref(EemNode) Ref(PINode) Ref(CommentNode) ] The root accessor returns a reference to the unique EemNode in a DocNode s chidren ist: root : DocNode -> Ref(EemNode) 3.3 Eements An EemNode has the constructor eemnode, which takes a tag vaue, a set of NSNode namespaces, a set of AttrNode attributes, a ist of chidren nodes, and a reference to the node s type: eemnode : (Ref(QNameVaue), { Ref(NSNode) }, { Ref(AttrNode) }, [ Ref(EemNode) Ref(VaueNode) Ref(PINode) Ref(CommentNode) Ref(InfoItemNode) ], Ref(Def_T)) -> EemNode An EemNode s tag is a quaified name vaue, QNameVaue. An EemNode s set of namespaces contain one namespace node for each distinct namespace that is decared expicity on the eement. The node s chidren is a ist of references to EemNode, VaueNode, PINode,

8 CommentNode, and InfoItemNode vaues. We assume that the eement is an instance of the type represented by Def_T, i.e., the document type checks or is vaid with respect to the given schema. For a schemaess document, the data mode defines a defaut schema; in this case, the Def_T vaue for a EemNodes is the ur-type definition [XMLSchema Part 1]. The accessors name, namespaces, attributes, chidren, and type returns an EemNode s constituent parts: name : EemNode -> Ref(QNameVaue) namespaces : EemNode -> { Ref(NSNode) } attributes : EemNode -> { Ref(AttrNode) } chidren : EemNode -> [ Ref(EemNode) Ref(VaueNode) Ref(PINode) Ref(CommentNode) Ref(InfoItemNode) ] type : EemNode -> Ref(Def_T) The accessor parent returns a reference to the unique parent of an EemNode. If an EemNode is the root node of a document, parent wi return a reference to the corresponding DocNode, uness a document node does not exist, in which case parent returns NaR, the not a reference vaue. parent : EemNode -> Ref(EemNode) Ref(DocNode) NaR NOTE: The XPath data mode does not mode the compex type of a node. This definition adds Def_T to an eement node, and it aso adds VaueNode and InfoItemNode as permissibe chidren of an eement node. 3.4 Attributes An AttrNode has the constructor attrnode, which takes the attribute s name and vaue: attrnode : (Ref(QNameVaue), Ref(VaueNode)) -> AttrNode The accessors name and vaue, return an attribute s constituent parts: name vaue : AttrNode -> Ref(QNameVaue) : AttrNode -> Ref(VaueNode) For a schemaess document, the data mode defines a defaut schema; in this case, the type of a AttrNode s vaues is the simpe type <simpetype base="string"/>. The accessor parent returns a reference to the containing eement of an AttrNode. parent : AttrNode -> Ref(EemNode) NOTE: The XPath data mode ony permits attribute vaues to be strings. This definition permits attribute vaues to be of any simpe type.

9 3.5 Namespaces An NSNode has the constructor nsnode, which takes an namespace prefix, which may be nu, and the absoute URI of the namespace being decared, which may be nu: nsnode : (Ref(StringVaue) nu, Ref(URIRefVaue) nu) -> NSNode The accessors prefix and uri return a NSNode s constituent parts: prefix : NSNode -> Ref(StringVaue) nu uri : NSNode -> Ref(URIRefVaue) nu A namespace node may contain: a non-nu prefix and a non-nu uri; a nu prefix and a non-nu uri; or a nu prefix and a nu uri. A namespace node may not contain a non-nu prefix and a nu uri. The accessor parent returns a reference to the containing eement of an NSNode. parent : NSNode -> Ref(EemNode) 3.6 Processing Instructions A PINode has the constructor pinode, which takes a oca name that is the processing instruction s target and a string vaue: pinode : (Ref(StringVaue), Ref(StringVaue)) -> PINode The oca name is a string vaue that must have type NCNAME, i.e., its type vaue refers to the definition of the derived type NCName : <simpetype name="ncname" base="name"/> The accessors target, vaue return a PINode s constituent parts. target : PINode -> Ref(StringVaue) vaue : PINode -> Ref(StringVaue) The accessor parent returns a PINode s unique parent: parent : PINode -> Ref(EemNode) Ref(DocNode) NaR 3.7 Comments A CommentNode has the constructor commentnode, which takes a string vaue: commentnode : Ref(StringVaue) -> CommentNode The accessor vaue returns a CommentNode s vaue, and the accessor parent returns a CommentNode s unique parent:

10 vaue parent : CommentNode -> Ref(StringVaue) : CommentNode -> Ref(EemNode) Ref(DocNode) NaR 3.8 Vaues A VaueNode is the disjoint union of fourteen kinds of simpe-type vaues; each vaue kind has an associated constructor. VaueNode = StringVaue BooVaue FoatVaue DoubeVaue DecimaVaue TimeDurVaue RecurDurVaue BinaryVaue URIRefVaue IDVaue IDREFVaue QNameVaue ENTITYVaue NOTATIONVaue The data mode provides constructors for the fourteen primitive XML Schema datatypes: stringvaue : (string, Ref(Def_string), [Ref(InfoItemNode)]) -> StringVaue boovaue : (booean, Ref(Def_booean)) -> BooVaue foatvaue : (foat, Ref(Def_foat)) -> FoatVaue doubevaue : (doube, Ref(Def_doube)) -> DoubeVaue decimavaue : (decima, Ref(Def_decima)) -> DecimaVaue timedurvaue : (timeduration, Ref(Def_TimeDuration)) -> TimeDurVaue recurdurvaue: (recurringduration, Ref( Def_recurringDuration))-> RecurDurVaue binaryvaue : (binary, Ref(Def_binary)) -> BinaryVaue urirefvaue : (urireference, Ref(Def_uriReference)) -> URIRefVaue idvaue : (ID, Ref(Def_ID)) -> IDVaue idrefvaue : (IDREF, Ref(Def_IDREF)) -> IDREFVaue qnamevaue : (urireference nu, string, Ref( Def_QName)) -> QNameVaue entityvaue : (ENTITY, Ref(Def_ENTITY)) -> ENTITYVaue notationvaue: (NOTATION, Ref(Def_NOTATION)) -> NOTATIONVaue Ed. Note: We note here that the data mode does not currenty represent key vaues and key reference vaues as described in XML Schema Part 1 : Structures [XMLSchema Part 1]. In a future draft of this document, keys and key references wi be represented in the data mode. Derived datatypes are modeed as instances of their primitive base type. In particuar, wherever an instance of Def_ST is expected, we assume an instance of ST is permitted if and ony if ST is derived from simpe type ST. For exampe, the derived simpe type ong has base type integer, so an instance of ong can be modeed by an IntegerVaue whose type is Ref(Def_ong), i.e., it refers to the definition of the derived type ong: <simpetype name="ong" base="integer"/> The expicit enumeration of each kind of vaue guarantees that the type of the vaue s instance and its type representation correspond. For exampe, a StringVaue aways contains a string vaue and a reference to the representation of a primitive or derived type whose base type is string. For exampe, a product s Sku number coud be represented by the string vaue: StringVaue("926-AA", Ref(Def_Sku), []) where the Sku type is derived from string:

11 <simpetype name="sku" base="string"> <pattern vaue="\d{3}-[a-z]{2}"/> </simpetype> The accessor type returns a VaueNode s type: type : VaueNode -> Ref(Def_ST) The accessor string returns a VaueNode s string representation: string : VaueNode -> StringVaue The accessor infoitems returns the ist of information items associated with a StringVaue; this ist may contain the character information items from which the string vaue was created: infoitems : StringVaue -> [ Ref(InfoItemNode) ] The accessors ocapart and uripart return a QNameVaue s constituent parts: uripart : QNameVaue -> urireference nu ocapart : QNameVaue -> string The accessor referent returns a ist of eement-node references associated with an IDREFVaue or URIRefVaue: referent : (IDREFVaue URIRefVaue) -> [ Ref(EemNode) NaR ] If a referent is not in the data-mode instance, referent returns NaR, the not a reference vaue. In a data-mode instance of a PSV infoset, every IDREF and keyref vaue is guaranteed to refer to a EemNode in the data-mode instance. This may not be the case for a URI vaue, which coud refer to an eement in an arbitrary document that is not contained in the data-mode instance. In this case, referent may return a ist containing NaR. A VaueNode has fifteen additiona accessors, each of which returns true if the VaueNode is of the specified type. isstringvaue : VaueNode -> booean isboovaue : VaueNode -> booean isfoatvaue : VaueNode -> booean isdoubevaue : VaueNode -> booean isdecimavaue : VaueNode -> booean istimedurvaue : VaueNode -> booean isrecurdurvaue : VaueNode -> booean isbinaryvaue : VaueNode -> booean isurirefvaue : VaueNode -> booean isidvaue : VaueNode -> booean isidrefvaue : VaueNode -> booean isqnamevaue : VaueNode -> booean isentityvaue : VaueNode -> booean isnotationvaue : VaueNode -> booean NOTE: VaueNode repaces the XPath data mode s text node.

12 3.9 Information Items An InfoItemNode has the constructor infoitemnode: infoitemnode : Ref(InfoItem) -> InfoItemNode An InfoItemNode is an opaque vaue that preserves those information items that are not of interest to the data mode or query anguage, but are required by the underying Infoset impementation. It has no accessors. 4 Exampe We use the foowing XML document to iustrate the information contained in an instance of the data mode: <?xm version=1.0?> <p:part xmns:p=" xsi:schemalocation = " name="nutbot"> <mfg>acme</mfg> <price>10.50</price> </p:part> The XML schema for this document is: <xsd:schema xmns:xsd=" targetnamespace=" <xsd:eement name="part" type="part_type"> <xsd:compextype name="part_type"> <xsd:eement name = "mfg" type="xsd:string"/> <xsd:eement name = "price" type="xsd:decima"/> <xsd:attribute name = "name" type="xsd:string"/> </xsd:compextype> </xsd:eement> </xsd:schema> For this exampe, we chose a XML document that incudes an XML Schema to iustrate the reationship between document content and its associated schema type information. In genera, an XML Schema is not required, that is, the data mode can represent a schemaess, we-formed XML document with the defaut typing described in this document. The XML document is represented by the data-mode accessors beow. The vaue D1 represents a DocNode; the vaues E1, E2, etc. represent EemNodes; the vaues A1, etc. represent AttrNodes; the vaues N1, etc. represent NSNodes. chidren(d1) = [ Ref(E1) ] root(d1) = Ref(E1) name(e1) = QNameVaue(" "part", Ref(Def_QName)) chidren(e1) = [ Ref(E2), Ref(E3) ] attributes(e1) = { Ref(A1) } namespaces(e1) = { Ref(N1) }

13 type(e1) parent(e1) name(a1) vaue(a1) parent(a1) prefix(n1) uri(n1) parent(n1) = Ref(Def_part_type) = Ref(D1) = QNameVaue(nu, "name", Ref(Def_QName)) = Ref(StringVaue("nutbot", Ref(Def_string))) = Ref(E1) = Ref(StringVaue("p", Ref(Def_string))) = URIRefVaue(" Ref(Def_uriReference)) = Ref(E1) name(e2) = QNameVaue(nu, "mfg", Ref(Def_QName)) chidren(e2) = [ Ref(StringVaue("Acme", Ref(Def_string))) ] attributes(e2) = {} namespaces(e2) = {} type(e2) = Ref(Def_string) parent(e2) = Ref(E1) name(e3) = QNameVaue(nu, "price", Ref(Def_QName)) chidren(e3) = [ Ref(DecimaVaue(10.50, Ref(Def_decima))) ] attributes(e3) = {} namespaces(e3) = {} type(e3) = Ref(Def_decima) parent(e3) = Ref(E1) A graphica depiction of the data-mode instance, containing the information described in the text above, is aso incuded. Reca that an XML schema is aso an XML document, which can be represented in the data mode. The compex and simpe types in the exampe schema are represented beow: name(def_part_type) = QNameVaue(" "compextype", Ref(Def_QName)) chidren(def_part_type) = [ Ref(E4), Ref(E5), Ref(E6) ] attributes(def_part_type) = { Ref(A2) } namespaces(def_part_type) = {}

14 type(def_part_type) = Ref(Def_compexType) name(a2) = QNameVaue(nu, "name", Ref(Def_QName)) vaue(a2) = Ref(StringVaue("part_type", Ref(Def_NCName), [])) name(e4) = QNameVaue(" "eement", Ref(Def_QName)) chidren(e4) = [] attributes(e4) = { Ref(A3), Ref(A6) } namespaces(e4) = {} type(e4) = Ref(Def_eement) name(a3) = QNameVaue(nu, "name", Ref(Def_QName)) vaue(a3) = Ref(StringVaue("mfg", Ref(Def_NCName), [])) name(a6) vaue(a6) = QNameVaue(nu, "type", Ref(Def_QName)) = Ref(QNameVaue(" "string", Ref(Def_QName), [])) name(e5) = QNameVaue(" "eement", Ref(Def_QName)) chidren(e5) = [] attributes(e5) = { Ref(A4), Ref(A7) } namespaces(e5) = {} type(e5) = Ref(Def_eement) name(a4) vaue(a4) name(a7) vaue(a7) = QNameVaue(nu, "name", Ref(Def_QName)) = Ref(StringVaue("price", Ref(Def_NCName))) = QNameVaue(nu, "type", Ref(Def_QName)) = Ref(QNameVaue(" "decima", Ref(Def_QName), [])) name(e6) = QNameVaue(" "attribute", Ref(Def_QName)) chidren(e6) = [] attributes(e6) = { Ref(A5), Ref(A8) } namespaces(e6) = {} type(e6) = Ref(Def_attribute) name(a5) = QNameVaue(nu, "name", Ref(Def_QName)) vaue(a5) = Ref(StringVaue("name", Ref(Def_NCName), [])) name(a8) vaue(a8) = QNameVaue(nu, "type", Ref(Def_QName)) = Ref(QNameVaue(" "string", Ref(Def_QName), [])) For conciseness, we eiminate the definitions of buitin schema components, e.g., compextype, and of primitive simpe types, e.g., string. 5 Constraints on the Data Mode A data-mode instance must satisfy the foowing constraints: Node references: We assume that the representation of a node reference is defined by the query system that impements the data mode, not by the query anguage itsef. Node references are not seriaized, i.e., they exist ony for use by the query system, and they are not guaranteed to be gobay unique or persistent, athough some impementation of the data mode may choose to support persistent node references. Mutipe techniques may exist for impementing references, and there may be mutipe techniques for impementing

15 identity. Node identity: the function ref is one-to-one and onto, i.e., ref_equa(ref(n1), ref(n2)) hods if and ony if n1 and n2 are the same node. We assume that the operator ref_equa is an impementation-dependent equaity operator over node references. Unique parent: the parent accessor is a many-to-one function, i.e., a node has exacty one parent. Parent-chid reationships: Given two EemNode references ref(p) and ref(n), ref_equa (parent(n), ref(p)) hods if and ony if ref(n) is in chidren(p). Simiary, given a DocNode reference ref(d) and a node reference ref(n), ref_equa(parent (n), ref(d)) if and ony if ref(n) is in chidren(d). Finay, given a AttrNode (or NSNode) reference ref(a) and a node reference ref(n), ref_equa(parent(a), ref(n)) if and ony if ref(a) is in attributes(n) (namespaces(n)). Dupicate-free ist of chidren: Given a node n and any two node references r1 and r2 at distinct positions in chidren(n), not ref_equa(r1, r2) must hod i.e., the ordered ist of chidren nodes is dupicate free. 6 References CLR T. Cormen, C. Leiserson, R. Rivest, Introduction to Agorithms, MIT Press, Knuth D. Knuth, The Art of Computer Programming, Vo. 1, Addison-Wesey, Wader P. Wader, A forma semantics of patterns in XSLT. Avaiabe at: XML Infoset Word Wide Web Consortium, XML Information Set (Infoset). Avaiabe at: XPath Word Wide Web Consortium, XML Path Language (XPath). Avaiabe at: XMLSchema Part 1 Word Wide Web Consortium, XML Schema Part 1 : Structures. Avaiabe at: XMLSchema Part 2 Word Wide Web Consortium, XML Schema Part 2 : Datatypes. Avaiabe at: A XML Information Set Mapping The XML Information Set ( provides a description of the

16 information avaiabe in a we-formed XML document. In this appendix, we define the Infoset in the same notation as the data mode, and we define functions that map from an instance of the Infoset to an instance of the data mode in a pseudo-code notation. Ed. Note: In a future draft of this document, a mapping from the XML Query data mode into the Infoset wi be provided. A.1 Notation and Pseudo-code Syntax We name accessors of the PSV Infoset using the convention psv_<item-name>_<property>. For exampe, psv_eem_attributes is the accessor that returns an eement item s attributes property. The comments in the accessor definitions specify whether a property is core or periphera. The foowing operations are defined on ists and are used in the function definitions: [] constructs the empty ist. [n] constructs a ist with one eement n. h :: t constructs a ist with head eement h and tai ist t. It is often necessary to deconstruct a ist vaue, for exampe, into its head eement and tai ist. We use the same notation to match and deconstruct ist vaues. For exampe, this function maps a "a" vaues in a ist to "b" vaues by deconstructing and matching the argument ist L: fun a2b(l) { case L of [] => [] [ "a" ] :: t => [ "b" ] :: (a2b t) h :: t => h :: (a2b t) } a2b [ "a", "c", "a" ] = [ "b", "c", "b" ] The case expression matches its ist argument L against each ist pattern and evauates the righthand-side of the first pattern that matches L. The function concat_ist concatenates two ists, and concat_string concatenates two strings: concat_ist : ([ U ], [ U ]) -> [ U ] concat_string : (string, string) -> string For exampe, concat_ist [ 1, 2 ] [ 3, 4 ] = [ 1, 2, 3, 4 ] concat_string "First" "Last" = "FirstLast" The function fat_ist takes a ist of ists and returns the fattened ist: fat_ist : [ [ U ] ] -> [ U ] For exampe,

17 fat_ist([ [1], [2, 3] ]) = [ 1, 2, 3 ] The function map_set appies a function to every member of a set and returns the transformed set; map_ist is anaogous for ists: map_set : ((U1 -> U2), { U1 }) -> { U2 } map_ist : ((U1 -> U2), [ U1 ]) -> [ U2 ] For exampe, given the function addone: fun add_one(x) { return x + 1 } map_set add_one { 1, 2 } = { 2, 3 } map_ist add_one [ 1, 2 ] = [ 2, 3 ] A.2 Information Items The basic concept in the Infoset is an InfoItem. An InfoItem is one of ten item types: InfoItem = DocItem EemItem CDATAItem AttrItem NSItem PIItem CommentItem SkipEntityItem EntityMarker CDATAMarker No constructors are defined for Item vaues, because they are constructed by an Infoset processor, not the data mode. A.3 Document Item The foowing accessors are defined on a document information item: /* core */ psv_doc_chidren : DocItem -> [ /* core */ Ref(PIItem) Ref(EemItem) /* periphera */ Ref( CommentItem) Ref(DocTypeItem) ] psv_doc_notations : DocItem-> { Ref(NotationItem) } psv_doc_base_uri : DocItem -> urireference /* core : unparsed entities; periphera : parsed entities */ psv_doc_entities : DocItem -> { Ref(EntityItem) } Exacty one EemItem is required in the psv_doc_chidren ist and it is the root eement of the document tree. The foowing pseudo-code documents the mapping from an instance of the PSV infoset to an instance of the data mode. The function dm_docnode maps a document information item (DocItem) to a document node (DocNode): dm_docnode : DocItem -> DocNode fun dm_docnode(d) { kids = map_ist dm_node (psv_doc_chidren d) return docnode(urivaue(psv_doc_base_uri d, ref(def_urireference)), kids) }

18 In the definition of kids, map_ist appies the function dm_node to each chid of the DocItem vaue d; this constructs a new ist of chidren nodes, each of which has type Node. The appication of the constructor docnode constructs the document node in the data mode. A.4 Eement Items The foowing accessors are defined on eement information items: /* core */ psv_eem_uri : EemItem -> urireference psv_eem_oca_name: EemItem -> string psv_eem_chidren : EemItem -> [ /* core */ Ref(PIItem) Ref(EemItem) Ref(SkipEntityItem) Ref( CDATAItem) /* periphera */ Ref(CommentItem) /* start, end marker pairs : */ (Ref(EntityMarker), Ref(EntityMarker)) (Ref( CDATAMarker), Ref(CDATAMarker)) ] /* core */ psv_eem_attrs : EemItem -> { AttrItem } psv_eem_dec_ns : EemItem -> { NSItem } /* decared namespaces */ psv_eem_base_uri : EemItem -> urireference psv_eem_parent : EemItem -> (Ref(EemItem) Ref(DocItem)) /* Infoset item for schema type */ psv_eem_schema_type : EemItem -> Ref(EemItem) /* periphera */ psv_eem_inscope_ns : EemItem -> { NSItem } /* in-scope namespaces */ The function dm_eemnode maps an EemItem to an EemNode: dm_eemnode : EemItem -> EemNode fun dm_eemnode(e) { name = qnamevaue(psv_eem_uri e, psv_eem_oca_name e, Ref( Def_QName)) nsnodes = map_set dm_nsnode (psv_eem_dec_ns e) attrnodes = map_set dm_attrnode (psv_eem_attrs e) kids = dm_coapse_strings(map_ist dm_node (psv_eem_chidren e)) type = dm_schema_type(psv_eem_schema_type e) newkids = if (issimpetype(type)) (map_ist (dm_coerce_string type) kids) ese kids return eemnode(name, nsnodes, attrnodes, newkids, type) } This function extracts components from the EemItem, transforms them into instances of datamode vaues, and then constructs an EemNode vaue. The function dm_schema_type returns a reference to the Def_T vaue that corresponds to the schema type represented by its information-item argument. dm_schema_type : Ref(EemItem) -> Ref(Def_T)

19 We assume above that if an eement s type is a simpe type, its ist of chidren must contain one string vaue. The function dm_coerce_string coerces its string-vaued second argument into an instance of the simpe type referenced by its first argument. dm_coerce_string : (Ref(Def_ST), StringVaue) -> ST Ed. Note: This mapping does not capture an eement item s keyref vaues, which are maintained in the eement item s identity constraints tabe. The identity constraints tabe is created for bookkeeping purposes by an XML Schema processor (see [XMLSchema Part 1]). The mapping of an eement item s identity constraints tabe into keyref vaues wi be specified in a future draft of this document. The function dm_node maps an information item to a reference to a data-mode node. A information items are preserved in the data mode, but the document type, skipped entity reference, entity markers, and character data markers are represented by the opaque data type InfoItemNode. dm_node : InfoItem -> Ref(Node) fun dm_node(i) { case i of Ref(PIItem e) => ref(dm_pinode e) Ref(EemItem e) => ref(dm_eemnode e) Ref(CommentItem) => ref(dm_commnode e) Ref(CharDataItem e) => ref(dm_char2string e) r as Ref(DocTypeItem) => ref(infoitemnode r) r as Ref(SkipEntityItem) => ref(infoitemnode r) p as (Ref(EntityMarker), Ref(EntityMarker)) => ref(infoitemnode p) p as (Ref(CDATAMarker), Ref(CDATAMarker)) => ref(infoitemnode p) } The function dm_char2string takes one CDATA item and maps it to a StringVaue with a string vaue of ength one. Note that the StringVaue constructor preserves the origina CDATA item in a InfoItemNode. dm_char2string : CDATAItem -> StringVaue fun dm_char2string(c) { /* convert (psv_cdata_code c) to string of ength 1 */ stringvaue(code2string(psv_cdata_code c), Ref(Def_string), [infoitemnode (ref c)]) } The function dm_coapse_strings synthesizes a singe string vaue from mutipe CDATA items. It does this by coapsing one or more consecutive StringVaues in its argument ist, each of which must have the simpe schema type string, into one StringVaue whose content is the concatenation of the vaues of the consecutive StringVaues. A other node vaues are returned unchanged. dm_coapse_strings : [ Ref(Node) ] -> [ Ref(Node) ] fun dm_coapse_strings(nodeist) { case nodeist of : [] => return [] [ n ] => return [ n ] h1 as Ref(StringVaue(s1, Ref(Def_string), i1)) :: t1 => { case t1 of : [] => return [ h1 ]

20 } } /* Coapse two consecutive strings and appy dm_coapse_strings recursivey */ Ref(StringVaue(s2, Ref(Def_string), i2)) :: t2 => return dm_coapse_strings( ref(stringvaue(concat_string(s1, s2), Ref(Def_string), concat_ist(i1, i2))) :: t2) h :: t => return (h :: (dm_coapse_strings t)) A.5 Attribute Items The foowing accessors are defined for attribute information items: /* core */ psv_attr_chidren : AttrItem -> [ Ref(CDATAItem) ] psv_attr_uri : AttrItem -> urireference psv_attr_oca_name : AttrItem -> string psv_attr_owner_eem : AttrItem -> Ref(EemItem) /* Infoset item for schema type */ psv_attr_schema_type : AttrItem -> Ref(EemItem) /* periphera */ psv_attr_type : AttrItem -> string psv_attr_spec_fag : AttrItem -> SpecifiedFag psv_attr_defaut : AttrItem -> [ Ref(CDATAItem) ] psv_attr_start_entity : AttrItem -> Ref(EntityMarker) psv_attr_end_entity : AttrItem -> Ref(EntityMarker) The function dm_attrnode maps an AttrItem to an AttrNode: dm_attrnode : AttrItem -> AttrNode fun dm_attrnode(a) { name = qnamevaue(psv_attr_uri a, psv_attr_oca_name a, ref( Def_QName)) /* An attribute vaue shoud be one string */ vaue = head(dm_coapse_strings(map_ist dm_node (psv_attr_chidren a))) type = dm_schema_type(psv_attr_schema_type a) /* convert vaue to appropriate type */ return attrnode(name, (dm_coerce_string type vaue)) } A.6 Namespace Items The foowing accessors are defined for namespaces: /* core */ psv_ns_prefix : NSItem -> string psv_ns_uri : NSItem -> urireference psv_ns_vaue : NSItem -> [ Ref(CDATAItem) Ref(EntityMarker) ] psv_ns_owner_eem : NSItem -> Ref(EemItem) The function dm_nsnode maps an NSItem to an NSNode: dm_nsnode : NSItem -> NSNode fun dm_nsnode(i) { /* what happens to NS node s CDATA chidren? */

21 } return nsnode(stringvaue(psv_ns_prefix i, ref(def_string), []), urirefvaue(psv_ns_uri i, ref( Def_uriReference)) A.7 Processing Instruction Items The foowing accessors are defined on processing-instruction information items: /* core */ psv_pi_target psv_pi_vaue psv_pi_base_uri psv_pi_parent : PIItem -> string : PIItem -> string : PIItem -> urireference : PIItem -> (Ref(EemItem) Ref(DocItem) Ref(DocTypeItem)) The function dm_pinode maps an PIItem to an PINode: dm_pinode : PIItem -> PINode fun dm_pinode(i) { return pinode(stringvaue(psv_pi_target i, ref(def_ncname), []), stringvaue(psv_pi_vaue i, ref(def_string), [])) } A.8 Comment Items The foowing accessor is defined on comment information items: /* core */ psv_comm_vaue psv_comm_parent : CommentItem -> string : CommentItem -> (Ref(EemItem) Ref(DocItem) Ref(DocTypeItem)) The function dm_commnode maps an CommentItem to an CommentNode: dm_commnode : CommentItem -> CommentNode fun dm_commnode(i) { return commnode(stringvaue(psv_comm_vaue i, ref(def_string), [])) } A.9 Other Information Items The data mode represents document type, skipped entity reference, entity markers, and character data markers as instances of the opaque data type InfoItemNode. For competeness, the foowing accessors are defined for these information items. /* Skip Entity Item : core */ psv_skip_entity_item : SkipEntityItem -> string psv_skip_entity_ref : SkipEntityItem -> Ref(EntityItem) psv_skip_entity_parent : SkipEntityItem -> Ref(EemItem) /* CDATA Item : core */ psv_cdata_code : CDATAItem -> Code psv_cdata_parent : CDATAItem -> Ref(EemItem) /* CDATA Item : periphera */ psv_cdata_whitespace : CDATAItem -> booean

22 psv_cdata_predefined : CDATAItem -> booean /* Document Type Item : periphera */ psv_doctype_entity : DocTypeItem -> Ref(EntityItem) psv_doctype_chidren : DocTypeItem -> [ Ref(CommentItem) Ref(PIItem) ] psv_doctype_parent : DocTypeItem -> Ref(DocItem) /* Entity Item : core */ psv_entity_name : EntityItem -> string psv_entity_sysid : EntityItem -> string psv_entity_pubid : EntityItem -> string psv_entity_notat : EntityItem -> Ref(NotationItem) psv_entity_base_uri : EntityItem -> urireference /* Entity Item : periphera */ psv_entity_type : EntityItem -> string psv_entity_content : EntityItem -> string psv_entity_encoding : EntityItem -> string psv_entity_standaone: EntityItem -> string /* "yes", "no", "notpresent" */ /* Entity Marker : core */ psv_entity_marker_entity : EntityMarker -> Ref(EntityItem) psv_entity_marker_parent : DocTypeItem -> (Ref(EemItem) Ref(AttrItem) Ref(NSItem)) /* Notation Item : core */ psv_notation_name : NotationItem -> string psv_notation_sysid : NotationItem -> string psv_notation_pubid : NotationItem -> string psv_notation_base_uri: NotationItem -> urireference /* CDATA Marker : core */ psv_cdata_marker_parent : CDataMarker -> (Ref(EemItem) Ref(AttrItem) Ref(NSItem)) B Candidate Operators for XML Query Agebra There is a cose correspondence between the data mode and the agebraic operations that are appied to instances of the data mode. In this appendix, we identify those agebraic operators that are candidate operators for the agebra. B.1 Equaity Operators An agebra typicay defines at east one equaity operator for a types in the data mode. We assume the agebra incudes two equaity operators: node_equa and ref_equa, which define equaity on node vaues and on node references. We assume that these operators are provided by the data-mode impementation and conform to the constraints specified in Constraints on the Data Mode. The agebra may define other equaity operators, for exampe, that perform coercions between vaues of different types. B.2 Seriaization Operators In the XPath data mode, every kind of node has an associated string vaue, i.e., a string seriaization of the node s vaue. The data mode aready provides an operator for seriaizing a VaueNode as a string. The agebra aso may incude one or more operators to seriaize a Node as a string:

23 seriaize : Node -> StringVaue One seriaization operator may emit a node vaue in Canonica XML. Other operators may choose other seriaizations. B.3 Order Operators Given an instance of the data mode, an ordering reation on its nodes can be defined. For exampe, document order, i.e., the absoute order of nodes in an input document, is a property that a user of the XML Query Language may want to query. Given a singe input document, a goba, tota order can be defined on nodes. In genera, however, it may not be possibe to define a goba order, for exampe when a data mode instance contains nodes from mutipe input documents. Therefore, it may be usefu and necessary to have mutipe ordering reations, e.g., one that is goba and one that is partia: gobaorder : (Instance, Node) -> IntegerVaue partiaorder : (Instance, Node) -> IntegerVaue Order operators must be defined over a particuar instance of the data mode. The functions return an integer order vaue given an instance of the data mode and a node contained in that instance. B.4 Accessors for Reference Vaues Athough reference vaues are often contained in attribute nodes, they typicay represent eement-to-eement reationships. For convenience, the agebra may define additiona accessor functions that produce the references associated with a particuar eement. For exampe, the idrefs function takes an EemNode and returns a ist of references to eement nodes that are referenced by IDREF vaues in the eement s attribute and chidren components; this accessor is defined in terms of existing accessors: idrefs : EemNode -> [ Ref(EemNode) ] fun idrefs(n) { concat_ist( fat_ist [ referent(v) a <- ist(attributes(n)), v = vaue(a), isidrefvaue(v) ], fat_ist [ referent(c) c <- chidren(n), isidrefvaue(c) ]) ) } The function is defined using a ist comprehension, which is based on a famiiar notation for sets. The second expression above: [ referent(c) c <- chidren(n), isidrefvaue(c) ] is read as foows: return the ist of the referent vaues of each node c such that c is a chid of n and c is a IDREFVaue. Since referent produces a ist, the resut of this expression is a ist of ists: fat_ist takes a ist of ists and returns the fattened ist, and concat_ist concatenates the two ists into one. The attributes accessor returns a set, not a ist, so the ist function converts

24 (non-deterministicay) a set to a ist. The inks accessor is anaogous to idrefs, but returns non-nu URI vaues that occur in the eement s attributes and chidren components; it is defined as: inks : EemNode -> [ Ref(EemNode) ] fun inks(n) { concat_ist( fat_ist [ referent(v) a <- ist(attributes(n)), v = vaue(a), isurirefvaue(v), not( referent(v) = NaR) ], fat_ist [ referent(v) c <- chidren(n), isurirefvaue(c), not(referent(c) = NaR)]) }

Solutions to the Final Exam

Solutions to the Final Exam CS/Math 24: Intro to Discrete Math 5//2 Instructor: Dieter van Mekebeek Soutions to the Fina Exam Probem Let D be the set of a peope. From the definition of R we see that (x, y) R if and ony if x is a

More information

Relational Model. Lecture #6 Autumn, Fall, 2001, LRX

Relational Model. Lecture #6 Autumn, Fall, 2001, LRX Reationa Mode Lecture #6 Autumn, 2001 #06 Reationa Mode HUST,Wuhan,China 121 Reationa Mode Tabe = reation. Coumn headers = attributes. Row = tupe Reation schema = name(attributes). Exampe: Beers(name,

More information

file://j:\macmillancomputerpublishing\chapters\in073.html 3/22/01

file://j:\macmillancomputerpublishing\chapters\in073.html 3/22/01 Page 1 of 15 Chapter 9 Chapter 9: Deveoping the Logica Data Mode The information requirements and business rues provide the information to produce the entities, attributes, and reationships in ogica mode.

More information

Straight-line code (or IPO: Input-Process-Output) If/else & switch. Relational Expressions. Decisions. Sections 4.1-6, , 4.

Straight-line code (or IPO: Input-Process-Output) If/else & switch. Relational Expressions. Decisions. Sections 4.1-6, , 4. If/ese & switch Unit 3 Sections 4.1-6, 4.8-12, 4.14-15 CS 1428 Spring 2018 Ji Seaman Straight-ine code (or IPO: Input-Process-Output) So far a of our programs have foowed this basic format: Input some

More information

RDF Objects 1. Alex Barnell Information Infrastructure Laboratory HP Laboratories Bristol HPL November 27 th, 2002*

RDF Objects 1. Alex Barnell Information Infrastructure Laboratory HP Laboratories Bristol HPL November 27 th, 2002* RDF Objects 1 Aex Barne Information Infrastructure Laboratory HP Laboratories Bristo HPL-2002-315 November 27 th, 2002* E-mai: Andy_Seaborne@hp.hp.com RDF, semantic web, ontoogy, object-oriented datastructures

More information

Outerjoins, Constraints, Triggers

Outerjoins, Constraints, Triggers Outerjoins, Constraints, Triggers Lecture #13 Autumn, 2001 Fa, 2001, LRX #13 Outerjoins, Constraints, Triggers HUST,Wuhan,China 358 Outerjoin R S = R S with danging tupes padded with nus and incuded in

More information

Extracting semistructured data from the Web: An XQuery Based Approach

Extracting semistructured data from the Web: An XQuery Based Approach EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. Extracting semistructured data from the Web: An XQuery Based Approach Gies Nachouki Université de Nantes - Facuté des Sciences, IRIN, 2, rue de a Houssinière,

More information

l Tree: set of nodes and directed edges l Parent: source node of directed edge l Child: terminal node of directed edge

l Tree: set of nodes and directed edges l Parent: source node of directed edge l Child: terminal node of directed edge Trees & Heaps Week 12 Gaddis: 20 Weiss: 21.1-3 CS 5301 Fa 2016 Ji Seaman 1 Tree: non-recursive definition Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every node

More information

Space-Time Trade-offs.

Space-Time Trade-offs. Space-Time Trade-offs. Chethan Kamath 03.07.2017 1 Motivation An important question in the study of computation is how to best use the registers in a CPU. In most cases, the amount of registers avaiabe

More information

Functions. 6.1 Modular Programming. 6.2 Defining and Calling Functions. Gaddis: 6.1-5,7-10,13,15-16 and 7.7

Functions. 6.1 Modular Programming. 6.2 Defining and Calling Functions. Gaddis: 6.1-5,7-10,13,15-16 and 7.7 Functions Unit 6 Gaddis: 6.1-5,7-10,13,15-16 and 7.7 CS 1428 Spring 2018 Ji Seaman 6.1 Moduar Programming Moduar programming: breaking a program up into smaer, manageabe components (modues) Function: a

More information

XML Query Requirements

XML Query Requirements XML Query Requirements Page 1 of 10 XML Query Requirements W3C Working Draft 15 February 2001 This version: http://www.w3.org/tr/2001/wd-xmlquery-req-20010215 Latest version: http://www.w3.org/tr/xmlquery-req

More information

Welcome - CSC 301. CSC 301- Foundations of Programming Languages

Welcome - CSC 301. CSC 301- Foundations of Programming Languages Wecome - CSC 301 CSC 301- Foundations of Programming Languages Instructor: Dr. Lutz Hame Emai: hame@cs.uri.edu Office: Tyer, Rm 251 Office Hours: TBA TA: TBA Assignments Assignment #0: Downoad & Read Syabus

More information

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program?

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program? Intro to Programming & C++ Unit 1 Sections 1.1-3 and 2.1-10, 2.12-13, 2.15-17 CS 1428 Spring 2018 Ji Seaman 1.1 Why Program? Computer programmabe machine designed to foow instructions Program a set of

More information

XML Schema Part 0: Primer

XML Schema Part 0: Primer XML Schema Part 0: Primer W3C Recommendation, 2 May 2001 This version: http://www.w3.org/tr/2001/rec-xmschema-0-20010502/ Latest version: http://www.w3.org/tr/xmschema-0/ Previous version: http://www.w3.org/tr/2001/pr-xmschema-0-20010330/

More information

More Relation Model: Functional Dependencies

More Relation Model: Functional Dependencies More Reation Mode: Functiona Dependencies Lecture #7 Autumn, 2001 Fa, 2001, LRX #07 More Reation Mode: Functiona Dependencies HUST,Wuhan,China 152 Functiona Dependencies X -> A = assertion about a reation

More information

3GPP TS V7.1.0 ( )

3GPP TS V7.1.0 ( ) TS 29.199-7 V7.1.0 (2006-12) Technica Specification 3rd Generation Partnership Project; Technica Specification Group Core Network and Terminas; Open Service Access (OSA); Paray X Web Services; Part 7:

More information

3.1 The cin Object. Expressions & I/O. Console Input. Example program using cin. Unit 2. Sections 2.14, , 5.1, CS 1428 Spring 2018

3.1 The cin Object. Expressions & I/O. Console Input. Example program using cin. Unit 2. Sections 2.14, , 5.1, CS 1428 Spring 2018 Expressions & I/O Unit 2 Sections 2.14, 3.1-10, 5.1, 5.11 CS 1428 Spring 2018 Ji Seaman 1 3.1 The cin Object cin: short for consoe input a stream object: represents the contents of the screen that are

More information

XML Information Set. Working Draft of May 17, 1999

XML Information Set. Working Draft of May 17, 1999 XML Information Set Working Draft of May 17, 1999 This version: http://www.w3.org/tr/1999/wd-xml-infoset-19990517 Latest version: http://www.w3.org/tr/xml-infoset Editors: John Cowan David Megginson Copyright

More information

Nearest Neighbor Learning

Nearest Neighbor Learning Nearest Neighbor Learning Cassify based on oca simiarity Ranges from simpe nearest neighbor to case-based and anaogica reasoning Use oca information near the current query instance to decide the cassification

More information

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components Illustrated

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components Illustrated Intro to Programming & C++ Unit 1 Sections 1.1-3 and 2.1-10, 2.12-13, 2.15-17 CS 1428 Fa 2017 Ji Seaman 1.1 Why Program? Computer programmabe machine designed to foow instructions Program instructions

More information

Dynamic Symbolic Execution of Distributed Concurrent Objects

Dynamic Symbolic Execution of Distributed Concurrent Objects Dynamic Symboic Execution of Distributed Concurrent Objects Andreas Griesmayer 1, Bernhard Aichernig 1,2, Einar Broch Johnsen 3, and Rudof Schatte 1,2 1 Internationa Institute for Software Technoogy, United

More information

Language Identification for Texts Written in Transliteration

Language Identification for Texts Written in Transliteration Language Identification for Texts Written in Transiteration Andrey Chepovskiy, Sergey Gusev, Margarita Kurbatova Higher Schoo of Economics, Data Anaysis and Artificia Inteigence Department, Pokrovskiy

More information

As Michi Henning and Steve Vinoski showed 1, calling a remote

As Michi Henning and Steve Vinoski showed 1, calling a remote Reducing CORBA Ca Latency by Caching and Prefetching Bernd Brügge and Christoph Vismeier Technische Universität München Method ca atency is a major probem in approaches based on object-oriented middeware

More information

Distance Weighted Discrimination and Second Order Cone Programming

Distance Weighted Discrimination and Second Order Cone Programming Distance Weighted Discrimination and Second Order Cone Programming Hanwen Huang, Xiaosun Lu, Yufeng Liu, J. S. Marron, Perry Haaand Apri 3, 2012 1 Introduction This vignette demonstrates the utiity and

More information

DETERMINING INTUITIONISTIC FUZZY DEGREE OF OVERLAPPING OF COMPUTATION AND COMMUNICATION IN PARALLEL APPLICATIONS USING GENERALIZED NETS

DETERMINING INTUITIONISTIC FUZZY DEGREE OF OVERLAPPING OF COMPUTATION AND COMMUNICATION IN PARALLEL APPLICATIONS USING GENERALIZED NETS DETERMINING INTUITIONISTIC FUZZY DEGREE OF OVERLAPPING OF COMPUTATION AND COMMUNICATION IN PARALLEL APPLICATIONS USING GENERALIZED NETS Pave Tchesmedjiev, Peter Vassiev Centre for Biomedica Engineering,

More information

Proceedings of the International Conference on Systolic Arrays, San Diego, California, U.S.A., May 25-27, 1988 AN EFFICIENT ASYNCHRONOUS MULTIPLIER!

Proceedings of the International Conference on Systolic Arrays, San Diego, California, U.S.A., May 25-27, 1988 AN EFFICIENT ASYNCHRONOUS MULTIPLIER! [1,2] have, in theory, revoutionized cryptography. Unfortunatey, athough offer many advantages over conventiona and authentication), such cock synchronization in this appication due to the arge operand

More information

index.pdf March 17,

index.pdf March 17, index.pdf March 17, 2013 1 ITI 1121. Introduction to omputing II Marce Turcotte Schoo of Eectrica Engineering and omputer Science Linked List (Part 2) Tai pointer ouby inked ist ummy node Version of March

More information

Automatic Program Inversion using Symbolic Transducers

Automatic Program Inversion using Symbolic Transducers Automatic Program Inversion using Symboic Transducers Qinheping Hu University of Wisconsin-Madison qhu8@wisc.edu Loris D Antoni University of Wisconsin-Madison oris@cs.wisc.edu Abstract We propose a fuy-automated

More information

An Introduction to Design Patterns

An Introduction to Design Patterns An Introduction to Design Patterns 1 Definitions A pattern is a recurring soution to a standard probem, in a context. Christopher Aexander, a professor of architecture Why woud what a prof of architecture

More information

A Petrel Plugin for Surface Modeling

A Petrel Plugin for Surface Modeling A Petre Pugin for Surface Modeing R. M. Hassanpour, S. H. Derakhshan and C. V. Deutsch Structure and thickness uncertainty are important components of any uncertainty study. The exact ocations of the geoogica

More information

Data Management Updates

Data Management Updates Data Management Updates Jenny Darcy Data Management Aiance CRP Meeting, Thursday, November 1st, 2018 Presentation Objectives New staff Update on Ingres (JCCS) conversion project Fina IRB cosure at study

More information

A METHOD FOR GRIDLESS ROUTING OF PRINTED CIRCUIT BOARDS. A. C. Finch, K. J. Mackenzie, G. J. Balsdon, G. Symonds

A METHOD FOR GRIDLESS ROUTING OF PRINTED CIRCUIT BOARDS. A. C. Finch, K. J. Mackenzie, G. J. Balsdon, G. Symonds A METHOD FOR GRIDLESS ROUTING OF PRINTED CIRCUIT BOARDS A C Finch K J Mackenzie G J Basdon G Symonds Raca-Redac Ltd Newtown Tewkesbury Gos Engand ABSTRACT The introduction of fine-ine technoogies to printed

More information

Lecture outline Graphics and Interaction Scan Converting Polygons and Lines. Inside or outside a polygon? Scan conversion.

Lecture outline Graphics and Interaction Scan Converting Polygons and Lines. Inside or outside a polygon? Scan conversion. Lecture outine 433-324 Graphics and Interaction Scan Converting Poygons and Lines Department of Computer Science and Software Engineering The Introduction Scan conversion Scan-ine agorithm Edge coherence

More information

l A program is a set of instructions that the l It must be translated l Variable: portion of memory that stores a value char

l A program is a set of instructions that the l It must be translated l Variable: portion of memory that stores a value char Week 1 Operators, Data Types & I/O Gaddis: Chapters 1, 2, 3 CS 5301 Fa 2018 Ji Seaman Programming A program is a set of instructions that the computer foows to perform a task It must be transated from

More information

Readme ORACLE HYPERION PROFITABILITY AND COST MANAGEMENT

Readme ORACLE HYPERION PROFITABILITY AND COST MANAGEMENT ORACLE HYPERION PROFITABILITY AND COST MANAGEMENT Reease 11.1.2.4.000 Readme CONTENTS IN BRIEF Purpose... 2 New Features in This Reease... 2 Instaation Information... 2 Supported Patforms... 2 Supported

More information

Load Balancing by MPLS in Differentiated Services Networks

Load Balancing by MPLS in Differentiated Services Networks Load Baancing by MPLS in Differentiated Services Networks Riikka Susitaiva, Jorma Virtamo, and Samui Aato Networking Laboratory, Hesinki University of Technoogy P.O.Box 3000, FIN-02015 HUT, Finand {riikka.susitaiva,

More information

Navigating and searching theweb

Navigating and searching theweb Navigating and searching theweb Contents Introduction 3 1 The Word Wide Web 3 2 Navigating the web 4 3 Hyperinks 5 4 Searching the web 7 5 Improving your searches 8 6 Activities 9 6.1 Navigating the web

More information

Neural Network Enhancement of the Los Alamos Force Deployment Estimator

Neural Network Enhancement of the Los Alamos Force Deployment Estimator Missouri University of Science and Technoogy Schoars' Mine Eectrica and Computer Engineering Facuty Research & Creative Works Eectrica and Computer Engineering 1-1-1994 Neura Network Enhancement of the

More information

BEA WebLogic Server. Release Notes for WebLogic Tuxedo Connector 1.0

BEA WebLogic Server. Release Notes for WebLogic Tuxedo Connector 1.0 BEA WebLogic Server Reease Notes for WebLogic Tuxedo Connector 1.0 BEA WebLogic Tuxedo Connector Reease 1.0 Document Date: June 29, 2001 Copyright Copyright 2001 BEA Systems, Inc. A Rights Reserved. Restricted

More information

Register Allocation. Consider the following assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x

Register Allocation. Consider the following assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x Register Aocation Consider the foowing assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x Assume that two registers are avaiabe. Starting from the eft a compier woud generate

More information

understood as processors that match AST patterns of the source language and translate them into patterns in the target language.

understood as processors that match AST patterns of the source language and translate them into patterns in the target language. A Basic Compier At a fundamenta eve compiers can be understood as processors that match AST patterns of the source anguage and transate them into patterns in the target anguage. Here we wi ook at a basic

More information

Alpha labelings of straight simple polyominal caterpillars

Alpha labelings of straight simple polyominal caterpillars Apha abeings of straight simpe poyomina caterpiars Daibor Froncek, O Nei Kingston, Kye Vezina Department of Mathematics and Statistics University of Minnesota Duuth University Drive Duuth, MN 82-3, U.S.A.

More information

l A set is a collection of objects of the same l {6,9,11,-5} and {11,9,6,-5} are equivalent. l There is no first element, and no successor of 9.

l A set is a collection of objects of the same l {6,9,11,-5} and {11,9,6,-5} are equivalent. l There is no first element, and no successor of 9. Sets & Hash Tabes Week 13 Weiss: chapter 20 CS 5301 Spring 2018 What are sets? A set is a coection of objects of the same type that has the foowing two properties: - there are no dupicates in the coection

More information

Lecture Notes for Chapter 4 Part III. Introduction to Data Mining

Lecture Notes for Chapter 4 Part III. Introduction to Data Mining Data Mining Cassification: Basic Concepts, Decision Trees, and Mode Evauation Lecture Notes for Chapter 4 Part III Introduction to Data Mining by Tan, Steinbach, Kumar Adapted by Qiang Yang (2010) Tan,Steinbach,

More information

The Big Picture WELCOME TO ESIGNAL

The Big Picture WELCOME TO ESIGNAL 2 The Big Picture HERE S SOME GOOD NEWS. You don t have to be a rocket scientist to harness the power of esigna. That s exciting because we re certain that most of you view your PC and esigna as toos for

More information

Arrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-4,6

Arrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-4,6 Arrays Unit 5 Gaddis: 7.1-4,6 CS 1428 Fa 2017 Ji Seaman Array Data Type Array: a variabe that contains mutipe vaues of the same type. Vaues are stored consecutivey in memory. An array variabe definition

More information

Arrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-3,5

Arrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-3,5 Arrays Unit 5 Gaddis: 7.1-3,5 CS 1428 Spring 2018 Ji Seaman Array Data Type Array: a variabe that contains mutipe vaues of the same type. Vaues are stored consecutivey in memory. An array variabe decaration

More information

May 13, Mark Lutz Boulder, Colorado (303) [work] (303) [home]

May 13, Mark Lutz Boulder, Colorado (303) [work] (303) [home] "Using Python": a Book Preview May 13, 1995 Mark Lutz Bouder, Coorado utz@kapre.com (303) 546-8848 [work] (303) 684-9565 [home] Introduction. This paper is a brief overview of the upcoming Python O'Reiy

More information

Tutorial 3 Concepts for A1

Tutorial 3 Concepts for A1 CPSC 231 Introduction to Computer Science for Computer Science Majors I Tutoria 3 Concepts for A1 DANNY FISHER dgfisher@ucagary.ca September 23, 2014 Agenda script command more detais Submitting using

More information

Extended Node-Arc Formulation for the K-Edge-Disjoint Hop-Constrained Network Design Problem

Extended Node-Arc Formulation for the K-Edge-Disjoint Hop-Constrained Network Design Problem Extended Node-Arc Formuation for the K-Edge-Disjoint Hop-Constrained Network Design Probem Quentin Botton Université cathoique de Louvain, Louvain Schoo of Management, (Begique) botton@poms.uc.ac.be Bernard

More information

Infinity Connect Web App Customization Guide

Infinity Connect Web App Customization Guide Infinity Connect Web App Customization Guide Contents Introduction 1 Hosting the customized Web App 2 Customizing the appication 3 More information 8 Introduction The Infinity Connect Web App is incuded

More information

Special Edition Using Microsoft Excel Selecting and Naming Cells and Ranges

Special Edition Using Microsoft Excel Selecting and Naming Cells and Ranges Specia Edition Using Microsoft Exce 2000 - Lesson 3 - Seecting and Naming Ces and.. Page 1 of 8 [Figures are not incuded in this sampe chapter] Specia Edition Using Microsoft Exce 2000-3 - Seecting and

More information

A SIMPLE APPROACH TO SPECIFYING CONCURRENT SYSTEMS

A SIMPLE APPROACH TO SPECIFYING CONCURRENT SYSTEMS Artificia Inteigence and Language Processing ]acques Cohen Editor A SIMPLE APPROACH TO SPECIFYING CONCURRENT SYSTEMS LESLIE LAMPORT Over the past few years, I have deveoped an approach to the forma specification

More information

Realization of GGF DAIS Data Service Interface for Grid Access to Data Streams

Realization of GGF DAIS Data Service Interface for Grid Access to Data Streams Reaization of GGF DAIS Data Interface for Grid Access to Data Streams Ying Liu, Beth Pae, Nithya Vijayakumar Indiana University Boomington, IN IU-CS TR 613 ABSTRACT As the computation power of hardware

More information

Web Services Description Language (WSDL) Version 1.2

Web Services Description Language (WSDL) Version 1.2 Web Services Description Language (WSDL) Version 1.2 Web Services Description Language (WSDL) Version 1.2 W3C Working Draft 24 January 2003 This version: http://www.w3.org/tr/2003/wd-wsdl12-20030124 Latest

More information

A Method for Calculating Term Similarity on Large Document Collections

A Method for Calculating Term Similarity on Large Document Collections $ A Method for Cacuating Term Simiarity on Large Document Coections Wofgang W Bein Schoo of Computer Science University of Nevada Las Vegas, NV 915-019 bein@csunvedu Jeffrey S Coombs and Kazem Taghva Information

More information

Chapter 5: Transactions in Federated Databases

Chapter 5: Transactions in Federated Databases Federated Databases Chapter 5: in Federated Databases Saes R&D Human Resources Kemens Böhm Distributed Data Management: in Federated Databases 1 Kemens Böhm Distributed Data Management: in Federated Databases

More information

OF SCIENTIFIC DATABASES

OF SCIENTIFIC DATABASES CHAR4mCS OF SCIENTIFIC DATABASES Arie Shoshani, Frank Oken, and Harry K.T. Wong Computer Science Research Department University of Caifornia, Lawrence Berkeey Laboratory Berkeey, Caifornia 94720 The purpose

More information

From i* to istar 2.0: An Evolving Social Modelling Language

From i* to istar 2.0: An Evolving Social Modelling Language From i* to istar 2.0: An Evoving Socia Modeing Language Lin Liu 1 Schoo of Software, Tsinghua University, Beijing, 100084, China iniu@tsinghua.edu.cn Abstract. Conceptua Modeing, as a thought too, heps

More information

Hour 3: The Network Access Layer Page 1 of 10. Discuss how TCP/IP s Network Access layer relates to the OSI networking model

Hour 3: The Network Access Layer Page 1 of 10. Discuss how TCP/IP s Network Access layer relates to the OSI networking model Hour 3: The Network Access Layer Page 1 of 10 Hour 3: The Network Access Layer At the base of the TCP/IP protoco stack is the Network Access ayer, the coection of services and specifications that provide

More information

SQL3 Objects. Lecture #20 Autumn, Fall, 2001, LRX

SQL3 Objects. Lecture #20 Autumn, Fall, 2001, LRX SQL3 Objects Lecture #20 Autumn, 2001 #20 SQL3 Objects HUST,Wuhan,China 588 Objects in SQL3 OQL extends C++ with database concepts, whie SQL3 extends SQL with OO concepts. #20 SQL3 Objects HUST,Wuhan,China

More information

Control Plane Based on SCIM API

Control Plane Based on SCIM API Contro Pane Based on SCIM API draft-hunt-secevents-stream-mgmt-api Phi Hunt IETF100, Singapore November, 2017 Why not re-use? Why SCIM? SCIM2 is a provisioning protoco Based on JSON documents and RESTfu

More information

A Fast Block Matching Algorithm Based on the Winner-Update Strategy

A Fast Block Matching Algorithm Based on the Winner-Update Strategy In Proceedings of the Fourth Asian Conference on Computer Vision, Taipei, Taiwan, Jan. 000, Voume, pages 977 98 A Fast Bock Matching Agorithm Based on the Winner-Update Strategy Yong-Sheng Chenyz Yi-Ping

More information

A GENERAL PURPOSE FiYl=ERTEXT A6STRACT MACHINE

A GENERAL PURPOSE FiYl=ERTEXT A6STRACT MACHINE A GENERAL PURPOSE FiY=ERTEXT A6STRACT MACHNE BRAD CAMPBELL and JOSEPH M. GOODMAN The HAM is a transaction-based server for a hypertext storage system. The seruer is designed to hande mutipe uses in a networked

More information

DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases*

DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases* DataGuides: Enabing Query Formuation and Optimization in Semistructured Databases* Roy Godman Stanford University royg@cs.stanford.edu Jennifer Widom Stanford University widom@cs.stanford.edu Abstract

More information

Shape Analysis with Structural Invariant Checkers

Shape Analysis with Structural Invariant Checkers Shape Anaysis with Structura Invariant Checkers Bor-Yuh Evan Chang Xavier Riva George C. Necua University of Caifornia, Berkeey SAS 2007 Exampe: Typestate with shape anaysis Concrete Exampe Abstraction

More information

Supporting Top-k Join Queries in Relational Databases

Supporting Top-k Join Queries in Relational Databases Supporting Top-k Join Queries in Reationa Databases Ihab F. Iyas Waid G. Aref Ahmed K. Emagarmid Department of Computer Sciences, Purdue University West Lafayette IN 47907-1398 {iyas,aref,ake}@cs.purdue.edu

More information

International Laboratory Accreditation Cooperation. The ILAC Mutual Recognition Arrangement

International Laboratory Accreditation Cooperation. The ILAC Mutual Recognition Arrangement Internationa Laboratory Accreditation Cooperation The ILAC Mutua Recognition Arrangement Enhancing the acceptance of products and services across nationa borders Removing barriers to goba trade Accreditation

More information

arxiv: v1 [math.qa] 31 Aug 2018

arxiv: v1 [math.qa] 31 Aug 2018 arxiv:808.0575v [math.qa] 3 Aug 208 A new approach to the SL n spider Stephen Bigeow September 3, 208 Abstract The SL n spider gives adiagrammatic way toencode therepresentation category of the quantum

More information

Further Concepts in Geometry

Further Concepts in Geometry ppendix F Further oncepts in Geometry F. Exporing ongruence and Simiarity Identifying ongruent Figures Identifying Simiar Figures Reading and Using Definitions ongruent Trianges assifying Trianges Identifying

More information

AN EVOLUTIONARY APPROACH TO OPTIMIZATION OF A LAYOUT CHART

AN EVOLUTIONARY APPROACH TO OPTIMIZATION OF A LAYOUT CHART 13 AN EVOLUTIONARY APPROACH TO OPTIMIZATION OF A LAYOUT CHART Eva Vona University of Ostrava, 30th dubna st. 22, Ostrava, Czech Repubic e-mai: Eva.Vona@osu.cz Abstract: This artice presents the use of

More information

XML Query (XQuery) Requirements

XML Query (XQuery) Requirements Página 1 de 15 XML Query (XQuery) Requirements W3C Working Draft 12 November 2003 This version: http://www.w3.org/tr/2003/wd-xquery-requirements-20031112 Latest version: http://www.w3.org/tr/xquery-requirements

More information

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11 !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... 7:4 @import Directive... 9:11 A Absolute Units of Length... 9:14 Addressing the First Line... 9:6 Assigning Meaning to XML Tags...

More information

O R A C L E H Y P E R I O N E N T E R P R I S E P E R F O R M A N C E M A N A G E M E N T S Y S T E M

O R A C L E H Y P E R I O N E N T E R P R I S E P E R F O R M A N C E M A N A G E M E N T S Y S T E M O R A C L E H Y P E R I O N E N T E R P R I S E P E R F O R M A N C E M A N A G E M E N T S Y S T E M O R A C L E H Y P E R I O N S T R A T E G I C F I N A N C E, F U S I O N E D I T I O N R E L E A S

More information

Authorization of a QoS Path based on Generic AAA. Leon Gommans, Cees de Laat, Bas van Oudenaarde, Arie Taal

Authorization of a QoS Path based on Generic AAA. Leon Gommans, Cees de Laat, Bas van Oudenaarde, Arie Taal Abstract Authorization of a QoS Path based on Generic Leon Gommans, Cees de Laat, Bas van Oudenaarde, Arie Taa Advanced Internet Research Group, Department of Computer Science, University of Amsterdam.

More information

MCSE Training Guide: Windows Architecture and Memory

MCSE Training Guide: Windows Architecture and Memory MCSE Training Guide: Windows 95 -- Ch 2 -- Architecture and Memory Page 1 of 13 MCSE Training Guide: Windows 95-2 - Architecture and Memory This chapter wi hep you prepare for the exam by covering the

More information

Priority Queueing for Packets with Two Characteristics

Priority Queueing for Packets with Two Characteristics 1 Priority Queueing for Packets with Two Characteristics Pave Chuprikov, Sergey I. Nikoenko, Aex Davydow, Kiri Kogan Abstract Modern network eements are increasingy required to dea with heterogeneous traffic.

More information

PL/SQL, Embedded SQL. Lecture #14 Autumn, Fall, 2001, LRX

PL/SQL, Embedded SQL. Lecture #14 Autumn, Fall, 2001, LRX PL/SQL, Embedded SQL Lecture #14 Autumn, 2001 Fa, 2001, LRX #14 PL/SQL,Embedded SQL HUST,Wuhan,China 402 PL/SQL Found ony in the Orace SQL processor (sqpus). A compromise between competey procedura programming

More information

An Optimizing Compiler

An Optimizing Compiler An Optimizing Compier The big difference between interpreters and compiers is that compiers have the abiity to think about how to transate a source program into target code in the most effective way. Usuay

More information

Chapter 1: Getting Started. You will learn:

Chapter 1: Getting Started. You will learn: Chapter 1: Getting Started SGML and SGML document components. What XML is. XML as compared to SGML and HTML. XML format. XML specifications. XML architecture. Data structure namespaces. Data delivery,

More information

Database Graph Views : A Practical Model to Manage Persistent Graphs1

Database Graph Views : A Practical Model to Manage Persistent Graphs1 Database Graph Views : A Practica Mode to Manage Persistent Graphs1 Aejandro Gutihez TS Phiippe Puchera? Hermaun Steffen $ Jean-Marc Thevenin?t (t) University of Versaies ($) Universidad de a Reptibica

More information

Mobile App Recommendation: Maximize the Total App Downloads

Mobile App Recommendation: Maximize the Total App Downloads Mobie App Recommendation: Maximize the Tota App Downoads Zhuohua Chen Schoo of Economics and Management Tsinghua University chenzhh3.12@sem.tsinghua.edu.cn Yinghui (Catherine) Yang Graduate Schoo of Management

More information

Pattern Matching. a b a c a a b. a b a c a b. a b a c a b

Pattern Matching. a b a c a a b. a b a c a b. a b a c a b Pattern Matching a b a c a a b 1 a b a c a b 4 3 2 a b a c a b Strings A string is a seuence of characters Exampes of strings: n Python program n HTML document n DNA seuence n Digitized image An aphabet

More information

Further Optimization of the Decoding Method for Shortened Binary Cyclic Fire Code

Further Optimization of the Decoding Method for Shortened Binary Cyclic Fire Code Further Optimization of the Decoding Method for Shortened Binary Cycic Fire Code Ch. Nanda Kishore Heosoft (India) Private Limited 8-2-703, Road No-12 Banjara His, Hyderabad, INDIA Phone: +91-040-3378222

More information

arxiv: v1 [cs.db] 30 Nov 2011

arxiv: v1 [cs.db] 30 Nov 2011 Size- Object Summaries for Reationa Keyword Search Georgios J. Fakas, Zhi Cai, Nikos Mamouis Department of Computing and Mathematics Department of Computer Science Manchester Metropoitan University, UK

More information

Holistic Aggregates in a Networked World: Distributed Tracking of Approximate Quantiles

Holistic Aggregates in a Networked World: Distributed Tracking of Approximate Quantiles Hoistic Aggregates in a Networked Word: Distributed Tracking of Approximate Quanties Graham Cormode Be Laboratories cormode@be-abs.com Minos Garofaakis Be Laboratories minos@be-abs.com S. Muthukrishnan

More information

Xisa: Extensible Inductive Shape Analysis

Xisa: Extensible Inductive Shape Analysis Xisa: Extensibe Inductive Shape Anaysis Bor-Yuh Evan Chang U of Coorado, Bouder Xavier Riva INRIA/ENS Paris George C. Necua U of Caifornia, Berkeey Additiona Contributors: Vincent Laviron, James Hoey,

More information

Meeting Exchange 4.1 Service Pack 2 Release Notes for the S6200/S6800 Servers

Meeting Exchange 4.1 Service Pack 2 Release Notes for the S6200/S6800 Servers Meeting Exchange 4.1 Service Pack 2 Reease Notes for the S6200/S6800 Servers The Meeting Exchange S6200/S6800 Media Servers are SIP-based voice and web conferencing soutions that extend Avaya s conferencing

More information

IBC DOCUMENT PROG007. SA/STA SERIES User's Guide V7.0

IBC DOCUMENT PROG007. SA/STA SERIES User's Guide V7.0 IBC DOCUMENT SA/STA SERIES User's Guide V7.0 Page 2 New Features for Version 7.0 Mutipe Schedues This version of the SA/STA firmware supports mutipe schedues for empoyees. The mutipe schedues are impemented

More information

Joint disparity and motion eld estimation in. stereoscopic image sequences. Ioannis Patras, Nikos Alvertos and Georgios Tziritas y.

Joint disparity and motion eld estimation in. stereoscopic image sequences. Ioannis Patras, Nikos Alvertos and Georgios Tziritas y. FORTH-ICS / TR-157 December 1995 Joint disparity and motion ed estimation in stereoscopic image sequences Ioannis Patras, Nikos Avertos and Georgios Tziritas y Abstract This work aims at determining four

More information

Substructure Discovery Using Minimum Description. Length and Background Knowledge. Abstract

Substructure Discovery Using Minimum Description. Length and Background Knowledge. Abstract Journa of Articia Inteigence Research 1 (1994) 231-255 Submitted 12/93; pubished 2/94 Substructure Discovery Using Minimum Description Length and Background Knowedge Diane J. ook Lawrence B. oder Department

More information

Hiding secrete data in compressed images using histogram analysis

Hiding secrete data in compressed images using histogram analysis University of Woongong Research Onine University of Woongong in Dubai - Papers University of Woongong in Dubai 2 iding secrete data in compressed images using histogram anaysis Farhad Keissarian University

More information

Shredding higher-order nested queries

Shredding higher-order nested queries Shredding higher-order nested queries Sam Lindey University of Strathcyde sam.indey@strath.ac.uk James Cheney The University of Edinburgh jcheney@inf.ed.ac.uk Phiip Wader The University of Edinburgh wader@inf.ed.ac.uk

More information

l A set is a collection of objects of the same l {6,9,11,-5} and {11,9,6,-5} are equivalent. l There is no first element, and no successor of 9.

l A set is a collection of objects of the same l {6,9,11,-5} and {11,9,6,-5} are equivalent. l There is no first element, and no successor of 9. Sets & Hash Tabes Week 13 Weiss: chapter 20 CS 5301 Fa 2017 What are sets? A set is a coection of objects of the same type that has the foowing two properties: - there are no dupicates in the coection

More information

(12) United States Patent

(12) United States Patent US006697794B1 (12) United States Patent (10) Patent N0.: Miby (45) Date of Patent: Feb. 24, 2004 (54) PROVDNG DATABASE SYSTEM NATVE 6,285,996 B1 * 9/2001 Jou et a1...... 707/2 OPERATONS FOR USER DEFNED

More information

Avaya one-x Mobile Pre-Installation Checklist

Avaya one-x Mobile Pre-Installation Checklist Avaya one-x Mobie 18-602133 Issue 1 November 2007 Avaya one-x Mobie November 2007 1 00A Rights Reserved. Notice Whie reasonabe efforts were made to ensure that the information in this document was compete

More information

Knowledge-Based Computer Vision

Knowledge-Based Computer Vision Knowedge-Based Computer Vision ntegrated Programming Language and Data Management System Design Andrew M. Goodman, Robert M. Haraick, and Linda G. Shapiro University of Washington T he anguages that come

More information

Sample of a training manual for a software tool

Sample of a training manual for a software tool Sampe of a training manua for a software too We use FogBugz for tracking bugs discovered in RAPPID. I wrote this manua as a training too for instructing the programmers and engineers in the use of FogBugz.

More information

Utility-based Camera Assignment in a Video Network: A Game Theoretic Framework

Utility-based Camera Assignment in a Video Network: A Game Theoretic Framework This artice has been accepted for pubication in a future issue of this journa, but has not been fuy edited. Content may change prior to fina pubication. Y.LI AND B.BHANU CAMERA ASSIGNMENT: A GAME-THEORETIC

More information

On Reasoning about Structural Equality in XML: A Description Logic Approach

On Reasoning about Structural Equality in XML: A Description Logic Approach On Reasoning about Structura Equaity in XML: A Description Logic Approach David Toman and Grant Wedde Schoo of Computer Science, University of Wateroo, Canada {david,gwedde}@uwateroo.ca Abstract. We define

More information