Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ General ➜ DTD?

DTD?

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Worstje   Netherlands  (899 posts)  Bio
Date Thu 17 Jan 2008 07:57 PM (UTC)
Message
Simply put, I'm wondering if there's an actual 'muclient' DTD file somewhere that I could load in some XML authoring tools I'm playing around with. I googled a bit but no insta-luck I'm afraid.

Reason I ask is that I'm trying to expand my view and all that, and using some files I'm familliar with is the quickest way to learn.
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #1 on Thu 17 Jan 2008 09:26 PM (UTC)
Message
Not that I am aware of. I haven't done one.

However judging by the site:

http://www.w3schools.com/dtd/dtd_intro.asp

It wouldn't be too hard to do. The format of MUSHclient world/plugin files is pretty simple.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #2 on Thu 17 Jan 2008 09:28 PM (UTC)
Message
Can you name an XML authoring tool (preferably free) that I could test it with, if I did the DTD document?

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Worstje   Netherlands  (899 posts)  Bio
Date Reply #3 on Thu 17 Jan 2008 10:26 PM (UTC)
Message
I was toying around with the XMLSpy trial since it is said to be a really good tool. I can't really recommend anything else, simply because I've not done as much research. Just on a learning-spree here, heh.
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #4 on Thu 17 Jan 2008 10:55 PM (UTC)
Message
Fancy XML parsers like Xerces can check if a document conforms to a DTD, but IME Xerces is a beast to get working. :-/ It does extremely complex and fancy things, but that makes it quite complex to do simple things... oh well.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #5 on Sat 19 Jan 2008 05:29 AM (UTC)
Message
Currently I have got this working, it is probably not complete.

Replace the line:


<!DOCTYPE muclient>


in your world file with this:


