Convert between XML and JSON documents and schema

XML and JSON Conversion ToolsLiquid Studio 2017 allows you to convert between XML Schema, XML Documents, JSON Schema and JSON Documents using a number of inbuilt tools.Graphical XML Schema (XSD) ViewThe image shows the Graphical XML Schema (XSD)Designer displaying the 'Bookstore.xsd' sample, which is provided as part of the default project in Liquid Studio 2017.As you can see, it has a convenient split view screen showing both the logical (Design) and physical (Source) views of the document.Create Sample XML Document ToolThe right click menu has the option to 'Create Sample XML from Item. You can also use the main Tools menu.Selecting this menu option runs a Wizard which allows you to configure how the tool should create the sample. E.g. You can choose how optional items are handle, choose to ignore errors, and select which namespaces are used.Graphical XML Document ViewWhen the tool has completed, the new XML document is displayed.Again a split view is shown and you can choose to display just the Graphical Design view, just the Source text view, or a split view showing both.Convert XML to JSON ToolWhen you have an XML document open, you can select the File->Export As JSON File option.This will display an export JSON dialog allowing you to select how the JSON file should be saved.JSON EditorYou can then open the new JSON file in Liquid Studio 2017.The JSON file is displayed in Source form and the editor provides formatting functionality, collapsible regions.Infer JSON Schema ToolWhen you have a JSON document open, you can select the Tools->Infer JSON Schema menu option. This will display a dialog allowing you to set option regarding how the JSON schema should be created.Graphical JSON Schema EditorThe new JSON Schema is displayed in the graphical JSON Schema Editor. This has the options to view a split screen showing both the logical and source views.SummaryWe have provided a brief overview of the tools available in Liquid Studio 2017, but several other conversion utilities are also included.Create Sample XML Document ToolInfer XML Schema ToolsCreate Sample JSON Document ToolInfer JSON SchemaExport XML as Fast InfosetExport XML as JSONExport JSON as XMLImport Fast Infoset as XMLImport JSON as XMLImport XML as JSONConvert DTD to XSDDownload a free trial of Liquid XML Studio to experience the full functionality of these tools and much more.

Posted on: 18 January 2017 | 10:48 am

Mapping EDI Data in Liquid Studio 2017

Liquid Studio 2017 Data Mapper provides new EDI Data Source and EDI Data Target components. Scenarios where this is useful include:Transform EDI data between different EDI versions.Extract data from an EDI document.Creating a new EDI document.Running the Data Mapper Creation Wizard allows you to select the EDI Data Source.Select the EDI Data Source optionThe following page then allows you to select the version and EDIFACT or X12 schema you wish to use.Select the EDIFACT Version and SchemaThe final page allows you to select the options used to parse the EDI documents.EDI Data Source OptionsThe Data Mapper Creation Wizard also allows you to select the EDI Data Target.Select the EDI Data Target optionYou can again select the EDIFACT or X12 schema you require along with the options used to write the EDI documents.EDI Data Target optionsYou will then see EDI Reader and EDI Writer components are added to your Liquid Data Mapper canvas. You can now start to map the fields, adding transformation components as required.E.g. The following shows a simple Upper component which will convert the incoming data to upper case:EDI Data TransformationMany other components are available to transform your data. These can be seen in the Component Palette, and are grouped into various categories.Liquid Studio 2017 - Data Mapper Component PaletteData Sources and Targets:Database, EDI, JSON, Text File, XML, Web ServiceTransformation Components: ValuesConstant ValueInput ParameterAggregateAverageCountMaxMinSumComparatorEqualGreater ThanGreater Than or EqualLess ThanLess Than or EqualNot EqualDate TimeCreate DateCreate Date TimeCreate TimeDayHourMillisecondMinuteMonthNowSecondTodayYearFileCombine PathGet Directory NameGet ExtensionGet FilenameList FilesResolve PathLogicAndFalseNotOrTrueMathsAbsAddDivideIs EvenIs OddModulusMultiplySubtractMiscAnnotationLookupSetCombineDistinctFilterFirstGet AtLastPositionSortTopStringChar To CodeCode To CharConcatEmpty To NullIndex OfJoin StringLeftLengthLowerReplaceRightSplit StringSub StringTrimTrim EndTrim StartUpperTypeCastDefault If NullIs NullNode NameNode Type You can download a free trial of the Liquid Studio 2017 - Data Mapper and test out the EDI data transformation functionality for yourself:

