MB_MAKE_XML_LT := < $(call mb-make-call,mb-doc-variable-rock,MB_MAKE_XML_LT,Expanded special char; lesser than.) MB_MAKE_XML_GT := > $(call mb-make-call,mb-doc-variable-rock,MB_MAKE_XML_GT,Expanded special char; greater than.) MB_MAKE_XML_CDATA_START := $(call mb-make-call,mb-doc-variable-rock,MB_MAKE_XML_CDATA_END,Expanded special char; XML cdata end.) define _escape-xml-attr $(MB_ᕽᕽᕽ   )$(subst <,\u0026lt\u003B,$(subst >,\u003Cgt\u003B,$(subst $(MB_MAKE_XML_CDATA_START),,$(subst $(MB_MAKE_XML_CDATA_END),,"$(1)")))) endef define mb-make-xml-open $(MB_ᕽᕽᕽ   )"$(MB_MAKE_XML_LT)"$(1)$(if $(2), $(2)$(MB_MAKE_EQUALS)\"$(call mb-make-call,_escape-xml-attr,$(3))\")$(if $(4), $(4)$(MB_MAKE_EQUALS)\"$(call mb-make-call,_escape-xml-attr,$(5))\")"$(MB_MAKE_XML_GT)" endef $(call mb-make-call,mb-doc-function-deep,mb-make-xml-open,Print xml open tag., [attr1-name] [attr1-value] [attr2-name] [attr2-value]) define mb-make-xml-close $(MB_ᕽᕽᕽ   )"$(MB_MAKE_XML_LT)"/$(1)"$(MB_MAKE_XML_GT)" endef $(call mb-make-call,mb-doc-function-deep,mb-make-xml-close,Print xml close tag.,) define _escape-xml-value $(MB_ᕽᕽᕽ   )$(subst <,\u003C,$(subst >,\u003E,$(subst $(MB_MAKE_XML_CDATA_START),,$(subst $(MB_MAKE_XML_CDATA_END),,"$(1)")))) endef define mb-make-xml-value $(MB_ᕽᕽᕽ   )"$(MB_MAKE_XML_CDATA_START)"$(call mb-make-call,_escape-xml-value,$(1))"$(MB_MAKE_XML_CDATA_END)" endef $(call mb-make-call,mb-doc-function-deep,mb-make-xml-value,Print xml value in cdata wrapper.,) define mb-make-xml-tag-value $(MB_ᕽᕽᕽ   )$(if $(2),$(call mb-make-call,mb-make-xml-open,$(1))$(call mb-make-call,mb-make-xml-value,$(2))$(call mb-make-call,mb-make-xml-close,$(1))) endef $(call mb-make-call,mb-doc-function-deep,mb-make-xml-tag-value,Print xml tag with value inside., [value])