2014-02-10 61 views
2

根源之一:如何使用XSD導入/包含其他XSD文件來驗證xml?

a.xsd 

其中進口|包括:

<xsd:import schemaLocation="b.xsd"/> 
<xsd:include schemaLocation="c.xsd"/> 

我知道有很多在線工具(驗證)可以有一個XML文件,並一個一個.XSD文件作爲輸入和運行驗證。

考慮到「導入」和「包含」的問題,通過指定一個.xsd文件來驗證XML文件有哪些選項?

哪個GUI工具(一個免費的)可用於快速驗證? 如何在任何一種語言的代碼中實現Java/C#/ C++/Python?

預先感謝您

回答

-1
  1. 答案很簡單:把以下文件相同的文件夾。

    • a.xsd
    • b.xsd
    • c.xsd
  2. 我已經寫了一個Validator.py具有下列內容:

    import sys 
    from lxml import etree 
    doc = etree.parse(sys.argv[1]) 
    xmlschema_doc = etree.parse('a.xsd') 
    xmlschema = etree.XMLSchema(xmlschema_doc) 
    if xmlschema(doc): 
        print 'Success!' 
    else: 
        print 'Invalid!' 
        xmlschema.assertValid(doc) 
    raw_input() 
    
  3. 在執行命令行(Windows):

    python Validator.py aParser.xml