XML/SGML objects

OmniMark provides powerful query facilities for retrieving information about the current SGML or XML context. The following information is available:

  • the value of the APPINFO string in the SGML declaration, if specified (only available when processing SGML documents)
  • the name of the DOCTYPE element of the current document instance
  • the name of any currently open elements
  • the attribute values of any of the currently open elements
  • the names of any elements which immediately preceded the currently open elements
  • the type of content that immediately preceded any of the currently open elements
  • the public identifier, system identifier, notation, or the data attributes of any entity referenced by an ENTITY attribute or any currently open element
  • the public identifier or system identifier of any notation referenced by a NOTATION attribute of any currently open element
  • the name of the current external text or data entity, if any
  • the public identifier, system identifier, notation, or the data attributes of the current external text or data entity

In addition, OmniMark also provides:

  • a data structure that represents the stack of currently open elements, allowing you to make complex queries about, and to iterate over all open elements
  • data structures that represent the declared and specified attributes of each currently open element, allowing you to make complex queries about, and to iterate over the attributes