KB Article #175810

XML parser : upper / lower case issue (getting XML:lang="en" instead of xml:lang="en")

Problem

-- output XML message
-- XML Bdoc contains a namespace and attributes
-- getting XML:lang="en" in place of xml:lang="en" (xml in lower case) in an attribute
-- no way to change XML in lower case at the Bdoc level
-- tried to use post processing step, an mbc that will replace XML to xml but still getting XML in caps only
-- I.E. or Firefox is able to open he xml file only if xml:lang="en" is in lower case

Resolution


* the problem is caused by the prefix set at the namespace level : "XML" instead of "xml"
* the parser uses such prefix to generate the outout XML file
* edit the Bdoc in Map designer (right click -> open with -> Text Editor) and change the "xmlPrefix" from "XML" to "xml" (see example below)
Note that the editor is not case sensitive, so in order to change the xmlPrefix you have to change it first to an intermediate value like "XML2" then to "xml"

<childElement factoryType="XmlNamespace" signMinusPos="0" namespaceByDefault="false" hash="-990089640" signPlus="" typeId="10" keepInputNumberFractionDigits="false" definition="0,255" paddingCharElement=" " xmlNamespace="-1" allowDistortion="true" xmlPrefix="xml" label="" decimalCharElement="" signPlusPos="0" signMinus="" inclusiveMinValue="false" keepPlusSign="true" nullable="false" expoChar="" keepDecimalSeparator="true" minValue="" ediName="" defaultValue="Xtensible markup lang" xmlUri="Xtensible markup lang" keepDecimalSeparatorCharacter="false" order="9" inclusiveMaxValue="false" pattern="" paddingPosElement="0" validCharset="" maxValue="" ediType="" encodingElement="utf8" name="Namespace111">