Posted on: 17 January 2017 | 10:20 am

Liquid Studio 2017 BETA

We are pleased to announce the Liquid Studio 2017 BETA is now available for download from the BETA Download page: features for 2017 include:NEW 64 bit SupportNEW RESTful Web Service TestingNEW Data Mapper EDI Source and Target ComponentsNEW Data Mapper JSON Source and Target ComponentsNEW Data Mapper Database Target ComponentNEW Data Mapper RESTful Web Service ComponentNEW XML Data Binder .Net Portable Class Library SupportNEW XML Data Binder .Net Core SupportPlus many improved features and fixes.64 bit SupportAll Liquid Studio tools, Liquid XML Diff, Large File Editor, Liquid Data Mapper, and Liquid XML Data Binder now run natively under 64 bit processor environments providing improved performance and memory management.Liquid StudioLiquid Studio Web Service Test Client now supports calling RESTful Web Services using WADL or User Defined Web Service calls, along with the existing WSDL/SOAP based functionality.Liquid Data MapperThe Liquid Data Mapper has been significantly improved with performance and usability enhancements and now provides support for XML, JSON, EDI, Database, Web Service, CSV and Fixed length text data sources and data targets.Liquid XML Data BinderLiquid XML Data Binder now support generating C# source code for Xamarin iOS and Android and C# and VB.Net source code for Silverlight 5 as a Portable Class Library. We have also added support for generating C# source code for .Net Core. A Nuget package is available containing the Liquid .Net Runtime library for .Net Core environment.

Posted on: 13 January 2017 | 5:57 am

Testing RESTful Web Services with Liquid Studio 2017

With the release of Liquid Studio 2017 we will see new functionality allowing you to test RESTful Web Service.Previously, the Web Service Test Client was limited to calling SOAP Web Services which could provide a WSDL (Web Service Definition Language) to describe the Web Service. This was fine for ASP.NET or WCF Web Services hosted on an IIS Web Server, but what about HTTP RESTful Web Services, maybe using Apache Web Server?Liquid Studio 2017 now supports using a WADL (Web Application Description Language) to describe the Web Service. If you don't have a WADL, you can easily create one using the new User Defined Web Service option.The User Defined Web Service option provides the ability to describe a Web Service Call by entering a Service Name, Base URI, Resource Path, Method (GET or POST) and Method Parameters. This is then saved as a WADL file for future use.This is just one of the many new features in Liquid Studio 2017. Please feel free to try out the BETA Test version.

Posted on: 13 January 2017 | 4:50 am

How to post support questions on StackOverflow

We are pleased to announce that we have embraced StackOverflow as our community support platform.StackOverflow is a great platform for sharing knowledge and by posting your questions you are helping us build a rich community resource that is both comprehensive and easily accessible. If you have a support query that fits within the Q&A style then please post it on StackOverflow using the tag 'liquid-xml'. Our support team will actively monitor this tag and will respond ASAP.Please ensure you use the 'liquid-xml' tag as shown below: If your query involves proprietary information or license keys, then you can still raise a private support ticket, but where possible we would like questions to be visible to the community so everyone can benefit from the answers.Links Create new question View all tagged questions Search tagged questions (search term “test query”)

Posted on: 11 January 2017 | 9:07 am

Convert Empty String to Null in Data Mapper

New knowledge base article explaining "How to Convert Empty String to Null in Data Mapper" is now available.See Liquid XML Knowledge Base Article:how-to-convert-empty-string-to-null-in-data-mapper.aspxEmpty To Null Sub Function:

Posted on: 6 October 2016 | 11:16 am

New Point Release: (30 September 2016)

Liquid XML 2016 - New Point Release: (30 September 2016)Added support for INotifyCollectionChanged in Collections in XML Data Binder runtime for .Net 4.x.Fixed issues from crash reports.General Fixes.

Posted on: 30 September 2016 | 4:02 am

