Java Code Examples for org.w3c.dom.Document#getElementsByTagNameNS()

The following examples show how to use org.w3c.dom.Document#getElementsByTagNameNS() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BusinessContentEncryptor.java    From freehealth-connector with GNU Affero General Public License v3.0 6 votes vote down vote up
public static byte[] encrypt(Document doc, Crypto crypto, String detailId) throws TechnicalConnectorException, TransformerException, UnsupportedEncodingException {
   NodeList nodes = doc.getElementsByTagNameNS("urn:be:cin:encrypted", "EncryptedKnownContent");
   String content = toStringOmittingXmlDeclaration(nodes);
   SignatureBuilder builder = SignatureBuilderFactory.getSignatureBuilder(AdvancedElectronicSignatureEnumeration.XAdES);
   Map<String, Object> options = new HashMap();
   List<String> tranforms = new ArrayList();
   tranforms.add("http://www.w3.org/2000/09/xmldsig#base64");
   tranforms.add("http://www.w3.org/2001/10/xml-exc-c14n#");
   options.put("transformerList", tranforms);
   options.put("baseURI", detailId);
   options.put("encapsulate", true);
   options.put("encapsulate-transformer", new EncapsulationTransformer() {
      public Node transform(Node signature) {
         Element result = signature.getOwnerDocument().createElementNS("urn:be:cin:encrypted", "Xades");
         result.setTextContent(Base64.encodeBase64String(ConnectorXmlUtils.toByteArray(signature)));
         return result;
      }
   });
   byte[] encryptedKnowContent = builder.sign(Session.getInstance().getSession().getEncryptionCredential(), content.getBytes("UTF-8"), options);
   return seal(crypto, encryptedKnowContent);
}
 
Example 2
Source File: ManagementBusInvocationPluginRest.java    From container with Apache License 2.0 6 votes vote down vote up
/**
 * Unmarshalls the provided artifact specific content.
 *
 * @param doc to unmarshall.
 * @return DataAssign object.
 */
private DataAssign unmarshall(final Document doc) {

    final NodeList nodeList =
        doc.getElementsByTagNameNS("http://www.siengine.restplugin.org/SpecificContentRestSchema", "DataAssign");

    final Node node = nodeList.item(0);
    try {
        final JAXBContext jc = JAXBContext.newInstance("org.opentosca.bus.management.plugins.rest.service.impl.model");
        final Unmarshaller unmarshaller = jc.createUnmarshaller();
        final DataAssign dataAssign = (DataAssign) unmarshaller.unmarshal(node);

        LOG.debug("Artifact specific content successfully unmarshalled.");
        return dataAssign;
    } catch (final JAXBException e) {
        LOG.warn("Couldn't unmarshall provided artifact specific content!");
        e.printStackTrace();
    }
    LOG.debug("No unmarshallable artifact specific content provided. Using default values now.");
    return null;
}
 
Example 3
Source File: RequestValidator.java    From neoscada with Eclipse Public License 1.0 6 votes vote down vote up
public Result validate ( final Document doc ) throws Exception
{
    final NodeList nl = doc.getElementsByTagNameNS ( XMLSignature.XMLNS, "Signature" ); //$NON-NLS-1$

    if ( nl.getLength () == 0 )
    {
        return new Result ( StatusCodes.VALIDATE_NO_SIGNATURE_DATA, "No signature data found" );
    }

    final DOMValidateContext dvc = new DOMValidateContext ( this.keySelector, nl.item ( 0 ) );

    final XMLSignature signature = this.factory.unmarshalXMLSignature ( dvc );

    try
    {
        final boolean result = signature.validate ( dvc );

        return new Result ( result, signature );
    }
    catch ( final XMLSignatureException e )
    {
        logger.debug ( "Failed to perform validation", e );
        return Result.INVALID;
    }
}
 
