[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] schema validation
- From: "Yong Chen \(yongche\)" <chen cisco com>
- To: "isil light" <isil_light yahoo com>
- Cc: xml gnome org
- Subject: Re: [xml] schema validation
- Date: Wed, 24 Jan 2007 14:43:11 -0800
Your code is ok, here my running result:
# schema x.xml x.xsd
Document validation completed: [x.xml][0]
I'm using 2.6.26.
> -----Original Message-----
> From: isil light [mailto:isil_light yahoo com]
> Sent: Wednesday, January 24, 2007 1:29 PM
> To: Yong Chen (yongche)
> Subject: RE: [xml] schema validation
>
> "Yong Chen (yongche)" <chen cisco com> wrote:
>
> I have been using this api and have not had this problem.
>
> You may want to show your code.
>
> Yong Chen
>
> #include <stdio.h>
>
> #include <libxml/parser.h>
> #include <libxml/xmlschemas.h>
>
> int main ( int argc, char *argv[] ) {
>
> int ret;
>
> xmlDocPtr doc;
>
> xmlSchemaParserCtxtPtr xsdpctx;
> xmlSchemaPtr xsdctx;
> xmlSchemaValidCtxtPtr xsd;
>
> if ( argc != 3 ) {
>
> fprintf ( stderr,
> "\nusage: %s doc.xml schema.xsd\n\n",
> basename ( argv[0] ) );
>
> return ( -1 );
>
> }
>
> if ( ( xsdpctx = xmlSchemaNewParserCtxt ( argv[2] ) )
> == NULL ) {
>
> fprintf ( stderr,
> "Unable to create xsd context: [%s]\n",
> argv[2] );
>
> return ( -1 );
>
> }
>
> if ( ( xsdctx = xmlSchemaParse ( xsdpctx ) ) == NULL ) {
>
> fprintf ( stderr,
> "Unable to parse xsd: [%s]\n",
> argv[2] );
>
> xmlSchemaFreeParserCtxt ( xsdpctx );
>
> return ( -1 );
>
> }
>
> if ( ( xsd = xmlSchemaNewValidCtxt ( xsdctx ) ) == NULL ) {
>
> xmlSchemaFree ( xsdctx );
> xmlSchemaFreeParserCtxt ( xsdpctx );
>
> return ( -1 );
>
> }
>
>
> if ( ( doc = xmlParseFile ( argv[1] ) ) == NULL ) {
>
> fprintf ( stderr,
> "Unable to parse doc: [%s]\n",
> argv[1] );
>
> xmlSchemaFreeValidCtxt ( xsd );
> xmlSchemaFree ( xsdctx );
> xmlSchemaFreeParserCtxt ( xsdpctx );
>
> return ( -1 );
>
> }
>
> ret = xmlSchemaValidateDoc ( xsd, doc );
>
> fprintf ( stderr,
> "Document validation completed: [%s][%d]\n",
> argv[1],
> ret );
>
> xmlFreeDoc ( doc );
> xmlSchemaFreeValidCtxt ( xsd );
> xmlSchemaFree ( xsdctx );
> xmlSchemaFreeParserCtxt ( xsdpctx );
>
> return ( ret );
>
> }
>
>
> ________________________________
>
> Make free worldwide PC-to-PC calls. Try the new Yahoo! Canada
> Messenger with Voice <http://ca.messenger.yahoo.com/>
>
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]