LoadSystemMethodInfo (XmlDoc subroutine): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
mNo edit summary
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Template:XmlDoc:LoadSystemMethodInfo subtitle}}
{{Template:XmlDoc:LoadSystemMethodInfo subtitle}}
[[Category:XmlDoc methods|LoadSystemMethodInfo subroutine]]
<var>LoadSystemMethodInfo</var> loads an <var>XmlDoc</var> with information about methods in classes selected by a "pattern" argument.  This method is primarily intended for <var class="product">SOUL</var> products delivered by Rocket Software, and the schema of the document may change from release to release. Users of [[SoulEdit]] (V7.5 and later) can see this method in action via the INFO command which provides introspection into specified methods.
[[Category:XmlDoc API methods]]
<!--DPL?? Category:XmlDoc methods|LoadSystemMethodInfo subroutine: Load info about system methods into XmlDoc-->
<!--DPL?? Category:XmlDoc API methods|LoadSystemMethodInfo (XmlDoc subroutine): Load info about system methods into XmlDoc-->
<!--DPL?? Category:System methods|LoadSystemMethodInfo (XmlDoc subroutine): Load info about system methods into XmlDoc-->


This method loads an XmlDoc with information about methods in
classes selected by a "pattern" argument.
This method is primarily intended for User Language products delivered
by Sirius Software, and the schema of the document may change from release
to release.
==Syntax==
==Syntax==
{{Template:XmlDoc:LoadSystemMethodInfo syntax}}
{{Template:XmlDoc:LoadSystemMethodInfo syntax}}
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>doc</th>
<tr><th>doc</th>
<td>An expression that points to the XmlDoc to contain the selected method information. </td></tr>
<td>An expression that points to the <var>XmlDoc</var> to contain the selected method information.</td></tr>
 
<tr><th>pattern</th>
<tr><th>pattern</th>
<td>A string whose case is ignored and which can have any of the following forms:
<td>A string whose case is ignored and that can have any of the following forms:
<table class="syntaxNested">
<table class="syntaxNested">
<tr><th><i>methodPattern</i></th>
 
<td>This selects, from any system class, all methods which match the specified pattern. </td></tr>
<tr><th>methodPattern</th>
<tr><th><i>classPattern':'methodPattern</i></th>
<td>This selects, from any system class, all methods that match the specified pattern.</td></tr>
<td>This selects, from any system class matching ''classPattern'', all methods which match ''methodPattern''. </td></tr>
 
<tr><th><i>'System:'classPattern':'methodPattern</i></th>
<tr><th>classPattern<var>:</var>methodPattern</th>
<td>This is the same as ''classPattern':'methodPattern''. </td></tr>
<td>This selects, from any system class matching <var class="term">classPattern</var>, all methods that match <var class="term">methodPattern</var>. </td></tr>
</table>
 
</td></tr>
<tr><th><var>System:</var>classPattern<var>:</var>methodPattern</th>
<td>This is the same as <var class="term">classPattern<var>:</var>methodPattern</var>. </td></tr>
</table></td></tr>
 
