public boolean isValidArchive(InputStream fileData) { if (super.isValidArchive(fileData)) { Document manifest = extractFileAsDOM("/imsmanifest.xml", fileData); return (enclosingDocumentContainsNamespaceDeclaration(manifest, CC_NAMESPACE_URI)); } else return false; }
public boolean isValidArchive(InputStream fileData) { inputStream = fileData; if (super.isValidArchive(fileData)) { Document manifest = extractFileAsDOM("/imsmanifest.xml", fileData); for (int i = 0; i < CC_NAMESPACE_URIS.length; i++) { if (enclosingDocumentContainsNamespaceDeclaration(manifest, CC_NAMESPACE_URIS[i])) return true; } return false; } else return false; }
public boolean isValidArchive(InputStream fileData) { inputStream = fileData; if (super.isValidArchive(fileData)) { Document manifest = extractFileAsDOM("/imsmanifest.xml", fileData); for (int i = 0; i < CC_NAMESPACE_URIS.length; i++) { if (enclosingDocumentContainsNamespaceDeclaration(manifest, CC_NAMESPACE_URIS[i])) return true; } return false; } else return false; }
public boolean isValidArchive(InputStream fileData) { if (super.isValidArchive(fileData)) { Document manifest = extractFileAsDOM("/imsmanifest.xml", fileData); return (enclosingDocumentContainsNamespaceDeclaration(manifest, CC_NAMESPACE_URI)); } else return false; }
public boolean isValidArchive(InputStream fileData) { if (super.isValidArchive(fileData)) { //TODO check for compliance with IMS 1.0 DTD Document manifest = extractFileAsDOM("/imsmanifest.xml", fileData); return (XPathHelper.selectNodes("/manifest/organizations/tableofcontents/item",manifest).size() > 0 || XPathHelper.selectNodes("/manifest/resources/resource",manifest).size() > 0 || XPathHelper.selectNodes("/manifest/organization/tableofcontents/item", manifest).size() > 0); } else return false; }
public boolean isValidArchive(InputStream fileData) { if (super.isValidArchive(fileData)) { //TODO check for compliance with IMS 1.1 DTD Document manifest = extractFileAsDOM("/imsmanifest.xml", fileData); //String head = extractFileHead("/imsmanifest.xml", fileData); // originally head.indexOf("xmlns:bb=\"http://www.blackboard.com/content-packaging/\"") >= 0 // but we've already read the whole stream, so have to get it from the document NodeList nl = manifest.getElementsByTagName("manifest"); if (nl.getLength() > 0) { Element node = (Element)nl.item(0); String url = node.getAttribute("xmlns:bb"); if (url == null || !url.equals("http://www.blackboard.com/content-packaging/")) return false; } else return false; // xmlns:bb means it's v6. However I'm worried about packages generated by other // software not being quite right. Since we're most concerned about tests, if it // has 5.5 format tests, let 5.5 deal with it. return ((XPathHelper.selectNodes("//resource[@type='assessment/x-bb-quiz']", manifest).size() + XPathHelper.selectNodes("//resource[@type='assessment/x-bb-pool']", manifest).size() + XPathHelper.selectNodes("//resource[@type='assessment/x-bb-survey']", manifest).size()) == 0 || (XPathHelper.selectNodes("//resource[@type='assessment/x-bb-qti-test']", manifest).size() + XPathHelper.selectNodes("//resource[@type='assessment/x-bb-qti-pool']", manifest).size()) > 0); // return (XPathHelper.selectNodes("/manifest/organizations/organization/item",manifest).size() > 0 // || XPathHelper.selectNodes("/manifest/resources/resource",manifest).size() > 0); } else return false; }