Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何根据Vala中的模式进行验证_Xml_Xml Parsing_Xsd_Vala - Fatal编程技术网

Xml 如何根据Vala中的模式进行验证

Xml 如何根据Vala中的模式进行验证,xml,xml-parsing,xsd,vala,Xml,Xml Parsing,Xsd,Vala,我想将xml文件解析为xml.Doc对象,并根据Vala中的模式文件对其进行验证。Vala是否提供此功能?我找过了,但什么也找不到 我希望在Vala中提供以下C功能: xmlSchemaParserCtxtPtr parser_ctxt=xmlSchemaNewDocParserCtxt(schema_doc) xmlSchemaPtr schema=xmlSchemaParse(解析器_ctxt) xmlSchemaValidCtxtPtr valid_ctxt=xmlSchemaNewVal

我想将xml文件解析为xml.Doc对象,并根据Vala中的模式文件对其进行验证。Vala是否提供此功能?我找过了,但什么也找不到

我希望在Vala中提供以下C功能:

  • xmlSchemaParserCtxtPtr parser_ctxt=xmlSchemaNewDocParserCtxt(schema_doc)
  • xmlSchemaPtr schema=xmlSchemaParse(解析器_ctxt)
  • xmlSchemaValidCtxtPtr valid_ctxt=xmlSchemaNewValidCtxt(schema) 我只能找到第三个,valadoc中提到的SchemaValidCtxt,但是页面实际上是空白的。这是一个有效的可用类吗

    我想将xml文件解析为xml.Doc对象,并根据Vala中的模式文件对其进行验证。Vala是否提供此功能?我找过了,但什么也找不到

    如果要在libxml中查找与C函数等价的Vala,只需搜索并查找cname即可。目前,Valadoc.org不允许您搜索C符号,尽管AFAIK计划使用该功能

    我希望在Vala中提供以下C功能:

  • xmlSchemaParserCtxtPtr parser_ctxt=xmlSchemaNewDocParserCtxt(schema_doc)
  • xmlSchemaPtr schema=xmlSchemaParse(解析器_ctxt)
  • xmlSchemaValidCtxtPtr valid_ctxt=xmlSchemaNewValidCtxt(schema) libxml-2.0vala绑定非常不完整,没有人愿意使用它们,因为capi非常混乱。通常情况下,最终会有人出现,需要一些特定的东西,所以他们会添加它并提交补丁。显然,您是第一个需要支持XML模式的人

    xmlSchemaNewDocParserCtxt绑定为。另外两个函数目前还没有绑定,尽管绑定它们并不困难。向libxml-2.0 VAPI中添加类似的内容(完全未经测试)应该可以做到:

        [Compact]
        [CCode (cname = "xmlSchema", free_function = "xmlSchemaFree", cheader_filename = "libxml/xmlschemas.h")]
        public class Schema {
            [CCode (cname = "xmlSchemaDump", instance_pos = -1)]
            public void dump (GLib.FileStream output);
        }
    
        [Compact]
        [CCode (cname = "xmlSchemaParserCtxt", free_function = "xmlSchemaFreeParserCtxt", cheader_filename = "libxml/xmlschemas.h")]
        public class SchemaParserCtxt {
            [CCode (cname = "xmlSchemaNewParserCtxt")]
            public SchemaParserCtxt (string URL);
            [CCode (cname = "xmlSchemaNewDocParserCtxt")]
            public SchemaParserCtxt.from_doc (Xml.Doc doc);
            [CCode (cname = "xmlSchemaNewMemParserCtxt")]
            public SchemaParserCtxt.from_buffer (uint8[] buffer);
            [CCode (cname = "xmlSchemaParse")]
            public Xml.Schema parse ();
        }
    
        [Compact]
        [CCode (cname = "xmlSchemaValidCtxt", free_function = "xmlSchemaFreeValidCtxt", cheader_filename = "libxml/xmlschemas.h")]
        public class SchemaValidCtxt {
            public SchemaValidCtxt (Xml.Schema schema);
        }
    
    我只能找到第三个,valadoc中提到的SchemaValidCtxt,但是页面实际上是空白的。这是一个有效的可用类吗

    现在它只是一个空壳——没有一个方法是绑定的。幸运的是,添加绑定非常简单