Web Development · WDC-01-21

XML Fundamentals for Web Services and Applications

XML Fundamentals for Web Services and Applications is a course in XML from data structure design, namespaces and XML Schema to querying with XPath and transforming with XSLT, through to building SOAP web services and comparing them with REST and JSON. It suits developers and IT staff who exchange data with other organisations and need to read and write XML correctly and securely.

Updated
From 10,350 THB / person 11,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration24 hours · 4 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

Although many new APIs use JSON, XML is still the main data format wherever structure must be strict and verifiable: banking, insurance, government, electronic documents, Office files, SVG, sitemaps and the SOAP web services organisations still use to connect systems. Developers who exchange data with these systems need to read, design, validate and transform XML correctly, and understand the security risks that come with XML parsers.

This course builds a systematic foundation in XML, from syntax, well-formed documents, data structure design and namespaces to defining rules with DTDs and XML Schema (XSD), querying with XPath and transforming with XSLT, including XSLT 3.0. It covers reading and writing XML with DOM, SAX and StAX in Java and .NET and protecting against vulnerabilities such as XXE, then applies everything to web services with SOAP and WSDL, compared with REST and JSON, finishing with a workshop that connects systems with XML and JSON. (4 days, 6 hours per day, 24 hours in total, Beginner to Intermediate level.)

What you’ll gain

  • Understand the role of XML today and choose between XML and JSON to suit the job
  • Write well-formed XML documents and design data structures with namespaces
  • Define and validate document structure with DTDs and XML Schema (XSD)
  • Query and select data with XPath and transform documents with XSLT
  • Read and write XML with DOM, SAX and StAX in Java and .NET
  • Protect XML parsers against vulnerabilities such as XXE and entity expansion
  • Understand web service architecture, SOAP and WSDL, and compare them with REST and JSON
  • Build and call SOAP services with .NET and Java

Who this course is for

  • Developers who integrate systems or exchange data with other organisations using XML or SOAP
  • IT staff who want to build their knowledge of XML and web services
  • Teams maintaining existing SOAP systems while adding REST APIs alongside them
  • Students and anyone who wants a correct grounding in XML for real work

Prerequisites

  • Some HTML knowledge, including tags and document structure
  • Basic programming in Java or C#
  • Basic internet and command-line skills
  • A laptop that can run VS Code, a JDK and the .NET SDK, with permission to install software

Curriculum

Course Details

This course is the 2026 edition of Fundamental of XML for Web Services & Applications. It runs for 4 days, 6 hours per day (24 hours in total, 09:00-16:00), as lectures with labs. Beginner to Intermediate level. This edition keeps the original core of XML, XML Schema (XSD), namespaces, DTDs, XSLT, DOM and SAX, the benefits and architecture of web services, HTTP and XML, SOAP, WSDL and building web services with Java

and .NET. It adds full coverage of XPath, XPath 3.1 and XSLT 3.0 with Saxon-HE, StAX, data binding, XML parser security, and a comparison of SOAP with REST, JSON and OpenAPI. The .NET side uses CoreWCF on .NET 10 and the Java side uses Java 25 LTS, while the SOA topic becomes an overview of the evolution towards REST and microservices. Learners take home a lab guide, sample files and source code for every lab.

Day 1 XML Fundamentals and Document Design

Section 1: Lab: XML in Today's Work

  • What XML is and how it differs from HTML and JSON
  • Where XML is still used: SOAP, electronic documents, Office files, SVG, sitemaps and config files
  • When to choose XML and when to choose JSON
  • Install VS Code and an XML extension
  • Lab: open and explore the XML inside Office files and a real website sitemap

Section 2: Lab: Syntax and Well-Formed Documents

  • The XML declaration, elements, attributes and the root element
  • Rules for well-formed documents and common mistakes
  • Entities for special characters, CDATA, comments and processing instructions
  • UTF-8 encoding and storing Thai text
  • Lab: fix a malformed XML document until it passes validation

