コード例 #1
0
  @Test
  public void testGeneratedXsd() throws SAXException, IOException, HL7Exception {

    InputStream xsdInputStream = XsdConfGenMojo.class.getResourceAsStream("/XSDGEN.xsd");
    Validate.notNull(xsdInputStream);

    Source xsdSource = new StreamSource(xsdInputStream);
    Validate.notNull(xsdSource);

    // InputStream xsdXsdInputStream =
    // XsdConfGenMojo.class.getResourceAsStream("/XMLSchema.xsd");
    // Validate.notNull(xsdXsdInputStream);
    //
    // StreamSource xsdXsdSource = new StreamSource(xsdXsdInputStream);
    // Validate.notNull(xsdXsdSource);

    SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    Schema schema = schemaFactory.newSchema(xsdSource);

    Validator validator = schema.newValidator();

    DefaultHapiContext ctx = new DefaultHapiContext(new ValidationContextImpl());

    ADT_A01 a01 = new ADT_A01();
    a01.initQuickstart("ADT", "A01", "T");
    a01.setParser(ctx.getXMLParser());

    try {
      validator.validate(new StreamSource(new StringReader(a01.encode())));
      fail();
    } catch (SAXParseException e) {
      // expected
    }

    populateFully(a01);
    ourLog.info("Message:\n{}", ctx.getPipeParser().encode(a01).replace('\r', '\n'));

    validator.validate(new StreamSource(new StringReader(a01.encode())));
  }