[erlang-bugs] error compiling w3c schemas with xmerl

Tony Wallace tony@REDACTED
Sun Dec 9 04:41:53 CET 2012


Hello

I created a directory for schemas with an index file.  The contents of 
this directory is:

    /tony@REDACTED:~/workspace/myXformProject$ ls schemas/
    /SchemaList.txt   XForms-Schema.xsd  xhtml-lat1.ent xml-events.xsd/
    /SchemaList.txt~  xhtml1-strict.dtd  xhtml-special.ent/


These schema's have been downloaded from w3c.  However these schemas 
would not compile yielding the error wfc_PEs_In_Internal_Subset. I would 
have expected these well established w3c schemas to compile with xmerl.

6> B.
[{"http://www.w3.org/1999/xhtml",
   "schemas/xhtml1-strict.dtd"},
  {"http://www.w3.org/2001/xml-events",
   "schemas/xml-events.xsd"},
  {"http://www.w3.org/2002/xforms",
   "schemas/XForms-Schema.xsd"}]

9> {ok,S1} = xmerl_xsd:process_schemas(B).
3450- fatal: {error,{wfc_PEs_In_Internal_Subset}}
** exception exit: {fatal,{{error,{wfc_PEs_In_Internal_Subset}},
                            {file,"schemas/xhtml1-strict.dtd"},
                            {line,628},
                            {col,89}}}
      in function  xmerl_scan:fatal/2
      in call from xmerl_scan:scan_entity/2
      in call from xmerl_scan:scan_markup_decl/2
      in call from xmerl_scan:scan_ext_subset/2
      in call from xmerl_scan:scan_document/2
      in call from xmerl_scan:file/2
      in call from xmerl_xsd:process_schemas/2

The version information from xmerl_scan is:

    -module(xmerl_scan).
    -vsn('0.20').
    -date('03-09-16').


The 3450 refers to the code line in xmerl_scan:

    scan_entity_value("%" ++
    _T,S=#xmerl_scanner{environment=prolog},_,_,_,_,_) ->
         ?fatal({error,{wfc_PEs_In_Internal_Subset}},S);


Whereas line 628 refers to the dtd, the line starting <!ATTLIST param.  
Given that
the column given is 89 and the line is only 19 wide, I suspect the error 
belongs to
another line.

    620
    621    <!--
    622      param is used to supply a named property value.
    623      In XML it would seem natural to follow RDF and support an
    624      abbreviated syntax where the param elements are replaced
    625      by attribute value pairs on the object start tag.
    626    -->
    627    <!ELEMENT param EMPTY>
    628    <!ATTLIST param
    629      id          ID             #IMPLIED
    630      name        CDATA          #IMPLIED
    631      value       CDATA          #IMPLIED
    632      valuetype   (data|ref|object) "data"
    633      type        %ContentType;  #IMPLIED
    634      >
    635


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20121209/b6215ba5/attachment.htm>


More information about the erlang-bugs mailing list