New Point Release: (22 July 2016)

Liquid XML 2016 - New Point Release: (22 July 2016)Added Xerces XSD 1.1 Parser option to use full XPath 2.0 checking (default on).Fixed issue with xs:error missing as simpleType in XSD 1.1 graphical designer.Fixed issue with code signing installer.General Fixes.

Posted on: 22 July 2016 | 5:24 am

New Point Release: (14 July 2016)

Liquid XML 2016 - New Point Release: (14 July 2016)Fixed DPI issues for scaled environments.Added shortcut for Comment/Uncomment.General Fixes.

Posted on: 18 July 2016 | 7:46 am

Symantec Endpoint protection is falsely reporting infected files

Symantec Endpoint protection anti-virus product is falsely reporting the threat of the SONAR.PUA!DL2 virus in the Liquid XML install. We have raised this as an issue with Symantec Technical Support on 30th June 2016. Symantec Reply:Upon further analysis and investigation we have verified your submission and, as such, the detection(s) for the following file(s) will be removed from our products:    Filename: liquidxml2016.exe    Result:     Whitelisting for above file is under process. It may take up to 72 hours to take effect. Here is an example Error Report:  Important: Please be assured that no virus exist in our products provided you always download them directly from our web site: Please report any future issues of this kind directly to us: 

Posted on: 30 June 2016 | 9:47 am

NEW JSON Schema Editor in Liquid XML 2016

NEW JSON Schema EditorWe are happy to announce Liquid XML 2016 is now available for download including a all new graphical JSON Schema Editor.The new JSON Schema Editor abstracts away the complexities of JSON Schema structure by providing an intuitive graphical drag and drop user interface.Graphical JSON Schema EditorThe Graphical JSON Schema Designer included in Liquid XML Studio massively simplifies visualizing, authoring and navigating complex JSON Schemas. The Graphical JSON Schema Editor provides an interactive logical view of the JSON Schema enabling simple and intuitive editing and validation of the JSON Schema, without compromising the ability to work with all the complexities of the Internet Engineering Task Force draft 4.0 JSON Schema Standard.Comprehensive JSON Schema ValidationSupport for the IETF draft 4.0 StandardThe JSON Schema Editor supports the IETF draft 4.0 Standard. The schema items are displayed graphically and can be edited and validated.Errors and warnings are reported via the Error Window in real time, clicking on an error selects the source of the error in the Source and Logical (graphical) view. Validate JSON Schema against the IETF draft 4.0 StandardGet a free trial download and try the JSON Schema Editor functionality for yourself.

Posted on: 18 March 2016 | 11:32 am

Liquid XML 2016 BETA Testers

It's that time again when we are looking for end user testing assistance.Download Liquid XML 2016 BETALiquid XML 2016 - BETA 2NEW Graphical JSON Schema Editor Improved features for: HTML Documentation, XML Formatting, XPath Browser, XSD Editor, XML Data Mapper, XML Sample Builder, XML Editor, XSLT Debugger, Validation Performance, Installer Performance.

Posted on: 17 February 2016 | 4:05 am

Issue Installing on Windows 10 - External exception 80000003

Happy New YearAt least it was until some of our customers pointed out that our installer had stopped working with Windows 10!On investigation, it appears a Microsoft update on 28th December caused some 3rd party software issues including stopping the Liquid XML installer from running an internal Flash video, and worse causing an exception and crash: Runtime Error in Setup Script. External exception 80000003.After been made aware of this, we have issued an updated installer (v13.2.3) to resolve this issue.Further information can be found in our knowledge base: to those who reported this issue. Please remember, we always welcome your feedback, good or bad.

Posted on: 5 January 2016 | 7:41 am

Visual Studio 2015 Support

Visual Studio 2015 SupportWe are pleased to announce that Visual Studio 2015 support has been added to the Liqudi product suite.Liquid XML StudioPlugins for the XSD Editor, WSDL Editor, XPath Tools now run in Visual Studio 2015.Liquid XML Data BinderAdded C++, C# and VB.Net code generation for VS2015 projects and solution files.Added C# code generation for VS2015 projects and solution files to Data Mapper.

Posted on: 28 August 2015 | 8:41 am

