Eric White's Blog
learn.microsoft.com/en-us/archive/blogs/ericwhite
C# / .NETDev tools / editors / IDEsCompilersMicrosoft blogsMSDN archive
- Posts
- 421 from 25 Apr 2006 to 19 Jan 2011
- Posting
- archived, read-only
- Kind
- personal blog
- Feed
- https://learn.microsoft.com/en-us/archive/blogs/ericwhite/feed.xml
2011 1
2010 88
- Using the OData Rest API for CRUD Operations on a SharePoint List
- Comparing Excel Automation to Excel Services
- Microsoft Word 2010 Developer Building Blocks
- How to Install and Activate the IW Demo/Evaluation Hyper-V Machine
- Getting Started using the OData REST API to Query a SharePoint List
- Understanding the Difference between Custom Task Panes and Action Panes
- Understanding the Architecture of Office 2010 Managed Add-Ins and Customizations
- What is the Difference between ‘Word Automation’ and ‘Word Automation Services’?
- Understanding the Three Approaches to Office Development using VSTO
- Office Application Scenarios
- Overview of Office 2010 Application Development
- Office/SharePoint Building Blocks and Developer Stories
- Easy SharePoint 2010 Setup for Developers on Windows 7
- SharePoint Developer Building Blocks: Technologies for Creating SharePoint Applications
- Building a Simple Recursive Descent Parser (Completed Simple Parser)
- Building a Simple Recursive Descent Parser (continued)
- Building a Simple Recursive Descent Parser
- Table Markup in Open XML SpreadsheetML
- Writing and Hosting a Web Service in the SharePoint 2010 Demo Virtual Machine
- Creating a Collection from Singletons and Collections using LINQ
- Recursive Descent Parser: A Simple Grammar
- Exploring the BCS Metadata Schema
- Great Video on JavaScript by Douglas Crockford
- Recursive Descent Parser using LINQ: The Augmented Backus-Naur Form Grammar
- Processing all Content Parts in an Open XML WordprocessingML Document
- Microsoft patterns and practices: Developing Applications for SharePoint 2010
- Writing a Recursive Descent Parser using C# and LINQ
- Khan Academy: Free Lectures on Math, Physics, Biology, Economics, and History
- Open XML Package Editor Power Tool for Visual Studio 2010
- Consuming a Claims-Enabled WCF Web Service as a SharePoint 2010 External Content Type
- Establishing Trust between a WCF Web Service and the SharePoint 2010 Security Token Service
- Access denied by Business Data Connectivity
- Job Opening in our Group at Microsoft
- MSDN Blog Platform Upgrade
- Determining Caller Identity within a WCF Web Service
- Getting Started Building a WCF Web Service
- Removing Speaker Notes from a set of PowerPoint Presentations
- SharePoint Interoperability Event
- Searching External Data in SharePoint 2010 Using Business Connectivity Services
- Office 2010 Reaches RTM
- Controlling Namespace Serialization of LINQ to XML
- Using the Open XML SDK from within a Managed Add-In
- Determining if an Open XML WordprocessingML Document contains Tracked Changes
- Support for ISO/IEC 29500 Strict in Microsoft Office
- Using Content Controls to give Semantic Meaning to Content in Open XML WordprocessingML Documents
- SharePoint 2010 and Office 2010 Videos from the SharePoint Conference 2009
- Testing for Base Styles in Open XML WordprocessingML Documents
- Assembling Documents on SharePoint 2010 Sites by Merging Content from Excel, PowerPoint, and Word
- Bandwidth-Adjusting Videos on MSDN
- Modifying an Open XML Document in a SharePoint Document Library
- Developing with SharePoint 2010 Word Automation Services
- Using Word Automation Services with the Open XML SDK using VB
- Using Word Automation Services with the Open XML SDK using C#
- Word Automation Services: Deleting Source Files after Conversion using VB
- Word Automation Services: Deleting Source Files after Conversion using C#
- Word Automation Services: Determining Which Documents Failed to Convert using VB
- Word Automation Services: Determining Which Documents Failed to Convert using C#
- Word Automation Services: Monitoring Status of Conversion Jobs using VB
- Word Automation Services: Monitoring Status of Conversion Jobs using C#
- Claims-based Identity and Access Control Resources
- Release of the Open XML SDK 2.0 for Microsoft Office
- Hex Dump using LINQ (in 7 Lines of Code)
- Formats Supported for altChunk
- Ad-Hoc String Concatenation using LINQ
- Reducing Connaissance (Interconnectedness) and Increasing Robustness using LINQ
- Serializing Encoded XML Documents using LINQ to XML
- Convert XDocument to XmlDocument (and Convert XmlDocument to XDocument)
- Validate Open XML Documents using the Open XML SDK 2.0
- Using Nested Content Controls for Data and Content Extraction from Open XML WordprocessingML Documents
- Transforming WordprocessingML to Simpler XML for Easier Processing
- ListItemRetriever: Accurately Retrieving Text of a Open XML WordprocessingML Paragraph
- Rollup Extension Method: Create Running Totals using LINQ to Objects
- Retrieving the Default Style Name of an Open XML WordprocessingML Document
- Office 2010 Application Compatibility Tools Bug Hunt
- Enabling Better Transformations by Simplifying Open XML WordprocessingML Markup
- Increasing Performance of Word Automation for large amount of data using Open Xml SDK
- HtmlConverter: Transform Open XML WordprocessingML to XHtml
- Programmatically Limiting Styles in Word
- Links - January 25, 2010
- Inserting Content That Contains Images Using altChunk
- Writing Entity References using LINQ to XML
- LogicalChildrenContent Axis Methods - Open XML SDK V2 Strongly Typed Object Model
- LogicalChildrenContent Axis Methods - LINQ to XML
- Mastering Text in Open XML Word-Processing Documents
- Simplifying Open XML WordprocessingML Queries by First Accepting Revisions
- Updated DocumentBuilder to work with Dec09 CTP of Open XML SDK V2
- How to Control Sections when using OpenXml.PowerTools.DocumentBuilder
- Fifty SharePoint 2010 End User / Site Administrator Training Videos
2009 96
- Accepting Revisions in Open XML WordprocessingML Documents
- Working with Numbering in Open XML WordprocessingML
- Implementing 'Inheritance' in XML
- Using the SharePoint 2010 Client OM with Open XML – Convert Wiki Page to Open XML Document
- Using the SharePoint 2010 Client OM with Open XML – Extract Contents of a Wiki Page
- Using the SharePoint 2010 Client OM with Open XML – Processing all Documents in a Document Library
- Using the SharePoint 2010 Client OM with Open XML - Creating a Document
- Using the SharePoint 2010 Client OM with Open XML - Uploading a Document
- Using the SharePoint 2010 Client OM with Open XML - Modifying a Document
- Using the SharePoint 2010 Client OM with Open XML - Retrieving a Document
- Using the SharePoint 2010 Client Object Model with Open XML
- Using the SharePoint 2010 Managed Client Object Model – Asynchronous Processing
- Using the SharePoint 2010 Managed Client Object Model – Accessing Large Lists
- Using the SharePoint 2010 Managed Client Object Model – Discovering the Schema for Fields
- Using the SharePoint 2010 Managed Client Object Model – Delete a List
- Using the SharePoint 2010 Managed Client Object Model – Deleting Client Objects
- Using the SharePoint 2010 Managed Client Object Model – Updating Client Objects
- Using the SharePoint 2010 Managed Client Object Model – Filtering the Child Collection returned by LoadQuery using LINQ
- Using the SharePoint 2010 Managed Client Object Model – Increasing Performance by Nesting Includes in LoadQuery
- Using the SharePoint 2010 Managed Client Object Model – Using the LoadQuery Method
- Using the SharePoint 2010 Managed Client Object Model – Filtering the Child Collection returned by Load using LINQ
- Using the SharePoint 2010 Managed Client Object Model – Using CAML to Query a List
- Using the SharePoint 2010 Managed Client Object Model – Creating and Populating a List
- Using the SharePoint 2010 Managed Client Object Model – Trimming Result Sets using Lambda Expressions
- Using the SharePoint 2010 Managed Client Object Model – Object Identity Second Example
- Using the SharePoint 2010 Managed Client Object Model – Object Identity
- Using the SharePoint 2010 Managed Client Object Model – First Example
- Using the SharePoint 2010 Managed Client Object Model
- Availability of Public Office 2010 and SharePoint 2010 Betas
- Assembling Paragraph and Run Properties for Cells in an Open XML WordprocessingML Table
- SharePoint 2010 and Office 2010 Developer Training Courses Launched on Channel 9
- Comparison of Html/CSS Tables to WordprocessingML Tables (Post #5)
- Open XML WordprocessingML Style Inheritance (Post #4)
- Transforming Open XML Word-Processing Documents to Html (Post #3)
- Transforming Open XML Word-Processing Documents to XHtml (Post #2)
- Generating Documents from SharePoint Lists using Open XML Content Controls
- Transforming Open XML Word-Processing Documents to XHtml
- New Open XML Developer Center on MSDN
- Source Code Available: Complete Implementation of 'Accept All Changes (Tracked Revisions) in Open XML Documents'
- Essentials of the Open Packaging Conventions (OPC), and other Open XML Links
- DescendantsAndSelfTrimmed LINQ to XML Axis Method
- XML Element and Attribute Name Guidelines
- Update to CommentMerger.MergeComments Method
- Merging Comments from Multiple Open XML Documents into a Single Document
- "Object library invalid or contains references to object definitions that could not be found" or "Element not found"
- Recursive Approach to Pure Functional Transformations of XML
- Document-Centric Transforms using LINQ to XML
- Microsoft Promises No Patent Prosecution for the MONO Project
- Empty Elements and Self-Closing Tags
- Comparing Two Open XML Documents using the Zip Extension Method
- Binary to Open XML Translator, and Freeform Shapes in the Office Drawing Format
- Links – July 1, 2009
- Splitting Runs in Open XML Word Processing Document Paragraphs
- Querying LINQ to XML Nodes in Reverse Document Order with Better Performance
- Two Interesting Open XML Articles on OpenXmlDeveloper.org
- Links – May 28, 2009
- Links – May 15, 2009
- Working with Optional Elements and Attributes in LINQ to XML Queries
- Comparison of LINQ to XM and the Open XML SDK Strongly Typed OM
- Comparison of Navigating Parts between System.IO.Packaging and the Open XML SDK
- Comparison of Navigating Parts between System.IO.Packaging and the Open XML SDK
- Using PHP with Open XML Spreadsheet Documents
- Advanced Business User Promotion Content
- Links – April 29, 2009
- The Use of Extension Methods to Manage Open XML Document Changes in PowerTools for Open XML
- Using DocumentBuilder with Content Controls for Document Assembly
- Getting Started with PowerTools for Open XML Development
- Release of PowerTools for Open XML v1.1.1
- Comparison of altChunk to the DocumentBuilder Class
- Generalized Approach to Open XML Markup References
- Why I Don’t Use the ForEach Extension Method
- Generating a Custom Letter using PowerTools for Open XML and PowerShell
- SAVO Innovates with Open XML
- Interoperability at Microsoft
- Interrelated Markup in Open XML Word Processing Documents
- TextGlow: Silverlight Viewer for Open XML Word Processing Documents
- Announcing the Release of PowerTools for Open XML V1.1
- Two New Articles on Open XML: Using XSLT with Open XML Documents, and an Open XML Crawler
- DocX – Interesting Code for Manipulating Open XML Documents using the Open XML SDK V2
- Creating a Template Open XML Document in Memory
- Ease of Maintenance of LINQ Code (2)
- Computing Deep Hash Codes using LINQ to XML
- Ease of Maintenance of LINQ Code
- The Composability Thought Process for LINQ
- Finding Paragraphs by Style Name or Content in an Open XML Word Processing Document
- Seven Key Benefits of Open XML
- Office 2003 Support for Open XML
- Move/Insert/Delete Paragraphs in Word Processing Documents using the Open XML SDK
- Equality Semantics of LINQ to XML Trees
- Manually Cloning LINQ to XML Trees
- Microsoft Releases ECMA-376 Implementation Notes
- More SharePoint and Silverlight Samples
- Accepting Revisions, Removing Comments, and Removing Personal Info from a SharePoint Document Library using Web Services
- Modifying Open XML Documents that are in SharePoint Document Libraries using Web Services
- Getting Started with SharePoint Web Services using LINQ to XML
- Writing Succinct Code to move XElement and XAttribute Objects from One LINQ to XML Tree to Another
2008 167
- Align Attributes when Formatting XML using LINQ to XML
- Convert XElement to XmlNode (and Convert XmlNode to XElement)
- Ecma General Assembly Ratifies IS29500 as Ecma 376 v.2 Standard
- Microsoft Releases ODF Implementation Notes for Office 2007 SP2
- A More Robust Approach for Handling XName Objects in LINQ to XML
- Modifying Open XML Documents using the SharePoint Object Model
- Working with In-Memory Open XML Documents
- Assembling Multiple Word Documents into a Single Document using the Open XML SDK V2
- Architecture and Design of Windows Forms Custom Controls
- Joining LINQ to SQL and LINQ to Excel
- Office Business Applications (OBA)
- Functional Programming Tutorial for Visual Basic 9.0
- Complete Listing of ParseWordML - VB
- Conclusion - VB
- Filtering Out the Groups that we Don't Want - VB
- Retrieving the Two Code Groups - VB
- The Final Results - VB
- Refactoring using a Pure Function - VB
- Retrieving the Default Style Name from the Styles Part - VB
- Retrieving the Text of the Paragraphs - VB
- Retrieving the Paragraphs - VB
- Using the Open XML SDK - VB
- The Source Open XML Document - VB
- Printing the Parts of an Open XML Document - VB
- Programming in a Functional Style - VB
- Parsing XML from an Open XML Document - VB
- Aggregation - VB
- Pure Functions - VB
- Grouping - VB
- Implementing Iterators - VB
- Deferred Execution - VB
- Lazy Evaluation (and in contrast, Eager Evaluation) - VB
- Using Nominal Types for Tuples - VB
- Object and Collection Initializers - VB
- Projection
- Local Variable Type Inference
- Extension Methods
- Quick Intro to Query Expressions
- Lambda Expressions - VB
- An Example Presented in Both Coding Styles
- Contrast of FP to Traditional Object-Oriented Programming
- What this Tutorial Covers
- The Main Scenario for Functional Programming
- Introduction to the FP Tutorial for Visual Basic
- FP-Tutorial-VB
- Inner Join of Two Excel Tables
- Publication of ISO/IEC 29500 (Office Open XML)
- Detailed Description of PowerTools for Open XML cmdlets
- The SkipLast Extension Method
- Running SharePoint on Hyper-V
- Debugging LINQ Queries
- Remove Rsid Attributes and Elements before Comparing Open XML Documents
- Inserting / Deleting / Moving Paragraphs in Open XML Wordprocessing Documents
- Demo Files for the Open XML SDK Session at PDC
- Anders Hejlsberg Introduces C# 4.0 at PDC 2008
- How to Use altChunk for Document Assembly
- Great Hardware for SharePoint Development
- Comparing LINQ to XML and XPath
- Eric White's Blog Map
- Building an Office Business Application (OBA) that shows Integration of Office Client with SharePoint
- Fastest Start for LINQ to SQL
- SpreadsheetGear Announces Support for Open XML
- Open XML Adoption Numbers, and more from Zeyad Rajabi on Open XML SDK v2
- Build a Document Assembly Solution using Open XML SDK V2 in 5 Minutes
- Using LINQ to XML Events and Annotations to Track if an XML Tree has Changed
- Visual Studio Industry Partner Program
- SharePoint vs. File Servers
- SharePoint Development Tools
- Zeyad Rajabi Talks about the Open XML SDK V2
- Formatting LINQ Code
- Anders Hejlsberg Talks about C#, Mentions Dynamic Language Features for C# 4.0
- SharePoint Links
- Modifications to web.config for Debugging SharePoint Components
- LINQ to TEXT and LINQ to CSV
- Transforming Open XML Documents using XSLT
- Transforming Open XML Documents to Flat OPC Format
- Transforming Flat OPC Format to Open XML Documents
- The Flat OPC Format
- PowerTools for Open XML Installer and Award Winning PowerTools Scripts
- PDC 2008 – USB Hard Drive with All the Bits
- Introduction to SharePoint Development
- Are You Using PowerTools for Open XML?
- Bulk Convert DOC to DOCX
- How to Create a List of All Parts in an Open XML Document
- Congratulations to a Couple of Cool People
- PDC2008
- Open XML SDK V2 at PDC 2008
- Use INFER.EXE to Create XML Schemas
- Closures
- OpenXmlCodeTester: Validating Code in Open XML Documents
- New Spreadsheet cmdlets for PowerTools for Open XML
- Announcing the First CTP of Open XML SDK V2
- Using LINQ to XML to Retrieve Content Controls in Word 2007
- Using Microsoft Office Clients with Office Live Small Business (which is Based on SharePoint)
- Chunking a Collection into Groups of Three
- Use a Lambda Expression for an Event Handler
- Find Duplicates using LINQ
- Object Dumper: An Invaluable Tool for Writing Code in the Functional Programming Style
- SharePoint Integration with Dynamics CRM
- Disaster Recovery Planning for SharePoint
- Running an Executable and Collecting the Output
- Using PowerTools for Open XML in a Workflow
- Interesting Interview of Oliver Bell: Developer Interest Fueling Open XML
- SharePoint: Content Management vs. Collaboration
- Version 1.2 of Open XML Diff Released
- Using PowerTools for Open XML from C#
- Are Developers Using LINQ? (Part 2)
- Are Developers Using LINQ?
- Removing Comments and Personal Information, and Accepting Revisions in an Open XML Document Stored in SharePoint
- Diving Into SharePoint Development
- Where is XmlLite.h?
- A New Version of OpenXmlDiff (with a Graphical User Interface)
- Use PowerShell to Secure and Sign Open XML Documents
- Writing Robust LINQ to XML Code that Performs Well
- Using the Open XML SDK and LINQ to XML to Remove Comments from an Open XML Wordprocessing Document
- Using the Open XML SDK and LINQ to XML to Remove Personal Information from an Open XML Wordprocessing Document
- Using the Open XML SDK and LINQ to XML to Accept Revisions in an Open XML Wordprocessing Document
- Applying Consistent Styles to Documents
- How to Create Hierarchy from Flat Data using LINQ
- PowerShell, System.IO.Packaging, and Open XML
- Open XML SDK and LINQ to XML
- PowerTools for Open XML: Binary Install Available
- Using Annotations to Transform LINQ to XML Trees in an XSLT Style (Improved Approach)
- PowerTools Script that Generates a Table in an Open XML Document
- ARGH! Update to Update to OpenXmlDiff.Exe
- Update to OpenXmlDiff.Exe
- OpenXmlDiff.Exe: A Utility to Find the Differences Between Two Open XML Documents
- Automated Processing of Open XML Documents using PowerShell
- PowerTools How-To Documentation
- PowerTools for Open XML Technical Overview
- PowerTools Screen Casts
- PowerTools temp download page
- Video080607
- PowerTools
- Thoughts on Technical Writing for a Large Audience
- Microsoft Announces Support for More Document Format Standards, including ODF
- SharePoint at the Intersection
- Using Power Tools for Video Studio to Modify Open XML Documents
- New Version of Functional Programming Tutorial
- Retrieving the Two Code Groups
- Retrieving the Default Style Name from the Styles Part
- Coding Style
- Using the Open XML SDK
- Printing the Parts of an Open XML Document
- The Source Open XML Document
- Parsing XML from an Open XML Document
- Grouping
- Deferred Execution
- Using Nominal Types for Tuples
- Projection
- An Example Presented in Both Coding Styles
- Contrast of FP to Traditional Object-Oriented Programming
- The Main Scenario for Functional Programming
- The GroupAdjacent Extension Method
- New Version of the Open XML SDK is Available for Download
- Standards Norway Responds to Allegations
- Czech Republic Votes Yes on DIS 29500
- Technical Improvements in the Open XML SDK
- Spreadsheet KPart Simulation
- Spreadsheet Simulation Demonstrating an Embedded KPart on Linux
- An Analysis of the ODF Alliance's "Top 10 Worst Dispositions"
- The Legacy Hashing Algorithm in Open XML
- ThinkFree: A Cool Implementation of Open XML
- An Approach to Reading Specifications Quickly
- Hashing of Passwords in the Open XML File Format
- Why I Took This Job
- How to Extract Comments from Open XML Documents
2007 28
- What is the Difference Between the System.IO.Packaging and DocumentFormat.OpenXml.Packaging Namespaces?
- Using LINQ to XML to process Open XML: The SpreadsheetML Class
- Example that uses the OpenXmlDocument, WordprocessingML, and SpreadsheetML Classes (Dec 19, 2007)
- The OpenXmlDocument, WordprocessingML, and SpreadsheetML Classes (Dec 19, 2007)
- The WordprocessingML Class: A refinement of the approach of using LINQ to XML to access Open XML
- The WordprocessingML Class
- OpenXML Content Types as an XML Document
- OpenXML Content Types in an XML Document
- New Job as a Technical Evangelist for Open XML
- Using LINQ to XML with OpenXML Documents
- Writing LINQ to XML Queries using the OpenXmlDocument Class
- Using the OpenXmlDocument Class
- The OpenXmlDocument Class
- Packages and Parts
- Performance of LINQ to XML
- Performance of LINQ to XML
- Statically Compiled Queries
- Preatomization of XName Objects
- Atomized XName and XNamespace Objects
- Performance of Chained Queries
- LINQ to XML RTM docs are available online
- Upcoming changes in LINQ to XML
- More thoughts on LINQ to XML transformations that use annotations
- How to: Use Annotations to Transform LINQ to XML Trees in an XSLT Style
- Streaming From Text Files to XML
- LINQ to XML Beta1 Docs (now Beta2)
- Generating an XPath expression to find a LINQ to XML Node
- LINQ to XML Beta1 Docs are On-Line
2006 41
- Update to the Functional Programming Tutorial
- Procedural Analogs
- The FP Switch Pattern (used to implement the World's Smallest RPN Processor)
- The Source Word Document
- A Tutorial on Functional Programming using C# 3.0
- Translating Query Expressions to Dot Notation
- Query Composition using Functional Programming Techniques in C# 3.0
- Object and Collection Initializers
- Lazy Evaluation (and in contrast, Eager Evaluation)
- The Yield Contextual Keyword
- Overview of a Functional Transform
- Retrieving the Two Code/Comment Groups
- Separating Out the Code and Comments
- Conclusion
- Complete Listing of ParseWordML
- The Final Results
- Filtering Out the Groups that we Don’t Want
- Retrieving the Text of the Paragraphs
- Refactoring using a Pure Function
- Retrieving the Paragraphs
- Parsing WordML
- Pure Functions
- Programming in a Functional Style
- Aggregation
- Local Variable Type Inference
- Extension Methods
- Lambda Expressions
- Quick Intro to Query Expressions
- What this Tutorial Covers
- Introduction to the FP Tutorial
- Notes on Implementing the Visitor Pattern using Extension Methods
- More Notes on LINQ to Text Files
- LINQ to Text Files
- New programmer type: Mortenstein
- Additional Notes on Parsing WordML with XLinq
- Parsing WordML using XLinq
- Who are Mort, Elvis, and Einstein?
- Learning XLinq
- C# 3.0, LINQ, and XLinq Nomenclature
- LINQ and XLinq Patterns
- Introduction