Example 4
Source File: BusinessContentEncryptor.java    From freehealth-connector with GNU Affero General Public License v3.0 6 votes vote down vote up
private static byte[] encrypt(Document doc, Crypto crypto, String detailId, String projectName) throws TechnicalConnectorException, TransformerException, UnsupportedEncodingException {
   NodeList nodes = doc.getElementsByTagNameNS("urn:be:cin:encrypted", "EncryptedKnownContent");
   String content = toStringOmittingXmlDeclaration(nodes);
   SignatureBuilder builder = SignatureBuilderFactory.getSignatureBuilder(AdvancedElectronicSignatureEnumeration.XAdES);
   Map<String, Object> options = new HashMap();
   List<String> tranforms = new ArrayList();
   tranforms.add("http://www.w3.org/2000/09/xmldsig#base64");
   tranforms.add("urn:nippin:xml:sig:transform:optional-deflate");
   options.put("transformerList", tranforms);
   options.put("baseURI", detailId);
   EncryptedKnownContent encryptedKnownContent = (EncryptedKnownContent)ConnectorXmlUtils.toObject(content.getBytes("UTF-8"), EncryptedKnownContent.class);
   encryptedKnownContent.getBusinessContent().setValue(ConnectorIOUtils.compress(encryptedKnownContent.getBusinessContent().getValue(), "deflate"));
   byte[] xades = builder.sign(Session.getInstance().getSession().getEncryptionCredential(), ConnectorXmlUtils.toByteArray((Object)encryptedKnownContent.getBusinessContent()), options);
   encryptedKnownContent.setXades(xades);
   return seal(crypto, ConnectorXmlUtils.toByteArray((Object)encryptedKnownContent), projectName);
}
 
Example 5
Source File: ProcessDiagramLayoutFactory.java    From flowable-engine with Apache License 2.0 6 votes vote down vote up
protected Map<String, DiagramNode> getElementBoundsFromBpmnDi(Document bpmnModel) {
    Map<String, DiagramNode> listOfBounds = new HashMap<>();
    // iterate over all DI shapes
    NodeList shapes = bpmnModel.getElementsByTagNameNS(BpmnParser.BPMN_DI_NS, "BPMNShape");
    for (int i = 0; i < shapes.getLength(); i++) {
        Element shape = (Element) shapes.item(i);
        String bpmnElementId = shape.getAttribute("bpmnElement");
        // get bounds of shape
        NodeList childNodes = shape.getChildNodes();
        for (int j = 0; j < childNodes.getLength(); j++) {
            Node childNode = childNodes.item(j);
            if (childNode instanceof Element && BpmnParser.BPMN_DC_NS.equals(childNode.getNamespaceURI()) && "Bounds".equals(childNode.getLocalName())) {
                DiagramNode bounds = parseBounds((Element) childNode);
                bounds.setId(bpmnElementId);
                listOfBounds.put(bpmnElementId, bounds);
                break;
            }
        }
    }
    return listOfBounds;
}
 
Example 6
Source File: AbstractCase.java    From io with Apache License 2.0 5 votes vote down vote up
/**
 * 名前空間を指定してDOMから要素を取得する.
 * @param doc Documentオブジェクト
 * @param name 取得する要素名
 * @param ns 名前空間名
 * @return 取得したNodeオブジェクト
 */
private Node getElementByTagNameNS(final Document doc, final String name, final String ns) {
    NodeList nl = doc.getElementsByTagNameNS(ns, name);
    if (nl.getLength() > 0) {
        return nl.item(0);
    } else {
        return null;
    }
}
 
Example 7
Source File: AbstractSamlAuthenticationHandler.java    From keycloak with Apache License 2.0 5 votes vote down vote up
private boolean containsUnencryptedSignature(SAMLDocumentHolder documentHolder, boolean postBinding) {
    if (postBinding) {
        Document signedDoc = documentHolder.getSamlDocument();
        NodeList nl = signedDoc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature");
        return nl != null && nl.getLength() > 0;
    } else {
        String algorithm = facade.getRequest().getQueryParamValue(GeneralConstants.SAML_SIG_ALG_REQUEST_KEY);
        return algorithm != null;
    }
}
 
