XsltCompiledTransform question

Here are three things that I thought would be equivalent but are not.  Just 
wondering why:

XmlElement foo = doc.CreateElement("foo");
// load it up with a body
xslt.Transform (foo, null, new XmlTextWriter(new StringWriter()));
xslt.Transform (foo.CreateNavigator(), null, new XmlTextWriter(new 
StringWriter()));
xslt.Transform(new XmlNodeReader(foo), new XmlTextWriter(new StringWriter()));

Only the third one applies the transform and produces the expected output.  
The first two produce nothing.

The docs say that passing in an XmlNode or navigator "usually an XmlDocument 
or an XPathDocument"; it doesn't say the transform won't be applied *unless* 
it's an XmlDocument.

I understand the XmlNodeReader is hiding the fact that it's starting at 
something other than a document root.

I know this is an peculiar use case but was curious why the first 2 produced 
nothing?

Thanks
Mark

0
mmodrall1 (25)
6/13/2008 3:37:01 PM
dotnet.xml 7266 articles. 0 followers. Follow

8 Replies
892 Views

Similar Articles

[PageSpeed] 32

Mark wrote:
> Here are three things that I thought would be equivalent but are not.  Just 
> wondering why:
> 
> XmlElement foo = doc.CreateElement("foo");
> // load it up with a body
> xslt.Transform (foo, null, new XmlTextWriter(new StringWriter()));
> xslt.Transform (foo.CreateNavigator(), null, new XmlTextWriter(new 
> StringWriter()));
> xslt.Transform(new XmlNodeReader(foo), new XmlTextWriter(new StringWriter()));
> 
> Only the third one applies the transform and produces the expected output.  
> The first two produce nothing.
> 
> The docs say that passing in an XmlNode or navigator "usually an XmlDocument 
> or an XPathDocument"; it doesn't say the transform won't be applied *unless* 
> it's an XmlDocument.
> 
> I understand the XmlNodeReader is hiding the fact that it's starting at 
> something other than a document root.
> 
> I know this is an peculiar use case but was curious why the first 2 produced 
> nothing?

I am sure you can pass in an XmlElement node or an XPathNavigator 
created from an XmlElement.
For instance when XSLTFile1.xslt is the identity transformation

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:template match="@* | node()">
     <xsl:copy>
       <xsl:apply-templates select="@* | node()"/>
     </xsl:copy>
   </xsl:template>
</xsl:stylesheet>

then the following code

             XslCompiledTransform xsltProc = new XslCompiledTransform();
             xsltProc.Load(@"..\..\XSLTFile1.xslt");

             XmlDocument doc = new XmlDocument();
             XmlElement foo = doc.CreateElement("foo");

             xsltProc.Transform(foo, null, Console.Out);
             Console.WriteLine();

             xsltProc.Transform(foo.CreateNavigator(), null, Console.Out);
             Console.WriteLine();

outputs

<?xml version="1.0" encoding="ibm850"?><foo />
<?xml version="1.0" encoding="ibm850"?><foo />

It is not clear to me how your sample code checks any output if you 
simply pass in new XmlTextWriter(new StringWriter()) as the third 
argument to the Transform method. Where would you see the transformation 
result in that case?

-- 

	Martin Honnen --- MVP XML
	http://JavaScript.FAQTs.com/
0
mahotrash (1778)
6/13/2008 3:58:30 PM
Hi Martin,

I was summarizing before; I really had
StringWriter sw = new StringWriter();
StringBuilder sb = sw.GetStringBuilder();
so I could check the output.

The issue is probably my stylesheet.
  <xsl:template match="/foo">

When I pass in a dangling node, it's not matching the /.  When I use an 
XmlNodeReader, it can't tell the difference...

Thanks
Mark

"Martin Honnen" wrote:

