msxbuild/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_xml.mk

44 lines
2 KiB
Makefile
Raw Normal View History

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 := <![CDATA[
$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_XML_CDATA_START,Expanded special char; XML cdata start.)
MB_MAKE_XML_CDATA_END := ]]>
$(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.,<tag> [attr1-name] [attr1-value] [attr2-name] [attr2-value])
define mb-make-xml-close
2024-07-12 15:59:26 +00:00
$(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.,<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.,<value>)
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.,<tag> [value])