Example 8
Source File: TruncateHMAC.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
private static void validate(String data, boolean pass) throws Exception {
    System.out.println("Validating " + data);
    File file = new File(DIR, data);

    Document doc = dbf.newDocumentBuilder().parse(file);
    NodeList nl =
        doc.getElementsByTagNameNS(Constants.SignatureSpecNS, "Signature");
    if (nl.getLength() == 0) {
        throw new Exception("Couldn't find signature Element");
    }
    Element sigElement = (Element) nl.item(0);
    XMLSignature signature = new XMLSignature
        (sigElement, file.toURI().toString());
    SecretKey sk = signature.createSecretKey("secret".getBytes("ASCII"));
    try {
        System.out.println
            ("Validation status: " + signature.checkSignatureValue(sk));
        if (!pass) {
            System.out.println("FAILED");
            atLeastOneFailed = true;
        } else {
            System.out.println("PASSED");
        }
    } catch (XMLSignatureException xse) {
        System.out.println(xse.getMessage());
        if (!pass) {
            System.out.println("PASSED");
        } else {
            System.out.println("FAILED");
            atLeastOneFailed = true;
        }
    }
}
 
Example 9
Source File: SchematronValidatingParser.java    From teamengine with Apache License 2.0 5 votes vote down vote up
/**
 * Parses the parser element to get the schematron file location and type of
 * resource (from ctl file).
 * 
 * @param schema_links
 *            Gets the location of the schema (and type of resource) and
 *            saves to global parameter
 * @return The type of resource (URL, File, Resource)
 */
public String getFileType(Element schema_links) throws Exception {
    Document d = schema_links.getOwnerDocument();
    NodeList nodes = d.getElementsByTagNameNS(
            "http://www.occamlab.com/te/parsers", "schema");
    String localType = null;
    for (int i = 0; i < nodes.getLength(); i++) {
        Element e = (Element) nodes.item(i);
        localType = e.getAttribute("type");
        this.type = e.getAttribute("type");
        this.phase = e.getAttribute("phase");
        this.schemaLocation = e.getTextContent().trim();
    }
    return localType;
}
 
Example 10
Source File: AlertingTest.java    From java-client-api with Apache License 2.0 5 votes vote down vote up
@Test
public void testPostDocumentWithoutFormat() throws SAXException, IOException {
  StringHandle stringHandle = new StringHandle("<search xmlns=\"http://marklogic.com/appservices/search\"><qtext>true</qtext></search>");

  DOMHandle answer = ruleManager.match(stringHandle, new DOMHandle());

  Document doc = answer.get();
  NodeList nl = doc.getElementsByTagNameNS(
    "http://marklogic.com/rest-api", "name");
  assertEquals(2, nl.getLength());

}
 
Example 11
Source File: XMLHelpers.java    From SAMLRaider with MIT License 5 votes vote down vote up
/**
 * Returns the issuer of an SAML Message
 *
 * @param document
 *            Document which contains the issuer
 * @return Issuer of message / first Assertion if found, else empty string
 */
public String getIssuer(Document document) {
	NodeList nl = document.getElementsByTagNameNS("*", "Issuer");
	if (nl.getLength() > 0) {
		return nl.item(0).getTextContent();
	}
	return "";
}
 
Example 12
Source File: ModelLoader.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Parses a set of schemas inside a WSDL file.
 *
 * A WSDL file may contain multiple &lt;xsd:schema> elements.
 */
private XSSchemaSet loadWSDL()
    throws SAXException {


    // build DOMForest just like we handle XML Schema
    DOMForest forest = buildDOMForest( new XMLSchemaInternalizationLogic() );

    DOMForestScanner scanner = new DOMForestScanner(forest);

    XSOMParser xsomParser = createXSOMParser( forest );

    // find <xsd:schema>s and parse them individually
    for( InputSource grammar : opt.getGrammars() ) {
        Document wsdlDom = forest.get( grammar.getSystemId() );
        if (wsdlDom == null) {
            String systemId = Options.normalizeSystemId(grammar.getSystemId());
            if (forest.get(systemId) != null) {
                grammar.setSystemId(systemId);
                wsdlDom = forest.get( grammar.getSystemId() );
            }
        }

        NodeList schemas = wsdlDom.getElementsByTagNameNS(XMLConstants.W3C_XML_SCHEMA_NS_URI,"schema");
        for( int i=0; i<schemas.getLength(); i++ )
            scanner.scan( (Element)schemas.item(i), xsomParser.getParserHandler() );
    }
    return xsomParser.getResult();
}
 