MySQL Database Support in Liquid XML

MySQL Database is now supported in Liquid XML Studio 2015 (v13.0.6).In order to connect to MySQL, you must first download the ADO.NET driver for MySQL called Connector/Net. This can be found at the MySQL web site: Data SourceOne you have installed Connector/Net, if you run the Database Connect command from inside Liquid XML Studio you will see the option to create a connection using the MySQL provider.Connection PropertiesAfter selecting the My SQL Data Source option, you will be presented with the Connection Properties dialog, allowing you to enter the connection details for the MySQL Database you wish to connect to.Database ExplorerOn creating the connection, when you look at the Database Explorer window inside Liquid XML Studio, you will see the MySQL database listed. You can expand this to display the tables and columns within the database.This database connection can now be used as a Data Source within the Graphical Data Mapper.

Posted on: 10 March 2015 | 8:59 am

Liquid XML 2015 Now Available

We are pleased to announce the launch of Liquid XML 2015.Liquid XML 2015 extends and improves on the existing functionality by introducing other new tools and technologies that our users have requested in order to continue to make Liquid XML the best value XML development environment available.Features Include:NEW Liquid XML Studio - Editor EditionNEW Data Mapper Code Generation and Database and Flat File SupportNEW JSON Text EditorNEW XML Data Binder Code Generation Support for WSDLNEW XML Data Binder Xamarin Unified API SupportNEW XML Data Binder XSD Annotations in DocumentationNEW Fixes and ImprovementsClick here to see a detailed list of new features for 2015Download Liquid XML 2015 and try it FREE Today!Liquid XML 2015 is a FREE Upgrade for users with a current Upgrade Support Protection Plan (USPP).

Posted on: 17 February 2015 | 4:33 am

Liquid XML 2015 BETA

The final BETA is now available for Liquid XML 2015.Download Liquid XML 2015 BETAThanks for all of the invaluable feedback we have received so far. We have tried to implement as many fixes and new functionality as possible to address the issues raised.What's New for 2015?Liquid XML 2015 extends and improves on the existing functionality by introducing other new tools and technologies that our users have requested in order to continue to make Liquid XML Studio the best value XML development environment available.NEW Data Mapper Code Generation and Database/Flat File SupportThe Graphical Data Mapper has been significantly upgraded to include new functionality for advanced Data Mapping.C# Data Mapping GeneratorC# source code can be generated to perform the data mapping as specified within the graphical editor.XSLT Data Mapping GeneratorXSLT source code can be generated to perform the data mapping as specified within the graphical editor.Database Source ComponentDatabase support has been added to allow you to read your source data from a database.Flat File Source ComponentFlat file support has been added to allow you to read your source data from a delimited or fixed field text file.Auto-Connect ToolNew auto-connect tool makes it easy to connect large structures of data, automatically reconciling similar names items.NEW JSON Text EditorText editor for JSON files includes color coding and code folding.XML to JSON Import and ExportImport XML as a JSON document and export it back to XML. In the same way as the existing Import JSON to XML function.NEW XML Data Binder Code Generation Support for WSDLThe Developer Edition XML Data Binding wizard now provides support for using the XSD embedded within WSDL files to generate the Data Binding library.Web Service InterfaceA new option has been added to generate a Web Service Interface in C# and VB .Net. This uses a Web Service WSDL to generate an interface which will bind directly to the web service using the Liquid Data Binding generated object library. The Wizard will also Auto-Filter the elements, only generating those required by the interface.XMLSchemaProvider AttributeA new option has been added to support the XmlSchemaProvider Attribute in C# and VB .Net. Previously if you wanted to use the Liquid Data Binding generated library in a Web Service, you had to add this support manually. The XSDs are also embedded in the generated library to support this feature, so no external web calls are required.New Fixes and ImprovementsMetro Light User InterfaceThe XML Studio now uses the Metro Light user interface style by default. The old interface can be selected form the Options dialog. Improved Memory Management and PerformanceFaster XML document load times and larger files supported in standard editor without the need for using the Large File Editor.Performance OptionsAdded options to stipulate when features will be disable as file sizes increase and at what point the Large File Editor is invoked over the standard editor.Synchronized XML ViewsClicking in the XML text view now synchronizes the XML Graphical view in the same way as the Graphical XSD editor.General ImprovementsAlong with the new features outlined above, existing features have also been enhanced and improved with functionality requested by our users.