Section 3: Designing Data Structures with XML

  • Choosing elements or attributes on principle
  • Naming, nesting, and IDs with cross-references
  • Mixed content, and document-style versus record-style data
  • Allowing for future changes to the structure
  • Lab: design a purchase order document for exchange between two systems

Section 4: Lab: Namespaces

  • Name clashes when combining data from several sources
  • Prefixed and default namespace declarations
  • Attribute namespaces and namespace scope
  • Common mistakes when using namespaces with XPath
  • Lab: combine product and supplier data in one document

Section 5: Document Type Definitions (DTD)

  • Declare elements, attributes and entities with a DTD
  • Valid versus well-formed, and validating with a DTD
  • The limits of DTDs on data types and namespaces
  • The risk of external entities, and why new work disables DTD processing
  • Lab: write a DTD for the purchase order and validate it
Day 2 XML Schema and XPath

Section 6: Lab: XML Schema (XSD) Basics

  • XSD file structure and built-in data types
  • Simple types and complex types
  • sequence, choice, all, minOccurs and maxOccurs
  • Validate documents against an XSD in VS Code and from code
  • Lab: write an XSD for the purchase order to replace the DTD

Section 7: Lab: Intermediate XML Schema

  • Restrictions and facets: pattern, enumeration, length and value ranges
  • Named types, extension and reusing types
  • key, keyref and unique for referential integrity
  • targetNamespace, include and import when splitting a schema across files
  • An overview of XSD 1.1 assertions and schema versioning

Section 8: Lab: Querying and Selecting Data with XPath

  • Path expressions, nodes and context
  • Axes such as child, parent, ancestor and following-sibling
  • Predicates and string, number and counting functions
  • Use XPath with documents that have namespaces
  • Lab: answer ten questions about an orders file with XPath

Section 9: XPath 3.1 and an Overview of XQuery

  • XPath 1.0 versus XPath 3.1: sequences, maps and arrays
  • Read JSON data with XPath 3.1 through parse-json and json-doc
  • Run XPath 3.1 with Saxon-HE
  • An overview of XQuery for querying and summarising large volumes of XML
  • Lab: combine data from XML and JSON files in a single expression
Day 3 Transforming and Processing XML in Code

Section 10: Lab: XSLT Basics

  • How templates and template matching work
  • apply-templates, value-of, for-each, sort and choose
  • Transform XML into HTML for display or as a report
  • Process on the server, as major browsers are removing built-in XSLT support
  • Lab: turn an orders file into an HTML report page

Section 11: Lab: XSLT 3.0 with Saxon-HE

  • What XSLT 2.0 and 3.0 add to make stylesheets easier to write
  • Grouping with for-each-group and writing your own functions
  • Produce multiple output files and convert between XML and JSON
  • Run XSLT 3.0 with Saxon-HE from the command line and from code
  • Lab: summarise sales by category and export the result as JSON

Section 12: Lab: Reading and Writing XML with DOM, SAX and StAX

  • DOM: load the whole document as an editable tree
  • SAX and StAX: read piece by piece for large files
  • JAXP in Java, and XmlReader and LINQ to XML in .NET
  • Choose the approach that fits the file size and the job
  • Lab: read a large XML file and summarise it with low memory use

Section 13: Lab: XML, Objects and Databases

  • Data binding: convert XML to objects and back with Jakarta XML Binding
  • XmlSerializer and DataContractSerializer in .NET
  • Generate classes from an XSD and an XSD from classes
  • An overview of XML data types in databases such as SQL Server and PostgreSQL
  • Lab: receive a purchase order file, validate it against the XSD and map it to objects

Section 14: XML Security

  • XML External Entity (XXE) attacks and their impact
  • Entity expansion, or billion laughs, attacks that bring systems down
  • Configure parsers securely in Java and .NET
  • Validate incoming data with XSD and limit document size
  • An overview of XML Signature and XML Encryption