> Mark wrote:
> > Here are three things that I thought would be equivalent but are not.  Just 
> > wondering why:
> > 
> > XmlElement foo = doc.CreateElement("foo");
> > // load it up with a body
> > xslt.Transform (foo, null, new XmlTextWriter(new StringWriter()));
> > xslt.Transform (foo.CreateNavigator(), null, new XmlTextWriter(new 
> > StringWriter()));
> > xslt.Transform(new XmlNodeReader(foo), new XmlTextWriter(new StringWriter()));
> > 
> > Only the third one applies the transform and produces the expected output.  
> > The first two produce nothing.
> > 
> > The docs say that passing in an XmlNode or navigator "usually an XmlDocument 
> > or an XPathDocument"; it doesn't say the transform won't be applied *unless* 
> > it's an XmlDocument.
> > 
> > I understand the XmlNodeReader is hiding the fact that it's starting at 
> > something other than a document root.
> > 
> > I know this is an peculiar use case but was curious why the first 2 produced 
> > nothing?
> 
> I am sure you can pass in an XmlElement node or an XPathNavigator 
> created from an XmlElement.
> For instance when XSLTFile1.xslt is the identity transformation
> 
> <?xml version="1.0" encoding="UTF-8" ?>
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>    <xsl:template match="@* | node()">
>      <xsl:copy>
>        <xsl:apply-templates select="@* | node()"/>
>      </xsl:copy>
>    </xsl:template>
> </xsl:stylesheet>
> 
> then the following code
> 
>              XslCompiledTransform xsltProc = new XslCompiledTransform();
>              xsltProc.Load(@"..\..\XSLTFile1.xslt");
> 
>              XmlDocument doc = new XmlDocument();
>              XmlElement foo = doc.CreateElement("foo");
> 
>              xsltProc.Transform(foo, null, Console.Out);
>              Console.WriteLine();
> 
>              xsltProc.Transform(foo.CreateNavigator(), null, Console.Out);
>              Console.WriteLine();
> 
> outputs
> 
> <?xml version="1.0" encoding="ibm850"?><foo />
> <?xml version="1.0" encoding="ibm850"?><foo />
> 
> It is not clear to me how your sample code checks any output if you 
> simply pass in new XmlTextWriter(new StringWriter()) as the third 
> argument to the Transform method. Where would you see the transformation 
> result in that case?
> 
> -- 
> 
> 	Martin Honnen --- MVP XML
> 	http://JavaScript.FAQTs.com/
> 
0
mmodrall1 (25)
6/13/2008 5:02:00 PM
Mark wrote:

> I was summarizing before; I really had
> StringWriter sw = new StringWriter();
> StringBuilder sb = sw.GetStringBuilder();
> so I could check the output.
> 
> The issue is probably my stylesheet.
>   <xsl:template match="/foo">
> 
> When I pass in a dangling node, it's not matching the /.  When I use an 
> XmlNodeReader, it can't tell the difference...

The XmlNodeReader reparses the DOM so it makes some sense that it 
presents the foo element as a child of the root node /.
For the other two cases (passing in the sole XmlElement or the 
XPathNavigator created on the sole XmlElement) the foo element has no 
root so your match="/foo" does not apply.
Obviously it is an edge case but if you can change your stylesheet to 
make sure you use match="foo" it should work as needed.



-- 

	Martin Honnen --- MVP XML
	http://JavaScript.FAQTs.com/
0
mahotrash (1778)
6/13/2008 5:26:22 PM
Hi Mark,

I think your analysis is reasonable. The document root based path ( 
"/....") make a single node not be able to be resolved. While using 
XmlNodeReader, it internally generate a document for the given XmlNode 
which makes the difference.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and 
suggestions about how we can improve the support we provide to you. Please 
feel free to let my manager know what you think of the level of service 
provided. You can send feedback directly to my manager at: 
msdnmg@microsoft.com.

==================================================
Get notification to my posts through email? Please refer to 
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------