Example 13
Source File: Documents.java    From ttt with BSD 2-Clause "Simplified" License 5 votes vote down vote up
public static List<Element> findElementsByName(Document d, QName qn) {
    String ns = qn.getNamespaceURI();
    NodeList nodes;
    if ((ns == null) || (ns.length() == 0))
        nodes = d.getElementsByTagName(qn.getLocalPart());
    else
        nodes = d.getElementsByTagNameNS(ns, qn.getLocalPart());
    List<Element> elts = new java.util.ArrayList<Element>();
    if (nodes != null) {
        for (int i = 0, n = nodes.getLength(); i < n; ++i) {
            elts.add((Element) nodes.item(i));
        }
    }
    return elts;
}
 
Example 14
Source File: PomTest.java    From google-cloud-eclipse with Apache License 2.0 5 votes vote down vote up
@Test
public void testRemoveUnusedDependencies_keepLibrary1()
    throws CoreException, ParserConfigurationException, IOException, SAXException {
  LibraryFile file1 = new LibraryFile(coordinates("com.example.group1", "artifact1"));
  LibraryFile file2 = new LibraryFile(coordinates("com.example.group2", "artifact2"));
  Library library1 = newLibrary("id1", file1);
  Library library2 = newLibrary("id2", file1, file2);

  pom.addDependencies(Arrays.asList(library1, library2));
  try (InputStream contents = pomFile.getContents()) {
    Document actual = parse(contents);
    NodeList dependenciesList = actual.getElementsByTagNameNS("http://maven.apache.org/POM/4.0.0", "dependencies");
    Assert.assertEquals(2, dependenciesList.getLength());
    Element dependencies = (Element) dependenciesList.item(1);
    Assert.assertEquals(2, dependencies.getElementsByTagNameNS("http://maven.apache.org/POM/4.0.0", "dependency").getLength());

    // dependencies from library2 should be removed
    Pom.removeUnusedDependencies(dependencies, Arrays.asList(library1),
        Arrays.asList(library1, library2));
    Assert.assertEquals(1, dependencies.getElementsByTagNameNS("http://maven.apache.org/POM/4.0.0", "dependency").getLength());
    Element dependency = getOnlyChild((dependencies), "dependency");
    Element groupId = getOnlyChild(dependency, "groupId");
    Assert.assertEquals("com.example.group1", groupId.getTextContent());
    Element artifactId = getOnlyChild(dependency, "artifactId");
    Assert.assertEquals("artifact1", artifactId.getTextContent());
  }
}
 
Example 15
Source File: DocumentMetadataHandle.java    From java-client-api with Apache License 2.0 5 votes vote down vote up
private void receivePermissionsImpl(Document document) {
  DocumentPermissions permissions = getPermissions();
  permissions.clear();

  if (document == null)
    return;

  NodeList permissionsIn = document.getElementsByTagNameNS(REST_API_NS, "permission");
  int permissionsInLength = permissionsIn.getLength();
  for (int i=0; i < permissionsInLength; i++) {
    String roleName = null;
    Set<Capability> caps = new HashSet<>();

    NodeList children = permissionsIn.item(i).getChildNodes();
    for (int j=0; j < children.getLength(); j++) {
      Node node = children.item(j);
      if (node.getNodeType() != Node.ELEMENT_NODE)
        continue;
      Element element = (Element) node;

      if ("role-name".equals(element.getLocalName()))
        roleName = element.getTextContent();
      else if ("capability".equals(element.getLocalName()))
        caps.add(Capability.getValueOf(element.getTextContent()));
      else if (logger.isWarnEnabled())
        logger.warn("Skipping unknown permission element", element.getTagName());
    }

    if (roleName == null || caps.size() == 0) {
      if (logger.isWarnEnabled())
        logger.warn("Could not parse permission");
      continue;
    }

    permissions.put(roleName, caps);
  }
}
 
Example 16
Source File: DOMUtils.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
public static Element getElement(Document parent, QName qname){
  NodeList children = parent.getElementsByTagNameNS(qname.getNamespaceURI(), qname.getLocalPart());
  if(children.getLength() >= 1)
    return (Element)children.item(0);
  return null;
}
 
