National Information Exchange Model (NIEM) Practical Implementer’s Course Notes – XML Conceptual Review (Lesson 2)

NIEM Practical Implementer’s Course
Lesson 2 – XML Conceptual Review

Core Definitions

  • Elements: The tags that exist within an XML document, collectively termed the “markup”. Types of elements include root, parent, and child.
  • Attributes: Part(s) of an XML element that provide(s) additional information about that element. Attributes are defined and written as a name/value pair (e.g. name=”value” ).
  • Instance: A document containing XML tags and content that results from use of XML schema rules.
  • Well-Formed Instance: An XML instance is “well-formed” if it uses the correct syntax and structure as defined by XML standard(s) being used and meets the minimum criteria for XML parsers to read the document.

General Notes

  • Rules/Guidelines for XML Elements
    • Can contain letters, numbers, and other characters.
    • Must not start with number or punctuation.
    • Must not start with xml, XML, or Xml.
    • Cannot contain spaces.
    • Should be descriptive to contained information.
    • Avoid dashes, colons, and periods (allowed, but usually are reserved for namespaces).
    • Avoid non-English letters/characters (allowed, but may not always be supported).
  • XML Prolog & Processing Instructions
    • Prolog specifies the version and the character encoding used for the XML instance and should always come first in every document.
    • Processing instructions are used to associate presentation and/or transformation files with the data.
  • XML Comments
    • Start with “<!– ” and end with ” –>”
    • Can include linebreaks.

 

Note: Information is being shared under the Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA) license. Original content was created by NIEM course instructors Jenness, Owen, and Carlson.

National Information Exchange Model (NIEM) Practical Implementer’s Course Notes – Anatomy of an XML Exchange (Lesson 1)

NIEM Practical Implementer’s Course
Lesson 1 – Anatomy of an XML Exchange

Core Definitions

  • XML: eXtensible Mark‐up Language used to define and serialize data as well as define schemas, transformation rules, web services and visual presentation.
  • Message: One or more XML documents containing the data to be shared.
  • Publisher: An entity / software program that initiates a “One Way” exchange.
  • Subscriber: An entity / software program that receives messages in a “One Way” exchange.
  • Requestor: An entity / software program that initiates a “Two Way” exchange.
  • Responder: An entity / software program that receives “Request Messages” and returns “Response Messages” in a “Two Way” exchange.
  • Web Service: A type of program that allows a remote system (client) to interact with a program on a local system (server) using XML messages.
  • XML Document (.xml): A file that contains actual data and conforms to the rules of XML syntax (also known as an “Instance Document”).
  • XML Schema Document (.xsd): A set of rules to which an XML document must conform in order to be considered “valid”.
  • Web Service Description Language (.wsdl): Pronounced “wiz‐dull”, a document (containing XML) that describes the functionality of a Web Service (like a “Service Contract”).
  • XML Stylesheet (.xsl): An XML document that describes how XML data should be visually rendered.
  • XML Stylesheet Transformation (.xslt): An XML document that defines the rules by which a file defined by one schema is transformed (mapped) to a file defined by another schema.

General Notes

  • One-Way (Two-Party) Exchange Pattern (Publish/Subscribe)
    • Messages are pushed by a publisher directly to oneor more subscribers
    • Messages can be transactional or batch
    • Messages are transport neutral (web service, FTP, email, etc.)
    • Messages are essentially “fired and forgotten”
    • Pattern is very scalable as publisher is insulated from diverse subscriber interfaces
  • Two-Way Exchange Pattern (Request/Response)
    • Requestor sends an XML message requesting specific information
    • Responder replies with an XML message containing the requested information
    • Typically implemented via web services
    • Response is typically synchronous (occurs at about the same time)
  • Federated Query
    • Single request message may yield numerous response messages
    • Not all respondents may have data for every request
    • Typically built using a “Message Broker” device, insulating requestor
    • Message Broker aggregates multiple responses to requestor

 

Note: Information is being shared under the Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA) license. Original content was created by NIEM course instructors Jenness, Owen, and Carlson.