>From: =?Utf-8?B?TWFyaw==?= <mmodrall@nospam.nospam>
>References:  <9A461CA0-60F3-4653-BB20-065A8F554510@microsoft.com> 
<elqDW5WzIHA.2408@TK2MSFTNGP04.phx.gbl>
>Subject: Re: XsltCompiledTransform question
>Date: Fri, 13 Jun 2008 10:02:00 -0700

>
>Hi Martin,
>
>I was summarizing before; I really had
>StringWriter sw = new StringWriter();
>StringBuilder sb = sw.GetStringBuilder();
>so I could check the output.
>
>The issue is probably my stylesheet.
>  <xsl:template match="/foo">
>
>When I pass in a dangling node, it's not matching the /.  When I use an 
>XmlNodeReader, it can't tell the difference...
>
>Thanks
>Mark
>
>"M

0
stcheng1 (64)
6/16/2008 2:37:04 AM
Hi Martin...

I know this is wandering a bit afield, but after this discussion I got 
curious how the xpath operations on XmlNodes would respond, so I made a 
little test:

XmlDocument selTest = new XmlDocument();
XmlElement selElm;
selTest.LoadXml("<foo><a><b><c><b>hi</b></c></b></a></foo>");
XmlNodeList selList = selTest.SelectNodes("//b");
selElm = selTest.DocumentElement.FirstChild as XmlElement;
selList = selElm.SelectNodes("//b");
selList = selList[0].SelectNodes("//b");
selElm = selTest.CreateElement("d");
selElm.InnerXml = "<b>in d</b>";
selList = selElm.SelectNodes("//b");

In this case, I was trying the "anywhere in tree" selection.  I tried it on 
the document root, a couple of elements down, and then in a dangling element.

Within the dom tree, I get the same 2 nodes no matter what node I make the 
selection from.

From our prior discussion, I didn't know what to expect from the dangling 
node.  In the case of the dangling (unrooted) element, selecting "//b" 
essentially treated the dangling node as the root and found the child.

Is this a fundamentally different case that the one we talked about before?

Thanks
Mark

0
mmodrall1 (25)
6/17/2008 2:05:01 PM
Mark wrote:

> From our prior discussion, I didn't know what to expect from the dangling 
> node.  In the case of the dangling (unrooted) element, selecting "//b" 
> essentially treated the dangling node as the root and found the child.
> 
> Is this a fundamentally different case that the one we talked about before?

The results astonish me.

Here is a test:

             XmlDocument doc = new XmlDocument();

             XmlElement foo = doc.CreateElement("foo");
             foo.InnerXml = "<bar>baz</bar>";

             XmlNode rootNode = foo.SelectSingleNode("/");
             Console.WriteLine("rootNode.NodeType: {0}; LocalName: {1}", 
rootNode.NodeType, rootNode.LocalName);

             XPathNavigator fooNav = foo.CreateNavigator();
             XPathNavigator rootNav = fooNav.SelectSingleNode("/");
             Console.WriteLine("rootNav.NodeType: {0}; LocalName: {1}", 
rootNav.NodeType, rootNav.LocalName);

Output for me with Visual Studio 2005:

rootNode.NodeType: Element; LocalName: foo
rootNav.NodeType: Element; LocalName: foo


