1 <Type Name="XsltArgumentList" FullName="System.Xml.Xsl.XsltArgumentList">
2 <TypeSignature Maintainer="auto" Language="C#" Value="public class XsltArgumentList" />
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>
9 <ThreadSafetyStatement>To be added</ThreadSafetyStatement>
11 <BaseTypeName>System.Object</BaseTypeName>
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>
19 <Member MemberName=".ctor">
20 <MemberSignature Language="C#" Value="public XsltArgumentList ();" />
21 <MemberType>Constructor</MemberType>
25 <summary>Creates a new XsltArgumentList with no extension objects or stylesheet parameters set.</summary>
26 <remarks>None.</remarks>
29 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
30 <AssemblyVersion>2.0.0.0</AssemblyVersion>
33 <Member MemberName="AddExtensionObject">
34 <MemberSignature Language="C#" Value="public void AddExtensionObject (string namespaceUri, object extension);" />
35 <MemberType>Method</MemberType>
37 <ReturnType>System.Void</ReturnType>
40 <Parameter Name="namespaceUri" Type="System.String" />
41 <Parameter Name="extension" Type="System.Object" />
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>
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>
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) {
61 XsltArgumentList args = new XsltArgumentList();
62 args.AddExtensionObject("http://www.mydomain.com/mynamespace", new MyExtObject());
63 XmlReader result = stylesheet.Transform(doc, args);
65 <para>The stylesheet accesses this function by declaring the namespace and then using XPath:</para>
66 <code lang="XML"><template match="mynode" xmlns:ext="http://www.mydomain.com/mynamespace">
67 <xsl:value-of select="ext:GetStringLength('MyString')"/>
68 </template></code>
73 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
74 <AssemblyVersion>2.0.0.0</AssemblyVersion>
77 <Member MemberName="AddParam">
78 <MemberSignature Language="C#" Value="public void AddParam (string name, string namespaceUri, object parameter);" />
79 <MemberType>Method</MemberType>
81 <ReturnType>System.Void</ReturnType>
84 <Parameter Name="name" Type="System.String" />
85 <Parameter Name="namespaceUri" Type="System.String" />
86 <Parameter Name="parameter" Type="System.Object" />
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>
94 <para>Stylesheet parameters refer to top-level xsl:param nodes outside of templates. For instance:</para>
95 <code lang="XML"><xsl:stylesheet xmlns:mynamespace="http://www.mydomain.com">
96 <xsl:param name="arg1" select="'defaultValue'" />
97 <xsl:param name="mynamespace:nsarg1" />
98 </xsl:stylesheet></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>
106 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
107 <AssemblyVersion>2.0.0.0</AssemblyVersion>
110 <Member MemberName="Clear">
111 <MemberSignature Language="C#" Value="public void Clear ();" />
112 <MemberType>Method</MemberType>
114 <ReturnType>System.Void</ReturnType>
118 <summary>Clears the extension objects and parameters associated with this XsltArgumentList.</summary>
119 <remarks>None.</remarks>
122 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
123 <AssemblyVersion>2.0.0.0</AssemblyVersion>
126 <Member MemberName="GetExtensionObject">
127 <MemberSignature Language="C#" Value="public object GetExtensionObject (string namespaceUri);" />
128 <MemberType>Method</MemberType>
130 <ReturnType>System.Object</ReturnType>
133 <Parameter Name="namespaceUri" Type="System.String" />
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>
142 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
143 <AssemblyVersion>2.0.0.0</AssemblyVersion>
146 <Member MemberName="GetParam">
147 <MemberSignature Language="C#" Value="public object GetParam (string name, string namespaceUri);" />
148 <MemberType>Method</MemberType>
150 <ReturnType>System.Object</ReturnType>
153 <Parameter Name="name" Type="System.String" />
154 <Parameter Name="namespaceUri" Type="System.String" />
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>
164 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
165 <AssemblyVersion>2.0.0.0</AssemblyVersion>
168 <Member MemberName="RemoveExtensionObject">
169 <MemberSignature Language="C#" Value="public object RemoveExtensionObject (string namespaceUri);" />
170 <MemberType>Method</MemberType>
172 <ReturnType>System.Object</ReturnType>
175 <Parameter Name="namespaceUri" Type="System.String" />
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>
184 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
185 <AssemblyVersion>2.0.0.0</AssemblyVersion>
188 <Member MemberName="RemoveParam">
189 <MemberSignature Language="C#" Value="public object RemoveParam (string name, string namespaceUri);" />
190 <MemberType>Method</MemberType>
192 <ReturnType>System.Object</ReturnType>
195 <Parameter Name="name" Type="System.String" />
196 <Parameter Name="namespaceUri" Type="System.String" />
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>
206 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
207 <AssemblyVersion>2.0.0.0</AssemblyVersion>
210 <Member MemberName="XsltMessageEncountered">
211 <MemberSignature Language="C#" Value="public event System.Xml.Xsl.XsltMessageEncounteredEventHandler XsltMessageEncountered;" />
212 <MemberType>Event</MemberType>
214 <ReturnType>System.Xml.Xsl.XsltMessageEncounteredEventHandler</ReturnType>
217 <summary>To be added.</summary>
218 <remarks>To be added.</remarks>
219 <since version=".NET 2.0" />
222 <AssemblyVersion>2.0.0.0</AssemblyVersion>