The document provides an overview of XML and its characteristics. It discusses how XML is used to represent semi-structured data in a machine-readable way. It describes some key components of XML, including elements, attributes, and namespaces. It also discusses XML Schema, which improves on DTDs by providing a more robust way to define the structure and constraints of XML documents.
The document discusses the objectives and syllabus of an IT course on Service Oriented Architecture, including learning XML fundamentals, building XML-based applications, understanding SOA principles and web services technologies, and building SOA-based applications; it provides the textbook and reference book details and outlines the topics to be covered in each unit such as XML document structure, building XML applications, SOA, and web services.
This document provides an overview of XML programming and XML documents. It discusses the physical and logical views of an XML document, document structure including the root element, and how XML documents are commonly stored as text files. It also summarizes how an XML parser reads and validates an XML document by checking its syntax and structure. The document then covers various XML components in more detail, such as elements, attributes, character encoding, entities, processing instructions, well-formedness, validation via DTDs, and document modeling.
XML documents can be represented and stored in memory as tree structures using models like DOM and XDM. XPath is an expression language used to navigate and select parts of an XML tree. It allows traversing elements and their attributes, filtering nodes by properties or position, and evaluating paths relative to a context node. While XPath expressions cannot modify the document, they are commonly used with languages like XSLT and XQuery which can transform or extract data from XML trees.
This document discusses the structure and components of an XML document. It explains that an XML document consists of elements, attributes, comments, processing instructions, and a document type declaration. It describes each of these components in detail, including their purpose and general syntax. The document type declaration identifies the document and can reference an internal or external DTD that defines the valid elements and attributes.
This document discusses style sheet languages like CSS that are used to control the presentation of XML documents. CSS allows one to specify things like fonts, colors, spacing etc. for different elements in an XML file. A single XML file can then be formatted in multiple ways just by changing the associated CSS stylesheet without modifying the XML content. The document provides examples of using CSS selectors, rules and properties to style elements in an XML file and controlling presentation aspects like layout of elements on a page. It also discusses how to link the CSS stylesheet to an XML file using processing instructions.
The document discusses XPath, which is a language for finding information in an XML document. It defines XPath syntax using path expressions to select nodes. It describes XPath terminology like nodes, relationships between nodes, and functions. Examples are provided to demonstrate XPath expressions for selecting elements, attributes, and filtering nodes. Predicates are also described for finding specific nodes or values.
XML (eXtensible Markup Language) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is designed to transport and store data with a focus on what data is. XML has several advantages over HTML such as being extensible, content-oriented, and providing a standard data infrastructure and data validation capabilities. XML documents form a tree structure with properly nested elements. XML uses tags to mark elements and attributes to provide additional information about elements.
An attribute declaration specifies attributes for elements in a DTD. It defines the attribute name, data type or permissible values, and required behavior. For example, an attribute may have a default value if not provided, be optional, or require a value. Notations can label non-XML data types and unparsed entities can import binary files. Together DTDs and entities provide a schema to describe document structure and relationships.
The document discusses the objectives and syllabus of an IT course on Service Oriented Architecture, including learning XML fundamentals, building XML-based applications, understanding SOA principles and web services technologies, and building SOA-based applications; it provides the textbook and reference book details and outlines the topics to be covered in each unit such as XML document structure, building XML applications, SOA, and web services.
This document provides an overview of XML programming and XML documents. It discusses the physical and logical views of an XML document, document structure including the root element, and how XML documents are commonly stored as text files. It also summarizes how an XML parser reads and validates an XML document by checking its syntax and structure. The document then covers various XML components in more detail, such as elements, attributes, character encoding, entities, processing instructions, well-formedness, validation via DTDs, and document modeling.
XML documents can be represented and stored in memory as tree structures using models like DOM and XDM. XPath is an expression language used to navigate and select parts of an XML tree. It allows traversing elements and their attributes, filtering nodes by properties or position, and evaluating paths relative to a context node. While XPath expressions cannot modify the document, they are commonly used with languages like XSLT and XQuery which can transform or extract data from XML trees.
This document discusses the structure and components of an XML document. It explains that an XML document consists of elements, attributes, comments, processing instructions, and a document type declaration. It describes each of these components in detail, including their purpose and general syntax. The document type declaration identifies the document and can reference an internal or external DTD that defines the valid elements and attributes.
This document discusses style sheet languages like CSS that are used to control the presentation of XML documents. CSS allows one to specify things like fonts, colors, spacing etc. for different elements in an XML file. A single XML file can then be formatted in multiple ways just by changing the associated CSS stylesheet without modifying the XML content. The document provides examples of using CSS selectors, rules and properties to style elements in an XML file and controlling presentation aspects like layout of elements on a page. It also discusses how to link the CSS stylesheet to an XML file using processing instructions.
The document discusses XPath, which is a language for finding information in an XML document. It defines XPath syntax using path expressions to select nodes. It describes XPath terminology like nodes, relationships between nodes, and functions. Examples are provided to demonstrate XPath expressions for selecting elements, attributes, and filtering nodes. Predicates are also described for finding specific nodes or values.
XML (eXtensible Markup Language) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is designed to transport and store data with a focus on what data is. XML has several advantages over HTML such as being extensible, content-oriented, and providing a standard data infrastructure and data validation capabilities. XML documents form a tree structure with properly nested elements. XML uses tags to mark elements and attributes to provide additional information about elements.
An attribute declaration specifies attributes for elements in a DTD. It defines the attribute name, data type or permissible values, and required behavior. For example, an attribute may have a default value if not provided, be optional, or require a value. Notations can label non-XML data types and unparsed entities can import binary files. Together DTDs and entities provide a schema to describe document structure and relationships.
An XML schema defines the structure and elements of an XML document. It is an XML-based alternative to DTDs that allows defining element types, attributes, data types, defaults and restrictions. Schemas support namespaces, data types, extensibility and are written in XML, allowing the use of XML tools. Complex elements can contain child elements, text or both.
The document discusses XML document structure and XML schema. It provides information on the key components of an XML document including the XML declaration, document type declaration, element data, attribute data, and character data. It then describes XML schema in detail, explaining that it defines the structure of an XML document. Key aspects of XML schema covered include elements, attributes, simple vs complex types, and restrictions.
The document discusses XML schemas, explaining that they define elements, attributes, and data types that can be used in XML documents. It covers creating simple and complex elements, declaring data types, and grouping elements using sequences, groups, and choices. The document also provides examples of how to define attributes and create user-defined data types in an XML schema.
This document provides an overview of XML DTD and Schema. It defines key terms like well-formed, valid, DTD and describes how a DTD is used to define element types and attributes. It also explains different DTD rules like EMPTY, ANY, #PCDATA. The document then covers XML Schema elements, data types, and how to declare elements, attributes and complex/simple types in a schema.
The document discusses the fundamentals of XML including XML document structure, elements, attributes, character data, the XML declaration, document type declaration, and XML content model. It also covers XML rules for structure, namespaces, and the differences between well-formed and valid XML documents.
The document describes what an XML Schema is and its key components and purposes. It defines an XML Schema as describing the structure of an XML document, and that it can define elements, attributes, element sequence and number, data types, and default values. It compares XML Schemas to DTDs, noting schemas are more powerful and support namespaces and data types. The document provides examples of using XML Schema to define simple and complex elements, attributes, and restrictions.
XML is a markup language similar to HTML but designed for carrying data rather than displaying it. It allows users to define their own elements and tags. XML documents use tags to describe and structure information and can be displayed using CSS or transformed using XSL. Key benefits of XML include its ability to describe hierarchical data, separate data from presentation, and enable data sharing across different systems.
XML Schema defines rules for encoding documents in a machine-readable format. It allows data exchange between systems independently of programming languages. XML Schema defines elements, attributes, and data types to structure XML documents. It provides more data typing capabilities than DTDs. Namespaces are used to avoid element name conflicts between different XML vocabularies. User-defined types can restrict built-in types or create new complex types from simple types to structure application-specific data.
This document provides an overview of XML schemas, including:
- The objectives of learning about XML schemas, which include explaining schemas, advantages over DTDs, defining elements, creating simple and complex types, applying restrictions, and creating reusable schemas.
- An introduction to XML schemas, including how schemas address issues with large DTDs and an example of creating a simple schema.
- The advantages of XML schemas over DTDs, such as supporting data types, defining element order, and extending schemas.
- How to define elements and attributes in a schema, including using built-in data types.
- The differences between simple and complex element types and examples of each.
The document discusses schemas and their purpose in specifying the structure and constraints of an XML document. It provides examples of things that cannot be done with DTDs but can be done with schemas, such as constraining text values. The document outlines the components of a schema, including elements, attributes, and data types. It provides an example of defining a schema in IE5 and the steps involved, including declaring element types, specifying content models, and using data types.
XML Schema provides a way to formally define and validate the structure and content of XML documents. It allows defining elements, attributes, and data types, as well as restrictions like length, pattern, and value ranges. DTD is more limited and cannot validate data types. XML Schema is written in XML syntax, uses XML namespaces, and provides stronger typing capabilities compared to DTD. It allows defining simple and complex element types, attributes, and restrictions to precisely describe the expected structure and values within XML documents.
The document defines the XML Information Set, which provides a consistent set of definitions for the information contained in a well-formed XML document. It describes 11 types of information items that comprise the information set, including document, element, attribute, and others. Each information item has defined properties. The information set represents the same information as the tree structure of an XML document.
An Oracle database consists of objects like tables, views, and stored programs owned by user accounts. Users can query and modify database objects using SQL commands, which are divided into DDL commands that define and modify object structures and DML commands that manipulate data. The document outlines how to create user accounts, define tables with fields, constraints, and data types, and use SQL*Plus to issue SQL statements and view metadata in the Oracle data dictionary.
This document provides an overview of Python data structures including lists, tuples, dictionaries, and sets. It discusses common list methods like append(), insert(), remove(), and sort(). It provides examples of using lists as stacks and queues. It also covers list comprehensions, the del statement, tuple packing and unpacking, set operations, looping through dictionaries, and comparing sequences.
Judy Chapman is seeking a position in non-profit administration and development that utilizes her marketing, communication, and management skills. She has 20 years of experience in fundraising and development roles for organizations like Crossroads Safehouse, House of Neighborly Service, McKee Medical Center Foundation, and United Way of Larimer County. Her experience includes marketing, grant writing, donor relations, budget management, and leading capital campaigns that have raised millions of dollars. She also has experience in community leadership positions and developing policies and procedures for non-profits.
This document describes a method for fabricating customized hydrogel contact lenses that can be used for in vivo animal retinal imaging studies. Key points:
1) A flexible method is reported to fabricate hydrogel contact lenses with customized shapes using UV polymerization of a HEMA solution in molds.
2) The fabricated hydrogel has high optical transparency with a refractive index of 1.42-1.45, a Young's modulus of 1.47 MPa, and a contact angle of 40.5° indicating properties suitable for contact lenses.
3) Retinal imaging using OCT in rats wearing the customized hydrogel contact lenses showed comparable image quality to cases without contact lenses, demonstrating the lenses' potential for
Este documento describe varias amenazas a la seguridad de las máquinas, incluyendo gusanos, dialers, pharming y keyloggers. También describe varios tipos de malware como virus, troyanos, spyware, spam, cookies, hoaxes, phishing y adware.
This document summarizes a presentation about relationship marketing and customer relationship management. It defines relationship marketing as a long-term strategy to build relationships with individual customers through consistent application of customer knowledge. Customer relationship management is described as managing detailed customer information to maximize loyalty by carefully managing all customer touchpoints. The presentation compares traditional and relationship-based marketing approaches and outlines the key aspects, functions, and strategies of CRM, including retention, acquisition, and cost reduction. It discusses the advantages of focusing on customer retention over acquisition and lists some benefits and limitations of CRM.
An exception is an unpredictable event that requires special processing. Exception handlers are sections of code that execute when exceptions occur, allowing programs to handle errors gracefully rather than crashing. The try-catch statement monitors a block of code for exceptions, with catch blocks handling specific exception types. If an exception is thrown within the try block, the corresponding catch block executes to process the exception before the program continues.
This document discusses Behavior Driven Development (BDD) using Cucumber for Java. It explains that BDD combines test-driven development, domain-driven design, and use of a common language to specify functionality in a way that is readable to both technical and non-technical stakeholders. Cucumber allows writing specifications in a Given/When/Then format that can be parsed and executed as tests. It provides an example specification and Java code to implement it. Benefits of the BDD approach include improved communication, reduced rework, and better maintained regression tests.
An XML schema defines the structure and elements of an XML document. It is an XML-based alternative to DTDs that allows defining element types, attributes, data types, defaults and restrictions. Schemas support namespaces, data types, extensibility and are written in XML, allowing the use of XML tools. Complex elements can contain child elements, text or both.
The document discusses XML document structure and XML schema. It provides information on the key components of an XML document including the XML declaration, document type declaration, element data, attribute data, and character data. It then describes XML schema in detail, explaining that it defines the structure of an XML document. Key aspects of XML schema covered include elements, attributes, simple vs complex types, and restrictions.
The document discusses XML schemas, explaining that they define elements, attributes, and data types that can be used in XML documents. It covers creating simple and complex elements, declaring data types, and grouping elements using sequences, groups, and choices. The document also provides examples of how to define attributes and create user-defined data types in an XML schema.
This document provides an overview of XML DTD and Schema. It defines key terms like well-formed, valid, DTD and describes how a DTD is used to define element types and attributes. It also explains different DTD rules like EMPTY, ANY, #PCDATA. The document then covers XML Schema elements, data types, and how to declare elements, attributes and complex/simple types in a schema.
The document discusses the fundamentals of XML including XML document structure, elements, attributes, character data, the XML declaration, document type declaration, and XML content model. It also covers XML rules for structure, namespaces, and the differences between well-formed and valid XML documents.
The document describes what an XML Schema is and its key components and purposes. It defines an XML Schema as describing the structure of an XML document, and that it can define elements, attributes, element sequence and number, data types, and default values. It compares XML Schemas to DTDs, noting schemas are more powerful and support namespaces and data types. The document provides examples of using XML Schema to define simple and complex elements, attributes, and restrictions.
XML is a markup language similar to HTML but designed for carrying data rather than displaying it. It allows users to define their own elements and tags. XML documents use tags to describe and structure information and can be displayed using CSS or transformed using XSL. Key benefits of XML include its ability to describe hierarchical data, separate data from presentation, and enable data sharing across different systems.
XML Schema defines rules for encoding documents in a machine-readable format. It allows data exchange between systems independently of programming languages. XML Schema defines elements, attributes, and data types to structure XML documents. It provides more data typing capabilities than DTDs. Namespaces are used to avoid element name conflicts between different XML vocabularies. User-defined types can restrict built-in types or create new complex types from simple types to structure application-specific data.
This document provides an overview of XML schemas, including:
- The objectives of learning about XML schemas, which include explaining schemas, advantages over DTDs, defining elements, creating simple and complex types, applying restrictions, and creating reusable schemas.
- An introduction to XML schemas, including how schemas address issues with large DTDs and an example of creating a simple schema.
- The advantages of XML schemas over DTDs, such as supporting data types, defining element order, and extending schemas.
- How to define elements and attributes in a schema, including using built-in data types.
- The differences between simple and complex element types and examples of each.
The document discusses schemas and their purpose in specifying the structure and constraints of an XML document. It provides examples of things that cannot be done with DTDs but can be done with schemas, such as constraining text values. The document outlines the components of a schema, including elements, attributes, and data types. It provides an example of defining a schema in IE5 and the steps involved, including declaring element types, specifying content models, and using data types.
XML Schema provides a way to formally define and validate the structure and content of XML documents. It allows defining elements, attributes, and data types, as well as restrictions like length, pattern, and value ranges. DTD is more limited and cannot validate data types. XML Schema is written in XML syntax, uses XML namespaces, and provides stronger typing capabilities compared to DTD. It allows defining simple and complex element types, attributes, and restrictions to precisely describe the expected structure and values within XML documents.
The document defines the XML Information Set, which provides a consistent set of definitions for the information contained in a well-formed XML document. It describes 11 types of information items that comprise the information set, including document, element, attribute, and others. Each information item has defined properties. The information set represents the same information as the tree structure of an XML document.
An Oracle database consists of objects like tables, views, and stored programs owned by user accounts. Users can query and modify database objects using SQL commands, which are divided into DDL commands that define and modify object structures and DML commands that manipulate data. The document outlines how to create user accounts, define tables with fields, constraints, and data types, and use SQL*Plus to issue SQL statements and view metadata in the Oracle data dictionary.
This document provides an overview of Python data structures including lists, tuples, dictionaries, and sets. It discusses common list methods like append(), insert(), remove(), and sort(). It provides examples of using lists as stacks and queues. It also covers list comprehensions, the del statement, tuple packing and unpacking, set operations, looping through dictionaries, and comparing sequences.
Judy Chapman is seeking a position in non-profit administration and development that utilizes her marketing, communication, and management skills. She has 20 years of experience in fundraising and development roles for organizations like Crossroads Safehouse, House of Neighborly Service, McKee Medical Center Foundation, and United Way of Larimer County. Her experience includes marketing, grant writing, donor relations, budget management, and leading capital campaigns that have raised millions of dollars. She also has experience in community leadership positions and developing policies and procedures for non-profits.
This document describes a method for fabricating customized hydrogel contact lenses that can be used for in vivo animal retinal imaging studies. Key points:
1) A flexible method is reported to fabricate hydrogel contact lenses with customized shapes using UV polymerization of a HEMA solution in molds.
2) The fabricated hydrogel has high optical transparency with a refractive index of 1.42-1.45, a Young's modulus of 1.47 MPa, and a contact angle of 40.5° indicating properties suitable for contact lenses.
3) Retinal imaging using OCT in rats wearing the customized hydrogel contact lenses showed comparable image quality to cases without contact lenses, demonstrating the lenses' potential for
Este documento describe varias amenazas a la seguridad de las máquinas, incluyendo gusanos, dialers, pharming y keyloggers. También describe varios tipos de malware como virus, troyanos, spyware, spam, cookies, hoaxes, phishing y adware.
This document summarizes a presentation about relationship marketing and customer relationship management. It defines relationship marketing as a long-term strategy to build relationships with individual customers through consistent application of customer knowledge. Customer relationship management is described as managing detailed customer information to maximize loyalty by carefully managing all customer touchpoints. The presentation compares traditional and relationship-based marketing approaches and outlines the key aspects, functions, and strategies of CRM, including retention, acquisition, and cost reduction. It discusses the advantages of focusing on customer retention over acquisition and lists some benefits and limitations of CRM.
An exception is an unpredictable event that requires special processing. Exception handlers are sections of code that execute when exceptions occur, allowing programs to handle errors gracefully rather than crashing. The try-catch statement monitors a block of code for exceptions, with catch blocks handling specific exception types. If an exception is thrown within the try block, the corresponding catch block executes to process the exception before the program continues.
This document discusses Behavior Driven Development (BDD) using Cucumber for Java. It explains that BDD combines test-driven development, domain-driven design, and use of a common language to specify functionality in a way that is readable to both technical and non-technical stakeholders. Cucumber allows writing specifications in a Given/When/Then format that can be parsed and executed as tests. It provides an example specification and Java code to implement it. Benefits of the BDD approach include improved communication, reduced rework, and better maintained regression tests.
Game Theory was used to analyze the feasibility of the 1980s Strategic Defense Initiative (SDI) or "Star Wars" program. The analysis found a 1/3 probability that the defensive system ("Blue") could defend against attacks. Game Theory was founded by mathematician John von Neumann, who was born in Budapest in 1903 and died in Washington D.C. in 1957.
Blockchain is being presented as “THE” disruptive technology for the coming years. I have shared few of my findings as I looked to explore what the hype was all about.
The document provides information on various data structures and algorithms related to linked lists. It discusses topics like list traversal, searching, insertion, deletion, header linked lists, circular linked lists, and two-way linked lists. Algorithms are provided for traversing, searching, inserting and deleting nodes from singly linked lists, circular linked lists, and two-way linked lists. Applications of linked lists in representing polynomials and sparse matrices are also covered.
Fa qs on foreign investment in the philippinesatoydequit
The document provides answers to frequently asked questions about foreign investment in the Philippines. It outlines the definition of foreign corporations, the Philippine government's policy of encouraging foreign investment, and areas where foreign ownership is restricted or limited, such as mass media, small-scale mining, and private security agencies. It also details requirements for foreign corporations to do business in the Philippines such as obtaining licenses, appointing local agents, and complying with ownership restrictions on land. Tax incentives are available for foreign investors and arbitration clauses are accepted.
Harry Potter and the Philosopher's Stone introduces Harry Potter, who lives with his cruel Aunt and Uncle because his parents were killed. Hagrid informs Harry that he is a wizard and takes him to Hogwarts School of Witchcraft and Wizardry. At Hogwarts, Harry makes friends and enemies as he learns he is a wizard. The story is simply told but still enchanting, with crisp language and easily visualized characters that appeal to both children and adults.
1) Game theory analyzes strategic decision-making between players in situations called games. Games can be modeled using normal or extensive form.
2) In normal form, all choices are made simultaneously. Players choose strategies and receive payoffs. Strategies can be dominated by others.
3) Extensive form models sequential choices using game trees. Backward induction analyzes the optimal moves working backwards from the end of the tree. Imperfect information means some players don't know others' past actions.
The document provides an overview of XML basics including XML concepts, technologies for describing XML like DTD and XML Schema, and how to parse XML in Java using SAX, DOM, and JAXP. It introduces XML, elements, attributes, namespaces, validation with DTD and XML Schema. It describes parsing XML with SAX, which is event-driven and does not store the parsed data, and DOM, which parses the entire XML into an in-memory tree structure that allows random access.
This document provides an overview of XML (eXtensible Markup Language). It defines XML as a meta markup language for representing text documents and data. XML allows users to define their own tags to represent different types of information. The document discusses how XML documents form a tree structure with a root element and nested elements. It also covers XML syntax rules and parsing methods like SAX and DOM that can be used to read and manipulate XML documents.
This document provides an overview of XML including:
- XML is a meta markup language used to define text document structures and represent textual data.
- XML examples show how it can be used to easily represent structured data for both human and machine readability.
- XML schemas are used to define the rules and structure for XML documents and provide data type definitions.
- XML documents form a tree structure with a single root element and hierarchical branching.
This document discusses XML and semi-structured data models. Some key points:
- XML is a data model based on graphs that can represent both regular and irregular data. It allows for self-describing, flexible typing, and serialization of data.
- Semi-structured data models like XML and JSON allow for missing attributes, duplicates, and variations in structure compared to relational models.
- XML represents semi-structured data by annotating each data item with its description. This serialization allows the data to be transmitted while maintaining interoperability.
This document provides an overview of XML including:
- XML stands for Extensible Markup Language and is used to carry data, not display it. Tags are user-defined.
- An XML example shows a simple note with predefined tags.
- XML schemas define valid elements, attributes, structure and data types for XML documents.
- XML documents form a tree structure with elements nested within a root element. Syntax rules ensure documents are well-formed.
- XML parsers like SAX and DOM are used to read and build a model of an XML document programmatically.
This document discusses XML and semi-structured data models. Some key points:
- XML represents semi-structured data using a graph-based data model where data comes with its own description. This is different from relational models where schema and content are separate.
- Semi-structured data allows for flexible typing, duplicates, missing elements, etc. making it suitable for irregular data.
- XML serializes the graph into a byte stream for transmission. This provides interoperability but wastes space.
- XML documents can be represented as trees in memory using DOM. The serialized XML form maps to this tree representation.
XML stands for eXtensible Markup Language. It is used to store and transport structured data. XML allows users to define their own tags for marking up data with a tree structure, with one root element. Key features of XML include being extensible, using markup tags, and describing data in a human- and computer-friendly format. XML is commonly used for transporting data between systems and long-term storage of structured data.
XML is a markup language used for storing and transferring data. It allows data to be shared across different systems even if they have different hardware/software. XML uses tags to structure the data and is readable by both humans and machines. XML documents can be validated using DTDs or XML schemas to ensure they follow the defined structure and syntax rules. When parsing an XML document, DOM reads the entire document into memory while SAX reads nodes sequentially without storing the entire document in memory.
This document provides an introduction to XML, including:
- XML stands for eXtensible Markup Language and allows users to define their own tags to provide structure and meaning to data.
- XML documents use elements with start and end tags to organize content in a hierarchical, tree-like structure. Elements can contain text or other nested elements.
- Attributes within start tags provide additional metadata about elements. Well-formed XML documents must follow syntax rules to be valid.
This document discusses XML principles for data integration and exchange. It provides an overview of XML, including its data model, schema languages like DTDs and XML Schema, and querying languages like XPath and XQuery. XML allows hierarchical and semi-structured data to be encoded and exchanged in a standard format. Schema languages provide structure and typing, while query languages like XPath allow selecting subsets of XML documents.
XML is a markup language similar to HTML but designed for structured data rather than web pages. It uses tags to define elements and attributes, and can be validated using DTDs or XML schemas. XML documents can be transformed and queried using XSLT and XPath respectively. SAX is an event-based parser that reads XML sequentially while DOM loads the entire document into memory for random access.
This document provides an overview of XML (Extensible Markup Language). It defines XML, notes that it is derived from SGML and is simpler. It describes the structure of XML data including tags, elements, attributes, and proper nesting. It discusses XML schemas like DTDs which constrain the structure and storage of XML data in databases or files. It also summarizes XML applications like data exchange, querying XML with XPath and XQuery, and the advantages of XML like being human-readable and supporting integration.
- XML (eXtensible Markup Language) is a markup language that is designed to store and transport data. It was released in the late 1990s and became a W3C recommendation in 1998.
- XML is not meant to display data like HTML, but rather to carry data. It is designed to be self-descriptive, platform independent, and language independent. Tags are defined by the user rather than being predefined.
- A markup language uses tags to highlight or underline parts of a document. Modern markup languages like XML use tags to replace highlighting and underlining.
This document provides an introduction to XML, including an overview of its components and structure. It discusses the XML prolog, tags, attributes, entities, comments, and processing instructions that make up an XML document. It also describes the XML document type definition (DTD) that defines the allowable tags and syntax of an XML language. Key points covered include XML being extensible and separating content from presentation, as well as examples of basic XML code structure and syntax rules.
XML Introduction,Syntax of XML,Well formed XML Documents,XML Document Structure,Document Type Definitions,XML Namespace,XML Schemas,DOM(Document Object Model)
XML (eXtensible Markup Language) is a meta markup language that allows defining custom markup languages. It became a W3C recommendation in 1998 and uses a tag-based syntax similar to HTML. XML allows defining tags to represent different types of text documents and data in a well-structured, machine-readable format. It is not a replacement for other technologies but can be converted to and used with many formats and languages.
Data interchange integration, HTML XML Biological XML DTDAnushaMahmood
Data interchange integration. Data interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML
The document describes XML Schema, including what it is, how it defines the structure of an XML document, and how it compares to DTDs. Specifically:
- An XML Schema defines the legal structure of an XML document by defining elements, attributes, data types, and more. This is similar to a blueprint for the document.
- Schemas are more powerful than DTDs as they are extensible, have more features like data typing, and are written in XML syntax.
- A key advantage of schemas is they enforce data typing, unlike DTDs which treat all content as strings. This allows for easier validation and use of data.
Ruby on Rails provides a default model-view-controller design and generators that apply progressive evaluation and domain correspondence. The code completion in the IDE and Ruby language has issues with penetrability. Migrations offer a high-level abstraction for data modeling through specialized Ruby files that are invertible and treat objects rather than records. Rails leverages the dynamic Ruby language to provide good domain correspondence, progressive evaluation, and abstraction level, though it is missing error prevention due to the dynamic approach.
This document discusses several design patterns including Singleton, Observer, Delegation, Adapter, Facade, Immutable, Read-Only Interface, Proxy, and Factory. For each pattern, the document describes the context, problem, forces, and solution. The patterns provide reusable solutions to common programming problems by separating interfaces from implementations.
Lisp and Scheme are dialects of the Lisp programming language. Scheme is favored for teaching due to its simplicity. Key features of Lisp include S-expressions as the universal data type, functional programming style with first-class functions, and uniform representation of code and data. Functions are defined using DEFINE and special forms like IF and COND control program flow. Common list operations include functions like CAR, CDR, CONS, LIST, and REVERSE.
Ado.net & data persistence frameworksLuis Goldster
The document discusses serialization, ADO.NET, data tier approaches, and persistence frameworks. Serialization allows persisting an object's state to storage and recreating it later. ADO.NET provides classes for connecting to and interacting with databases. Common data tier approaches include presenting data directly to the presentation layer, adding a business logic layer, or adding a service layer between business logic and data access. Persistence frameworks aim to simplify data access by encapsulating object persistence behaviors like reading, writing, and deleting objects from storage.
The document discusses three common multithreading models: many-to-one, one-to-one, and many-to-many. It also describes common high-level program structures for multithreaded programs like the boss/workers model, pipeline model, up-calls, and using version stamps to keep shared information consistent.
The document provides an overview of business analytics (BA) including its history, types, examples, challenges, and relationship to data mining. BA involves exploring past business performance data to gain insights and guide planning. It can focus on specific business segments. Types of BA include reporting, affinity grouping, clustering, and predictive analytics. Challenges to BA include acquiring high quality data and rapidly processing large volumes of data. Data mining is an important part of BA, helping to sort and analyze large datasets.
This document discusses decision trees and how they are constructed. It begins by explaining that decision trees use supervised learning to generate classification rules by splitting a training dataset based on attribute values. It then walks through an example of constructing a decision tree for predicting voter support based on attributes like age, income, education level, etc. The document discusses that the optimal way to construct a decision tree is NP-complete, so heuristics like information gain are used to choose the best attribute to split on at each node to minimize complexity. It concludes by adding a new social security number attribute and explaining that information gain would not choose to split on this attribute.
The document discusses data mining and knowledge discovery from large datasets. It begins by defining the hierarchy from data to wisdom. It then discusses the growth of big data from various sources and the need for data mining to extract useful knowledge. Data mining involves applying machine learning, statistics, visualization and database techniques to discover patterns in large datasets. The knowledge discovery process involves data cleaning, transformation, data mining and evaluating/interpreting patterns. The document provides examples of data mining applications in business, fraud detection, text mining and web mining.
The document discusses memory hierarchy and caching techniques. It begins by explaining the need for a memory hierarchy due to differing access times of memory technologies like SRAM, DRAM, and disk. It then covers concepts like cache hits, misses, block size, direct mapping, set associativity, compulsory misses, capacity misses, and conflict misses. Finally, it discusses using a second-level cache to reduce memory access times by capturing misses from the first-level cache.
The document discusses non-uniform cache architectures (NUCA), cache coherence, and different implementations of directories in multicore systems. It describes NUCA designs that map data to banks based on distance from the controller to exploit non-uniform access times. Cache coherence is maintained using directory-based protocols that track copies of cache blocks. Directories can be implemented off-chip in DRAM or on-chip using duplicate tag stores or distributing the directory among cache banks. Examples of systems like SGI Origin2000 and Tilera Tile64 that use these techniques are also outlined.
The document proposes optimizing DRAM caches for latency rather than hit rate. It summarizes previous work on DRAM caches like Loh-Hill Cache that treated DRAM cache similarly to SRAM cache. This led to high latency and low bandwidth utilization.
The document introduces the Alloy Cache design which avoids tag serialization to reduce latency. It also proposes a Memory Access Predictor to selectively use parallel or serial access models for low latency and bandwidth. Simulation results show Alloy Cache with a predictor outperforms previous designs like SRAM-tag caches. The design provides benefits with simple structures optimized for DRAM cache constraints.
This document discusses how Analysis Services caching works and provides strategies for warming the Storage Engine cache and Formula Engine cache. It explains that the Storage Engine handles data retrieval from disk while the Formula Engine determines which data is needed for queries. Caching can improve performance but requires understanding when Analysis Services is unable to cache data. The document recommends using the CREATE CACHE statement and running regular queries to pre-populate the caches with commonly used data. Memory usage must also be considered when warming the caches.
This document discusses abstract data types (ADTs) and their implementation in various programming languages. It covers the key concepts of ADTs including data abstraction, encapsulation, information hiding, and defining the public interface separately from the private implementation. It provides examples of ADTs implemented using modules in Modula-2, packages in Ada, classes in C++, generics in Java and C#, and classes in Ruby. Parameterized and encapsulation constructs are also discussed as techniques for implementing and organizing ADTs.
Optimizing shared caches in chip multiprocessorsLuis Goldster
Chip multiprocessors, which place multiple processors on a single chip, have become common in modern processors. There are different approaches to managing caches in chip multiprocessors, including private caches for each processor or shared caches. The optimal approach balances factors like interconnect traffic, duplication of data, load balancing, and cache hit rates. Recent research explores techniques like cooperative caching between private caches and adaptive set pinning in shared caches.
This document provides an overview of APIs, including what they are, why they are useful, common data formats like JSON and XML, RESTful API design principles, and how to consume and create APIs. It discusses API concepts like resources, HTTP verbs, caching, authentication, and error handling. It also provides examples of consuming APIs with tools like Postman and creating a simple API in Node.js.
The document discusses abstraction, which is a fundamental concept of object-oriented design. Abstraction involves focusing on an object's essential characteristics and behavior while hiding implementation details. There are different types of abstractions from most useful to least useful. Effective abstractions model real-world entities and provide well-defined interfaces through contracts, preconditions, and postconditions. Both static and dynamic properties of objects must be considered.
This document discusses the key concepts of object-oriented programming including abstraction, encapsulation, classes and objects. It defines abstraction as focusing on the essential characteristics of an object and hiding unnecessary details. Encapsulation hides the internal representation of an object within its public interface. A class combines both abstraction and encapsulation, defining the data and operations of an object. Objects are instantiations of classes that are initialized via constructors and cleaned up via destructors.
Object-oriented analysis and design (OOAD) emphasizes investigating requirements rather than solutions, and conceptual solutions that fulfill requirements rather than implementations. OOAD focuses on identifying domain concepts and defining software objects and how they collaborate. The Unified Process includes inception, elaboration, construction, and transition phases with iterations and milestones leading to final product releases.
Abstract classes and interfaces allow for abstraction and polymorphism in object-oriented design. Abstract classes can contain both abstract and concrete methods, while interfaces only contain abstract methods. Abstract classes are used to provide a common definition for subclasses through inheritance, while interfaces define a contract for implementing classes to follow. Both support polymorphism by allowing subclasses/implementing classes to determine the specific implementation for abstract methods.
This document discusses various programming paradigms and concurrency concepts in Java. It covers single process and multi-process programming, as well as multi-core and multi-threaded programming. The document also discusses processes, threads, synchronization, deadlocks, and strategies for designing objects to be thread-safe such as immutability, locking, and splitting state.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
2. Facts about the Web
• Growing fast
• Popular
• Semi-structured data
– Data is presented for ‘human’-processing
– Data is often ‘self-describing’ (including name
of attributes within the data fields)
5. Vision for Web data
• Object-like – it can be represented as a
collection of objects of the form described
by the conceptual data model
• Schemaless – not conformed to any type
structure
• Self-describing – necessary for machine
readable data
7. XML – Overview
• Simplifying the data exchange between
software agents
• Popular thanks to the involvement of W3C
(World Wide Web Consortium –
independent organization
www.w3c.org)
8. XML – Characteristics
• Simple, open, widely accepted
• HTML-like (tags) but extensible by users
(no fixed set of tags)
• No predefined semantics for the tags
(because XML is developed not for the
displaying purpose)
• Semantics is defined by stylesheet (later)
10. XML Documents
• User-defined tags:
<tag> info </tag>
• Properly nested:<tag1>.. <tag2>…</tag1></tag2>
is not valid
• Root element: an element contains all other
elements
• Processing instructions <?command ….?>
• Comments <!--- comment --- >
• CDATA type
• DTD
11. XML element
• Begin with a opening tag of the form
<XML_element_name>
• End with a closing tag
</XML_element_name>
• The text between the beginning tag and the
closing tag is called the content of the
element
12. XML element
<PersonList Type=“Student”>
<Student StudentID=“123”>
<Name> <First>“XYZ”</First>
<Last>“PQR”</Last> </Name>
<CrsTaken CrsName=“CS582” Grade=“A”/>
</Student>
…
</PersonList>
Attribute Value of the attribute
13. Relationship between XML
elements
• Child-parent relationship
– Elements nested directly in an element are the
children of this element (Student is a child of
PersonList, Name is a child of Student, etc.)
• Ancestor/descendant relationship: important
for querying XML documents (extending
the child/parent relationship)
14. XML elements & Database Objects
• XML elements can be converted into
objects by
– considering the tag’s names of the children as
attributes of the objects
– Recursive process
<Student StudentID=“123”>
<Name> “XYZ PQR” </Name>
<CrsTaken>
<CrsName>CS582</CrsName>
<Grade>“A”</Grade> </CrsTaken>
</Student>
(#099,
Name: “XYZ PQR”
CrsTaken:
<CrsName>“CS582”</CrsName>
<Grade>“A”</Grade>
)
Partially converted object
15. XML elements & Database Objects
• Differences: Additional text within XML
elements
<Student StudentID=“123”>
<Name> “XYZ PQR” </Name>
has taken the following course
<CrsTaken>
Database management system II
<CrsName>CS582</CrsName>
with the grade
<Grade>“A”</Grade> </CrsTaken>
</Student>
16. XML elements & Database Objects
• Differences: XML elements are orderd
<CrsTaken>
<CrsName>“CS582”</CrsName>
<Grade>“A”</Grade>
</CrsTaken>
<CrsTaken>
<Grade>“A”</Grade>
<CrsName>“CS582”</CrsName>
</CrsTaken>
{#901, Grade: “A”, CrsName: “CS582”}
17. XML Attributes
• Can occur within an element (arbitrary many
attributes, order unimportant, same attribute only
one)
• Allow a more concise representation
• Could be replaced by elements
• Less powerful than elements (only string value, no
children)
• Can be declared to have unique value, good for
integrity constraint enforcement (next slide)
18. XML Attributes
• Can be declared to be the type of ID,
IDREF, or IDREFS
• ID: unique value throughout the document
• IDREF: refer to a valid ID declared in the
same document
• IDREFS: space-separated list of strings of
references to valid IDs
19. A report document with cross-references.
(continued on next slide)
ID
IDREF
21. Well-formed XML Document
• It has a root element
• Every opening tag is followed by a
matching closing tag, elements are properly
nested
• Any attribute can occur at most once in a
given opening tag, its value must be
provided, quoted
22. So far
• Why XML?
• XML elements
• XML attributes
• Well-formed XML document
24. Namespaces
• For avoiding naming conflicts
• Name of every XML tag must have two parts:
– namespace: a string in the form of a uniform resource
identifier (URI) or a uniform resource locator (URL)
– local name: as regular XML tag but cannot contain ‘:’
• Structure of an XML tag:
namespace:local_name
25. Namespaces
• An XML namespace is a collection of names,
identified by a URI reference, which are used in
XML documents as element types and attribute
names. XML namespaces differ from the
"namespaces" conventionally used in computing
disciplines in that the XML version has internal
structure and is not, mathematically speaking, a
set.
Source: www.w3c.org
26. Uniform Resource Identifier
• URI references which identify namespaces are
considered identical when they are exactly the
same character-for-character. Note that URI
references which are not identical in this sense
may in fact be functionally equivalent. Examples
include URI references which differ only in case,
or which are in external entities which have
different effective base URIs.
Source: www.w3c.org
27. Namespace - Example
<item xmlns=“http://www.acmeinc.com/jp#supplies”
xmlns:toy=“http://www.acmeinc.com/jp#toys”>
<name> backpack </name?
<feature> <toy:item>
<toy:name>cyberpet</toy:name>
</toy:item> </feature>
</item>
Two namespaces are used: the two URLs
xmlns = defined the default namespace,
xmlns:toy = defined the second namespace
28. Namespace declaration
• Defined by
xml : prefix = declaration
• Tags belonging to a namespace should be
prefixed with “prefix:”
• Tags belonging to the default namespace do
not need to have the prefix
• Have its own scope
30. Document Type Definition
• Set of rules (by the user) for structuring an XML
document
• Can be part of the document itself, or can be
specified via a URL where the DTD can be found
• A document that conforms to a DTD is said to be
valid
• Viewed as a grammar that specifies a legal XML
document, based on the tags used in the document
31. DTD Components
• A name – must coincide with the tag of the root
element of the document conforming to the DTD
• A set of ELEMENTs – one ELEMENT for each
allowed tag, including the root tag
• ATTLIST statements – specifies the allow
attributes and their type for each tag
• *, +, ? – like in grammar definition
– * : zero or finitely many number
– + : at least one
– ? : zero or one
32. DTD Components – Element
<!ELEMENT Name definition>
type, element list etc.
Name of the element
definition can be: EMPTY, (#PCDATA), or element
list (e1,e2,…,en) where the list (e1,e2,…,en) can
be shortened using grammar like notation
33. DTD Components – Element
<!ELEMENT Name(e1,…,en)>
nth
– element
1st
– element
Name of the element
<!ELEMENT PersonList (Title,Contents)>
<!ELEMENT Contents(Person *)>
34. DTD Components – Element
<!ELEMENT Name EMPTY>
no child for the element Name
<!ELEMENT Name (#PCDATA)>
value of Name is a character string
<!ELEMENT Title EMPTY>
<!ELEMENT Id (#PCDATA)>
35. DTD Components – Attribute List
<!ATTLIST EName Att {Type} Property>
where
- Ename – name of an element defined in the DTD
- Att – attribute name allowed to occur in the
opening tag of Ename
- {type} – might/might not be there; specify the type
of the attribute (CDATA, ID, IDREF, IDREFS)
- Property – either #REQUIRED or #IMPLIED
37. DTD as Data Definition Language?
• Can specify exactly what is allowed on the
document
• XML elements can be converted into
objects
• Can specify integrity constraints on the
elements
• Is is good enough?
38. Inadequacy of DTP as a
Data Definition Language
• Goal of XML: for specifying documents
that can be exchanged and automatically
processed by software agents
• DTD provides the possibility of querying
Web documents but has many limitations
(next slide)
39. Inadequacy of DTP as a
Data Definition Language
• Designed without namespace in mind
• Syntax is very different than that of XML
• Limited basic types
• Limited means for expressing data consistency
constrains
• Enforcing referential integrity for attributes but
not elements
• XML data is ordered; not database data
• Element definitions are global to the entire
document
41. XML Schema – Main Features
• Same syntax as XML
• Integration with the namespace mechanism
(different schemas can be imported from different
namespaces and integrated into one)
• Built-in types (similar to SQL)
• Mechanism for defining complex types from
simple types
• Support keys and referential integrity constraints
• Better mechanism for specifying documents where
the order of element types does not matter
42. XML Document and Schema
A document conforms to a schema is called
an instance of this schema and is said to be
schema valid.
XML processor does not check for schema
validity
43. XML Schema and Namespaces
• Describes the structure of other XML
documents
• Begins with a declaration of the namespaces
to be used in the schema, including
– http://www.w3.org/2001/XMLSchema
– http://www.w3.org/2001/XMLSchema-instance
– targetnamespace (user-defined namespace)
44. http://www.w3.org/2001/XMLSchema
• Identifies the names of tags and attributes
used in a schema (names defined by the
XML Schema Specification, e.g., schema,
attribute, element)
• Understood by all schema aware XML
processor
• These tags and attributes describe structural
properties of documents in general
46. http://www.w3.org/2001/XMLSchema-instance
• Used in conjunction with the XMLSchema
namespace
• Identifies some other special names which
are defined in the XML Schema
Specification but are used in the instance
documents
48. Target namespace
• identifies the set of names defined by a
particular schema document
• is an attribute of the schema element
(targetNamespace) whose value is the
name space containing all the names defines
by the schema
53. Built-in Datatypes (cont.)
• Primitive Datatypes
– gDay
– gMonth
– hexBinary
– base64Binary
– anyURI
– QName
– NOTATION
• Atomic, built-in
– format: ---DD (note the 3 dashes)
– format: --MM--
– a hex string
– a base64 string
– http://www.xfront.com
– a namespace qualified name
– a NOTATION from the XML spec
54. Built-in Datatypes (cont.)
• Derived types
– normalizedString
– token
– language
– IDREFS
– ENTITIES
– NMTOKEN
– NMTOKENS
– Name
– NCName
– ID
– IDREF
– ENTITY
– integer
– nonPositiveInteger
• Subtype of primitive datatype
– A string without tabs, line feeds, or carriage returns
– String w/o tabs, l/f, leading/trailing spaces, consecutive spaces
– any valid xml:lang value, e.g., EN, FR, ...
– must be used only with attributes
– must be used only with attributes
– must be used only with attributes
– must be used only with attributes
– part (no namespace qualifier)
– must be used only with attributes
– must be used only with attributes
– must be used only with attributes
– 456
– negative infinity to 0
55. Built-in Datatypes (cont.)
• Derived types
– negativeInteger
– long
– int
– short
– byte
– nonNegativeInteger
– unsignedLong
– unsignedInt
– unsignedShort
– unsignedByte
– positiveInteger
• Subtype of primitive datatype
– negative infinity to -1
– -9223372036854775808 to 9223372036854775808
– -2147483648 to 2147483647
– -32768 to 32767
– -127 to 128
– 0 to infinity
– 0 to 18446744073709551615
– 0 to 4294967295
– 0 to 65535
– 0 to 255
– 1 to infinity
Note: the following types can only be used with attributes (which we will discuss later):
ID, IDREF, IDREFS, NMTOKEN, NMTOKENS, ENTITY, and ENTITIES.
56. Simple types
• Primitive types (see built-in)
• Type constructors:
– List: <simpleType name=“myIdrefs”>
<list itemType=“IDREF”/>
</simpleType>
– Union: <simpleType name=“myIdrefs”>
<union memberTypes=“phone7digits phone10digits”/>
</simpleType>
– Restriction: <simpleType name=“phone7digits”>
<restriction base=“integer”>
<minInclusive value=“1000000”/>
<maxInclusive value=“9999999”/>
</simpleType>
Name of Type
Possible values
60. Type Declaration for Elements &Attributes
• Type declaration for simple elements and
attributes
<element name=“CrsName” type=“string”/>
Specify that CrsName has value of type string
61. Type Declaration for Elements &Attributes
• Type declaration for simple elements and
attributes
<element name=“status” type=“adm:studentStatus”/>
Specify that status has value of type
studentStatus that will be defined in the
document
62. Example for the type studentStatus
<simpleType name=“studentStatus”>
<restriction base=“string”>
<enumeration value=“U1”/>
<enumeration value=“U2”/>
…
<enumeration value=“G5”/>
</restriction>
</simpleType>
63. Complex Types
• Use to specify the type of elements with
children or attributes
• Opening tag: complexType
• Can be associated to a name in the same
way a simple type is associated to a name
64. Complex Types
• Special Case: element with simple content and some
attributes/no child with some attributes
<complexType name=“CourseTakenType”>
<attribute name=“CrsCode” type=“adm:courseRef”/>
<attribute name=“Semester” type=“string”/>
</complexType>
65. Complex Types
• Combining elements into group -- <all>
<complexType name=“AddressType”>
<all>
<element name=“StreetName” type=“string”>
<element name=“StreetNumber” type=“string”>
<element name=“City” type=“string”>
</all>
</complexType>
The three elements can appear in arbitrary order! (NOTE:
<all> requires special care – it must occur after
<complexType> - see book for invalid situation)
66. Complex Types
• Combining elements into group – <sequence>
<complexType name=“NameType”>
<sequence>
<element name=“First” type=“string”>
<element name=“Last” type=“string”>
</sequence>
</complexType>
The two elements must appear in order
67. Complex Types
• Combining elements into group – <choice>
<complexType name=“addressType”>
<choice>
<element name=“POBox” type=“string”>
<sequence><element name=“Name” type=“string”>
<element name=“Number” type=“string”>
</sequence>
</choice> ….
</complexType>
Either POBox or Name and Number is needed
68. Complex Types
• Can also refer to local type like – allowing
different elements to have children with the
same name (next slides)
[studentType – courseType] both have the
“Name” element
[studentType – personNameType] both have
the “Name” element
71. Complex Types
• Importing schema: like include but does not
require schemaLocation
instead of
<include schemaLocation=“http://xyz.edu/CoursTypes”/>
we can use
<import namespace=“http://xyz.edu/CoursTypes”/>
72. Complex Types
• Deriving new complex types by extension and
restriction (for modifying imported schema)
….
<import namespace=“http://xyz.edu/CoursTypes”/>
…..
<complexType name=“courseType”>
<complexContent> <extension base=“..”>
<element name=“syllabus” type=“string”/>
</extension>
</complexContent></complexType>
The type that is going
to be extended
76. Integrity Constraints
• ID, IDREF, IDREFS can still be used
• Specified using the attribute xpath (next)
• XML keys, foreign keys
• Keys are associated with collection of
objects not with types
77. Integrity Constraints - Keys
<key name=“PrimaryKeyForClass”>
<selector xpath=“Classes/Class”/>
<field xpath=“CrsCode”/>
<field xpath=“Semester”/>
</key>
The key comprises of two elements (CrsCode and
Semester) – both are children of Class
Collection of elements which are associated with
the key
78. Integrity Constraints - Foreign key
<keyref name=“XXX” refer=“adm:PrimaryKeyForClass”>
<selector xpath=“Students/Student/CrsTaken”/>
<field xpath=“@CrsCode”/>
<field xpath=“@Semester”/>
</keyref> Source Collection: where the elements should
satisfy the key specified by the “Prim … Class”
79. Figure 15.12
Course types at http://xyz.edu/CourseTypes.xsd.
Example of type definitions
Complex type
with only att’s
Complex type
with sequence
Simple type
with restriction
80. Figure 17.10A
Part of a schema with a key and a foreign-key constraint.
(continued on next slide)
Similarly to couseTakenType: type for classOfferings as
a sequence of classes whose type is classType
81. Figure 17.10B
Part of a schema with a key and a foreign-key constraint.
KEY: 2 children CrsCode
and Semester of Class
FOREIGN KEY:
2 attributes CrsCode
and Semester of CrsTaken
82. XML Query Languages
• Market, convenience, …
• XPath, XSLT, XQuery: three query
languages for XML
• XPath – simple & efficient
• XSLT – full feature programming language,
powerful query capabilities
• XQuery – SQL style query language – most
powerful query capabilities
83. XPath
• Idea comes from path expression of OQL in object
databases
• Extends the path expressions with query facilities
by allowing search condition to occur in path
expressions
• XPath data model: view documents as trees (see
picture), providing operators for tree traversing,
use absolute and relative path expression
• A XPath expression takes a document tree, returns
a set of nodes in the tree
85. XPath Expression - Examples
/Students/Student/CrsTaken – returns the set of
references to the nodes that correspond to the
elements CrsTaken
First or ./First refers to the node corresponds to the
same child element First if the current position is
Name
/Students/Student/CrsTaken/@CrsCode – the set
of values of attributes CrsCode
/Students/Student/Name/First/text() – the set of
contents of element First
86. Advanced Navigation
/Students/Student[1]/CrsTaken[2] – first Student
node, second CrsTaken node
//CrsTaken – all CrsTaken elements in the tree
(descendant-or-self)
Student/* - all e-children of the Student children of
the current node
/Students/Student[search_expression] – all Student
node satisfying the expressions; see what
search_expression can be in the book!
87. XPointer
• Use the features of XPath to navigate within
an XML document
• Syntax:
someURL#xpointer(XPathExpr1)xpointer(XPathExpr2)…
• Example:
http://www.foo.edu/Report.xml#xpointer(//Student[…])
88. XSLT
• Part of XSL – an extensible stylesheet langage of
XML, a transformation language for XML:
converting XML documents into any type of
documents (HTML, XML, etc)
• A functional programming language
• XML syntax
• Provide instructions for converting/extracting
information
• Output XML
89. XSLT Basics
• Stylesheet: specifies a transformation of one type
of document into another type
• Specifies by a command in the XML document
<?xml version=“1.0”?>
<?xml-stylesheet type=“text/xsl”
href=“http://xyz.edu/Report/report.xsl”?>
<Report Date=“2002-03-01”
….
</Report>
What parser should be used!
Location of the stylesheet
94. XSLT – Template
• Recursive traversal of the structures of the
document
• Often defined recursively
• Algorithm for processing a XSLT template
(book)
99. XQuery - Example
FOR $t IN
document(“http://xyz.edu/transcripts.xml”)
//Transcript
WHERE $t/CrsTaken/@CrsCode = “MA123”
RETURN $t/Student
Find all transcripts containing “MA123”
Return the set of Student’s elements of those
transcripts
Declare
$t and its
range
101. Putting it in well-formed XML
<StudentList>
(FOR $t IN
document(“http://xyz.edu/transcripts.xml”)
//Transcript
WHERE $t/CrsTaken/@CrsCode = “MA123”
RETURN $t/Student
)
</StudentList>
102. Figure 15.21
Construction of class rosters from transcripts: first try.
For each class $c, find the students attending the class and output
his information
= output one class roster for each CrsTaken node possibly more
than one if different students get different grade
103. Fix ?
• Assume that the list of classes is available –
write a different query
• Use the filter operation
106. FOR $c IN document(“http://xyz.edu/classes.xml”)//Class
RETURN
<ClassRoster CrsCode=$c/@CrsCode Semester=$c/@Semester>
$c/CrsName $c/Instructor
(FOR $t IN document(“http://xyz.edu/transcripts.xml”)//Transcript
WHERE $t/CrsTaken/@CrsCode = $c/@CrsCode
RETURN $t/Student
SORTBY($t/Student/@StudID)
)
</ClassRoster>
SORTBY($c/@CrsCode)
Give the “correct” result:
All ClassRoster, each only once
107. Filtering
• Syntax: filter(argument1, argument2)
• Meaning: return a document fragment
obtained by
– deleting from the set of nodes specified by
argument1 the nodes that do not occur in
argument2
– reconnecting the remaining nodes according to
the child-parent relationship of the document
specified by argument1
109. Root
Classes
Class
CrsName
Class Class
Result of: filter(//Class, //Class|//Class/CrsName)
fragment specified by //Class
//Class
//Class/CrsName
Result:
<Class><CrsName>Market Analysis</CrsName></Class>
<Class><CrsName>Electronic Circuits </CrsName></Class>
…….
110. LET $trs:=document(“http://xyz.edu/transcripts.xml”)//Transcript
LET $ct:=$trs/CrsTaken
FOR $c IN distinct(filter($ct, $ct|$ct/@CrsCode|$ct/@Semester))
RETURN
<ClassRoster CrsCode=$c/@CrsCode Semester=$c/@Semester>
(FOR $t IN $trs
WHERE $t/CrsTaken/@CrsCode = $c/@CrsCode AND
$t/CrsTaken/@Semester = $c/@Semester
RETURN $t/Student
SORTBY($t/Student/@StudID))
</ClassRoster>
SORTBY($c/@CrsCode)
Give the “correct” result:
All ClassRoster, each only once