private void processAliasFile(File aliasesFile, Set<String> validClasses) throws ContentFileProcessingException, XMLStreamException, FileNotFoundException, IOException, NamespaceException { XMLStreamReader2 streamReader = null; try (FileReader fileReader = new FileReader(aliasesFile)) { streamReader = (XMLStreamReader2) inputFactory.createXMLStreamReader(fileReader); AliasProcessor aliasProcessor = new AliasProcessor(this, streamReader, aliasesFile, validClasses); if (aliasesFile.getName().equals("aliasDefinitions.xml")) { streamReader.validateAgainst(aliasDefinitionsSchema); aliasProcessor.processAliasDefinitionsFile(); } else { streamReader.validateAgainst(aliasSchema); aliasProcessor.processAliasesFile(); } } catch (WstxValidationException e) { Location location = e.getLocation(); throw new ContentFileProcessingException( aliasesFile, location.getLineNumber(), location.getColumnNumber(), e.getMessage()); } finally { streamReader.close(); } }
public void testElementDefault() throws Exception { XMLValidationSchema schema = parseW3CSchema(SCHEMA_WITH_DEFAULTS); XMLStreamReader2 sr = getReader("<price>129</price>"); sr.validateAgainst(schema); // first: if explicitly defined, should show that value assertTokenType(START_ELEMENT, sr.next()); assertEquals("price", sr.getLocalName()); assertEquals("129", sr.getElementText()); assertTokenType(END_ELEMENT, sr.getEventType()); sr.close(); // then, if missing, default to given default sr = getReader("<price />"); sr.validateAgainst(schema); // first: if explicitly defined, should show that value assertTokenType(START_ELEMENT, sr.next()); assertEquals("price", sr.getLocalName()); assertEquals("10", sr.getElementText()); assertTokenType(END_ELEMENT, sr.getEventType()); sr.close(); }
public void testAttributeDefault() throws Exception { XMLValidationSchema schema = parseW3CSchema(SCHEMA_WITH_DEFAULTS); XMLStreamReader2 sr = getReader("<price currency='FIM'>129</price>"); sr.validateAgainst(schema); // first: if explicitly defined, should show that value assertTokenType(START_ELEMENT, sr.next()); assertEquals("price", sr.getLocalName()); assertEquals(1, sr.getAttributeCount()); assertEquals("FIM", sr.getAttributeValue(null, "currency")); sr.close(); // then, if missing, default to given default sr = getReader("<price>129</price>"); sr.validateAgainst(schema); // first: if explicitly defined, should show that value assertTokenType(START_ELEMENT, sr.next()); assertEquals("price", sr.getLocalName()); assertEquals(1, sr.getAttributeCount()); assertEquals("USD", sr.getAttributeValue(null, "currency")); sr.close(); }