You could create variables to hold the payload. It would be a lot easier to read the code.

E.g.:

    payload='<?xml version="1.0" encoding="UTF-8"?>
      <updateContextRequest>
        <contextElementList>
          <contextElement>
            <entityId type="Room" isPattern="false">
              <id>Room1</id>
            </entityId>
            <contextAttributeList>
              <contextAttribute>
                <name>pressure</name>
                <type>mmHg</type>
                <contextValue>'`date +%N`'</contextValue>
              </contextAttribute>
            </contextAttributeList>
          </contextElement>
        </contextElementList>
        <updateAction>UPDATE</updateAction>
      </updateContextRequest>'

And after that use it with <b>-d "$payload"</b>.