2014-03-03 28 views
0

也許是一個愚蠢的問題,但我找不到在XML DOM輸出中指定XML模型標記的方法。特別是,我想的是,輸出XML具有以下起始行:在java中指定XML模型DOM

<?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> 

我還指定文檔工廠的模式以這樣的方式

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(); 
... 

,但它似乎僅用於驗證生成的XML,並且XML-Model不會出現在輸出XML中。這是這樣或我完全錯了嗎?任何建議?

謝謝

回答

1

它可以幫助你知道的xml模式「標籤」其實是「處理指令」。您將在DOM庫中找到用於創建處理指令並將其附加到文檔節點的方法。

+0

謝謝。我用ProcessingInstruction類解決了這個問題。 – user1923631