Example 17
Source File: XrdsParserImpl.java    From openid4java with Apache License 2.0 4 votes vote down vote up
public List parseXrds(String input, Set targetTypes) throws DiscoveryException
{
    if (DEBUG)
        _log.debug("Parsing XRDS input for service types: " + targetTypes.toString());

    Document document = parseXmlInput(input);

    NodeList XRDs = document.getElementsByTagNameNS(XRD_NS, XRD_ELEM_XRD);
    Node lastXRD;
    if (XRDs.getLength() < 1 || (lastXRD = XRDs.item(XRDs.getLength() - 1)) == null)
        throw new DiscoveryException("No XRD elements found.");

    // get the canonical ID, if any (needed for XRIs)
    String canonicalId = null;
    Node canonicalIdNode;
    NodeList canonicalIDs = document.getElementsByTagNameNS(XRD_NS, XRD_ELEM_CANONICALID);
    for (int i = 0; i < canonicalIDs.getLength(); i++) {
        canonicalIdNode = canonicalIDs.item(i);
        if (canonicalIdNode.getParentNode() != lastXRD) continue;
        if (canonicalId != null)
            throw new DiscoveryException("More than one Canonical ID found.");
        canonicalId = canonicalIdNode.getFirstChild() != null && canonicalIdNode.getFirstChild().getNodeType() == Node.TEXT_NODE ?
            canonicalIdNode.getFirstChild().getNodeValue() : null;
    }

    // extract the services that match the specified target types
    NodeList types = document.getElementsByTagNameNS(XRD_NS, XRD_ELEM_TYPE);
    Map serviceTypes = new HashMap();
    Set selectedServices = new HashSet();
    Node typeNode, serviceNode;
    for (int i = 0; i < types.getLength(); i++) {
        typeNode = types.item(i);
        String type = typeNode != null && typeNode.getFirstChild() != null && typeNode.getFirstChild().getNodeType() == Node.TEXT_NODE ?
            typeNode.getFirstChild().getNodeValue() : null;
        if (type == null) continue;

        serviceNode = typeNode.getParentNode();
        if (serviceNode.getParentNode() != lastXRD) continue;

        if (targetTypes.contains(type))
            selectedServices.add(serviceNode);
        addServiceType(serviceTypes, serviceNode, type);
    }

    if (DEBUG)
        _log.debug("Found " + serviceTypes.size() + " services for the requested types.");

    // extract local IDs
    Map serviceLocalIDs = extractElementsByParent(XRD_NS, XRD_ELEM_LOCALID, selectedServices, document);
    Map serviceDelegates = extractElementsByParent(OPENID_NS, OPENID_ELEM_DELEGATE, selectedServices, document);

    // build XrdsServiceEndpoints for all URIs in the found services
    List result = new ArrayList();
    NodeList uris = document.getElementsByTagNameNS(XRD_NS, XRD_ELEM_URI);
    Node uriNode;
    for (int i = 0; i < uris.getLength(); i++) {
        uriNode = uris.item(i);
        if (uriNode == null || !selectedServices.contains(uriNode.getParentNode())) continue;

        String uri = uriNode.getFirstChild() != null && uriNode.getFirstChild().getNodeType() == Node.TEXT_NODE ?
            uriNode.getFirstChild().getNodeValue() : null;

        serviceNode = uriNode.getParentNode();
        Set typeSet = (Set) serviceTypes.get(serviceNode);

        String localId = (String) serviceLocalIDs.get(serviceNode);
        String delegate = (String) serviceDelegates.get(serviceNode);

        XrdsServiceEndpoint endpoint = new XrdsServiceEndpoint(uri, typeSet, getPriority(serviceNode), getPriority(uriNode), localId, delegate, canonicalId);
        if (DEBUG)
            _log.debug("Discovered endpoint: \n" + endpoint);
        result.add(endpoint);
    }

    Collections.sort(result);
    return result;
}
 
