This document discusses validating XML documents using DTDs. It explains that DTDs define the structure and elements of an XML document. Elements, attributes, and their content must be declared in the DTD. Elements can have text, child elements, or mixed content. Attributes have types like ID, enumerated, and default values like required or implied. The document provides examples of declaring elements, attributes, and their types in a DTD to validate an XML file.
An introduction to SQL standard language for beginners and non-technical information people. Mostly covers SELECT statement using standard clauses, Joins, Sub-Queries and ...
Introduction to SQL (for Chicago Booth MBA technology club)Jennifer Berk
Introduction to SQL for MBA students, presented spring 2012 to the Chicago Booth technology club.
Why an MBA would want to know SQL, a sandbox to practice in, and the basics of SQL syntax so you can pull your own datasets to analyze.
An introduction to SQL standard language for beginners and non-technical information people. Mostly covers SELECT statement using standard clauses, Joins, Sub-Queries and ...
Introduction to SQL (for Chicago Booth MBA technology club)Jennifer Berk
Introduction to SQL for MBA students, presented spring 2012 to the Chicago Booth technology club.
Why an MBA would want to know SQL, a sandbox to practice in, and the basics of SQL syntax so you can pull your own datasets to analyze.
XML Introduction,Syntax of XML,Well formed XML Documents,XML Document Structure,Document Type Definitions,XML Namespace,XML Schemas,DOM(Document Object Model)
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...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 the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
3. VALIDATINGADOCUMENT
You validate documents to make certain necessary elements are never omitted.
For example, each customer order should include a customer name, address,
and phone number.
• Some elements and attributes may be optional, for example an e-mail
address.
• An XML document can be validated using either DTDs (Document Type
Definitions) or schemas.
4. WELL-FORMEDVS.VALID XMLDOCUMENTS
• An XML document is well-formed if it contains no syntax errors and fulfills
all of the specifications for XML code as defined by the W3C.
• An XML document is valid if it is well-formed and also satisfies the rules
laid out in the DTD or schema attached to the document.
5. DocumentTypeDefinitions (DTD)
• A DTD is a collection of rules or declarations that define the content and
structure of the document.
• A DTD attaches those rules to the document’s content.
• There can only be one DTD per XML document.
6. Why use a DTD ?
A DTD can be used to:
–Ensure all required elements are present in the document
–Prevent undefined elements from being used
–Enforce a specific data structure
–Specify the use of attributes and define their possible values
–Define default values for attributes
7. DECLARINGADTD
An internal DTD is declarations placed in the same file as the document
content. The DOCTYPE declaration for an internal subset is:
<!DOCTYPE root
[
declarations
]>
Where root is the name of the document’s root element, declarations are the
statements that comprise the DTD.
9. DECLARINGADTD
An external DTD is located in a separate file. The DOCTYPE declaration for
an external subset is:
<!DOCTYPE root SYSTEM “uri”>
Where root is the name of the document’s root element, and uri is the filename
of the external subset.
Example:
<!DOCTYPE customers SYSTEM "rules.dtd">
10. DECLARINGADTD
If you place the DTD within the document, it is easier to compare the DTD to
the document’s content. However, the real power of XML comes from an
external DTD that can be shared among many documents written by
different authors.
11. DECLARINGADTD
If a document contains both an internal and an external subset, the internal
subset takes precedence over the external subset if there is a conflict
between the two.
This way, the external subset would define basic rules for all the documents,
and the internal subset would define those rules specific to each document.
15. DECLARING DOCUMENT ELEMENTS
Every element used in the document must be declared in the DTD for the
document to be valid.
An element type declaration specifies the name of the element and indicates
what kind of content the element can contain.
16. DECLARING DOCUMENT ELEMENTS
The element declaration syntax is:
<!ELEMENT element content-model>
Where element is the element name and content-model specifies what type of
content the element contains.
* The element name is case sensitive.
17. TYPES OF CONTENT
DTDs define five different types of content:
1– “ANY” elements. No restrictions on the element’s content.
2– “EMPTY” elements. The element cannot store any content.
3– #PCDATA. The element can only contain text.
4– Elements. The element can only contain child elements.
18. 1- “ANY” content
ANY content: The declared element can store any type of content. The syntax is:
<!ELEMENT element ANY>
ex: if I declare “student” as: <!ELEMENT student ANY>
then I can write in my xml file:
<students>
<student> Maha <student> here the student’s content is #PCDATA
<student>
<name> Sara </name>
</student> here the student’s content is a child element
</students>
19. 2– “EMPTY” content
EMPTY content: This is reserved for elements that store no content. The syntax is:
<!ELEMENT element EMPTY>
ex: if I declare “note” as empty: <!ELEMENT note EMPTY>
then I write the following in my xml file:
<note/>
• Attempting to add content to an empty element would result in XML parsers
rejecting the document as invalid.
20. 3– #PCDATAcontent
Parsed Character Data content: These elements can only contain text strings. The
syntax is:
<!ELEMENT element (#PCDATA)>
• The keyword #PCDATA stands for “parsed-character data” and is any well-formed
text string.
21. 3– #PCDATAcontent
• Example :
if I declare “student” as
<!ELEMENT student (#PCDATA)>
then my xml file would contain:
<student> Lama Alharthi </student>
23. 4- Child Contents
• Element content: The syntax for declaring that elements contain only child
elements is:
<!ELEMENT element (child)> here the element has only one child
• The syntax for a sequence of child elements is:
<!ELEMENT element (child1, child2, …)> here the
element has a sequence of children
Where child is a child element.
• The order of the child elements must match the order defined in the element
declaration.
24. 4- Childcontents
• The declaration
<!ELEMENT customer (phone)>
indicated that the customer element can only have one child, named
phone. You cannot repeat the same child element more than once within
the declaration.
• For example:
<customer>
<phone> 12345 </phone>
</customer>
25. 4- Childcontents
• For example:
<!ELEMENT customer (name, phone, email)>
indicated that the customer element should contain three child elements for
each customer.
<customer>
<name> Ahmed </name>
<phone> 567890 </phone>
<email> Ahmed@hotmail.com </email>
</customer>
26. 4- Childcontents: Choice
Choice is the other way to list child elements and present a set of possible child
elements. The syntax is:
<!ELEMENT element (child1 | child2 | …)>
where child1, child2, etc. are the possible child elements of the parent element.
27. 4- Childcontents: Choice
For example,
<!ELEMENT customer (name | company)>
This allows the customer element to contain either the name element or the company element.
However, you cannot have both the company and the name child elements.
<customers> <customers>
<customer> <customer>
<name> Ahmed </name> OR <company>SQ</company>
</customer> </customer>
</customers> </customers>
28. 4- Childcontents: Sequence & Choice
<!ELEMENT customer ( (name | company) , phone , email )>
Here we have two options:
<customer>
<name> Ahmed </name> OR
<phone> 6666 </phone>
<email> Ahmed@hotmail</email>
<customer>
Notice: we cannot write elements name and company together, we only have to
choose one of them.
<customer>
<company> sabec </company>
<phone> 4444</phone>
<email> info@sabec </email>
<customer>
29. What if we need more than one occurrence of the same element?
<!ELEMENT customers (customer, customer)>
<!ELEMENT customers (customer, customer, customer)>
<!ELEMENT customers (customer, customer, customer, customer)>
the answer is using modifying symbols to indicate the number of occurrences of a
child element...
30. MODIFYING SYMBOLS
Modifying symbols are symbols appended to the content model to indicate the number
of occurrences of each element. There are three modifying symbols:
–a question mark (?), allow zero or one of the item.
–a plus sign (+), allow one or more of the item ( at least one).
–an asterisk (*), allow zero or more of the item.
31. MODIFYING SYMBOLS
For example, <!ELEMENT customers (customer+)> would allow the document to
contain one or more customer elements to be placed within the customer element.
Modifying symbols can be applied within sequences or choices.
<!ELEMENT customer ( name, address, phone, email? )>
32. MODIFYING SYMBOLS
They can also modify entire element sequences or choices by placing the character
outside the closing parenthesis of the sequence or choice.
<!ELEMENT order (orderDate, items)+>
<order>
<orderDate> 12/12/09 </orderDate>
<items> bread, juice, milk </items>
</order>
<order>
<orderDate> 12/12/09 </orderDate>
<items> bread, juice, milk </items>
<orderDate> 25/12/09 </orderDate>
<items> eggs, milk, bread </items>
</order>
33. MODIFYING SYMBOLS
They can also modify entire element sequences or choices by placing the character
outside the closing parenthesis of the choice.
<!ELEMENT customer (name | company)+>
+ means: at least one element from the choice list must appear at least once
<customer>
<name> Ahmed </name>
</customer>
<customer>
<company> Sabec </company>
</customer>
<customer>
<name> Ahmed </name>
<company> Sabec </company>
</customer>
<customer>
<name> Ahmed </name>
<name> Sara </name>
</customer>
37. DECLARINGATTRIBUTES
• For a document to be valid, all the attributes associated with elements must
also be declared. To enforce attribution properties, you must add an
attribute-list declaration to the document’s DTD.
• The attribute-list declaration :
• –Lists the names of all attributes associated with a specific element
• –Specifies the datatype of the attribute
• –Indicates whether the attribute is required or optional
38. DECLARINGATTRIBUTES
The syntax to declare a list of attributes is:
<!ATTLIST element attribute1 type1 default1
attribute2 type2 default2
attribute3 type3 default3>
Where element is the name of the element associated with the attributes,
attribute is the name of an attribute, type is the attribute’s data type, and
default indicates whether the attribute is required or implied,and whether it
has a fixed or default value.
39. DECLARINGATTRIBUTES
Another syntax:
<!ATTLIST element attribute1 type1 default1>
<!ATTLIST element attribute2 type2 default2>
<!ATTLIST element attribute3 type3 default3>
Where element is the name of the element associated with the attributes,
attribute is the name of an attribute, type is the attribute’s data type, and
default indicates whether the attribute is required or implied,and whether it
has a fixed or default value.
40. DECLARINGATTRIBUTES
• Attribute-list declaration can be placed anywhere within the document type
declaration(DTD), although it is easier if they are located adjacent to the
declaration for the element with which they are associated.
41. ATTRIBUTETYPES
While all attribute types are text strings, you can control the type of text used
with the attribute. There are three general categories of attribute values:
1. CDATA
2. Enumerated
3. ID
42. WORKING WITHATTRIBUTETYPES:
1- CDATA
• CDATA attributes can contain any character data (text, numbers, symbols)
except reserved XML characters ( <, >, &).
• The general form of a CDATA type is:
<!ATTLIST element attribute CDATA default >
• For example:
<!ATTLIST item itemPrice CDATA ...>
• Any of the following attribute values are allowed under this declaration:
<item itemPrice="29.95"> ... </item>
<item itemPrice="$29.95"> ... </item>
<item itemPrice="£29.95"> ... </item>
43. WORKING WITHATTRIBUTETYPES:
2- EnumeratedTypes
• Enumerated types are attributes that are limited to a set of possible values.
• The general form of an enumerated type is:
<!ATTLIST element attribute (value1 value2 value3 …) default >
• For example, the following declaration:
<!ATTLIST customer custType (home business ) ...>
restricts custType to either “home” or “business”
44. WORKING WITHATTRIBUTETYPES
3- ID
• The ID is used with attributes that require unique values. For example, if a
customer ID needs to be unique, you may use the ID token:
<!ATTLIST customer custID ID …>
• This ensures each customer will have a unique ID.
<customer custID = “123”> …. </customer>
• However, the following elements would not be valid because the same
custID value is used more than once:
<customer custID="Cust021"> ... </customer>
<customer custID="Cust021"> ... </customer>
45. ATTRIBUTE DEFAULTS
The final part of an attribute declaration is the attribute default. There are two possible
defaults:
– #REQUIRED: the attribute must appear with every occurrence of the element.
– #IMPLIED: The attribute is optional.
• The #REQUIRED value to the attribute declaration:
<!ATTLIST customer custID ID #REQUIRED>
• The #IMPLIED value for the custType attribute to indicate that use of this attribute is
optional:
<!ATTLIST customer custType (home | business) #IMPLIED>