Willem Cazander
b78d3e5c1f
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -12s
44 lines
2 KiB
Makefile
44 lines
2 KiB
Makefile
|
||
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_value,$(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
|
||
$(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]")
|
||
|