Class JDOMSource

  • All Implemented Interfaces:
    Source

    public class JDOMSource
    extends SAXSource
    A holder for an XML Transformation source: a Document, Element, or list of nodes.

    The is provides input to a JAXP TrAX Transformer.

    The following example shows how to apply an XSL Transformation to a JDOM document and get the transformation result in the form of a list of JDOM nodes:

    
       public static List transform(Document doc, String stylesheet)
                                            throws JDOMException {
         try {
           Transformer transformer = TransformerFactory.newInstance()
                                 .newTransformer(new StreamSource(stylesheet));
           JDOMSource in = new JDOMSource(doc);
           JDOMResult out = new JDOMResult();
           transformer.transform(in, out);
           return out.getResult();
         }
         catch (TransformerException e) {
           throw new JDOMException("XSLT Transformation failed", e);
         }
       }
     
    See Also:
    JDOMResult
    • Constructor Detail

      • JDOMSource

        public JDOMSource​(Document source)
        Creates a JDOM TrAX source wrapping a JDOM document.
        Parameters:
        source - the JDOM document to use as source for the transformations
        Throws:
        IllegalArgumentException - if source is null.
      • JDOMSource

        public JDOMSource​(List<? extends Content> source)
        Creates a JDOM TrAX source wrapping a list of JDOM nodes.
        Parameters:
        source - the JDOM nodes to use as source for the transformations
        Throws:
        IllegalArgumentException - if source is null.
      • JDOMSource

        public JDOMSource​(Element source)
        Creates a JDOM TrAX source wrapping a JDOM element.
        Parameters:
        source - the JDOM element to use as source for the transformations
        Throws:
        IllegalArgumentException - if source is null.
      • JDOMSource

        public JDOMSource​(Document source,
                          EntityResolver resolver)
        Creates a JDOM TrAX source wrapping a JDOM element with an associated EntityResolver to resolve external entities.
        Parameters:
        source - The JDOM Element to use as source for the transformations
        resolver - Entity resolver to use for the source transformation
        Throws:
        IllegalArgumentException - ifsource is null
    • Method Detail

      • setDocument

        public void setDocument​(Document source)
        Sets the source document used by this TrAX source.
        Parameters:
        source - the JDOM document to use as source for the transformations
        Throws:
        IllegalArgumentException - if source is null.
        See Also:
        getDocument()
      • getDocument

        public Document getDocument()
        Returns the source document used by this TrAX source.
        Returns:
        the source document used by this TrAX source or null if the source is a node list.
        See Also:
        setDocument(org.jdom.Document)
      • setNodes

        public void setNodes​(List<? extends Content> source)
        Sets the source node list used by this TrAX source.
        Parameters:
        source - the JDOM nodes to use as source for the transformations
        Throws:
        IllegalArgumentException - if source is null.
        See Also:
        getNodes()
      • getNodes

        public List<? extends Content> getNodes()
        Returns the source node list used by this TrAX source.
        Returns:
        the source node list used by this TrAX source or null if the source is a JDOM document.
        See Also:
        setDocument(org.jdom.Document)
      • getXMLReader

        public XMLReader getXMLReader()
        Returns the XMLReader to be used for the Source.

        This implementation returns a specific XMLReader reading the XML data from the source JDOM document.

        Overrides:
        getXMLReader in class SAXSource
        Returns:
        an XMLReader reading the XML data from the source JDOM document.