So for the XPath API the dangling element node has itself as its root 
node selected by the XPath "/". If you select "/*" then you get the 
'bar' element as

             XmlDocument doc = new XmlDocument();

             XmlElement foo = doc.CreateElement("foo");
             foo.InnerXml = "<bar>baz</bar>";

             XmlNode rootElement = foo.SelectSingleNode("/*");
             Console.WriteLine("rootElement.NodeType: {0}; LocalName: 
{1}", rootElement.NodeType, rootElement.LocalName);

             XPathNavigator fooNav = foo.CreateNavigator();
             XPathNavigator rootElNav = fooNav.SelectSingleNode("/*");
             Console.WriteLine("rootElNav.NodeType: {0}; LocalName: 
{1}", rootElNav.NodeType, rootElNav.LocalName);

outputs

rootElement.NodeType: Element; LocalName: bar
rootElNav.NodeType: Element; LocalName: bar


That "/" selects an element node is rather odd in my view.

-- 

	Martin Honnen --- MVP XML
	http://JavaScript.FAQTs.com/
0
mahotrash (1778)
6/17/2008 5:02:48 PM
I was scratching my head as well.  Our resident xpath/xslt guru here saw 
"//b" as "descendent or self" which the XmlNode.SelectNodes() was decidedly 
not doing as well.  With my first doc, I got the same 2 results no matter 
which node I started with, so it was running back up to the root and then 
traversing down.

Given the behavior we saw in xslt with dangling nodes, I was surprised to 
find the XmlNode.SelectNodes() behaving it ways that seemed quite 
inconsistent with that...

Thanks
Mark


"Martin Honnen" wrote:

> Mark wrote:
> 
> > From our prior discussion, I didn't know what to expect from the dangling 
> > node.  In the case of the dangling (unrooted) element, selecting "//b" 
> > essentially treated the dangling node as the root and found the child.
> > 
> > Is this a fundamentally different case that the one we talked about before?
> 
> The results astonish me.
> 
> Here is a test:
> 
>              XmlDocument doc = new XmlDocument();
> 
>              XmlElement foo = doc.CreateElement("foo");
>              foo.InnerXml = "<bar>baz</bar>";
> 
>              XmlNode rootNode = foo.SelectSingleNode("/");
>              Console.WriteLine("rootNode.NodeType: {0}; LocalName: {1}", 
> rootNode.NodeType, rootNode.LocalName);
> 
>              XPathNavigator fooNav = foo.CreateNavigator();
>              XPathNavigator rootNav = fooNav.SelectSingleNode("/");
>              Console.WriteLine("rootNav.NodeType: {0}; LocalName: {1}", 
> rootNav.NodeType, rootNav.LocalName);
> 
> Output for me with Visual Studio 2005:
> 
> rootNode.NodeType: Element; LocalName: foo
> rootNav.NodeType: Element; LocalName: foo
> 
> 
> So for the XPath API the dangling element node has itself as its root 
> node selected by the XPath "/". If you select "/*" then you get the 
> 'bar' element as
> 
>              XmlDocument doc = new XmlDocument();
> 
>              XmlElement foo = doc.CreateElement("foo");
>              foo.InnerXml = "<bar>baz</bar>";
> 
>              XmlNode rootElement = foo.SelectSingleNode("/*");
>              Console.WriteLine("rootElement.NodeType: {0}; LocalName: 
> {1}", rootElement.NodeType, rootElement.LocalName);
> 
>              XPathNavigator fooNav = foo.CreateNavigator();
>              XPathNavigator rootElNav = fooNav.SelectSingleNode("/*");
>              Console.WriteLine("rootElNav.NodeType: {0}; LocalName: 
> {1}", rootElNav.NodeType, rootElNav.LocalName);
> 
> outputs
> 
> rootElement.NodeType: Element; LocalName: bar
> rootElNav.NodeType: Element; LocalName: bar
> 
> 
> That "/" selects an element node is rather odd in my view.
> 
> -- 
> 
> 	Martin Honnen --- MVP XML
> 	http://JavaScript.FAQTs.com/
> 
0
mmodrall1 (25)
6/17/2008 5:22:01 PM
Hi Mark,

I think the different behavior in XmlNode.Select with "//b" like path might 
be caused by the difference context between XmlNode and XmlDocument. Since 
XmlDocument has an entireo DOM context(start from root). And the "//b" like 
path may also require a search from root to all descendent nodes. 

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and 
suggestions about how we can improve the support we provide to you. Please 
feel free to let my manager know what you think of the level of service 
provided. You can send feedback directly to my manager at: 
msdnmg@microsoft.com.

==================================================
Get notification to my posts through email? Please refer to 
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
>Thread-Topic: XsltCompiledTransform question
>thread-index: AcjQnqeS97g6+D1NSG+IYJh/7hksDQ==
>X-WBNR-Posting-Host: 65.55.21.8
>From: =?Utf-8?B?TWFyaw==?= <mmodrall@nospam.nospam>
>References:  <9A461CA0-60F3-4653-BB20-065A8F554510@microsoft.com> 
<elqDW5WzIHA.2408@TK2MSFTNGP04.phx.gbl> <85E372C4-C273-4C72-
>
>I was scratching my head as well.  Our resident xpath/xslt guru here saw 
>"//b" as "descendent or self" which the XmlNode.SelectNodes() was 
decidedly 
>not doing as well.  With my first doc, I got the same 2 results no matter 
>which node I started with, so it was running back up to the root and then 
>traversing down.
>
>Given the behavior we saw in xslt with dangling nodes, I was surprised to 
>find the XmlNode.SelectNodes() behaving it ways that seemed quite 
>inconsistent with that...
>
>Thanks
>Mark
>
>
>"Martin Honnen" wrote:
>
>> Mark wrote:
>> 
>> > From our prior discussion, I didn't know what to expect from the 
dangling 
>> > node.  In the case of the dangling (unrooted) element, selecting "//b" 
>> > essentially treated the dangling node as the root and found the child.
>> > 
>> > Is this a fundamentally different case that the one we talked about 
before?
>> 
>> The results astonish me.
>> 
>> Here is a test:
>> 
>>              XmlDocument doc = new XmlDocument();
>> 
>>              XmlElement foo = doc.CreateElement("foo");
>>              foo.InnerXml = "<bar>baz</bar>";
>> 
>>              XmlNode rootNode = foo.SelectSingleNode("/");
>>              Console.WriteLine("rootNode.NodeType: {0}; LocalName: {1}", 
>> rootNode.NodeType, rootNode.LocalName);
>> 
>>              XPathNavigator fooNav = foo.CreateNavigator();
>>              XPathNavigator rootNav = fooNav.SelectSingleNode("/");
>>              Console.WriteLine("rootNav.NodeType: {0}; LocalName: {1}", 
>> rootNav.NodeType, rootNav.LocalName);
>> 
>> Output for me with Visual Studio 2005:
>> 
>> rootNode.NodeType: Element; LocalName: foo
>> rootNav.NodeType: Element; LocalName: foo
>> 
>> 
>> So for the XPath API the dangling element node has itself as its root 
>> node selected by the XPath "/". If you select "/*" then you get the 
>> 'bar' element as
>> 
>>              XmlDocument doc = new XmlDocument();
>> 
>>              XmlElement foo = doc.CreateElement("foo");
>>              foo.InnerXml = "<bar>baz</bar>";
>> 
>>              XmlNode rootElement = foo.SelectSingleNode("/*");
>>              Console.WriteLine("rootElement.NodeType: {0}; LocalName: 
>> {1}", rootElement.NodeType, rootElement.LocalName);
>> 
>>              XPathNavigator fooNav = foo.CreateNavigator();
>>              XPathNavigator rootElNav = fooNav.SelectSingleNode("/*");
>>              Console.WriteLine("rootElNav.NodeType: {0}; LocalName: 
>> {1}", rootElNav.NodeType, rootElNav.LocalName);
>> 
>> outputs
>> 
>> rootElement.NodeType: Element; LocalName: bar
>> rootElNav.NodeType: Element; LocalName: bar
>> 
>> 
>> That "/" selects an element node is rather odd in my view.
>> 
>> -- 
>> 
>> 	Martin Honnen --- MVP XML
>> 	http://JavaScript.FAQTs.com/
>> 
>

0
stcheng1 (64)
6/20/2008 4:35:12 AM
Reply:

Similar Artilces:

Multiple Fields Query Question
Hi - I need to query multiple fields to find out how many times a specific horse was used for the purpose of a group or private lesson. My query is showing me "all" billing reasons as opposed to only the "lesson" ones. I've pasted the SQL below...is anyone able to help me with this? I just want to see the horses that were used for lessons only. I created this in Design View as I'm only familiar with creating queries that way, so if you could please be specific with any answers, I'd really appreciate it, since I do not know SQL. Thank...

A question of normalization
I've been developing an application for 2 years now that one may refer to as an inventory management database. I use the application on a daily basis to help run my business and it works nicely. I've recently begun to redesign the application and have decided that I come to a crossroads that is well beyond my expertise. I have 3 key tables: 1. tblItems: list of raw materials and other relevant information (12 fields in total) 2. tblSubAssemblies: list of sub assembly items and relevant info (9 fields in total) 3. tblFinishedProducts: list of finished products for resale and relevant i...

Answer to book questions
Hi, everything is a lot less than we actually make it. We are just filling in voids with senseless needs for answers. ...

Re: activation question
Hi Tian, Thanks for the reply, but nothing new in that information. I'm trying to make a custom control that has a drop down window. If I make this window a child of a dialog bar, it's clipped to the dialog bar. If I make it a child of the frame, I can draw on it, but I can't get focus and I can't force it to the top of the z order to get focus even if I call SetWindowPos with insert after the dialog bar or using the constant for top. Specifically how can I make a window that will not be clipped by the dialog bar it's placed in, and will recieve focus? Hi kermit,...

Port questions
Hi All, Just a few questions, wondering if anyone could answer them. 1. Can Exchange server traffic to limited to specific range of port? 2. Is there a recommended range of ports by Microsoft to lock Exchange into? 3. If #2 is no, then how many ports are needed by Exchange (1, 10, 50?). Pick a high range ports say from (62,520+) to lock Exchange into. On Thu, 6 May 2010 11:56:08 -0700, IDK215 <IDK215@discussions.microsoft.com> wrote: >Hi All, > >Just a few questions, wondering if anyone could answer them. > >1. Can Exchange se...

thread question #4
How can I determine in a block of code if the thread it's running in is the same as the main GUI thread? I was trying to use GetCurrentThread to get the thread the function is being called from. Not sure how compare that to GUI thread. On Wed, 21 Dec 2005 13:58:35 -0600, "Eric Margheim" <NOSPAM***eric@prism-grp.com***NOSPAM> wrote: >How can I determine in a block of code if the thread it's running in is the >same as the main GUI thread? > >I was trying to use GetCurrentThread to get the thread the function is being >called from. Not sure how...

Formula Question
I need to do some type of lookup and sum in vba I'd like to use Total Sheet.B5 to return the value Total Sheet.B5 to = 55 if Total Sheet.A5 = Orange Total Sheet A5 = Orange B5 = 55 Sheet 1 A4 = Blue b4 = 5 A5 = Green b5 = 10 A6 = Orange b6 = 15 Sheet 2 A4 = Orange b4 = 10 A5 = Green b5 = 20 A6 = Blue b6 = 30 Sheet 4 A4 = Green b4 = 20 A5 = Orange b5 = 30 A6 = Blue b6 = 40 Thank you for any help Hummm, I can't really tell what you're doing, but look here: http://www.xldynamic.co...

Stupid Question
Hey, This may sound stupid, but, how do you email a knowledge base article to a customer and record it in activities? --> Codeman --< There is no built-in way to do this. You need to copy and paste the KB article into a CRM E-mail. BTW, you can only copy KB article text when you view the article from Workplace in CRM. (If you view the KB article from the Service module's KB Manager, copy functionality is disabled for some reason.) -- Matt Wittemann http://icu-mscrm.blogspot.com "Codeman" wrote: > Hey, > This may sound stupid, but, how do you email a knowledge...

if/then question
Here's what I hope is a pretty basic question. I have 5 rows of inventory data. They are the following: A1: Product Name A2: Product Cost A3: Maximum Qty. Desired on Hand A4: Minimum Qty. Desired on Hand A5: Quantity on Hand Basically, it looks like this: Widget X | 25 | 10 | 4 | 5 I'd like to figure out how to write a formula for cell A6 that would tell me the following: If A5 is greater or equal to A4, then I'd like A6 = 0. If A5 is less than A4, then I'd like A6 = (A3-A5) * A2. Is this possible? Many thanks, Brendan Brendan this should work =IF(A5>...

TreeView question
Hi, A stupid question about TreeView control under VS2003 .NET. I place from toolbox, a TreeView control on my dialog box. It's ID = TV so its name is TV too. Now clicking on a button, i would like to insert some values as roots and some other as items belonging to these roots. How can i do it ? thanks. PS : i'm a rookie in VC++ :-( ...

a few questions....
If anyone can please help me answer the following questions: - How do you define multiple suppliers for one inventory item? - For a matrix item, how do you define the item with various shapes/colors and bring up that item with the item lookup code? - How do you customize receipts in RMS with your own fields? Any help would be great. >If anyone can please help me answer the following questions: > >- How do you define multiple suppliers for one inventory item? F1 Help, Manager Program, Working with your database, Managing supplier information ...

Money 2007 Display question
In Money 2004, I was able to configure the account display to show the bills on the date they were due to be processed. In 2007 it displays the scheduled bills on the date they're to be processed by the bank which is three or four days before when they'll be due. I can't figure out how to change the date displayed to the due date. Thanks, ...

question "File -> Send To -> Mail Receipient"
Dear, I am using all English Windows 98 SE, Office 97 Std SR2, IE 6.0 SP1, Netscape 7.2 Netscape Mail is my default MAPI If I open an XLS file in C:\WINDOWS\TEMP , "Sent to mail receipient" is not work. There was becasue the customer direct open an attachment (which must save in %temp%) then "Compose by anther email" without save the file. -david ...

Very Newbie Question
Hi Imust start by admitting I am not very experienced in the world of Outlook and Exchange but something I find very starnge happens on my network. Client Outlook 2002 Server Excgange 2003 with latest service pack I have set up an internal exchange system whereby the client has only an exchange account. Although the client does have internet access On this client I can email out to; for example hotmail and Gmail succesfully although there are NO external accounts configured I am impressed and yet concerened Is this supposed to happen and how does it work thanks for your time Dave C...

IE8 security add-on question
Is there functionality in IE8, or in an add-on which can block certain information being sent from IE8 to a remote web site. E.g. if my kids started using my PC, can I stop them sending our address, phone number, etc? I'm thinking of an add-on that would block certain text from being sent to an internet site. I know education is the best thing, but who's kids ever do everyhting they're told ;) Thanks for any help. Iain You'll find lots of good ideas & recommendations in this discussion: http://aumha.net/viewtopic.php?t=30095 That being said, Tough Love ...

Simple Logic question?
Using Excel 2003, I'm trying to build a formula that displays a symbol in a cell to indicate the current date period. There are four rows of data, each representing a calendar quarter Q1, Q2, Q3, and Q4. Each row has a cell which indicates the last transaction date for that period. In the Q1 row, that date is 03/31/08. In the Q2 row, that date is 04/25/08 as that is the most current data set loaded. Q3 and Q4 date cells are blank. The first part of the formula needs to check if there is data by evaluating if the date cell is blank. If it is blank, then the result should be a blank ...

GetOpenFile question
Can someone explain to me why when the following code executes, the filename shown in the message box for the first iteration is the last file name selected in the multiple selection. The second iteration show the first file name selected and continues on in order until the next to last file name selected. Dim FileToOpen As Variant FileToOpen = Application.GetOpenFilename("TableFiles (*.prn), *.prn", , "Name of Files to Use", , True) counter = 1 Do While counter <= UBound(FileToOpen) MsgBox FileToOpen(counter) counter = counter + 1 Loop End Sub TIA Garry I d...

Windows PowerShell Time out question
Wondering if there's a way to limit how long PowerShell will try to get the following information out of a servers WMI. Here's what I've got currently, it works fine so long the servers respond... $a = New-Object -comobject Excel.Application $a.visible = $True $b = $a.Workbooks.Add() $c = $b.Worksheets.Item(1) $c.Cells.Item(1,1) = "Domain" $c.Cells.Item(1,2) = "Server Name" $c.Cells.Item(1,3) = "Operating System" $c.Cells.Item(1,4) = "IP Address" $c.Cells.Item(1,5) = "Service Packs" $c.Cells.Item(1,6) = "Sys...

XsltCompiledTransform question
Here are three things that I thought would be equivalent but are not. Just wondering why: XmlElement foo = doc.CreateElement("foo"); // load it up with a body xslt.Transform (foo, null, new XmlTextWriter(new StringWriter())); xslt.Transform (foo.CreateNavigator(), null, new XmlTextWriter(new StringWriter())); xslt.Transform(new XmlNodeReader(foo), new XmlTextWriter(new StringWriter())); Only the third one applies the transform and produces the expected output. The first two produce nothing. The docs say that passing in an XmlNode or navigator "usually an XmlDocument or ...

A few very tough questions..
I recently took over an SBS 2008 installation from a group that had no business installing it in the first place. There were a ton of event viewer errors, Exchange, SBS Console, you name it, they screwed it up. There are 25 users and they never installed antivirus on either the Exchange mailboxes or the client computers. Enough of that.. Here are the few remaining issues. 1. They never ran a best practices tool. When I did Exchange showed a "first administrator group" of an old Exchange 2003 SBS install on another computer that crashed. I don't know how or why it&#...

Backup question
I've moved to a new pc and for some reason I thought that when you backed up, a new file was created. Am I right? At the moment, it's just backing up to the backup file. So I've just just my working file and my backup file. Please could you clarify this? Thanks again. In microsoft.public.money, abc wrote: >I've moved to a new pc and for some reason I thought that when you >backed up, a new file was created. Am I right? At the moment, it's >just backing up to the backup file. So I've just just my working file >and my backup file. P...

Question about Xml Schemas "qualified" and "unqualified"
In the textbook, there is a sentence that "Default XML namespaces(xmlns="...") helps a lot, but can also create problems, as a side effect of the rules for automatic qualification. How to understand "automatic qualification" here? Could you please give me an example? Secondly, unless otherwise specified, a schema prescribes that loal elements and attributes must be "unqualified". What does "unqualified" mean? Could you please giv eme an example? Finnaly, could you please tell me what's purpose of using these two things? Thanks a lot! ...

a question and a question
What is the correct name of the type of selection box used in "customizing Word", for example.... you select a word or operation from a list on the left pane and move it over to the right pane. Is there a template to build one of these? thanx You will have to explain more in detail what you are trying to do. -- Stefan Blom Microsoft Word MVP "cliffordjf" <cliffordjf@discussions.microsoft.com> wrote in message news:9856CCA7-8A8E-440C-A0D4-76EE4FA644E2@microsoft.com... > What is the correct name of the type of selection box used in "c...

Question about Paste Special
Hi, I have a problem sometimes with the paste special options when goin from one excel workbook to another. For example, sometimes when I cop data from one workbook and then paste special into another, I get th options that include: All, formulas, values, formats, has the option t transpose the data and paste link among other options. And the sometimes I try and paste data to another workbook and I end up th paste special options: Bitmap Image Object, picture, bitmap, and I als lose the ability to paste link. Well you can do it, but it puts it i as an object. What I want is the first past...

IE8 privacy question
I am running XP-Pro SP3 and considering upgrading from IE7 to IE8. I have read all the feature and benefit articles from MS, but have one question that remains unanswered. In IE8 there is mention of being able to restore previously viewed websites or something to that effect. I think this is on a drop down menu somewhere. 1) Does In-private viewing prevent this? 2) Does manually deleting your complete browsing history clear this? 3) Is there a registry entry that can prevent this action? 4) Is there a group policy change that can prevent this action? In essence for privacy pur...