9b4b935843a3310a06bdb134ca5243a9d6a4213f
[mono.git] / mcs / class / System.XML / Documentation / en / System.Xml.Xsl / XsltArgumentList.xml
1 <Type Name="XsltArgumentList" FullName="System.Xml.Xsl.XsltArgumentList">
2   <TypeSignature Maintainer="auto" Language="C#" Value="public class XsltArgumentList" />
3   <AssemblyInfo>
4     <AssemblyName>System.Xml</AssemblyName>
5     <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
6     <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7     <AssemblyVersion>2.0.0.0</AssemblyVersion>
8   </AssemblyInfo>
9   <ThreadSafetyStatement>To be added</ThreadSafetyStatement>
10   <Base>
11     <BaseTypeName>System.Object</BaseTypeName>
12   </Base>
13   <Interfaces />
14   <Docs>
15     <summary>This class is used to customized the behavior of the <see cref="System.Xml.Xsl.XslTransform" /> class through stylesheet parameters and extension objects.</summary>
16     <remarks>This type is used in the various overloads of the Transform method of the <see cref="System.Xml.Xsl.XslTransform" /> class that accept an XsltArgumentList.</remarks>
17   </Docs>
18   <Members>
19     <Member MemberName=".ctor">
20       <MemberSignature Language="C#" Value="public XsltArgumentList ();" />
21       <MemberType>Constructor</MemberType>
22       <ReturnValue />
23       <Parameters />
24       <Docs>
25         <summary>Creates a new XsltArgumentList with no extension objects or stylesheet parameters set.</summary>
26         <remarks>None.</remarks>
27       </Docs>
28       <AssemblyInfo>
29         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
30         <AssemblyVersion>2.0.0.0</AssemblyVersion>
31       </AssemblyInfo>
32     </Member>
33     <Member MemberName="AddExtensionObject">
34       <MemberSignature Language="C#" Value="public void AddExtensionObject (string namespaceUri, object extension);" />
35       <MemberType>Method</MemberType>
36       <ReturnValue>
37         <ReturnType>System.Void</ReturnType>
38       </ReturnValue>
39       <Parameters>
40         <Parameter Name="namespaceUri" Type="System.String" />
41         <Parameter Name="extension" Type="System.Object" />
42       </Parameters>
43       <Docs>
44         <param name="namespaceUri">The URI of the namespace to associate with the extension object.</param>
45         <param name="extension">The extension object.</param>
46         <summary>Associates an extension object with a namespace to provide added functionality to XPath expressions in the <see cref="T:System.Xml.Xsl.XslTransform" />.</summary>
47         <remarks>
48           <para>The static and instance methods of <paramref name="extension" /> are made available to XSLT stylesheets via XPath function calls.</para>
49           <para>The arguments and return type of extension methods can be the basic numeric types, strings, <see cref="T:System.Xml.XPath.XPathNavigator" /> objects, and <see cref="T:System.Xml.XPath.XPathNodeIterator" /> objects.  Using XPathNavigators and XPathNodeIterators allows the extension method to receive and pass back node sets.</para>
50           <para>Only one extension object may be associated with any namespace, and the <c>http://www.w3.org/1999/XSL/Transform</c> namespace may not be used.</para>
51           <example>
52             <para>The following example makes a string length function available to an XSLT stylesheet.</para>
53             <code lang="C#">class MyExtObject {
54         public int GetStringLength(string s) {
55                 return s.Length;
56         }
57 }
58
59 (...elsewhere...)
60
61 XsltArgumentList args = new XsltArgumentList();
62 args.AddExtensionObject("http://www.mydomain.com/mynamespace", new MyExtObject());
63 XmlReader result = stylesheet.Transform(doc, args);
64   </code>
65             <para>The stylesheet accesses this function by declaring the namespace and then using XPath:</para>
66             <code lang="XML">&lt;template match="mynode" xmlns:ext="http://www.mydomain.com/mynamespace"&gt;
67    &lt;xsl:value-of select="ext:GetStringLength('MyString')"/&gt;
68 &lt;/template&gt;</code>
69           </example>
70         </remarks>
71       </Docs>
72       <AssemblyInfo>
73         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
74         <AssemblyVersion>2.0.0.0</AssemblyVersion>
75       </AssemblyInfo>
76     </Member>
77     <Member MemberName="AddParam">
78       <MemberSignature Language="C#" Value="public void AddParam (string name, string namespaceUri, object parameter);" />
79       <MemberType>Method</MemberType>
80       <ReturnValue>
81         <ReturnType>System.Void</ReturnType>
82       </ReturnValue>
83       <Parameters>
84         <Parameter Name="name" Type="System.String" />
85         <Parameter Name="namespaceUri" Type="System.String" />
86         <Parameter Name="parameter" Type="System.Object" />
87       </Parameters>
88       <Docs>
89         <param name="name">The name of the variable.</param>
90         <param name="namespaceUri">The namespace URI of the variable, or the empty string for variables not declared in a namespace.</param>
91         <param name="parameter">The value to assign to the parameter.</param>
92         <summary>Assigns a value to a stylesheet parameter.</summary>
93         <remarks>
94           <para>Stylesheet parameters refer to top-level xsl:param nodes outside of templates.  For instance:</para>
95           <code lang="XML">&lt;xsl:stylesheet xmlns:mynamespace="http://www.mydomain.com"&gt;
96         &lt;xsl:param name="arg1" select="'defaultValue'" /&gt;
97         &lt;xsl:param name="mynamespace:nsarg1" /&gt;
98 &lt;/xsl:stylesheet&gt;</code>
99           <para>To assign a value to the first parameter, use:</para>
100           <code lang="C#">args.AddParam("arg1", "", "newvalue");</code>
101           <para>To assign a value to the second parameter, use:</para>
102           <code lang="C#">args.AddParam("nsarg1", "http://www.mydomain.com", "newvalue");</code>
103         </remarks>
104       </Docs>
105       <AssemblyInfo>
106         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
107         <AssemblyVersion>2.0.0.0</AssemblyVersion>
108       </AssemblyInfo>
109     </Member>
110     <Member MemberName="Clear">
111       <MemberSignature Language="C#" Value="public void Clear ();" />
112       <MemberType>Method</MemberType>
113       <ReturnValue>
114         <ReturnType>System.Void</ReturnType>
115       </ReturnValue>
116       <Parameters />
117       <Docs>
118         <summary>Clears the extension objects and parameters associated with this XsltArgumentList.</summary>
119         <remarks>None.</remarks>
120       </Docs>
121       <AssemblyInfo>
122         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
123         <AssemblyVersion>2.0.0.0</AssemblyVersion>
124       </AssemblyInfo>
125     </Member>
126     <Member MemberName="GetExtensionObject">
127       <MemberSignature Language="C#" Value="public object GetExtensionObject (string namespaceUri);" />
128       <MemberType>Method</MemberType>
129       <ReturnValue>
130         <ReturnType>System.Object</ReturnType>
131       </ReturnValue>
132       <Parameters>
133         <Parameter Name="namespaceUri" Type="System.String" />
134       </Parameters>
135       <Docs>
136         <param name="namespaceUri">The namespace URI for which to retrieve the extension object.</param>
137         <summary>Retreives the extension object associated with the namespace URI.</summary>
138         <returns>The object associated with the namespace, or <see langword="null" /> if no extension object was associated with the namespace.</returns>
139         <remarks>None.</remarks>
140       </Docs>
141       <AssemblyInfo>
142         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
143         <AssemblyVersion>2.0.0.0</AssemblyVersion>
144       </AssemblyInfo>
145     </Member>
146     <Member MemberName="GetParam">
147       <MemberSignature Language="C#" Value="public object GetParam (string name, string namespaceUri);" />
148       <MemberType>Method</MemberType>
149       <ReturnValue>
150         <ReturnType>System.Object</ReturnType>
151       </ReturnValue>
152       <Parameters>
153         <Parameter Name="name" Type="System.String" />
154         <Parameter Name="namespaceUri" Type="System.String" />
155       </Parameters>
156       <Docs>
157         <param name="name">The name of the parameter.</param>
158         <param name="namespaceUri">The namespace URI of the variable, or the empty string for variables not declared in a namespace.</param>
159         <summary>Gets the value assigned to a stylesheet parameter.</summary>
160         <returns>The value associated with the parameter, or <see langword="null" /> if no value is associated with the parameter.</returns>
161         <remarks>None.</remarks>
162       </Docs>
163       <AssemblyInfo>
164         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
165         <AssemblyVersion>2.0.0.0</AssemblyVersion>
166       </AssemblyInfo>
167     </Member>
168     <Member MemberName="RemoveExtensionObject">
169       <MemberSignature Language="C#" Value="public object RemoveExtensionObject (string namespaceUri);" />
170       <MemberType>Method</MemberType>
171       <ReturnValue>
172         <ReturnType>System.Object</ReturnType>
173       </ReturnValue>
174       <Parameters>
175         <Parameter Name="namespaceUri" Type="System.String" />
176       </Parameters>
177       <Docs>
178         <param name="namespaceUri">The namespace URI for which to remove the extension object.</param>
179         <summary>Removes the extension object associated with a namespace.</summary>
180         <returns>The object formerly associated with the namespace, or <see langword="null" /> if no extension object was associated with the namespace.</returns>
181         <remarks>None.</remarks>
182       </Docs>
183       <AssemblyInfo>
184         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
185         <AssemblyVersion>2.0.0.0</AssemblyVersion>
186       </AssemblyInfo>
187     </Member>
188     <Member MemberName="RemoveParam">
189       <MemberSignature Language="C#" Value="public object RemoveParam (string name, string namespaceUri);" />
190       <MemberType>Method</MemberType>
191       <ReturnValue>
192         <ReturnType>System.Object</ReturnType>
193       </ReturnValue>
194       <Parameters>
195         <Parameter Name="name" Type="System.String" />
196         <Parameter Name="namespaceUri" Type="System.String" />
197       </Parameters>
198       <Docs>
199         <param name="name">The name of the variable.</param>
200         <param name="namespaceUri">The namespace URI of the variable, or the empty string for variables not declared in a namespace.</param>
201         <summary>Removes an assigned value to a stylesheet parameter.</summary>
202         <returns>The value formerly associated with the parameter, or <see langword="null" /> if no value was associated with the parameter.</returns>
203         <remarks>None.</remarks>
204       </Docs>
205       <AssemblyInfo>
206         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
207         <AssemblyVersion>2.0.0.0</AssemblyVersion>
208       </AssemblyInfo>
209     </Member>
210     <Member MemberName="XsltMessageEncountered">
211       <MemberSignature Language="C#" Value="public event System.Xml.Xsl.XsltMessageEncounteredEventHandler XsltMessageEncountered;" />
212       <MemberType>Event</MemberType>
213       <ReturnValue>
214         <ReturnType>System.Xml.Xsl.XsltMessageEncounteredEventHandler</ReturnType>
215       </ReturnValue>
216       <Docs>
217         <summary>To be added.</summary>
218         <remarks>To be added.</remarks>
219         <since version=".NET 2.0" />
220       </Docs>
221       <AssemblyInfo>
222         <AssemblyVersion>2.0.0.0</AssemblyVersion>
223       </AssemblyInfo>
224     </Member>
225   </Members>
226 </Type>