Day 4 Web Services with SOAP and REST

Section 15: Web Services: SOAP, REST and JSON

  • HTTP and web services, and how they differ from web applications
  • From SOA to REST and microservices in today's work
  • SOAP versus REST: contracts, data formats, errors and security
  • WSDL versus OpenAPI, and XSD versus JSON Schema
  • Criteria for choosing SOAP or REST, and cases that need both

Section 16: Lab: SOAP and WSDL Structure

  • The SOAP envelope, header, body and fault in SOAP 1.1 and 1.2
  • WSDL structure: types, message, portType, binding and service
  • The widely used document/literal wrapped style
  • Call SOAP services with SoapUI, Postman and curl
  • Lab: read the WSDL of a sample service and send a correct request

Section 17: Lab: Building and Calling SOAP Services with .NET and Java

  • Build a SOAP service on .NET 10 with CoreWCF and publish its WSDL
  • Generate a client from the WSDL with dotnet-svcutil
  • Call the same service from Java with Jakarta XML Web Services
  • Handle SOAP faults and timeouts, and test the service
  • An overview of WS-Security and migrating existing WCF services from .NET Framework

Section 18: Workshop: Connecting Systems with XML and JSON

  • The brief: accept purchase orders from partners over SOAP and expose a REST API to internal apps
  • Validate incoming data with XSD and protect against XXE
  • Convert data between XML and JSON with XSLT 3.0 or code
  • Document both sides with WSDL and OpenAPI
  • Present the work, review it together and wrap up with an integration checklist

Schedule & training options

For individuals — public rounds

No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

What is the difference between XSD and DTD?

Both define the structure an XML document must follow. DTD is the older format with its own syntax, limited data types and weak namespace support. XSD is written in XML itself and defines data types in detail, such as numbers, dates, text patterns and how often an element may appear, so it is the usual choice for data exchange and web services. New work also tends to disable DTD processing to guard against XXE attacks.

What is XPath used for, and how does XPath 3.1 differ from XPath 1.0?

XPath is a language for addressing and selecting parts of an XML document, such as the products above a given price or the number of orders per customer. It is used in XSLT, XQuery and XSD, and from Java or .NET code. XPath 1.0 is still what most built-in libraries support, while XPath 3.1 adds sequences, maps, arrays and functions for reading JSON, which makes complex data easier to handle. You can use it through a processor such as Saxon.

What are the different roles of SOAP and WSDL in a web service?

SOAP is the XML message format used to send requests and results between systems, made up of an envelope, header and body and usually sent over HTTP. WSDL is an XML document describing which operations a web service offers, what data each accepts and returns, and the URL to call. Clients read the WSDL and generate calling code automatically, for example with dotnet-svcutil in .NET.

Should I choose SOAP, or REST with JSON?

REST with JSON is lightweight, easy to understand and suits the web, mobile apps and most internal services. SOAP suits cases that need a strict contract through WSDL and XSD, message-level security standards such as WS-Security, or where partners and existing systems require it, as in banking, insurance and government. In practice many organisations support both, accepting partner data over SOAP while exposing REST APIs internally, which is the brief for this course's workshop.

Who is XML Fundamentals for Web Services and Applications for, and what should I know beforehand?

It suits developers who integrate systems or exchange data with other organisations using XML or SOAP, IT staff who want to build their XML knowledge, teams maintaining existing SOAP systems and anyone interested. You should have some HTML knowledge, basic programming skills in Java or C#, and be comfortable with the internet and the command line. All the tools used are open source or free.

Can XML Fundamentals for Web Services and Applications be run in-house for our team?

Yes. It can be run in-house for your team, with examples adapted to your own work, such as practising with the XML, XSD or WSDL formats your systems already use to exchange data with partners. You can request a quotation from this page, or contact us on LINE @itgenius or by phone on 02-570-8449.