Posted on: 27 January 2015 | 11:01 am

CDATA processing in XML Data Binding

The default option when processing CDATA is to strip away the text ![CDATA[ ... ]] leaving just the contained value. This enables you to display and use  the values without the need for parsing. You can then manually add the ![CDATA[ ... ]] text back in when you set the text (i.e. if the user has updated the value).However, if you prefer to keep the CDATA tag in the element text, you can set StripCDATA = false in the XmlSerializationContext. But you would then need to strip the CDATA tag yourself before displaying the text to the end user.E.g.In C# you would set the following:LiquidTechnologies.Runtime.Net40.XmlSerializationContext.Default.StripCDATA = falseIn C++ you would set the following:LtXmlLib12::CXmlSerializationContext::GetDefaultContext().SetStripCDATA(false);Note: This behaviour is the same for simple elements defined as string in the XSD and for extended string elements which are accessed using the PrimitiveValue member in the generated source code.See AlsoCDATA processing in XML Data Binding

Posted on: 26 September 2014 | 3:28 am

Error E2001 - The schema does not contain any 'elements' so will not generate any classes

If you run the Liquid XML Data Binder and get error E2001, it means you need to add at least 1 element in order to generate your C#, C++, Java, VB .Net or Visual Basic 6 classes.As explained in yesterdays blog Element vs complexType, you may only validate an xml document if your schema contains an element which describes each item (tag) used within the document.Wizard Error E2001MessageThe schema does not contain any 'elements' so will not generate any classes.ExplanationXml Schema elements can be considered as objects that have a type defined by the simple and complex types. So if no elements are specified in the schema, no classes will be generated as the optimiser will determine that none of the declared complexTypes will never be utilised.SolutionThe solution is to declare elements within the schema.E.g. The following Xml Schema (XSD) will not generate any classes as no elements are defined.<?xml version="1.0" encoding="utf-8"?>   <xs:schema xmlns:xs="" elementFormDefault="qualified" attributeFormDefault="unqualified">   <xs:complexType name="Item">     <xs:sequence>       <xs:element name="Description" type="xs:string"/>       <xs:element name="Quantity" type="xs:unsignedLong"/>     </xs:sequence>   </xs:complexType>   <xs:complexType name="QuotedItem">     <xs:sequence>       <xs:element name="Item" type="Item"/>       <xs:element name="PricePerItemInPence" type="xs:unsignedLong" minOccurs="0"/>       <xs:element name="CurrentAvalibility" type="xs:unsignedLong" minOccurs="0"/>     </xs:sequence>   </xs:complexType>However, by extending the schema to define the element QuoteRequest and its associated child elements, a full class hierarchy will be generated:  <xs:element name="QuoteRequest">      <xs:complexType>       <xs:sequence>         <xs:element name="CustomerID" type="xs:string"/>         <xs:element name="Item" type="Item" minOccurs="0" maxOccurs="unbounded"/>       </xs:sequence>     </xs:complexType>   </xs:element>  </xs:schema>See AlsoElements vs complexTypes

Posted on: 9 September 2014 | 11:30 am

Element vs complexType

When to use ElementIf an instance document (xml document) requires an item named Address, then you MUST have an element defined within your xml schema named Address. Otherwise the xml document will never be valid against the schema.E.g. For the following XML Document item to be valid:<Address>…</Address>The XML Schema must define a corresponding element:<xsd:element name=”Address”>…</xsd:element>Furthermore, if other elements are allowed to act as substitute items, then the item must be declared as an element.When to use complexTypeAny time the above is not true you should consider using a complexType. Even when the above is true, you may still want to create a complexType to define the structure. This is especially true if the structure may be reused by multiple elements.E.g. If the Address structure may be used by HomeAddress and WorkAddress, you should define Address as a complexType:<xsd:complexType name=”AddressType”>…</xsd: complexType ><xsd:element name=” HomeAddress” type=”AddressType” /><xsd:element name=” WorkAddress” type=”AddressType” />Note 1: Whilst the complexType could be named “Address” is it good practice to make types distinct from elements, so here we use the name “AddressType”.Note 2: You could define AddressType as an element and use the “ref” attribute:<xsd:element name=”AddressType”>…</xsd: element > <xsd:element name=” HomeAddress” ref=”AddressType” />However, it is good practice to use complexType for the reusable building blocks that make up your document rules and use element for the actual tags that will be present within the document.Note 3: If you intend to use the “nillable” attribute, then you MUST use a complexType in the above example, as the ref and nillable attributes are mutually exclusive.

