Domanda

maybe a stupid question but I cannot find a way to specify an xml-model tag in my XML output with java DOM. In particular, I'd like that the output XML has the following starting lines:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="URL_TO_MY_RNG_FILE" schematypens="http://relaxng.org/ns/structure/1.0"?>
<root_node>
...
</root_node>

I have also specified the schema in the document factory in this way:

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
System.setProperty(SchemaFactory.class.getName() + ":" + XMLConstants.RELAXNG_NS_URI, "com.thaiopensource.relaxng.jaxp.XMLSyntaxSchemaFactory");
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
Schema schema = schemaFactory.newSchema(new URL("URL_TO_MY_RNG_FILE"));
docFactory.setSchema(schema);
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
...

but it seems that it is used only to validate the produced XML and that the XML-Model does not appear in the output XML. Is this the way or I'm just totally wrong? Any suggestion?

Thank you

È stato utile?

Soluzione

It might help you to know that the xml-model "tag" is actually a "processing instruction". You'll find methods in the DOM library for creating processing instructions and attaching them to the document node.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top