<tr><th><var>ShowBase</var></th>
<td>A <var>[[Enumerations#Using_Boolean_enumerations|Boolean]]</var> enumeration that specifies how to handle base and extension classes:
<ul>
<li>If <var>False</var>, the default, then base classes are omitted from the output <var>XmlDoc</var>, and the methods in extension classes include methods from their base classes. </li>
 
<li>If <var>True</var>, then base classes (which match the selection pattern) are included in the output <var>XmlDoc</var>, and the members of base classes are not included in extension classes. </li>
</ul>
This [[Notation conventions for methods#Named parameters|name required]] argument was new in version 7.9 of the <var class="product">Sirius Mods</var>.</td></tr>
</table>
</table>


==Usage notes==
==Usage notes==
<ul>
<ul>
<li>The "New" method will only be displayed if either is
<li>The <var>New</var> method will only be displayed if either is true:  
true:
<ul>
<ul>
<li>The ''methodPattern'' is the string <tt>New</tt>.
<li>The ''methodPattern'' is the string <code>New</code>.</li>
<li>The New method has any arguments.
<li>The <var>New</var> method has any arguments. </li>
</ul>
</ul></li>
<li>LoadSystemMethodInfo will not display classes in the module LOCAL,
 
if they are selected by a pattern
<li><var>LoadSystemMethodInfo</var> will not display classes in the module LOCAL, if they are selected by a pattern (that is, ''pattern'' contains a wildcard character), or if there is no ''classPattern'' component.</li>
(that is, ''pattern'' contains a wildcard character), or if
there is no ''classPattern'' component.
</ul>
</ul>


===Example===
==Examples==
 
The following request displays the class data for the <var>[[AddAttribute (XmlNode function)|AddAttribute]]</var> method:
The following request displays the class data for the AddAttribute method:
<p class="code">begin
<p class="code">Begin
  %d is object xmlDoc
%d is Object XmlDoc
  %d = new
%d = New
  %d:loadSystemMethodInfo('AddAttribute')
%d:LoadSystemMethodInfo('AddAttribute')
  %d:print
%d:Print
end
End
</p>
</p>
 
The example result follows:
The example result follows.
<p class="output"><classes selection="AddAttribute">
<p class="output"><classes selection="AddAttribute">
  <class name="XMLNODE" system="yes" new="no" discard="no">
  <class name="XmlNode" system="yes" new="no" discard="no" docObject="nod">
    <methods module="JSOPF" offset="00000CBC">
      <methods module="JSOPF" offset="00002038">
      <method name="ADDATTRIBUTE" type="function" callable="yes">
        <method name="AddAttribute" type="function" callable="yes" requiredProdNum="35" desc="Add Attribute to Element node">
        <result>
            <result>
          <type name="Object" class="XMLNODE"/>
              <type name="Object" class="XmlNode"/>
        </result>
            </result>
        <arg>
            <arg docArg="name">
          <type name="Longstring"/>
              <type name="Unicode"/>
        </arg>
            </arg>
        <arg>
            <arg docArg="value">
          <type name="Longstring"/>
              <type name="Unicode"/>
        </arg>
            </arg>
        <arg optional="yes">
            <arg optional="yes" docArg="uri">
          <type name="Longstring"/>
              <type name="Unicode"/>
        </arg>
            </arg>
      </method>
        </method>
    </methods>
      </methods>
  </class>
  </class>
</classes>
</classes>
</p>
</p>
==See also==
==See also==
{{Template:XmlDoc:LoadSystemMethodInfo footer}}
{{Template:XmlDoc:LoadSystemMethodInfo footer}}

Latest revision as of 13:38, 11 August 2015

Load info about system methods into this XmlDoc (XmlDoc class)

LoadSystemMethodInfo loads an XmlDoc with information about methods in classes selected by a "pattern" argument. This method is primarily intended for SOUL products delivered by Rocket Software, and the schema of the document may change from release to release. Users of SoulEdit (V7.5 and later) can see this method in action via the INFO command which provides introspection into specified methods.

Syntax

doc:LoadSystemMethodInfo( pattern, [ShowBase= boolean])

Syntax terms

doc An expression that points to the XmlDoc to contain the selected method information.
pattern A string whose case is ignored and that can have any of the following forms:
methodPattern This selects, from any system class, all methods that match the specified pattern.
classPattern:methodPattern This selects, from any system class matching classPattern, all methods that match methodPattern.
System:classPattern:methodPattern This is the same as classPattern:methodPattern.
ShowBase A Boolean enumeration that specifies how to handle base and extension classes:
  • If False, the default, then base classes are omitted from the output XmlDoc, and the methods in extension classes include methods from their base classes.
  • If True, then base classes (which match the selection pattern) are included in the output XmlDoc, and the members of base classes are not included in extension classes.
This name required argument was new in version 7.9 of the Sirius Mods.

Usage notes

  • The New method will only be displayed if either is true:
    • The methodPattern is the string New.
    • The New method has any arguments.
  • LoadSystemMethodInfo will not display classes in the module LOCAL, if they are selected by a pattern (that is, pattern contains a wildcard character), or if there is no classPattern component.

Examples

The following request displays the class data for the AddAttribute method:

begin %d is object xmlDoc %d = new %d:loadSystemMethodInfo('AddAttribute') %d:print end

The example result follows:

<classes selection="AddAttribute"> <class name="XmlNode" system="yes" new="no" discard="no" docObject="nod"> <methods module="JSOPF" offset="00002038"> <method name="AddAttribute" type="function" callable="yes" requiredProdNum="35" desc="Add Attribute to Element node"> <result> <type name="Object" class="XmlNode"/> </result> <arg docArg="name"> <type name="Unicode"/> </arg> <arg docArg="value"> <type name="Unicode"/> </arg> <arg optional="yes" docArg="uri"> <type name="Unicode"/> </arg> </method> </methods> </class> </classes>

See also