src/Pure/ProofGeneral/pgip_output.ML
changeset 22161 b2117f4f2d39
parent 22040 635aaa46b44d
child 22336 050ceb649207
equal deleted inserted replaced
22160:27cdecde8c2b 22161:b2117f4f2d39
    35     | Delids              of { idtables: PgipTypes.idtable list }
    35     | Delids              of { idtables: PgipTypes.idtable list }
    36     | Addids              of { idtables: PgipTypes.idtable list }
    36     | Addids              of { idtables: PgipTypes.idtable list }
    37     | Hasprefs            of { prefcategory: string option, 
    37     | Hasprefs            of { prefcategory: string option, 
    38                                prefs: PgipTypes.preference list }
    38                                prefs: PgipTypes.preference list }
    39     | Prefval             of { name: string, value: string }
    39     | Prefval             of { name: string, value: string }
       
    40     | Setrefs             of { url: PgipTypes.pgipurl option,
       
    41 			       thyname: PgipTypes.objname option,
       
    42 			       objtype: PgipTypes.objtype option,
       
    43 			       name: PgipTypes.objname option,
       
    44 			       idtables: PgipTypes.idtable list,
       
    45 			       fileurls : PgipTypes.pgipurl list }
    40     | Idvalue             of { name: PgipTypes.objname, 
    46     | Idvalue             of { name: PgipTypes.objname, 
    41 			       objtype: PgipTypes.objtype, 
    47 			       objtype: PgipTypes.objtype, 
    42 			       text: XML.content }
    48 			       text: XML.content }
    43     | Informguise         of { file : PgipTypes.pgipurl option,  
    49     | Informguise         of { file : PgipTypes.pgipurl option,  
    44                                theory: PgipTypes.objname option, 
    50                                theory: PgipTypes.objname option, 
    85        | Hasprefs            of { prefcategory: string option, prefs: preference list }
    91        | Hasprefs            of { prefcategory: string option, prefs: preference list }
    86        | Prefval             of { name: string, value: string }
    92        | Prefval             of { name: string, value: string }
    87        | Idvalue             of { name: PgipTypes.objname, 
    93        | Idvalue             of { name: PgipTypes.objname, 
    88 				  objtype: PgipTypes.objtype, 
    94 				  objtype: PgipTypes.objtype, 
    89 				  text: XML.content }
    95 				  text: XML.content }
       
    96        | Setrefs             of { url: PgipTypes.pgipurl option,
       
    97 				  thyname: PgipTypes.objname option,
       
    98 				  objtype: PgipTypes.objtype option,
       
    99 				  name: PgipTypes.objname option,
       
   100 				  idtables: PgipTypes.idtable list,
       
   101 				  fileurls : PgipTypes.pgipurl list }
    90        | Informguise         of { file : PgipTypes.pgipurl option,  
   102        | Informguise         of { file : PgipTypes.pgipurl option,  
    91 				  theory: PgipTypes.objname option, 
   103 				  theory: PgipTypes.objname option, 
    92 				  theorem: PgipTypes.objname option, 
   104 				  theorem: PgipTypes.objname option, 
    93 				  proofpos: int option }
   105 				  proofpos: int option }
    94        | Parseresult         of { attrs: XML.attributes, doc: PgipMarkup.pgipdocument,
   106        | Parseresult         of { attrs: XML.attributes, doc: PgipMarkup.pgipdocument,
   222         val idtables = #idtables vs
   234         val idtables = #idtables vs
   223     in
   235     in
   224         XML.Elem ("setids",[],map idtable_to_xml idtables)
   236         XML.Elem ("setids",[],map idtable_to_xml idtables)
   225     end
   237     end
   226 
   238 
       
   239 fun setrefs (Setrefs vs) =
       
   240     let
       
   241 	val url = #url vs
       
   242 	val thyname = #thyname vs
       
   243 	val objtype = #objtype vs
       
   244 	val name = #name vs
       
   245         val idtables = #idtables vs
       
   246         val fileurls = #fileurls vs
       
   247 	fun fileurl_to_xml url = XML.Elem ("fileurl", attrs_of_pgipurl url, [])
       
   248     in
       
   249         XML.Elem ("setrefs",
       
   250 		  (Option.getOpt (Option.map attrs_of_pgipurl url,[])) @ 
       
   251 		  (Option.getOpt (Option.map attrs_of_objtype objtype,[])) @
       
   252 		  (opt_attr "thyname" thyname) @
       
   253 		  (opt_attr "name" name),
       
   254 		  (map idtable_to_xml idtables) @ 
       
   255 		  (map fileurl_to_xml fileurls))
       
   256     end
       
   257 
   227 fun addids (Addids vs) =
   258 fun addids (Addids vs) =
   228     let
   259     let
   229         val idtables = #idtables vs
   260         val idtables = #idtables vs
   230     in
   261     in
   231         XML.Elem ("addids",[],map idtable_to_xml idtables)
   262         XML.Elem ("addids",[],map idtable_to_xml idtables)
   354   | Proofstate _            => proofstate pgipoutput
   385   | Proofstate _            => proofstate pgipoutput
   355   | Metainforesponse _      => metainforesponse pgipoutput
   386   | Metainforesponse _      => metainforesponse pgipoutput
   356   | Lexicalstructure _      => lexicalstructure pgipoutput
   387   | Lexicalstructure _      => lexicalstructure pgipoutput
   357   | Proverinfo _            => proverinfo pgipoutput
   388   | Proverinfo _            => proverinfo pgipoutput
   358   | Setids _                => setids pgipoutput
   389   | Setids _                => setids pgipoutput
       
   390   | Setrefs _               => setrefs pgipoutput
   359   | Addids _                => addids pgipoutput
   391   | Addids _                => addids pgipoutput
   360   | Delids _                => delids pgipoutput
   392   | Delids _                => delids pgipoutput
   361   | Hasprefs _              => hasprefs pgipoutput
   393   | Hasprefs _              => hasprefs pgipoutput
   362   | Prefval _               => prefval pgipoutput
   394   | Prefval _               => prefval pgipoutput
   363   | Idvalue _               => idvalue pgipoutput
   395   | Idvalue _               => idvalue pgipoutput