Posted on: 8 September 2014 | 6:18 am

20% Summer Discount for Liquid XML 2014

Buy Liquid XML 2014 NOW and enjoy a 20% DiscountUse Shopping Cart Discount Code: SUMMER20 See Online Shop for full details

Posted on: 1 September 2014 | 4:34 am

How to create XML Schema from XML Documents

Create XML Schema using XML documents directly from your XML Editor.Liquid XML Studio provides a great tool to enable you to infer XML Schema (XSD) from a set of XML Documents, via an easy to use Wizard user interface. This can save you hours of time when you need to define the rules for validating XML Documents which may have been provided by an external source.Along with been faster, using the tool is significantly more accurate than trying to manually work out what element and attribute values are allowed in the structure of the document.To use the wizard, follow these simple steps.Stage 1 - Select an XML Schema name and options:Stage 2 - Add sample XML Documents to help define the rules of the XML Schema:Stage 3 - Validate your XML Documents using the new XML Schema (XSD):Usage TipThe more sample XML Documents you add, the more accurate your XSD will be as the more rules for element structure and attribute values will be able to be determined by the tool.Download Liquid XML Studio free trial

Posted on: 27 August 2014 | 3:59 am

Default Proxy Settings for Large Rollouts

A new point for Liquid XML 2014 is available (12.2.1) which allows for Default Proxy Settings to be added to the registry to assist in large rollouts.Details can be found in the Knowledge Base article: XML 2014 v12.2.1 is a FREE upgrade for all 2014 license holders and users with a current Upgrade Support Protection Plan (USPP).

Posted on: 3 July 2014 | 11:11 am

XML Editor Software Update 2 Performance and Stability Release

We are pleased to announce a new release of our XML Editor software, Liquid XML Studio 2014.Update 2 provides better Performance and Stability for editing XML, XSD and WSDL documents and includes:Faster XML Document Loads TimesImproved XML Document ValidationImproved Progress Monitoring from the Status BarImproved XML Breadcrumb Bar and XML Document Outline Tree node descriptionsAdded Command Line support for opening multiple XML filesAdded Windows Explorer support for opening multiple XML filesAdded URL tooltips and colour coding to XSD Dependency ViewerRemoved diagonal lines from read only XSD itemsImproved read only XSD item TooltipsImproved default ordering of Error ListImproved Find in FilesFix for Large File Editor stabilityfix for WSDL editor with no schema sectionFix for opening empty XSD from WSDLFix for running XML Diff from inside XML StudioFix for Project file stabilityFix for SVN file monitoring stabilityGeneral improvements and fixesLiquid XML 2014 Update 2 is FREE update for all 2014 license holders or those with current Upgrade Support Protection Plan (USPP).Download a free Trial:

Posted on: 23 June 2014 | 4:05 am

Opening Large XML Documents

The Liquid XML Editor can open XML documents of any size so there is not an XML file size limit.Features are automatically turned on and off depending on the size of the document as follows:XML Documents < 2 MB - All features (Syntax Highlighting, Document Outlining, Intellisense) default value = ON.XML Documents > 2 MB - Document Outlining default value = OFF.XML Documents > 15 MB - Large File Editor is used by default*.*You can change this value using Tools->Options->Environment->Max File Size in MB. Values of 30MB+ have been used without issue, but performance degrades with file size so 15MB is the default.The Large File Editor can open files of any size (tested to 2GB+) as it pages the data from disk. This restricts the functionality, but still allows you to use the tools Format Document and Validation.

Posted on: 11 June 2014 | 4:51 am