Validating against xsd schema
Many times in Dynamics 365 related applications we need to work with dynamically generated or user entered fetch Xml, In this case it’s always a good idea to verify fetc Xml against schema before using. In above code first of all we are reading fetxh Xml schema using Xml Reader, then Initiating Xml Reader Settings object with schema.This kind of requirement might come if you are building some awesome stuff like Fetch XML Builder or Fetch XML to SQL Converter. Let’s get started, here I’m using a console application. We need Fetch Xml schema which can be grabbed from SDK or can be found at the end of this article. This is passed as second parameter while reading fetch Xml with Xml Reader.I am using this simple snippet, always works and you don't need complicated functions. PSObject Add-Member -Input Object $Context -Member Type Note Property -Name Configuration -Value "" $Configuration Path = $(Join-Path -Path $PWD -Child Path "Configuration") # Load xml and its schema $Context. Add($null, $(Join-Path -Path $Configuration Path -Child Path "Configuration.xsd")) | Out-Null # Validate xml against schema $Context. Validate( ) the solution of (Flatliner DOA) is working good on PSv2, but not on Server 2012 PSv3.It this example I am loading configuration xml with data which are used later for deployment and server configuration: # You probably don't need this, it's just my way $script: Context = New-Object -Type Name System. Configuration = [xml](Get-Content -Literal Path $(Join-Path -Path $Configuration Path -Child Path "Configuration.xml")) $Context. the solution of (wangzq) is working on PS2 and PS3!! Implement Process Fetch Xml() as given below which is returning 2 values, first is boolean flag Success indicating whether fetch Xml is valid or not.
Validating an XML File against a XSD Schema This section describes different ways to validate XML files against XSD schemas: using standalone XML validation tools, using on-line XML validators, and writing your own XML validation programs.Add this file with name to your project and set Copy to Output Directory property as Copy Always. Add below listed namespaces to project using System. It validates fetch Xml while we call Load() of Xml Document, you can see in code. Let’s test some fetch Xml with above written function.