# Package nu.xom

`nu.xom` is the core package of XOM that contains all the basic classes representing the different kinds of nodes: elements, attributes, comments, text nodes, and so forth.

See: Description

- Class Summary
  Class | Description
  --- | ---
  Attribute | This class represents an attribute such as `type="empty"` or `xlink:href="http://www.example.com"`.
  Attribute.Type | Uses the type-safe enumeration design pattern to represent attribute types, as specified by XML DTDs.
  Builder | This class is responsible for creating XOM `Document` objects from a URL, file, string, or input stream by reading an XML document.
  Comment | This class represents an XML comment such as `<-- This is a comment-->`.
  DocType | Represents an XML document type declaration such as `<!DOCTYPE book SYSTEM "docbookx.dtd">`.
  Document | The `Document` class represents a complete XML document including its root element, prolog, and epilog.
  Element | This class represents an XML element.
  Elements | A read-only list of elements for traversal purposes.
  Namespace | Represents a namespace in scope.
  Node | The generic superclass for all the contents of an XML document.
  NodeFactory | Builders use a `NodeFactory` object to construct each `Node` object (`Element`, `Text`, `Attribute`, etc.) they add to the tree.
  Nodes | Implements a list of nodes for traversal purposes.
  ParentNode | The generic superclass for nodes that have children.
  ProcessingInstruction | This class represents an XML processing instruction.
  Serializer | Outputs a `Document` object in a specific encoding using various options for controlling white space, normalization, indenting, line breaking, and base URIs.
  Text | This class represents a run of text.
  XPathContext | Provides namespace prefix bindings for use in an XPath expression.

- Exception Summary
  Exception | Description
  --- | ---
  CycleException | Indicates an attempt to insert an ancestor element as one of its own descendants.
  IllegalAddException | Indicates an attempt to add a node in a wrong place; for instance adding a `Text` node to a `Document` object.
  IllegalCharacterDataException | Indicates an attempt to create text content that is not allowed in XML 1.0.
  IllegalDataException | Indicates an attempt to set some value to malformed content; for instance by adding a string containing a null or a vertical tab to a text node, or using white space in an element name.
  IllegalNameException | Indicates an attempt to assign a name that is not a legal XML name.
  IllegalTargetException | Indicates an attempt to assign a processing instruction target that is not a legal XML 1.0 processing instruction target.
  MalformedURIException | Indicates that a string intended for use as a URI or URI reference (typically a namespace name or a base URI) is not syntactically correct according to RFC 3986.
  MultipleParentException | Indicates an attempt to add a node that already has a parent to the same or a different parent.
  NamespaceConflictException | Signals an attempt to set a namespace in a way that conflicts with an existing namespace; for instance, adding an attribute to an element that has the same prefix as the element but maps it to a different URI.
  NoSuchAttributeException | Indicates that an attribute with a certain name and/or namespace does not exist.
  NoSuchChildException | Indicates that a child with a certain name and/or namespace does not exist.
  ParsingException | The generic superclass for all the checked exceptions thrown in XOM.
  UnavailableCharacterException | Thrown when serializing documents that contain characters not available in the current encoding, and which cannot be escaped (for instance, because they're in an element name or processing instruction data).
  ValidityException | Signals a validity error in a document being parsed.
  WellformednessException | Indicates an attempt to do or create something that could not possibly be serialized in a namespace well-formed XML 1.0 document.
  XMLException | The generic superclass for most runtime exceptions thrown in `nu.xom`.
  XPathException | Indicates problems with XPath syntax or evaluation.
  XPathTypeException | Indicates that an XPath query returned a non-node-set.

## Package nu.xom Description

`nu.xom` is the core package of XOM that contains all the basic classes representing the different kinds of nodes: elements, attributes, comments, text nodes, and so forth. It also contains the basic classes for parsing and serializing XML documents, as well as the various exception classes representing the different things that can go wrong while working with XOM.

Since:
  1.0

Copyright 2002-2026 Elliotte Rusty Harold
elharo@ibiblio.org