Home | History | Annotate | Download | only in libxmlrpg
      1       * Summary: The DTD validation
      2       * Description: API for the DTD handling and the validity checking
      3       *
      4       * Copy: See Copyright for the status of this software.
      5       *
      6       * Author: Patrick Monnerat <pm (a] datasphere.ch>, DATASPHERE S.A.
      7 
      8       /if not defined(XML_VALID_H__)
      9       /define XML_VALID_H__
     10 
     11       /include "libxmlrpg/xmlversion"
     12       /include "libxmlrpg/xmlTypesC"
     13       /include "libxmlrpg/xmlerror"
     14       /include "libxmlrpg/tree"
     15       /include "libxmlrpg/list"
     16       /include "libxmlrpg/xmlautomata"
     17       /include "libxmlrpg/xmlregexp"
     18 
     19       * Validation state added for non-determinist content model.
     20 
     21      d xmlValidStatePtr...
     22      d                 s               *   based(######typedef######)
     23 
     24       * xmlValidityErrorFunc:
     25       * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
     26       *        but comes from ctxt->userData (which normally contains such
     27       *        a pointer); ctxt->userData can be changed by the user.
     28       * @msg:  the string to format *printf like vararg
     29       * @...:  remaining arguments to the format
     30       *
     31       * Callback called when a validity error is found. This is a message
     32       * oriented function similar to an *printf function.
     33 
     34      d xmlValidityErrorFunc...
     35      d                 s               *   based(######typedef######)
     36      d                                     procptr
     37 
     38       * xmlValidityWarningFunc:
     39       * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
     40       *        but comes from ctxt->userData (which normally contains such
     41       *        a pointer); ctxt->userData can be changed by the user.
     42       * @msg:  the string to format *printf like vararg
     43       * @...:  remaining arguments to the format
     44       *
     45       * Callback called when a validity warning is found. This is a message
     46       * oriented function similar to an *printf function.
     47 
     48      d xmlValidityWarningFunc...
     49      d                 s               *   based(######typedef######)
     50      d                                     procptr
     51 
     52       * xmlValidCtxt:
     53       * An xmlValidCtxt is used for error reporting when validating.
     54 
     55      d xmlValidCtxtPtr...
     56      d                 s               *   based(######typedef######)
     57 
     58      d xmlValidCtxt    ds                  based(xmlValidCtxtPtr)
     59      d                                     align qualified
     60      d  userdata                       *                                        void *
     61      d  error                              like(xmlValidityErrorFunc)           Error callback
     62      d  warning                            like(xmlValidityWarningFunc)         Warning callback
     63       *
     64       * Node analysis stack used when validating within entities
     65       *
     66      d  node                               like(xmlNodePtr)                     Current parsed Node
     67      d  nodeNr                             like(xmlCint)                        Parsing stack depth
     68      d  nodeMax                            like(xmlCint)                        Max stack depth
     69      d  nodeTab                        *                                        xmlNodePtr *
     70       *
     71      d  finishDtd                          like(xmlCuint)
     72      d  doc                                like(xmlDocPtr)                      The document
     73      d  valid                              like(xmlCint)                        Temp check result
     74       *
     75       * state state used for non-determinist content validation
     76       *
     77      d  vstate                         *                                        xmlValidState *
     78      d  vstateNr                           like(xmlCint)                        Validat. stack depth
     79      d  vstateMax                          like(xmlCint)                        Max stack depth
     80      d  vstateTab                      *                                        xmlValidState *
     81       *
     82       /if defined(LIBXML_REGEXP_ENABLED)
     83      d  am                                 like(xmlAutomataPtr)                 The automata
     84      d  state                              like(xmlAutomataStatePtr)            Automata build state
     85       /else
     86      d  am                             *
     87      d  state                          *
     88       /endif
     89 
     90       * ALL notation declarations are stored in a table.
     91       * There is one table per DTD.
     92 
     93      d xmlNotationTablePtr...
     94      d                 s               *   based(######typedef######)
     95 
     96       * ALL element declarations are stored in a table.
     97       * There is one table per DTD.
     98 
     99      d xmlElementTablePtr...
    100      d                 s               *   based(######typedef######)
    101 
    102       * ALL attribute declarations are stored in a table.
    103       * There is one table per DTD.
    104 
    105      d xmlAttributeTablePtr...
    106      d                 s               *   based(######typedef######)
    107 
    108       * ALL IDs attributes are stored in a table.
    109       * There is one table per document.
    110 
    111      d xmlIDTablePtr   s               *   based(######typedef######)
    112 
    113       * ALL Refs attributes are stored in a table.
    114       * There is one table per document.
    115 
    116      d xmlRefTablePtr  s               *   based(######typedef######)
    117 
    118       * Notation
    119 
    120      d xmlAddNotationDecl...
    121      d                 pr                  extproc('xmlAddNotationDecl')
    122      d                                     like(xmlNotationPtr)
    123      d  ctxt                               value like(xmlValidCtxtPtr)
    124      d  dtd                                value like(xmlDtdPtr)
    125      d  name                           *   value options(*string)               const xmlChar *
    126      d  PublicID                       *   value options(*string)               const xmlChar *
    127      d  SystemID                       *   value options(*string)               const xmlChar *
    128 
    129       /if defined(LIBXML_TREE_ENABLED)
    130      d xmlCopyNotationTable...
    131      d                 pr                  extproc('xmlCopyNotationTable')
    132      d                                     like(xmlNotationPtr)
    133      d  table                              value like(xmlNotationTablePtr)
    134       /endif                                                                    LIBXML_TREE_ENABLED
    135 
    136      d xmlFreeNotationTable...
    137      d                 pr                  extproc('xmlFreeNotationTable')
    138      d  table                              value like(xmlNotationTablePtr)
    139 
    140       /if defined(LIBXML_OUTPUT_ENABLED)
    141      d xmlDumpNotationDecl...
    142      d                 pr                  extproc('xmlDumpNotationDecl')
    143      d  buf                                value like(xmlBufferPtr)
    144      d  nota                               value like(xmlNotationPtr)
    145 
    146      d xmlDumpNotationTable...
    147      d                 pr                  extproc('xmlDumpNotationTable')
    148      d  buf                                value like(xmlBufferPtr)
    149      d  table                              value like(xmlNotationTablePtr)
    150       /endif                                                                    LIBXML_OUTPUT_ENABLD
    151 
    152       * Element Content
    153       * the non Doc version are being deprecated
    154 
    155      d xmlNewElementContent...
    156      d                 pr                  extproc('xmlNewElementContent')
    157      d                                     like(xmlElementContentPtr)
    158      d  name                           *   value                                const xmlChar *
    159      d  type                               value like(xmlElementContentType)
    160 
    161      d xmlCopyElementContent...
    162      d                 pr                  extproc('xmlCopyElementContent')
    163      d                                     like(xmlElementContentPtr)
    164      d  content                            value like(xmlElementContentPtr)
    165 
    166      d xmlFreeElementContent...
    167      d                 pr                  extproc('xmlFreeElementContent')
    168      d  cur                                value like(xmlElementContentPtr)
    169 
    170       * the new versions with doc argument
    171 
    172      d xmlNewDocElementContent...
    173      d                 pr                  extproc('xmlNewDocElementContent')
    174      d                                     like(xmlElementContentPtr)
    175      d  doc                                value like(xmlDocPtr)
    176      d  name                           *   value                                const xmlChar *
    177      d  type                               value like(xmlElementContentType)
    178 
    179      d xmlCopyDocElementContent...
    180      d                 pr                  extproc('xmlCopyDocElementContent')
    181      d                                     like(xmlElementContentPtr)
    182      d  doc                                value like(xmlDocPtr)
    183      d  content                            value like(xmlElementContentPtr)
    184 
    185      d xmlFreeDocElementContent...
    186      d                 pr                  extproc('xmlFreeDocElementContent')
    187      d  doc                                value like(xmlDocPtr)
    188      d  cur                                value like(xmlElementContentPtr)
    189 
    190      d xmlSnprintfElementContent...
    191      d                 pr                  extproc('xmlSnprintfElementContent')
    192      d  buf                       65535    options(*varsize)
    193      d  size                               value like(xmlCint)
    194      d  content                            value like(xmlElementContentPtr)
    195      d  englob                             value like(xmlCint)
    196 
    197       /if defined(LIBXML_OUTPUT_ENABLED)
    198       * DEPRECATED
    199      d xmlSprintfElementContent...
    200      d                 pr                  extproc('xmlSprintfElementContent')
    201      d  buf                       65535    options(*varsize)
    202      d  content                            value like(xmlElementContentPtr)
    203      d  englob                             value like(xmlCint)
    204       /endif                                                                    LIBXML_OUTPUT_ENABLD
    205 
    206       * DEPRECATED
    207 
    208       * Element
    209 
    210      d xmlAddElementDecl...
    211      d                 pr                  extproc('xmlAddElementDecl')
    212      d                                     like(xmlElementPtr)
    213      d  ctxt                               value like(xmlValidCtxtPtr)
    214      d  dtd                                value like(xmlDtdPtr)
    215      d  name                           *   value options(*string)               const xmlChar *
    216      d  type                               value like(xmlElementTypeVal)
    217      d  content                            value like(xmlElementContentPtr)
    218 
    219       /if defined(LIBXML_TREE_ENABLED)
    220      d xmlCopyElementTable...
    221      d                 pr                  extproc('xmlCopyElementTable')
    222      d                                     like(xmlElementTablePtr)
    223      d  table                              value like(xmlElementTablePtr)
    224       /endif                                                                    LIBXML_TREE_ENABLED
    225 
    226      d xmlFreeElementTable...
    227      d                 pr                  extproc('xmlFreeElementTable')
    228      d  table                              value like(xmlElementTablePtr)
    229 
    230       /if defined(LIBXML_OUTPUT_ENABLED)
    231      d xmlDumpElementTable...
    232      d                 pr                  extproc('xmlDumpElementTable')
    233      d  buf                                value like(xmlBufferPtr)
    234      d  table                              value like(xmlElementTablePtr)
    235 
    236      d xmlDumpElementDecl...
    237      d                 pr                  extproc('xmlDumpElementDecl')
    238      d  buf                                value like(xmlBufferPtr)
    239      d  elem                               value like(xmlElementPtr)
    240       /endif                                                                    LIBXML_OUTPUT_ENABLD
    241 
    242       * Enumeration
    243 
    244      d xmlCreateEnumeration...
    245      d                 pr                  extproc('xmlCreateEnumeration')
    246      d                                     like(xmlEnumerationPtr)
    247      d  name                           *   value options(*string)               const xmlChar *
    248 
    249      d xmlFreeEnumeration...
    250      d                 pr                  extproc('xmlFreeEnumeration')
    251      d  cur                                value like(xmlEnumerationPtr)
    252 
    253       /if defined(LIBXML_TREE_ENABLED)
    254      d xmlCopyEnumeration...
    255      d                 pr                  extproc('xmlCopyEnumeration')
    256      d                                     like(xmlEnumerationPtr)
    257      d  cur                                value like(xmlEnumerationPtr)
    258       /endif                                                                    LIBXML_TREE_ENABLED
    259 
    260       * Attribute
    261 
    262      d xmlAddAttributeDecl...
    263      d                 pr                  extproc('xmlAddAttributeDecl')
    264      d                                     like(xmlAttributePtr)
    265      d  ctxt                               value like(xmlValidCtxtPtr)
    266      d  dtd                                value like(xmlDtdPtr)
    267      d  elem                           *   value options(*string)               const xmlChar *
    268      d  name                           *   value options(*string)               const xmlChar *
    269      d  ns                             *   value options(*string)               const xmlChar *
    270      d  type                               value like(xmlAttributeType)
    271      d  def                                value like(xmlAttributeDefault)
    272      d  defaultValue                   *   value options(*string)               const xmlChar *
    273      d  tree                               value like(xmlEnumerationPtr)
    274 
    275       /if defined(LIBXML_TREE_ENABLED)
    276      d xmlCopyAttributeTable...
    277      d                 pr                  extproc('xmlCopyAttributeTable')
    278      d                                     like(xmlAttributeTablePtr)
    279      d  table                              value like(xmlAttributeTablePtr)
    280       /endif                                                                    LIBXML_TREE_ENABLED
    281 
    282      d xmlFreeAttributeTable...
    283      d                 pr                  extproc('xmlFreeAttributeTable')
    284      d  table                              value like(xmlAttributeTablePtr)
    285 
    286       /if defined(LIBXML_OUTPUT_ENABLED)
    287      d xmlDumpAttributeTable...
    288      d                 pr                  extproc('xmlDumpAttributeTable')
    289      d  buf                                value like(xmlBufferPtr)
    290      d  table                              value like(xmlAttributeTablePtr)
    291 
    292      d xmlDumpAttributeDecl...
    293      d                 pr                  extproc('xmlDumpAttributeDecl')
    294      d  buf                                value like(xmlBufferPtr)
    295      d  attr                               value like(xmlAttributePtr)
    296       /endif                                                                    LIBXML_OUTPUT_ENABLD
    297 
    298       * IDs
    299 
    300      d xmlAddID        pr                  extproc('xmlAddID')
    301      d                                     like(xmlIDPtr)
    302      d  ctxt                               value like(xmlValidCtxtPtr)
    303      d  doc                                value like(xmlDocPtr)
    304      d  value                          *   value options(*string)               const xmlChar *
    305      d  attr                               value like(xmlAttrPtr)
    306 
    307      d xmlFreeIdTable  pr                  extproc('xmlFreeIDTable')
    308      d  table                              value like(xmlIDTablePtr)
    309 
    310      d xmlGetID        pr                  extproc('xmlGetID')
    311      d                                     like(xmlAttrPtr)
    312      d  doc                                value like(xmlDocPtr)
    313      d  ID                             *   value options(*string)               const xmlChar *
    314 
    315      d xmlIsID         pr                  extproc('xmlIsID')
    316      d                                     like(xmlCint)
    317      d  doc                                value like(xmlDocPtr)
    318      d  node                               value like(xmlNodePtr)
    319      d  attr                               value like(xmlAttrPtr)
    320 
    321      d xmlRemoveID     pr                  extproc('xmlRemoveID')
    322      d                                     like(xmlCint)
    323      d  doc                                value like(xmlDocPtr)
    324      d  attr                               value like(xmlAttrPtr)
    325 
    326       * IDREFs
    327 
    328      d xmlAddRef       pr                  extproc('xmlAddRef')
    329      d                                     like(xmlRefPtr)
    330      d  ctxt                               value like(xmlValidCtxtPtr)
    331      d  doc                                value like(xmlDocPtr)
    332      d  value                          *   value options(*string)               const xmlChar *
    333      d  attr                               value like(xmlAttrPtr)
    334 
    335      d xmlFreeRefTable...
    336      d                 pr                  extproc('xmlFreeRefTable')
    337      d  table                              value like(xmlRefTablePtr)
    338 
    339      d xmlIsRef        pr                  extproc('xmlIsRef')
    340      d                                     like(xmlCint)
    341      d  doc                                value like(xmlDocPtr)
    342      d  node                               value like(xmlNodePtr)
    343      d  attr                               value like(xmlAttrPtr)
    344 
    345      d xmlRemoveRef    pr                  extproc('xmlRemoveRef')
    346      d                                     like(xmlCint)
    347      d  doc                                value like(xmlDocPtr)
    348      d  attr                               value like(xmlAttrPtr)
    349 
    350      d xmlGetRefs      pr                  extproc('xmlGetRefs')
    351      d                                     like(xmlListPtr)
    352      d  doc                                value like(xmlDocPtr)
    353      d  ID                             *   value options(*string)               const xmlChar *
    354 
    355       * The public function calls related to validity checking.
    356 
    357       /if defined(LIBXML_VALID_ENABLED)
    358       * Allocate/Release Validation Contexts
    359 
    360      d xmlNewValidCtxt...
    361      d                 pr                  extproc('xmlNewValidCtxt')
    362      d                                     like(xmlValidCtxtPtr)
    363 
    364      d xmlFreeValidCtxt...
    365      d                 pr                  extproc('xmlFreeValidCtxt')
    366      d  ctxt                               value like(xmlValidCtxtPtr)
    367 
    368      d xmlValidateRoot...
    369      d                 pr                  extproc('xmlValidateRoot')
    370      d                                     like(xmlCint)
    371      d  ctxt                               value like(xmlValidCtxtPtr)
    372      d  doc                                value like(xmlDocPtr)
    373 
    374      d xmlValidateElementDecl...
    375      d                 pr                  extproc('xmlValidateElementDecl')
    376      d                                     like(xmlCint)
    377      d  ctxt                               value like(xmlValidCtxtPtr)
    378      d  doc                                value like(xmlDocPtr)
    379      d  elem                               value like(xmlElementPtr)
    380 
    381      d xmlValidNormalizeAttributeValue...
    382      d                 pr              *   extproc(                             xmlChar *
    383      d                                      'xmlValidNormalizeAttributeValue')
    384      d  doc                                value like(xmlDocPtr)
    385      d  elem                               value like(xmlNodePtr)
    386      d  name                           *   value options(*string)               const xmlChar *
    387      d  value                          *   value options(*string)               const xmlChar *
    388 
    389      d xmlValidCtxtNormalizeAttributeValue...
    390      d                 pr              *   extproc('xmlValidCtxt+               xmlChar *
    391      d                                     NormalizeAttributeValue')
    392      d  ctxt                               value like(xmlValidCtxtPtr)
    393      d  doc                                value like(xmlDocPtr)
    394      d  elem                               value like(xmlNodePtr)
    395      d  name                           *   value options(*string)               const xmlChar *
    396      d  value                          *   value options(*string)               const xmlChar *
    397 
    398      d xmlValidateAttributeDecl...
    399      d                 pr                  extproc('xmlValidateAttributeDecl')
    400      d                                     like(xmlCint)
    401      d  ctxt                               value like(xmlValidCtxtPtr)
    402      d  doc                                value like(xmlDocPtr)
    403      d  attr                               value like(xmlAttributePtr)
    404 
    405      d xmlValidateAttributeValue...
    406      d                 pr                  extproc('xmlValidateAttributeValue')
    407      d                                     like(xmlCint)
    408      d  type                               value like(xmlAttributeType)
    409      d  value                          *   value options(*string)               const xmlChar *
    410 
    411      d xmlValidateNotationDecl...
    412      d                 pr                  extproc('xmlValidateNotationDecl')
    413      d                                     like(xmlCint)
    414      d  ctxt                               value like(xmlValidCtxtPtr)
    415      d  doc                                value like(xmlDocPtr)
    416      d  nota                               value like(xmlNotationPtr)
    417 
    418      d xmlValidateDtd  pr                  extproc('xmlValidateDtd')
    419      d                                     like(xmlCint)
    420      d  ctxt                               value like(xmlValidCtxtPtr)
    421      d  doc                                value like(xmlDocPtr)
    422      d  dtd                                value like(xmlDtdPtr)
    423 
    424      d xmlValidateDtdFinal...
    425      d                 pr                  extproc('xmlValidateDtdFinal')
    426      d                                     like(xmlCint)
    427      d  ctxt                               value like(xmlValidCtxtPtr)
    428      d  doc                                value like(xmlDocPtr)
    429 
    430      d xmlValidateDocument...
    431      d                 pr                  extproc('xmlValidateDocument')
    432      d                                     like(xmlCint)
    433      d  ctxt                               value like(xmlValidCtxtPtr)
    434      d  doc                                value like(xmlDocPtr)
    435 
    436      d xmlValidateElement...
    437      d                 pr                  extproc('xmlValidateElement')
    438      d                                     like(xmlCint)
    439      d  ctxt                               value like(xmlValidCtxtPtr)
    440      d  doc                                value like(xmlDocPtr)
    441      d  elem                               value like(xmlNodePtr)
    442 
    443      d xmlValidateOneElement...
    444      d                 pr                  extproc('xmlValidateOneElement')
    445      d                                     like(xmlCint)
    446      d  ctxt                               value like(xmlValidCtxtPtr)
    447      d  doc                                value like(xmlDocPtr)
    448      d  elem                               value like(xmlNodePtr)
    449 
    450      d xmlValidateOneAttribute...
    451      d                 pr                  extproc('xmlValidateOneAttribute')
    452      d                                     like(xmlCint)
    453      d  ctxt                               value like(xmlValidCtxtPtr)
    454      d  doc                                value like(xmlDocPtr)
    455      d  elem                               value like(xmlNodePtr)
    456      d  attr                               value like(xmlAttrPtr)
    457      d  value                          *   value options(*string)               const xmlChar *
    458 
    459      d xmlValidateOneNamespace...
    460      d                 pr                  extproc('xmlValidateOneNamespace')
    461      d                                     like(xmlCint)
    462      d  ctxt                               value like(xmlValidCtxtPtr)
    463      d  doc                                value like(xmlDocPtr)
    464      d  elem                               value like(xmlNodePtr)
    465      d  prefix                         *   value options(*string)               const xmlChar *
    466      d  ns                                 value like(xmlNsPtr)
    467      d  value                          *   value options(*string)               const xmlChar *
    468 
    469      d xmlValidateDocumentFinal...
    470      d                 pr                  extproc('xmlValidateDocumentFinal')
    471      d                                     like(xmlCint)
    472      d  ctxt                               value like(xmlValidCtxtPtr)
    473      d  doc                                value like(xmlDocPtr)
    474       /endif                                                                    LIBXML_VALID_ENABLED
    475 
    476       /undefine XML_TESTVAL
    477       /if defined(LIBXML_VALID_ENABLED)
    478       /define XML_TESTVAL
    479       /elseif defined(LIBXML_SCHEMAS_ENABLED)
    480       /define XML_TESTVAL
    481       /endif
    482       /if defined(XML_TESTVAL)
    483      d xmlValidateNotationUse...
    484      d                 pr                  extproc('xmlValidateNotationUse')
    485      d                                     like(xmlCint)
    486      d  ctxt                               value like(xmlValidCtxtPtr)
    487      d  doc                                value like(xmlDocPtr)
    488      d  notationName                   *   value options(*string)               const xmlChar *
    489 
    490       /undefine XML_TESTVAL
    491       /endif
    492 
    493      d xmlIsMixedElement...
    494      d                 pr                  extproc('xmlIsMixedElement')
    495      d                                     like(xmlCint)
    496      d  doc                                value like(xmlDocPtr)
    497      d  name                           *   value options(*string)               const xmlChar *
    498 
    499      d xmlGetDtdAttrDesc...
    500      d                 pr                  extproc('xmlGetDtdAttrDesc')
    501      d                                     like(xmlAttributePtr)
    502      d  dtd                                value like(xmlDtdPtr)
    503      d  elem                           *   value options(*string)               const xmlChar *
    504      d  name                           *   value options(*string)               const xmlChar *
    505 
    506      d xmlGetDtdQAttrDesc...
    507      d                 pr                  extproc('xmlGetDtdQAttrDesc')
    508      d                                     like(xmlAttributePtr)
    509      d  dtd                                value like(xmlDtdPtr)
    510      d  elem                           *   value options(*string)               const xmlChar *
    511      d  name                           *   value options(*string)               const xmlChar *
    512      d  prefix                         *   value options(*string)               const xmlChar *
    513 
    514      d xmlGetDtdNotationDesc...
    515      d                 pr                  extproc('xmlGetDtdNotationDesc')
    516      d                                     like(xmlNotationPtr)
    517      d  dtd                                value like(xmlDtdPtr)
    518      d  name                           *   value options(*string)               const xmlChar *
    519 
    520      d xmlGetDtdQElementDesc...
    521      d                 pr                  extproc('xmlGetDtdQElementDesc')
    522      d                                     like(xmlElementPtr)
    523      d  dtd                                value like(xmlDtdPtr)
    524      d  name                           *   value options(*string)               const xmlChar *
    525      d  prefix                         *   value options(*string)               const xmlChar *
    526 
    527      d xmlGetDtdElementDesc...
    528      d                 pr                  extproc('xmlGetDtdElementDesc')
    529      d                                     like(xmlElementPtr)
    530      d  dtd                                value like(xmlDtdPtr)
    531      d  name                           *   value options(*string)               const xmlChar *
    532 
    533       /if defined(LIBXML_VALID_ENABLED)
    534      d xmlValidGetPotentialChildren...
    535      d                 pr                  extproc(
    536      d                                      'xmlValidGetPotentialChildren')
    537      d                                     like(xmlCint)
    538      d  ctree                          *   value                                xmlElementContent *
    539      d  names                          *                                        const xmlChar *(*)
    540      d  len                                like(xmlCint)
    541      d  max                                value like(xmlCint)
    542 
    543      d xmlValidGetValidElements...
    544      d                 pr                  extproc('xmlValidGetValidElements')
    545      d                                     like(xmlCint)
    546      d  prev                               like(xmlNodePtr)
    547      d  next                               like(xmlNodePtr)
    548      d  names                          *                                        const xmlChar *(*)
    549      d  max                                value like(xmlCint)
    550 
    551      d xmlValidateNameValue...
    552      d                 pr                  extproc('xmlValidateNameValue')
    553      d                                     like(xmlCint)
    554      d  value                          *   value options(*string)               const xmlChar *
    555 
    556      d xmlValidateNamesValue...
    557      d                 pr                  extproc('xmlValidateNamesValue')
    558      d                                     like(xmlCint)
    559      d  value                          *   value options(*string)               const xmlChar *
    560 
    561      d xmlValidateNmtokenValue...
    562      d                 pr                  extproc('xmlValidateNmtokenValue')
    563      d                                     like(xmlCint)
    564      d  value                          *   value options(*string)               const xmlChar *
    565 
    566      d xmlValidateNmtokensValue...
    567      d                 pr                  extproc('xmlValidateNmtokensValue')
    568      d                                     like(xmlCint)
    569      d  value                          *   value options(*string)               const xmlChar *
    570 
    571       /if defined(LIBXML_REGEXP_ENABLED)
    572       * Validation based on the regexp support
    573 
    574      d xmlValidBuildContentModel...
    575      d                 pr                  extproc('xmlValidBuildContentModel')
    576      d                                     like(xmlCint)
    577      d  ctxt                               value like(xmlValidCtxtPtr)
    578      d  elem                               value like(xmlElementPtr)
    579 
    580      d xmlValidatePushElement...
    581      d                 pr                  extproc('xmlValidatePushElement')
    582      d                                     like(xmlCint)
    583      d  ctxt                               value like(xmlValidCtxtPtr)
    584      d  doc                                value like(xmlDocPtr)
    585      d  elem                               value like(xmlNodePtr)
    586      d  qname                          *   value options(*string)               const xmlChar *
    587 
    588      d xmlValidatePushCData...
    589      d                 pr                  extproc('xmlValidatePushCData')
    590      d                                     like(xmlCint)
    591      d  ctxt                               value like(xmlValidCtxtPtr)
    592      d  data                           *   value options(*string)               const xmlChar *
    593      d  len                                value like(xmlCint)
    594 
    595      d xmlValidatePopElement...
    596      d                 pr                  extproc('xmlValidatePopElement')
    597      d                                     like(xmlCint)
    598      d  ctxt                               value like(xmlValidCtxtPtr)
    599      d  doc                                value like(xmlDocPtr)
    600      d  elem                               value like(xmlNodePtr)
    601      d  qname                          *   value options(*string)               const xmlChar *
    602 
    603       /endif                                                                    LIBXML_REGEXP_ENABLD
    604       /endif                                                                    LIBXML_VALID_ENABLED
    605       /endif                                                                    XML_VALID_H__
    606