| OLD | NEW |
| 1 /* | 1 /* |
| 2 * relaxng.c : implementation of the Relax-NG handling and validity checking | 2 * relaxng.c : implementation of the Relax-NG handling and validity checking |
| 3 * | 3 * |
| 4 * See Copyright for the status of this software. | 4 * See Copyright for the status of this software. |
| 5 * | 5 * |
| 6 * Daniel Veillard <veillard@redhat.com> | 6 * Daniel Veillard <veillard@redhat.com> |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 /** | 9 /** |
| 10 * TODO: | 10 * TODO: |
| (...skipping 3801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3812 ret = 0; | 3812 ret = 0; |
| 3813 } | 3813 } |
| 3814 } else { | 3814 } else { |
| 3815 ret = 1; | 3815 ret = 1; |
| 3816 } | 3816 } |
| 3817 } else if (def1->type == XML_RELAXNG_TEXT) { | 3817 } else if (def1->type == XML_RELAXNG_TEXT) { |
| 3818 if (def2->type == XML_RELAXNG_TEXT) | 3818 if (def2->type == XML_RELAXNG_TEXT) |
| 3819 return (0); | 3819 return (0); |
| 3820 return (1); | 3820 return (1); |
| 3821 } else if (def1->type == XML_RELAXNG_EXCEPT) { | 3821 } else if (def1->type == XML_RELAXNG_EXCEPT) { |
| 3822 TODO ret = 0; | 3822 ret = xmlRelaxNGCompareNameClasses(def1->content, def2); |
| 3823 » if (ret == 0) |
| 3824 » ret = 1; |
| 3825 » else if (ret == 1) |
| 3826 » ret = 0; |
| 3823 } else { | 3827 } else { |
| 3824 TODO ret = 0; | 3828 TODO ret = 0; |
| 3825 } | 3829 } |
| 3826 if (ret == 0) | 3830 if (ret == 0) |
| 3827 return (ret); | 3831 return (ret); |
| 3828 if ((def2->type == XML_RELAXNG_ELEMENT) || | 3832 if ((def2->type == XML_RELAXNG_ELEMENT) || |
| 3829 (def2->type == XML_RELAXNG_ATTRIBUTE)) { | 3833 (def2->type == XML_RELAXNG_ATTRIBUTE)) { |
| 3830 if (def2->name != NULL) { | 3834 if (def2->name != NULL) { |
| 3831 node.name = def2->name; | 3835 node.name = def2->name; |
| 3832 } else { | 3836 } else { |
| (...skipping 6019 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9852 if (define->name != NULL) | 9856 if (define->name != NULL) |
| 9853 xmlGenericError(xmlGenericErrorContext, "%s ", define->name); | 9857 xmlGenericError(xmlGenericErrorContext, "%s ", define->name); |
| 9854 if ((node != NULL) && (node->name != NULL)) | 9858 if ((node != NULL) && (node->name != NULL)) |
| 9855 xmlGenericError(xmlGenericErrorContext, "on %s\n", node->name); | 9859 xmlGenericError(xmlGenericErrorContext, "on %s\n", node->name); |
| 9856 else | 9860 else |
| 9857 xmlGenericError(xmlGenericErrorContext, "\n"); | 9861 xmlGenericError(xmlGenericErrorContext, "\n"); |
| 9858 #endif | 9862 #endif |
| 9859 ctxt->depth++; | 9863 ctxt->depth++; |
| 9860 switch (define->type) { | 9864 switch (define->type) { |
| 9861 case XML_RELAXNG_EMPTY: | 9865 case XML_RELAXNG_EMPTY: |
| 9862 node = xmlRelaxNGSkipIgnored(ctxt, node); | 9866 xmlRelaxNGSkipIgnored(ctxt, node); |
| 9863 ret = 0; | 9867 ret = 0; |
| 9864 break; | 9868 break; |
| 9865 case XML_RELAXNG_NOT_ALLOWED: | 9869 case XML_RELAXNG_NOT_ALLOWED: |
| 9866 ret = -1; | 9870 ret = -1; |
| 9867 break; | 9871 break; |
| 9868 case XML_RELAXNG_TEXT: | 9872 case XML_RELAXNG_TEXT: |
| 9869 while ((node != NULL) && | 9873 while ((node != NULL) && |
| 9870 ((node->type == XML_TEXT_NODE) || | 9874 ((node->type == XML_TEXT_NODE) || |
| 9871 (node->type == XML_COMMENT_NODE) || | 9875 (node->type == XML_COMMENT_NODE) || |
| 9872 (node->type == XML_PI_NODE) || | 9876 (node->type == XML_PI_NODE) || |
| (...skipping 1171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11044 * TODO: build error codes | 11048 * TODO: build error codes |
| 11045 */ | 11049 */ |
| 11046 if (ret == -1) | 11050 if (ret == -1) |
| 11047 return (1); | 11051 return (1); |
| 11048 return (ret); | 11052 return (ret); |
| 11049 } | 11053 } |
| 11050 | 11054 |
| 11051 #define bottom_relaxng | 11055 #define bottom_relaxng |
| 11052 #include "elfgcchack.h" | 11056 #include "elfgcchack.h" |
| 11053 #endif /* LIBXML_SCHEMAS_ENABLED */ | 11057 #endif /* LIBXML_SCHEMAS_ENABLED */ |
| OLD | NEW |