Example 18
Source File: SignatureValidator.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
boolean validate(String fn, KeySelector ks, URIDereferencer ud,
    boolean cache) throws Exception {

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setNamespaceAware(true);
    dbf.setValidating(false);
    Document doc = dbf.newDocumentBuilder().parse(new File(dir, fn));
    NodeList nl =
        doc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature");
    if (nl.getLength() == 0) {
        throw new Exception("Couldn't find signature Element");
    }
    Element sigElement = (Element) nl.item(0);
    DOMValidateContext vc = new DOMValidateContext(ks, sigElement);
    vc.setBaseURI(dir.toURI().toString());
    if (cache) {
        vc.setProperty("javax.xml.crypto.dsig.cacheReference", Boolean.TRUE);
    }
    XMLSignatureFactory factory = XMLSignatureFactory.getInstance();
    XMLSignature signature = factory.unmarshalXMLSignature(vc);
    if (ud != null) {
        vc.setURIDereferencer(ud);
    }
    boolean coreValidity = signature.validate(vc);

    // Check reference cache
    if (cache) {
        Iterator i = signature.getSignedInfo().getReferences().iterator();
        for (int j=0; i.hasNext(); j++) {
            Reference ref = (Reference) i.next();
            if (!digestInputEqual(ref)) {
                throw new Exception
                    ("cached data for Reference[" + j + "] is not correct");
            }
            // check that dereferenced data does not contain comment nodes
            if (ref.getURI() == "") {
                System.out.println("checking deref data");
                NodeSetData data = (NodeSetData) ref.getDereferencedData();
                Iterator ni = data.iterator();
                while (ni.hasNext()) {
                    Node n = (Node) ni.next();
                    if (n.getNodeType() == Node.COMMENT_NODE) {
                        throw new Exception("dereferenced data for " +
                            " Reference[" + j + " contains comment node");
                    }
                }
            }
        }
    }
    return coreValidity;
}
 
Example 19
Source File: DocumentTest.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
@Test(dataProvider = "elementName")
public void testGetElementsByTagNameNS(String localName, int number) throws Exception {
    Document document = createDOMWithNS("DocumentTest01.xml");
    NodeList nodeList = document.getElementsByTagNameNS("urn:BooksAreUs.org:BookInfo", localName);
    assertEquals(nodeList.getLength(), number);
}
 
Example 20
Source File: SignatureValidator.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
boolean validate(String fn, KeySelector ks, URIDereferencer ud,
    boolean cache) throws Exception {

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setNamespaceAware(true);
    dbf.setValidating(false);
    Document doc = dbf.newDocumentBuilder().parse(new File(dir, fn));
    NodeList nl =
        doc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature");
    if (nl.getLength() == 0) {
        throw new Exception("Couldn't find signature Element");
    }
    Element sigElement = (Element) nl.item(0);
    DOMValidateContext vc = new DOMValidateContext(ks, sigElement);
    vc.setBaseURI(dir.toURI().toString());
    if (cache) {
        vc.setProperty("javax.xml.crypto.dsig.cacheReference", Boolean.TRUE);
    }
    XMLSignatureFactory factory = XMLSignatureFactory.getInstance();
    XMLSignature signature = factory.unmarshalXMLSignature(vc);
    if (ud != null) {
        vc.setURIDereferencer(ud);
    }
    boolean coreValidity = signature.validate(vc);

    // Check reference cache
    if (cache) {
        Iterator i = signature.getSignedInfo().getReferences().iterator();
        for (int j=0; i.hasNext(); j++) {
            Reference ref = (Reference) i.next();
            if (!digestInputEqual(ref)) {
                throw new Exception
                    ("cached data for Reference[" + j + "] is not correct");
            }
            // check that dereferenced data does not contain comment nodes
            if (ref.getURI() == "") {
                System.out.println("checking deref data");
                NodeSetData data = (NodeSetData) ref.getDereferencedData();
                Iterator ni = data.iterator();
                while (ni.hasNext()) {
                    Node n = (Node) ni.next();
                    if (n.getNodeType() == Node.COMMENT_NODE) {
                        throw new Exception("dereferenced data for " +
                            " Reference[" + j + " contains comment node");
                    }
                }
            }
        }
    }
    return coreValidity;
}