<!DOCTYPE muclient [
  <!ELEMENT muclient 
     (world|
     plugin|
     triggers|
     aliases|
     include|
     printing|
     timers|
     macros|
     variables|
     colours|
     keypad|
     comment|
     script)*>
     
 <!ELEMENT world (#PCDATA) >
 <!ELEMENT triggers (trigger)* >
 <!ELEMENT aliases (alias)* >
 <!ELEMENT timers (timer)* >
 <!ELEMENT macros (macro)* >
 <!ELEMENT variables (variable)* >
 <!ELEMENT colours (ansi|custom)* >
 <!ELEMENT keypad (key)* >
 <!ELEMENT printing (ansi)* >
 <!ELEMENT plugin EMPTY >
 <!ELEMENT include EMPTY >
 <!ELEMENT script (#PCDATA) >
 <!ELEMENT comment (#PCDATA) >

 <!ELEMENT trigger (send)?>

 <!ELEMENT alias (send)?>

 <!ELEMENT macro (send)?>
  
 <!ELEMENT timer (send)?>

 <!ELEMENT send (#PCDATA) >
 
 <!ELEMENT ansi (normal|bold)* >   
 <!ELEMENT normal (colour|style)* >
 <!ELEMENT bold (colour|style)* >
 <!ELEMENT colour EMPTY >
 <!ELEMENT custom (colour)* >
 <!ELEMENT style EMPTY >

 <!ELEMENT key (send)? >

 <!ATTLIST world
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  

   auto_log_file_name CDATA #IMPLIED  
   auto_say_override_prefix CDATA #IMPLIED  
   auto_say_string CDATA #IMPLIED  
   beep_sound CDATA #IMPLIED  
   chat_file_save_directory CDATA #IMPLIED  
   chat_name CDATA #IMPLIED  
   chat_message_prefix CDATA #IMPLIED  
   command_stack_character CDATA #IMPLIED  
   connect_text CDATA #IMPLIED  
   filter_aliases CDATA #IMPLIED  
   filter_timers CDATA #IMPLIED  
   filter_triggers CDATA #IMPLIED  
   filter_variables CDATA #IMPLIED  
   id CDATA #IMPLIED  
   input_font_name CDATA #IMPLIED  
   log_file_postamble CDATA #IMPLIED  
   log_file_preamble CDATA #IMPLIED  
   log_line_postamble_input CDATA #IMPLIED  
   log_line_postamble_notes CDATA #IMPLIED  
   log_line_postamble_output CDATA #IMPLIED  
   log_line_preamble_input CDATA #IMPLIED  
   log_line_preamble_notes CDATA #IMPLIED  
   log_line_preamble_output CDATA #IMPLIED  
   mapping_failure CDATA #IMPLIED  
   name CDATA #IMPLIED  
   new_activity_sound CDATA #IMPLIED  
   notes CDATA #IMPLIED  
   on_mxp_close_tag CDATA #IMPLIED  
   on_mxp_error CDATA #IMPLIED  
   on_mxp_open_tag CDATA #IMPLIED  
   on_mxp_set_variable CDATA #IMPLIED  
   on_mxp_start CDATA #IMPLIED  
   on_mxp_stop CDATA #IMPLIED  
   on_world_close CDATA #IMPLIED  
   on_world_save CDATA #IMPLIED  
   on_world_connect CDATA #IMPLIED  
   on_world_disconnect CDATA #IMPLIED  
   on_world_get_focus CDATA #IMPLIED  
   on_world_lose_focus CDATA #IMPLIED  
   on_world_open CDATA #IMPLIED  
   output_font_name CDATA #IMPLIED  
   password CDATA #IMPLIED  
   paste_line_postamble CDATA #IMPLIED  
   paste_line_preamble CDATA #IMPLIED  
   paste_postamble CDATA #IMPLIED  
   paste_preamble CDATA #IMPLIED  
   player CDATA #IMPLIED  
   proxy_password  CDATA #IMPLIED 
   proxy_server CDATA #IMPLIED  
   proxy_username CDATA #IMPLIED  
   recall_line_preamble CDATA #IMPLIED  
   script_editor CDATA #IMPLIED  
   script_filename CDATA #IMPLIED  
   script_language CDATA #IMPLIED  
   script_prefix CDATA #IMPLIED  
   send_to_world_file_postamble CDATA #IMPLIED  
   send_to_world_file_preamble CDATA #IMPLIED  
   send_to_world_line_postamble CDATA #IMPLIED  
   send_to_world_line_preamble CDATA #IMPLIED  
   site CDATA #IMPLIED  
   spam_message CDATA #IMPLIED  
   speed_walk_filler CDATA #IMPLIED  
   speed_walk_prefix CDATA #IMPLIED  
   tab_completion_defaults CDATA #IMPLIED  
   terminal_identification CDATA #IMPLIED  

   accept_chat_connections (y|n) "n"  
   alternative_inverse (y|n) "n"  
   alt_arrow_recalls_partial (y|n) "n"  
   always_record_command_history (y|n) "n"  
   arrows_change_history (y|n) "y"  
   arrow_keys_wrap (y|n) "n"  
   arrow_recalls_partial (y|n) "n"  
   autosay_exclude_macros (y|n) "n"  
   autosay_exclude_non_alpha (y|n) "n"  
   auto_allow_files (y|n) "n"  
   auto_allow_snooping (y|n) "n"  
   auto_copy_to_clipboard_in_html (y|n) "n"  
   auto_pause (y|n) "y"  
   auto_repeat (y|n) "n"  
   auto_wrap_window_width (y|n) "n"  
   carriage_return_clears_line (y|n) "n"  
   chat_foreground_colour CDATA "255"  
   chat_background_colour CDATA "0"  
   chat_max_lines_per_message CDATA "0"  
   chat_max_bytes_per_message CDATA "0"  
   chat_port CDATA "4050"  
   confirm_before_replacing_typing (y|n) "y"  
   confirm_on_paste (y|n) "y"  
   confirm_on_send (y|n) "y"  
   connect_method CDATA "0"  
   copy_selection_to_clipboard (y|n) "n"  
   convert_ga_to_newline (y|n) "n"  
   ctrl_n_goes_to_next_command (y|n) "n"  
   ctrl_p_goes_to_previous_command (y|n) "n"  
   ctrl_z_goes_to_end_of_buffer (y|n) "n"  
   custom_16_is_default_colour (y|n) "n"  
   detect_pueblo (y|n) "y"  
   disable_compression (y|n) "n"  
   display_my_input (y|n) "n"  
   double_click_inserts (y|n) "n"  
   double_click_sends (y|n) "n"  
   echo_colour CDATA "0"  
   echo_hyperlink_in_output_window (y|n) "y"  
   edit_script_with_notepad (y|n) "y"  
   enable_aliases (y|n) "y"  
   enable_auto_say (y|n) "n"  
   enable_beeps (y|n) "y"  
   enable_command_stack (y|n) "n"  
   enable_scripts (y|n) "y"  
   enable_spam_prevention (y|n) "n"  
   enable_speed_walk (y|n) "n"  
   enable_timers (y|n) "y"  
   enable_triggers (y|n) "y"  
   enable_trigger_sounds (y|n) "y"  
   escape_deletes_input (y|n) "n"  
   flash_taskbar_icon (y|n) "n"  
   history_lines CDATA "1000"  
   hyperlink_adds_to_command_history (y|n) "y"  
   hyperlink_colour CDATA "16744448"  
   ignore_chat_colours (y|n) "n"  
   ignore_mxp_colour_changes (y|n) "n"  
   indent_paras (y|n) "n"  
   input_background_colour CDATA "16777215"  
   input_font_height CDATA "12"  
   input_font_italic (y|n) "n"  
   input_font_weight CDATA "0"  
   input_font_charset CDATA "1"  
   input_text_colour CDATA "0"  
   keep_commands_on_same_line (y|n) "n"  
   keypad_enable (y|n) "y"  
   line_information (y|n) "y"  
   line_spacing CDATA "0"  
   log_html (y|n) "n"  
   log_input (y|n) "n"  
   log_in_colour (y|n) "n"  
   log_notes (y|n) "n"  
   log_output (y|n) "y"  
   log_raw (y|n) "n"  
   lower_case_tab_completion (y|n) "n"  
   map_failure_regexp (y|n) "n"  
   max_output_lines CDATA "5000"  
   mud_can_change_link_colour (y|n) "y"  
   mud_can_remove_underline (y|n) "n"  
   mud_can_change_options (y|n) "y"  
   mxp_debug_level CDATA "0"  
   naws (y|n) "n"  
   note_text_colour CDATA "4"  
   no_echo_off (y|n) "n"  
   output_font_height CDATA "12"  
   output_font_weight CDATA "0"  
   output_font_charset CDATA "1"  
   password_base64  (y|n) "n"       
   paste_commented_softcode (y|n) "n"  
   paste_delay CDATA "0"  
   paste_delay_per_lines CDATA "1"  
   paste_echo (y|n) "n"  
   pixel_offset CDATA "1"  
   port CDATA "4000"  
   proxy_password_base64  (y|n) "n"    
   proxy_port CDATA "1080"  
   proxy_type CDATA "0"  
   re_evaluate_auto_say (y|n) "n"  
   save_deleted_command (y|n) "n"  
   save_world_automatically (y|n) "n"  
   script_reload_option CDATA "0"  
   script_errors_to_output_window (y|n) "n"  
   send_echo (y|n) "n"  
   send_file_commented_softcode (y|n) "n"  
   send_file_delay CDATA "0"  
   send_file_delay_per_lines CDATA "1"  
   send_mxp_afk_response (y|n) "y"  
   show_bold (y|n) "n"  
   show_connect_disconnect (y|n) "y"  
   show_italic (y|n) "y"  
   show_underline (y|n) "y"  
   spam_line_count CDATA "20"  
   speed_walk_delay CDATA "0"  
   spell_check_on_send (y|n) "n"  
   start_paused (y|n) "n"  
   tab_completion_lines CDATA "200"  
   tab_completion_space (y|n) "n"  
   translate_backslash_sequences (y|n) "n"  
   translate_german (y|n) "n"  
   underline_hyperlinks (y|n) "y"  
   unpause_on_send (y|n) "y"  
   use_custom_link_colour (y|n) "y"  
   use_default_aliases (y|n) "n"  
   use_default_colours (y|n) "n"  
   use_default_input_font (y|n) "n"  
   use_default_macros (y|n) "n"  
   use_default_output_font (y|n) "n"  
   use_default_timers (y|n) "n"  
   use_default_triggers (y|n) "n"  
   use_mxp CDATA "0"  
   utf_8 (y|n) "n"  
   validate_incoming_chat_calls (y|n) "n"  
   warn_if_scripting_inactive (y|n) "y"  
   wrap (y|n) "y"  
   wrap_column CDATA "80"  
   write_world_name_to_log (y|n) "y"  
>
 
 <!ATTLIST triggers
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  
>

 <!ATTLIST trigger
    back_colour CDATA "0"
    bold (y|n) "n" 
    clipboard_arg CDATA "0"
    colour_change_type CDATA "0"
    custom_colour CDATA "0" 
    enabled (y|n) "n" 
    expand_variables (y|n) "n" 
    group CDATA #IMPLIED 
    ignore_case (y|n) "n" 
    italic (y|n) "n" 
    keep_evaluating (y|n) "n" 
    lines_to_match CDATA "0"
    lowercase_wildcard (y|n) "n" 
    make_bold (y|n) "n"      
    make_italic (y|n) "n"   
    make_underline (y|n) "n" 
    match CDATA #REQUIRED
    match_back_colour (y|n) "n"
    match_bold (y|n) "n"       
    match_inverse (y|n) "n"    
    match_italic (y|n) "n"     
    match_text_colour (y|n) "n"
    match_underline (y|n) "n"  
    multi_line (y|n) "n" 
    name CDATA #IMPLIED
    omit_from_log (y|n) "n" 
    omit_from_output (y|n) "n" 
    one_shot (y|n) "n" 
    other_back_colour CDATA "0"
    other_text_colour CDATA "0" 
    regexp (y|n) "n" 
    repeat (y|n) "n" 
    script CDATA "" 
    send_to CDATA "0" 
    sequence CDATA "100" 
    sound CDATA "" 
    sound_if_inactive (y|n) "n" 
    text_colour CDATA "0"
    user CDATA "0"  
    variable CDATA "" 
 >
 

 <!ATTLIST aliases
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  
>

  <!ATTLIST alias
    name CDATA #IMPLIED
    script  CDATA ""  
    match  CDATA #IMPLIED
    enabled  (y|n) "n" 
    echo_alias  (y|n) "n" 
    expand_variables  (y|n) "n" 
    group  CDATA #IMPLIED
    variable  CDATA "" 
    omit_from_command_history  (y|n) "n" 
    omit_from_log  (y|n) "n" 
    regexp  (y|n) "n" 
    send_to  CDATA "0" 
    omit_from_output  (y|n) "n" 
    menu  (y|n) "n" 
    ignore_case  (y|n) "n" 
    keep_evaluating  (y|n) "n" 
    sequence  CDATA "100"
    temporary  (y|n) "n" 
    user  CDATA "0" 

>

<!ATTLIST timers
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  
>

<!ATTLIST timer
    name CDATA #IMPLIED
    script CDATA #IMPLIED
    enabled (y|n) "n"
    hour CDATA "0"
    minute CDATA "0"
    second CDATA "0"
    offset_hour CDATA "0"
    offset_minute CDATA "0"
    offset_second CDATA "0"
    send_to CDATA "0"
    temporary (y|n) "n"
    user CDATA "0"
    at_time (y|n) "n"
    group CDATA #IMPLIED
    variable CDATA #IMPLIED
    one_shot (y|n) "n"
    omit_from_output (y|n) "n"
    omit_from_log (y|n) "n"
    active_closed (y|n) "n"
>


<!ATTLIST macros
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  
>

 <!ATTLIST macro
    name CDATA #REQUIRED
    type (replace|send_now|insert) #IMPLIED
 >

<!ATTLIST variables
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  
> 

<!ATTLIST colours
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  
>

<!ATTLIST colour
   seq CDATA #IMPLIED
   rgb CDATA #IMPLIED
   name CDATA #IMPLIED
   text CDATA #IMPLIED
   back CDATA #IMPLIED
>

<!ATTLIST keypad
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  
>

<!ATTLIST key
   name CDATA #REQUIRED
>

<!ATTLIST printing
   muclient_version CDATA #IMPLIED
   world_file_version CDATA #IMPLIED  
   date_saved CDATA #IMPLIED  
>

<!ATTLIST style
   seq CDATA "1"
   bold (y|n) "n"
   italic (y|n) "n"
   underline (y|n) "n"
>

<!ATTLIST include
   name CDATA #REQUIRED
   plugin (y|n) "n"
>


] >



However MUSHclient currently objects if you have that in your world file. I will have to investigate this.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #6 on Sat 19 Jan 2008 05:31 AM (UTC)
Message
I have been using this validator:

http://www.validome.org/xml/validate/

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #7 on Sat 19 Jan 2008 05:37 AM (UTC)
Message
MUSHclient does however support the PUBLIC and SYSTEM directives, I haven't got them all to merge together yet.

Something along these lines might work:


<!DOCTYPE muclient SYSTEM "muclient.dtd">


I am unsure about which directory would be looked in for this file.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Worstje   Netherlands  (899 posts)  Bio
Date Reply #8 on Sat 19 Jan 2008 07:55 AM (UTC)
Message
That looks totally awesome, Nick. Thanks!

The only issue that remains now is that I have a lot of stuff you've added lately that I need to test and play with still, and that I lack time to actually do it. But in good time, heh. :D
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


14,140 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.