root-cause-logo.png
  • Thomas Pollinger
  • 02.08.2017
  • DE/EN

Root Cause Analysis: "Name cannot begin with the '%' character, hexadecimal value 0x25."

Es ist schon kurios, welche kleine Ursache manche Fehlermeldungen in einem Logfile haben. ;) Meist versteht man diese auch erst, wenn man selbst sich die Zeit und Geduld genommen hat, um der Ursache auf die Schliche zu kommen.


Regel 7: Was du mir sagst, das vergesse ich. Was du mir zeigst, daran erinnere ich mich. Was du mich tun lässt, das verstehe ich. ;) (Konfuzius).


Meldungen

  
Severity: Error
Component: Navigation
Category: Application
Source: Reddot.CMS.Rendering.Spots.SpotProcessor.ProcessSpot (:0)
Message:
Locals: Project: {GUID}; ProjectVariant: {GUID}; Language(Page): {GUID}; Page(ID/UUID): {ID}; ContentClass: {GUID}; RenderMode: {Preview|SmartEdit|Publish}; RequestId: {ID};
SpotProcessor.ProcessSpot:System.Xml.XmlException: Name cannot begin with the '%' character, hexadecimal value 0x25. Line 3, position 6.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
   at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at OpenText.WS.MS.Core.Extensions.XmlDocumentExtension.LoadXml(XmlDocument xmlDocument, String xml, Boolean considerNamespaces)
   at OpenText.WS.MS.Cache.Xml.XmlCache.GetXmlDocument(String content, CacheItemPriority priority)
   at Reddot.CMS.Rendering.Spots.XmlSpot.Render(String spotContent, IRenderStream output, IObjectLoadManager objectLoadManager, IPageRenderingContext context, ITagProcessor tagProcessor, TagTools toolsInstance)
   at Reddot.CMS.Rendering.Spots.XmlSpot.Render(String spotContent, IRenderStream output, IObjectLoadManager objectLoadManager, IPageRenderingContext context)
   at Reddot.CMS.Rendering.Spots.SpotProcessor.ProcessSpot(String content, SpotTag spotTag, IRenderStream outputStream)

 

Ursache

Für diese Meldung ist die Ursache, nicht zulässige Tags oder HTML innerhalb eines RenderSpots <reddot:cms> ... </reddot:cms>. In diesem Beispiel sah das so (exemplarisch) aus:


<reddot:cms>
  <if>
    <query valuea=".." operator="==" valueb="">
      <%!! Store:Set(...) !!%>
    <query>
  </if>
</reddot:cms>

 

Lösung

Immer darauf achten, dass die Ausgabe innerhalb eines <htmltext>...</htmltext> oder <xmltext>...</xmltext> steht:


<reddot:cms>
  <if>
    <query valuea=".." operator="==" valueb="">
      <htmltext><%!! Store:Set(...) !!%></htmltext>
    <query>
  </if>
</reddot:cms>

 

Social Media