ນີ້ແມ່ນຄໍາສັ່ງ xsdcxx ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
xsdcxx - W3C XML Schema ກັບ C++ Compiler
ສະຫຼຸບສັງລວມ
xsdcxx ຄໍາສັ່ງ [ ທາງເລືອກໃນການ ] ເອກະສານ [ ເອກະສານ ... ]
xsdcxx ຊ່ວຍເຫຼືອ [ ຄໍາສັ່ງ ]
xsdcxx ສະບັບພາສາ
ລາຍລະອຽດ
xsdcxx ສ້າງແຜນທີ່ C++ ແບບສະຖິດສະເພາະຄຳສັບສະເພາະຈາກ W3C XML Schema
ຄໍານິຍາມ. ການສ້າງແຜນທີ່ສະເພາະເພື່ອຜະລິດແມ່ນເລືອກໂດຍ ກ ຄໍາສັ່ງ. ແຕ່ລະແຜນທີ່ມີ a
ຈໍານວນແຜນທີ່ສະເພາະ ທາງເລືອກໃນການ ທີ່ຄວນຈະປາກົດ, ຖ້າມີ, ຫຼັງຈາກ ຄໍາສັ່ງ. ການປ້ອນຂໍ້ມູນ
ໄຟລ໌ຄວນຈະເປັນຄໍານິຍາມ W3C XML Schema. ຊຸດທີ່ແນ່ນອນຂອງໄຟລ໌ທີ່ສ້າງຂຶ້ນແມ່ນຂຶ້ນກັບ
ກ່ຽວກັບແຜນທີ່ທີ່ເລືອກແລະທາງເລືອກ.
ສາມາດ
cxx-ຕົ້ນໄມ້
ສ້າງແຜນທີ່ C++/Tree. ສໍາລັບແຕ່ລະໄຟລ໌ປ້ອນຂໍ້ມູນໃນຮູບແບບ ຊື່.xsd ໄດ້
ໄຟລ໌ C++ ຕໍ່ໄປນີ້ແມ່ນຖືກສ້າງຂຶ້ນ: ຊື່.hxx (ໄຟລ໌ຫົວຂໍ້), ຊື່.ixx (ໄຟລ໌ໃນແຖວ,
ສ້າງຂຶ້ນພຽງແຕ່ຖ້າຫາກວ່າ --generate-inline ທາງເລືອກແມ່ນໄດ້ລະບຸໄວ້), ຊື່.cxx (source
file), ແລະ ຊື່-fwd.hxx (ໄຟລ໌ການປະກາດສົ່ງຕໍ່, ສ້າງຂຶ້ນພຽງແຕ່ຖ້າ
--generate-forward ທາງເລືອກແມ່ນລະບຸໄວ້).
cxx-parser
ສ້າງແຜນທີ່ C++/Parser. ສໍາລັບແຕ່ລະໄຟລ໌ປ້ອນຂໍ້ມູນໃນຮູບແບບ ຊື່.xsd ໄດ້
ໄຟລ໌ C++ ຕໍ່ໄປນີ້ແມ່ນຖືກສ້າງຂຶ້ນ: ຊື່-pskel.hxx (ໄຟລ໌ສ່ວນຫົວ skeleton parser),
ຊື່-pskel.ixx (ໄຟລ໌ parser skeleton inline, ສ້າງຂຶ້ນພຽງແຕ່ຖ້າ --ສ້າງ-
inline ທາງເລືອກແມ່ນລະບຸໄວ້), ແລະ ຊື່-pskel.cxx (ໄຟລ໌ແຫຼ່ງ skeleton parser). ຖ້າ
ໄດ້ --generate-noop-impl or --generate-print-impl ທາງເລືອກແມ່ນໄດ້ລະບຸໄວ້, ໄດ້
ໄຟລ໌ການປະຕິບັດຕົວຢ່າງເພີ່ມເຕີມຕໍ່ໄປນີ້ແມ່ນຖືກສ້າງຂຶ້ນ: ຊື່-pimpl.hxx
(ໄຟລ໌ຫົວຂໍ້ການປະຕິບັດຕົວແຍກວິເຄາະ) ແລະ ຊື່-pimpl.cxx (ການປະຕິບັດຕົວວິເຄາະ
ແຫຼ່ງໄຟລ໌). ຖ້າ --generate-test-driver ທາງເລືອກແມ່ນໄດ້ລະບຸໄວ້, ເພີ່ມເຕີມ
name-driver.cxx ໄຟລ໌ທົດສອບຖືກສ້າງຂື້ນ.
ຊ່ວຍເຫຼືອ ພິມຂໍ້ມູນການນໍາໃຊ້ແລະອອກ. ໃຊ້
xsdcxx ຊ່ວຍເຫຼືອ ຄໍາສັ່ງ
ສໍາລັບການຊ່ວຍເຫຼືອສະເພາະຄໍາສັ່ງ.
ສະບັບພາສາ
ພິມສະບັບແລະອອກ.
OPTIONS
ຄໍາສັ່ງສະເພາະ ທາງເລືອກໃນການ, ຖ້າມີ, ຄວນຈະປາກົດພາຍຫຼັງທີ່ສອດຄ້ອງກັນ ຄໍາສັ່ງ.
ທົ່ວໄປ ທາງເລືອກໃນການ
--std ສະບັບພາສາ
ລະບຸມາດຕະຖານ C++ ທີ່ລະຫັດທີ່ສ້າງຂຶ້ນຄວນສອດຄ່ອງກັບ. ຄ່າທີ່ຖືກຕ້ອງ
ມີ c++98 (ເລີ່ມຕົ້ນ) ແລະ c++11.
ມາດຕະຖານ C ++ ມີຜົນກະທົບດ້ານຕ່າງໆຂອງລະຫັດທີ່ສ້າງຂຶ້ນທີ່ສົນທະນາ
ໃນລາຍລະອຽດເພີ່ມເຕີມໃນເອກະສານສະເພາະແຜນທີ່ຕ່າງໆ. ໂດຍລວມ, ເມື່ອ C ++11 ແມ່ນ
ເລືອກ, ລະຫັດທີ່ສ້າງຂຶ້ນແມ່ນອີງໃສ່ການເຄື່ອນທີ່ທາງສັບພະຍາກອນ ແລະການນຳໃຊ້ std::unique_ptr
ແທນທີ່ຈະຖືກຄັດຄ້ານ std::auto_ptr.
ເມື່ອໂຫມດ C++11 ຖືກເລືອກ, ໂດຍປົກກະຕິທ່ານບໍ່ຈໍາເປັນຕ້ອງເຮັດຂັ້ນຕອນເພີ່ມເຕີມ
ນອກເໜືອໄປຈາກເປີດໃຊ້ C++11 ໃນຄອມພີວເຊີ C++ ຂອງທ່ານ, ຖ້າຕ້ອງການ. XSDCXX compiler ຈະ
ອັດຕະໂນມັດເພີ່ມ macro ທີ່ຈໍາເປັນເພື່ອກໍານົດໄຟລ໌ header ທີ່ສ້າງຂຶ້ນ
ຈະປ່ຽນຫ້ອງສະໝຸດເວລາແລ່ນ XSDCXX ສ່ວນຫົວເທົ່ານັ້ນ (libxsd) ໄປທີ່ໂຫມດ C++11.
ຢ່າງໃດກໍຕາມ, ຖ້າທ່ານລວມເອົາສ່ວນຫົວເວລາແລ່ນ XSDCXX ໂດຍກົງຢູ່ໃນຂອງທ່ານ
ຄໍາຮ້ອງສະຫມັກ (ປົກກະຕິທ່ານພຽງແຕ່ປະກອບມີ headers ທີ່ສ້າງຂຶ້ນ), ຫຼັງຈາກນັ້ນທ່ານຈະຕ້ອງການ
ເພື່ອກໍານົດ XSD_CXX11 ມະຫາພາກສໍາລັບໂຄງການທັງຫມົດຂອງທ່ານ.
--char-type ປະເພດ
ສ້າງລະຫັດໂດຍໃຊ້ຕົວອັກສອນທີ່ໃຫ້ມາ ປະເພດ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ char. ຖືກຕ້ອງ
ຄຸນຄ່າແມ່ນ char ແລະ wchar_t.
--char-encoding ສຸດ
ລະບຸການເຂົ້າລະຫັດຕົວອັກສອນທີ່ຄວນໃຊ້ໃນລະຫັດທີ່ສ້າງຂຶ້ນ. ຖືກຕ້ອງ
ຄຸນຄ່າສໍາລັບການ char ປະເພດຕົວອັກສອນແມ່ນ utf8 (ຄ່າເລີ່ມຕົ້ນ), iso8859-1, lcp (Xerces-C++
ຫນ້າລະຫັດທ້ອງຖິ່ນ), ແລະ custom. ຖ້າເຈົ້າຜ່ານ custom ເປັນມູນຄ່າຫຼັງຈາກນັ້ນທ່ານຈະຕ້ອງການ
ເພື່ອປະກອບມີສ່ວນຫົວການປະຕິບັດຕົວປ່ຽນລະຫັດສໍາລັບການເຂົ້າລະຫັດຂອງທ່ານໃນຕອນເລີ່ມຕົ້ນ
ຂອງໄຟລ໌ header ທີ່ສ້າງຕັ້ງຂຶ້ນ (ເບິ່ງ --hxx-prologue ທາງເລືອກ).
ສໍາລັບ wchar_t ປະເພດຕົວອັກສອນພຽງແຕ່ຄ່າທີ່ຖືກຕ້ອງແມ່ນ ອັດຕະໂນມັດ ແລະການເຂົ້າລະຫັດແມ່ນ
ເລືອກອັດຕະໂນມັດລະຫວ່າງ UTF-16 ແລະ UTF-32/UCS-4, ຂຶ້ນກັບ wchar_t
ປະເພດຂະຫນາດ.
--output-dir dir
ຂຽນໄຟລ໌ທີ່ສ້າງຂຶ້ນໃສ່ dir ແທນທີ່ຈະເປັນໄດເລກະທໍລີປະຈຸບັນ.
--generate-inline
ສ້າງຟັງຊັນງ່າຍໆໃນແຖວ. ຕົວເລືອກນີ້ກະຕຸ້ນການສ້າງໄຟລ໌ໃນແຖວ.
--generate-xml-schema
ສ້າງໄຟລ໌ສ່ວນຫົວ C++ ຄືກັບວ່າ schema ທີ່ຖືກລວບລວມກໍານົດ XML Schema
namespace. ສໍາລັບ C++/Tree mapping, ໄຟລ໌ຜົນໄດ້ຮັບຈະມີຄໍານິຍາມ
ສໍາລັບທຸກປະເພດຂອງ XML Schema. ສໍາລັບ C++/Parser mapping, ໄຟລ໌ຜົນໄດ້ຮັບ
ຈະມີຄໍານິຍາມສໍາລັບໂຄງກະດູກ parser ທັງຫມົດແລະການປະຕິບັດ
ທີ່ສອດຄ້ອງກັນກັບປະເພດ XML Schema ໃນຕົວ.
ໄຟລ໌ schema ທີ່ສະຫນອງໃຫ້ກັບ compiler ບໍ່ຈໍາເປັນຕ້ອງມີຢູ່ແລະຖືກນໍາໃຊ້ເພື່ອເອົາມາເທົ່ານັ້ນ
ຊື່ຂອງໄຟລ໌ header ຜົນໄດ້ຮັບ. ໃຊ້ --extern-xml-schema ທາງເລືອກທີ່ຈະ
ລວມເອົາໄຟລ໌ນີ້ຢູ່ໃນໄຟລ໌ທີ່ສ້າງຂຶ້ນສໍາລັບ schemas ອື່ນໆ.
--extern-xml-schema ເອກະສານ
ລວມເອົາໄຟລ໌ສ່ວນຫົວທີ່ມາຈາກ ເອກະສານ ແທນທີ່ຈະສ້າງ XML Schema
ການສ້າງແຜນທີ່ namespace ໃນແຖວ. ໄຟລ໌ທີ່ສະຫນອງໃຫ້ບໍ່ຈໍາເປັນຕ້ອງມີຢູ່ແລະພຽງແຕ່ຖືກນໍາໃຊ້ເພື່ອ
ມາຈາກຊື່ຂອງໄຟລ໌ສ່ວນຫົວລວມ. ໃຊ້ --generate-xml-schema ທາງເລືອກ
ເພື່ອສ້າງໄຟລ໌ສ່ວນຫົວນີ້.
--namespace-map xns=cns
ແຜນທີ່ XML Schema namespace xns ກັບ C++ namespace cns. ເຮັດຊ້ຳຕົວເລືອກນີ້ເພື່ອລະບຸ
ການສ້າງແຜນທີ່ສໍາລັບຫຼາຍກວ່າຫນຶ່ງ namespace XML Schema. ສໍາລັບຕົວຢ່າງ, ທາງເລືອກຕໍ່ໄປນີ້:
--namespace-map http://example.com/foo/bar=foo::bar
ຈະສ້າງແຜນທີ່ http://example.com/foo/bar XML Schema namespace ກັບ foo::bar C ++
namespace.
--namespace-regex regex
ຕື່ມ regex ໄປຫາລາຍຊື່ຂອງສຳນວນປົກກະຕິທີ່ໃຊ້ເພື່ອແປ XML Schema namespace
ຊື່ໃສ່ຊື່ C++ namespace. regex ແມ່ນການສະແດງອອກປົກກະຕິຂອງ Perl ໃນຮູບແບບ
/ຮູບແບບ/ການທົດແທນ/. ຕົວອັກສອນໃດກໍໄດ້ສາມາດໃຊ້ເປັນຕົວຂັ້ນແທນ /.
Escape ຂອງຕົວອັກສອນຕົວກໍານົດໃນ ຮູບແບບ or ການທົດແທນ ບໍ່ໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ.
ທຸກໆການສະແດງອອກປົກກະຕິແມ່ນຖືກຍູ້ເຂົ້າໄປໃນ stack ທີ່ມີກໍານົດສຸດທ້າຍ
ການສະແດງອອກພິຈາລະນາທໍາອິດ. ການແຂ່ງຂັນຄັ້ງທໍາອິດທີ່ປະສົບຜົນສໍາເລັດແມ່ນຖືກນໍາໃຊ້. ປົກກະຕິ
ການສະແດງອອກແມ່ນໃຊ້ກັບສະຕຣິງໃນຮູບແບບ
ຊື່ເອກະສານ namespace
ຕົວຢ່າງ, ຖ້າທ່ານມີໄຟລ໌ ສະບາຍດີ.xsd ກັບ namespace http://example.com/hello ແລະ
ທ່ານແລ່ນ xsd ໃນໄຟລ໌ນີ້, ຫຼັງຈາກນັ້ນ, ສະຕຣິງໃນຄໍາຖາມຈະເປັນ:
ສະບາຍດີ.xsd. http://example.com/hello
ສໍາລັບ XML Schema namespace ທີ່ມີໃນຕົວ, ສະຕຣິງແມ່ນ:
XMLschema.xsd http://www.w3.org/2001/XMLSchema
ສາມຂັ້ນຕອນຕໍ່ໄປນີ້ແມ່ນປະຕິບັດສໍາລັບແຕ່ລະການສະແດງຜົນປົກກະຕິຈົນກ່ວາການແຂ່ງຂັນ
ພົບເຫັນ:
1. ການສະແດງອອກແມ່ນຖືກນໍາໃຊ້ແລະຖ້າຜົນໄດ້ຮັບແມ່ນຫວ່າງເປົ່າ, ການສະແດງອອກຕໍ່ໄປແມ່ນ
ພິຈາລະນາ.
2. ທັງ ໝົດ / ຖືກທົດແທນດ້ວຍ ::.
3. ຜົນໄດ້ຮັບຖືກກວດສອບວ່າເປັນຊື່ຂອບເຂດ C++ ທີ່ຖືກຕ້ອງ (ເຊັ່ນ: foo::bar). ຖ້ານີ້
ການທົດສອບສໍາເລັດ, ຜົນໄດ້ຮັບຖືກນໍາໃຊ້ເປັນ C ++ namespace ຊື່.
ຕົວຢ່າງ, ການສະແດງອອກຕໍ່ໄປນີ້ແຜນທີ່ XML Schema namespaces ໃນຮູບແບບ
http://example.com/foo/bar ກັບ C++ namespaces ໃນຮູບແບບ foo::bar:
%.* http://example.com/(.+)%$1%
ເບິ່ງພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--namespace-regex-trace
ຕິດຕາມຂະບວນການຂອງການນໍາໃຊ້ສໍານວນປົກກະຕິລະບຸໄວ້ກັບ --namespace-
regex ທາງເລືອກ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອຊອກຫາວ່າເປັນຫຍັງການສະແດງອອກປົກກະຕິຂອງເຈົ້າບໍ່ເຮັດ
ສິ່ງທີ່ທ່ານຄາດຫວັງໃຫ້ພວກເຂົາເຮັດ.
--reserved-name n[=r]
ຕື່ມຊື່ n ໃນບັນຊີລາຍຊື່ຂອງຊື່ທີ່ບໍ່ຄວນຖືກນໍາໃຊ້ເປັນຕົວລະບຸ. ຊື່
ທາງເລືອກສາມາດປະຕິບັດຕາມໂດຍ = ແລະຊື່ທົດແທນ r ທີ່ຄວນຈະຖືກນໍາໃຊ້
ແທນ. ຄໍາສໍາຄັນ C ++ ທັງຫມົດແມ່ນຢູ່ໃນບັນຊີລາຍຊື່ນີ້ແລ້ວ.
--include-with-brackets
ໃຊ້ວົງເລັບມຸມ (<>) ແທນວົງຢືມ ("") ທີ່ສ້າງຂຶ້ນ #include ທິດທາງ.
--include-prefix ຄຳ ນຳ ໜ້າ
ຕື່ມ ຄຳ ນຳ ໜ້າ ເພື່ອສ້າງ #include ເສັ້ນທາງຊີ້ນໍາ.
ຕົວຢ່າງ, ຖ້າທ່ານມີອົງປະກອບການນໍາເຂົ້າຕໍ່ໄປນີ້ໃນ schema ຂອງທ່ານ
<ນໍາເຂົ້າ namespace="..." schemaLocation="base.xsd"/>
ແລະລວບລວມຊິ້ນນີ້ດ້ວຍ --include-prefix ແຜນຜັງ/, ຫຼັງຈາກນັ້ນປະກອບມີ
ຄໍາສັ່ງໃນລະຫັດທີ່ສ້າງຂຶ້ນຈະເປັນ:
#include "schemas/base.hxx"
--include-regex regex
ຕື່ມ regex ຢູ່ໃນບັນຊີລາຍຊື່ຂອງການສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການຫັນປ່ຽນ #include directive
ເສັ້ນທາງ. regex ແມ່ນການສະແດງອອກປົກກະຕິຂອງ Perl ໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/.
ຕົວອັກສອນໃດກໍໄດ້ສາມາດໃຊ້ເປັນຕົວຂັ້ນແທນ /. ການຫລົບຫນີຂອງຕົວກໍານົດ
ຕົວອັກສອນໃນ ຮູບແບບ or ການທົດແທນ ບໍ່ໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ.
ທຸກໆການສະແດງອອກປົກກະຕິແມ່ນຖືກຍູ້ເຂົ້າໄປໃນ stack ທີ່ມີກໍານົດສຸດທ້າຍ
ການສະແດງອອກພິຈາລະນາທໍາອິດ. ການແຂ່ງຂັນຄັ້ງທໍາອິດທີ່ປະສົບຜົນສໍາເລັດແມ່ນຖືກນໍາໃຊ້.
ຕົວຢ່າງ, ການສະແດງອອກຕໍ່ໄປນີ້ປ່ຽນເສັ້ນທາງໃນຮູບແບບ
schemas/foo/bar ໄປສູ່ເສັ້ນທາງໃນຮູບແບບ ສ້າງ/foo/bar:
%schemas/.+)%generated/$1%
ເບິ່ງພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--include-regex-trace
ຕິດຕາມຂະບວນການຂອງການນໍາໃຊ້ສໍານວນປົກກະຕິລະບຸໄວ້ກັບ --ລວມ-
regex ທາງເລືອກ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອຊອກຫາວ່າເປັນຫຍັງການສະແດງອອກປົກກະຕິຂອງເຈົ້າບໍ່ເຮັດ
ສິ່ງທີ່ທ່ານຄາດຫວັງໃຫ້ພວກເຂົາເຮັດ.
--guard-prefix ຄຳ ນຳ ໜ້າ
ຕື່ມ ຄຳ ນຳ ໜ້າ ເພື່ອສ້າງຕົວປ້ອງກັນການລວມເອົາຫົວ. ຄໍານໍາຫນ້າຖືກປ່ຽນເປັນເທິງ
case ແລະຕົວອັກສອນທີ່ຜິດກົດໝາຍໃນຊື່ macro preprocessor ຖືກແທນທີ່ດ້ວຍ
ຂີດກ້ອງ. ຖ້າຕົວເລືອກນີ້ບໍ່ໄດ້ລະບຸໄວ້ຫຼັງຈາກນັ້ນສ່ວນໄດເລກະທໍລີຂອງການປ້ອນຂໍ້ມູນ
ໄຟລ໌ schema ຖືກນໍາໃຊ້ເປັນຄໍານໍາຫນ້າ.
--hxx-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ .hxx ການກໍ່ສ້າງຊື່ຂອງ
ໄຟລ໌ຫົວ. ໃຫ້ສັງເກດວ່າຄໍາຕໍ່ທ້າຍນີ້ຍັງຖືກນໍາໃຊ້ເພື່ອສ້າງຊື່ຂອງໄຟລ໌ສ່ວນຫົວ
ທີ່ສອດຄ້ອງກັນກັບໂຄງການລວມ / ການນໍາເຂົ້າ.
--ixx-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ .ixx ການກໍ່ສ້າງຊື່ຂອງ
ໄຟລ໌ໃນແຖວ.
--cxx-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ .cxx ການກໍ່ສ້າງຊື່ຂອງ
ແຫຼ່ງໄຟລ໌.
--fwd-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ -fwd.hxx ການກໍ່ສ້າງຊື່ຂອງ
ເອກະສານການປະກາດສົ່ງຕໍ່.
--hxx-regex regex
ໃຊ້ການສະແດງອອກທີ່ໃຫ້ມາເພື່ອສ້າງຊື່ຂອງໄຟລ໌ສ່ວນຫົວ. regex ເປັນ
Perl ຄ້າຍຄືການສະແດງອອກປົກກະຕິໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ໃຫ້ສັງເກດວ່ານີ້
expression ຍັງຖືກໃຊ້ເພື່ອສ້າງຊື່ຂອງໄຟລ໌ header ທີ່ສອດຄ້ອງກັນ
schemas ລວມ / ນໍາເຂົ້າ. ເບິ່ງພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--ixx-regex regex
ໃຊ້ສຳນວນທີ່ສະໜອງໃຫ້ເພື່ອສ້າງຊື່ຂອງໄຟລ໌ໃນແຖວ. regex ເປັນ
Perl ຄ້າຍຄືການສະແດງອອກປົກກະຕິໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ເບິ່ງ REGEX ນຳ
ແລະ Shell QUOTING ພາກຂ້າງລຸ່ມນີ້.
--cxx-regex regex
ໃຊ້ການສະແດງອອກທີ່ສະຫນອງໃຫ້ເພື່ອສ້າງຊື່ຂອງໄຟລ໌ຕົ້ນສະບັບ. regex ເປັນ
Perl ຄ້າຍຄືການສະແດງອອກປົກກະຕິໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ເບິ່ງ REGEX ນຳ
ແລະ Shell QUOTING ພາກຂ້າງລຸ່ມນີ້.
--fwd-regex regex
ໃຊ້ສຳນວນທີ່ສະໜອງໃຫ້ເພື່ອສ້າງຊື່ຂອງໄຟລ໌ການປະກາດສົ່ງຕໍ່.
regex ແມ່ນການສະແດງອອກປົກກະຕິຂອງ Perl ໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ເບິ່ງຕື່ມ
ພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--hxx-prologue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນຕົ້ນຂອງໄຟລ໌ header.
--ixx-prologue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນຕົ້ນຂອງໄຟລ໌ inline.
--cxx-prologue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນຕົ້ນຂອງໄຟລ໌ແຫຼ່ງ.
--fwd-prologue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນຕົ້ນຂອງເອກະສານການປະກາດສົ່ງຕໍ່.
-- prologue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນຕົ້ນຂອງແຕ່ລະໄຟລ໌ທີ່ສ້າງຂຶ້ນ, ທີ່ບໍ່ມີໄຟລ໌.
prologue ສະເພາະ.
--hxx-epilogue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນທ້າຍຂອງເອກະສານ header.
--ixx-epilogue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນທ້າຍຂອງໄຟລ໌ inline.
--cxx-epilogue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນທ້າຍຂອງໄຟລ໌ແຫຼ່ງ.
--fwd-epilogue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນທ້າຍຂອງເອກະສານປະກາດການສົ່ງຕໍ່.
--epilogue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນທ້າຍຂອງແຕ່ລະໄຟລ໌ທີ່ສ້າງຂຶ້ນ, ທີ່ບໍ່ມີໄຟລ໌ສະເພາະ
ບົດສຸດທ້າຍ.
--hxx-prologue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນຕົ້ນຂອງໄຟລ໌ header.
--ixx-prologue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນຕົ້ນຂອງໄຟລ໌ inline.
--cxx-prologue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນຕົ້ນຂອງໄຟລ໌ແຫຼ່ງ.
--fwd-prologue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນຕົ້ນຂອງເອກະສານການປະກາດສົ່ງຕໍ່.
--prologue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນຕົ້ນຂອງແຕ່ລະໄຟລ໌ທີ່ສ້າງຂຶ້ນສໍາລັບການທີ່
ບໍ່ມີໄຟລ໌ prologue ສະເພາະ.
--hxx-epilogue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນທ້າຍຂອງເອກະສານ header.
--ixx-epilogue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນທ້າຍຂອງໄຟລ໌ inline.
--cxx-epilogue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນທ້າຍຂອງໄຟລ໌ແຫຼ່ງ.
--fwd-epilogue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນທ້າຍຂອງເອກະສານປະກາດການສົ່ງຕໍ່.
--epilogue-file ເອກະສານ
ໃສ່ເນື້ອໃນຂອງ ເອກະສານ ໃນຕອນທ້າຍຂອງແຕ່ລະໄຟລ໌ທີ່ສ້າງຂຶ້ນສໍາລັບການທີ່ມີ
ບໍ່ມີເອກະສານສະເພາະຂອງເອກະສານ.
--ການສົ່ງອອກ-ສັນຍາລັກ ສັນຍາລັກ
Insert ສັນຍາລັກ ໃນສະຖານທີ່ທີ່ DLL ສົ່ງອອກ / ນໍາເຂົ້າຄໍາຖະແຫຼງການຄວບຄຸມ
(__declspec(dllexport/dllimport)) ມີຄວາມຈໍາເປັນ.
--export-xml-schema
ປະເພດການສົ່ງອອກ/ນໍາເຂົ້າໃນ namespace XML Schema ໂດຍໃຊ້ສັນຍາລັກສົ່ງອອກທີ່ສະຫນອງໃຫ້
ກັບ --ການສົ່ງອອກ-ສັນຍາລັກ ທາງເລືອກ. ທ XSD_NO_EXPORT ມະຫາພາກສາມາດໃຊ້ເພື່ອຍົກເລີກສິ່ງນີ້
ລະຫັດໃນລະຫວ່າງການລວບລວມ C++, ເຊິ່ງອາດຈະເປັນປະໂຫຍດຖ້າທ່ານຕ້ອງການໃຊ້ດຽວກັນ
ລະຫັດທີ່ສ້າງຂຶ້ນໃນທົ່ວຫຼາຍແພລະຕະຟອມ.
--ການສົ່ງອອກ-ແຜນທີ່
ສົ່ງອອກແຜນທີ່ສະຫນັບສະຫນູນ polymorphism ຈາກ Win32 DLL ທີ່ລະຫັດທີ່ສ້າງຂຶ້ນນີ້ແມ່ນ
ວາງໄວ້. ນີ້ແມ່ນສິ່ງຈໍາເປັນໃນເວລາທີ່ການຈັດລໍາດັບຂອງປະເພດຂອງທ່ານຖືກແບ່ງອອກໃນທົ່ວ DLLs ຫຼາຍ
ເນື່ອງຈາກວ່າຖ້າບໍ່ດັ່ງນັ້ນແຕ່ລະ DLL ຈະມີຊຸດແຜນທີ່ຂອງຕົນເອງ. ໃນສະຖານະການນີ້
ລະຫັດທີ່ສ້າງຂຶ້ນສໍາລັບ DLL ເຊິ່ງປະກອບດ້ວຍປະເພດພື້ນຖານແລະ / ຫຼືກຸ່ມການທົດແທນ
ຫົວຄວນຈະຖືກລວບລວມດ້ວຍຕົວເລືອກນີ້ແລະລະຫັດທີ່ສ້າງຂຶ້ນສໍາລັບ DLLs ອື່ນໆທັງຫມົດ
ຄວນຈະຖືກລວບລວມດ້ວຍ --ການນໍາເຂົ້າແຜນທີ່. ທາງເລືອກນີ້ແມ່ນພຽງແຕ່ຖືກຕ້ອງຮ່ວມກັບ
--generate-polymorphic. ໄດ້ XSD_NO_EXPORT ມະຫາພາກສາມາດໃຊ້ເພື່ອລະເວັ້ນລະຫັດນີ້
ໃນລະຫວ່າງການລວບລວມ C ++, ເຊິ່ງອາດຈະເປັນປະໂຫຍດຖ້າທ່ານຕ້ອງການໃຊ້ດຽວກັນ
ລະຫັດທີ່ສ້າງຂຶ້ນໃນທົ່ວຫຼາຍແພລະຕະຟອມ.
--ການນໍາເຂົ້າແຜນທີ່
ນໍາເຂົ້າແຜນທີ່ສະຫນັບສະຫນູນ polymorphism ໄປຫາ Win32 DLL ຫຼືສາມາດປະຕິບັດໄດ້ໃນເລື່ອງນີ້
ລະຫັດທີ່ສ້າງຂຶ້ນແມ່ນເຊື່ອມຕໍ່. ເບິ່ງ --ການສົ່ງອອກ-ແຜນທີ່ ເອກະສານທາງເລືອກສໍາລັບລາຍລະອຽດ.
ທາງເລືອກນີ້ແມ່ນພຽງແຕ່ຖືກຕ້ອງຮ່ວມກັບ --generate-polymorphic. ໄດ້ XSD_NO_EXPORT
macro ສາມາດໃຊ້ເພື່ອຍົກເລີກລະຫັດນີ້ໃນລະຫວ່າງການລວບລວມ C++, ເຊິ່ງອາດຈະເປັນປະໂຫຍດຖ້າ
ທ່ານຕ້ອງການໃຊ້ລະຫັດທີ່ສ້າງຂຶ້ນດຽວກັນໃນທົ່ວຫຼາຍແພລະຕະຟອມ.
--generate-dep
ສ້າງ ເຮັດໃຫ້ ຂໍ້ມູນການເພິ່ງພາອາໄສ. ທາງເລືອກນີ້ກະຕຸ້ນການສ້າງ .d
ໄຟລ໌ທີ່ປະກອບດ້ວຍຄວາມເພິ່ງພາອາໄສຂອງໄຟລ໌ທີ່ສ້າງຂຶ້ນໃນໄຟລ໌ schema ຕົ້ນຕໍ
ເຊັ່ນດຽວກັນກັບໄຟລ໌ schema ທັງຫມົດທີ່ມັນປະກອບມີ / ນໍາເຂົ້າ, transitively. ນີ້
ຫຼັງຈາກນັ້ນ, ໄຟລ໌ dependency ແມ່ນຖືກລວມເຂົ້າໃນຕົ້ນຕໍ makefile ເພື່ອປະຕິບັດ
ການຕິດຕາມການເພິ່ງພາອາໄສອັດຕະໂນມັດ.
ຈົ່ງຈື່ໄວ້ວ່າການຜະລິດການເພິ່ງພາອາໄສອັດຕະໂນມັດແມ່ນບໍ່ຮອງຮັບໃນໄຟລ໌ຕໍ່-.
ຮູບແບບປະເພດ (--file-per-type). ໃນກໍລະນີນີ້, ໄຟລ໌ທັງຫມົດທີ່ສ້າງຂຶ້ນແມ່ນຜະລິດ
ດ້ວຍການເອີ້ນ compiler ດຽວ ແລະຂຶ້ນກັບ schemas ທັງໝົດ. ດັ່ງນັ້ນ, ມັນແມ່ນ
ງ່າຍຕໍ່ການສ້າງຕັ້ງການເພິ່ງພາອາໄສດັ່ງກ່າວດ້ວຍຕົນເອງ, ບາງທີອາດມີການຊ່ວຍເຫຼືອຂອງ
--file-list* ຕົວເລືອກ
--generate-dep-only
ສ້າງ ເຮັດໃຫ້ ຂໍ້ມູນການເພິ່ງພາອາໄສເທົ່ານັ້ນ.
--dep-phony
ສ້າງເປົ້າຫມາຍ phony ສໍາລັບໄຟລ໌ schema ລວມ / ນໍາເຂົ້າ, ເຊິ່ງເຮັດໃຫ້ແຕ່ລະຄົນຂຶ້ນກັບ
ບໍ່ມີຫຍັງ. ກົດລະບຽບ dummy ດັ່ງກ່າວເຮັດວຽກປະມານ ເຮັດໃຫ້ ຄວາມຜິດພາດທີ່ເກີດຈາກການໂຍກຍ້າຍຂອງ
ໄຟລ໌ schema ໂດຍບໍ່ມີການປັບປຸງໄຟລ໌ dependency ເພື່ອໃຫ້ກົງກັນ.
--dep-ເປົ້າຫມາຍ ເປົ້າຫມາຍ
ປ່ຽນເປົ້າໝາຍຂອງກົດລະບຽບການເພິ່ງພາອາໄສ. ໂດຍຄ່າເລີ່ມຕົ້ນມັນປະກອບດ້ວຍທັງຫມົດທີ່ສ້າງຂຶ້ນ
ໄຟລ໌ C++ ເຊັ່ນດຽວກັນກັບໄຟລ໌ dependency ຕົວຂອງມັນເອງ, ໂດຍບໍ່ມີການ prefix ໄດເລກະທໍລີໃດໆ. ຖ້າ
ທ່ານຮຽກຮ້ອງໃຫ້ມີເປົ້າຫມາຍຫຼາຍ, ຫຼັງຈາກນັ້ນທ່ານສາມາດກໍານົດໃຫ້ເຂົາເຈົ້າເປັນດຽວ, space-
ການໂຕ້ຖຽງທີ່ແຍກອອກ ຫຼືທ່ານສາມາດເຮັດຊ້ຳຕົວເລືອກນີ້ຫຼາຍຄັ້ງ.
--dep-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ .d ການກໍ່ສ້າງຊື່ຂອງ
ໄຟລ໌ທີ່ຂຶ້ນກັບ.
--dep-regex regex
ໃຊ້ການສະແດງອອກທີ່ໃຫ້ມາເພື່ອສ້າງຊື່ຂອງໄຟລ໌ທີ່ຂຶ້ນກັບ. regex is
ການສະແດງອອກເປັນປົກກະຕິ Perl ໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ເບິ່ງຍັງ
REGEX AND SHELL QUOTING ພາກລຸ່ມນີ້.
--ປິດການເຕືອນໄພ ເຕືອນ
ປິດການເຕືອນການພິມດ້ວຍ id ເຕືອນທີ່ຢູ່ ຖ້າຫາກວ່າ ທັງຫມົດ ແມ່ນລະບຸໄວ້ສໍາລັບ id ເຕືອນຫຼັງຈາກນັ້ນ
ການເຕືອນໄພທັງໝົດຖືກປິດໄວ້.
--options-file ເອກະສານ
ອ່ານທາງເລືອກເພີ່ມເຕີມຈາກ ເອກະສານ. ແຕ່ລະທາງເລືອກຄວນຈະປາກົດຢູ່ໃນເສັ້ນແຍກຕ່າງຫາກ
ທາງເລືອກທີ່ຕິດຕາມດ້ວຍພື້ນທີ່ ແລະຄ່າທາງເລືອກ. ເສັ້ນຫວ່າງເປົ່າແລະເສັ້ນເລີ່ມຕົ້ນ
ກັບ # ຖືກລະເລີຍ. ຄ່າທາງເລືອກສາມາດຖືກຫຸ້ມເປັນສອງເທົ່າ (") ຫຼືໂສດ (')
ວົງຢືມເພື່ອຮັກສາຊ່ອງຫວ່າງຊັ້ນນໍາ ແລະຕໍ່ທ້າຍ ພ້ອມທັງລະບຸຫວ່າງເປົ່າ
ຄຸນຄ່າ. ຖ້າຄ່າຕົວມັນເອງປະກອບດ້ວຍວົງຢືມຕໍ່ທ້າຍຫຼືວົງຢືມນໍາ, ຕິດກັບມັນ
ຄູ່ພິເສດຂອງວົງຢືມ, ສໍາລັບການຍົກຕົວຢ່າງ '"x"'. ວົງຢືມທີ່ບໍ່ແມ່ນຊັ້ນນໍາແລະບໍ່ຕິດຕາມແມ່ນ
ແປວ່າເປັນສ່ວນຫນຶ່ງຂອງຄ່າທາງເລືອກ.
ຄວາມຫມາຍຂອງການສະຫນອງທາງເລືອກໃນໄຟລ໌ແມ່ນເທົ່າກັບການສະຫນອງດຽວກັນ
ກໍານົດທາງເລືອກໃນຄໍາສັ່ງດຽວກັນຢູ່ໃນເສັ້ນຄໍາສັ່ງຢູ່ໃນຈຸດທີ່
--options-file ທາງເລືອກແມ່ນໄດ້ລະບຸໄວ້ຍົກເວັ້ນແຕ່ວ່າ shell escaping ແລະ quoting ແມ່ນ
ບໍ່ຈໍາເປັນ. ທ່ານສາມາດເຮັດເລື້ມຄືນທາງເລືອກນີ້ເພື່ອລະບຸຫຼາຍກວ່າຫນຶ່ງໄຟລ໌ທາງເລືອກ.
--show-sloc
ສະແດງຈຳນວນຂອງລະຫັດແຫຼ່ງຕົວຈິງຂອງລະຫັດ (SLOC).
--sloc-ຈຳກັດ num
ກວດເບິ່ງວ່າຈໍານວນຂອງສາຍແຫຼ່ງທາງດ້ານຮ່າງກາຍຂອງລະຫັດ (SLOC) ບໍ່ແມ່ນ
ເກີນ num.
-- ໃບອະນຸຍາດເປັນເຈົ້າຂອງ
ຊີ້ບອກວ່າລະຫັດທີ່ສ້າງຂຶ້ນໄດ້ຖືກອະນຸຍາດພາຍໃຕ້ໃບອະນຸຍາດເປັນເຈົ້າຂອງແທນທີ່ຈະເປັນ
GPL.
-- custom-literals ເອກະສານ
ໂຫລດສະຕຣິງ XML ແບບກຳນົດເອງໃສ່ C++ literal mappings ຈາກ ເອກະສານ. ກົນໄກນີ້ສາມາດເປັນ
ເປັນປະໂຫຍດຖ້າຫາກວ່າທ່ານກໍາລັງໃຊ້ການເຂົ້າລະຫັດຕົວອັກສອນທີ່ກໍາຫນົດເອງແລະບາງສ່ວນຂອງສະຕຣິງໃນຂອງທ່ານ
schemas, ສໍາລັບການຍົກຕົວຢ່າງອົງປະກອບ / ຊື່ຄຸນລັກສະນະຫຼືຄ່າ enumeration, ມີທີ່ບໍ່ແມ່ນ.
ຕົວອັກສອນ ASCII. ໃນກໍລະນີນີ້, ທ່ານຈະຕ້ອງໃຫ້ການສ້າງແຜນທີ່ແບບກຳນົດເອງໃຫ້ກັບ C++
ຕົວຫນັງສືສໍາລັບສາຍດັ່ງກ່າວ. ຮູບແບບຂອງໄຟລ໌ນີ້ແມ່ນລະບຸໄວ້ໃນ ປະເພນີ
literals.xsd ໄຟລ໌ XML Schema ທີ່ສາມາດພົບເຫັນຢູ່ໃນໄດເລກະທໍລີເອກະສານ.
--preserve-ບໍ່ເປີດເຜີຍຊື່
ຮັກສາປະເພດທີ່ບໍ່ເປີດເຜີຍຊື່. ໂດຍຄ່າເລີ່ມຕົ້ນ, ປະເພດທີ່ບໍ່ເປີດເຜີຍຊື່ຈະຖືກຕັ້ງຊື່ໂດຍອັດຕະໂນມັດດ້ວຍ
ຊື່ທີ່ມາຈາກອົງປະກອບ / ຄຸນລັກສະນະທີ່ໃກ້ຊິດ. ເນື່ອງຈາກວ່າແຜນທີ່ປະຕິບັດ
ໂດຍ compiler ນີ້ຮຽກຮ້ອງໃຫ້ມີທຸກປະເພດທີ່ຈະມີຊື່, ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ຖ້າຫາກວ່າທ່ານ
ຕ້ອງການໃຫ້ແນ່ໃຈວ່າ schemas ຂອງທ່ານບໍ່ມີປະເພດທີ່ບໍ່ເປີດເຜີຍຊື່.
--show-anonymous
ສະແດງອົງປະກອບ ແລະຄຸນລັກສະນະທີ່ເປັນປະເພດທີ່ບໍ່ເປີດເຜີຍຊື່. ທາງເລືອກນີ້ພຽງແຕ່ເຮັດໃຫ້
ຄວາມຮູ້ສຶກຮ່ວມກັບ --preserve-ບໍ່ເປີດເຜີຍຊື່ ທາງເລືອກ.
--anonymous-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສໍານວນປົກກະຕິທີ່ໃຊ້ເພື່ອເອົາຊື່ສໍາລັບການບໍ່ເປີດເຜີຍຊື່
ປະເພດຈາກຄຸນລັກສະນະ / ອົງປະກອບທີ່ປິດລ້ອມ. regex ແມ່ນ Perl ຄ້າຍຄືປົກກະຕິ
ການສະແດງອອກໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ຕົວອັກສອນໃດສາມາດຖືກນໍາໃຊ້ເປັນ
ຕົວຂັ້ນແທນ /. Escape ຂອງຕົວອັກສອນຕົວກໍານົດໃນ ຮູບແບບ or
ການທົດແທນ ບໍ່ໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ.
ທຸກໆການສະແດງອອກປົກກະຕິແມ່ນຖືກຍູ້ເຂົ້າໄປໃນ stack ທີ່ມີກໍານົດສຸດທ້າຍ
ການສະແດງອອກພິຈາລະນາທໍາອິດ. ການແຂ່ງຂັນຄັ້ງທໍາອິດທີ່ປະສົບຜົນສໍາເລັດແມ່ນຖືກນໍາໃຊ້. ປົກກະຕິ
ການສະແດງອອກແມ່ນໃຊ້ກັບສະຕຣິງໃນຮູບແບບ
ຊື່ເອກະສານ namespace xpath
ຕົວຢ່າງ:
ສະບາຍດີ.xsd http://example.com/hello element
ສະບາຍດີ.xsd http://example.com/hello ປະເພດ/ອົງປະກອບ
ເປັນຕົວຢ່າງ, ການສະແດງອອກຕໍ່ໄປນີ້ເຮັດໃຫ້ທຸກຊື່ທີ່ໄດ້ມາເລີ່ມຕົ້ນດ້ວຍ
ຕົວພິມໃຫຍ່. ນີ້ອາດຈະເປັນປະໂຫຍດໃນເວລາທີ່ສົນທິສັນຍາການຕັ້ງຊື່ຂອງທ່ານຮຽກຮ້ອງໃຫ້ມີປະເພດ
ຊື່ທີ່ຈະເລີ່ມຕົ້ນດ້ວຍຕົວພິມໃຫຍ່:
%.* .* (.+/)*.+)%\u$2%
ເບິ່ງພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--anonymous-regex-trace
ຕິດຕາມຂະບວນການຂອງການນໍາໃຊ້ສໍານວນປົກກະຕິລະບຸໄວ້ກັບ --ບໍ່ເປີດເຜີຍຊື່-
regex ທາງເລືອກ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອຊອກຫາວ່າເປັນຫຍັງການສະແດງອອກປົກກະຕິຂອງເຈົ້າບໍ່ເຮັດ
ສິ່ງທີ່ທ່ານຄາດຫວັງໃຫ້ພວກເຂົາເຮັດ.
--ສະຖານທີ່-ແຜນທີ່ ol=nl
ແຜນທີ່ສະຖານທີ່ schema ຕົ້ນສະບັບ ol ທີ່ລະບຸໄວ້ໃນ XML Schema ປະກອບມີ ຫຼື
ນໍາເຂົ້າອົງປະກອບໄປຫາສະຖານທີ່ schema ໃຫມ່ nl. ເຮັດຊ້ຳຕົວເລືອກນີ້ເພື່ອສ້າງແຜນທີ່ຫຼາຍກວ່າໜຶ່ງອັນ
ສະຖານທີ່ schema. ສໍາລັບຕົວຢ່າງ, ທາງເລືອກຕໍ່ໄປນີ້ແຜນທີ່
http://example.com/foo.xsd URL ໄປຫາ foo.xsd ໄຟລ໌ທ້ອງຖິ່ນ.
--ສະຖານທີ່-ແຜນທີ່ http://example.com/foo.xsd=foo.xsd
--location-regex regex
ຕື່ມ regex ບັນຊີລາຍຊື່ຂອງການສະແດງຜົນປົກກະຕິທີ່ໃຊ້ໃນແຜນທີ່ສະຖານທີ່ schema ທີ່ເປັນ
ທີ່ລະບຸໄວ້ໃນ XML Schema ປະກອບມີຫຼືນໍາເຂົ້າອົງປະກອບ. regex ເປັນ Perl ຄ້າຍຄື
ການສະແດງອອກເປັນປົກກະຕິໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ຕົວອັກສອນໃດສາມາດໃຊ້ເປັນ
ຕົວຂັ້ນແທນ /. Escape ຂອງຕົວອັກສອນຕົວກໍານົດໃນ ຮູບແບບ or
ການທົດແທນ ບໍ່ຮອງຮັບ. ການສະແດງອອກປົກກະຕິທັງຫມົດແມ່ນ pushed ເຂົ້າໄປໃນ stack
ດ້ວຍການສະແດງອອກສຸດທ້າຍທີ່ພິຈາລະນາກ່ອນ. ການແຂ່ງຂັນຄັ້ງທໍາອິດທີ່ປະສົບຜົນສໍາເລັດ
ຖືກນໍາໃຊ້.
ຕົວຢ່າງ, ການສະແດງອອກຕໍ່ໄປນີ້ແຜນທີ່ສະຖານທີ່ URL ໃນຮູບແບບ
http://example.com/foo/bar.xsd ກັບໄຟລ໌ທ້ອງຖິ່ນໃນຮູບແບບ bar.xsd:
%http://.+/.+)%$1%
ເບິ່ງພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--location-regex-trace
ຕິດຕາມຂະບວນການຂອງການນໍາໃຊ້ສໍານວນປົກກະຕິລະບຸໄວ້ກັບ --ສະຖານທີ່-
regex ທາງເລືອກ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອຊອກຫາວ່າເປັນຫຍັງການສະແດງອອກປົກກະຕິຂອງເຈົ້າບໍ່ເຮັດ
ສິ່ງທີ່ທ່ານຄາດຫວັງໃຫ້ພວກເຂົາເຮັດ.
--file-per-type
ສ້າງຊຸດໄຟລ໌ C++ ແຍກຕ່າງຫາກສໍາລັບແຕ່ລະປະເພດທີ່ກໍານົດໄວ້ໃນ XML Schema. ຫມາຍເຫດ
ວ່າໃນໂຫມດນີ້ທ່ານພຽງແຕ່ຕ້ອງການລວບລວມ schema ຮາກແລະລະຫັດຈະເປັນ
ສ້າງຂຶ້ນສໍາລັບ schemas ລວມແລະນໍາເຂົ້າທັງຫມົດ. ຮູບແບບການລວບລວມນີ້ແມ່ນຕົ້ນຕໍ
ເປັນປະໂຫຍດໃນເວລາທີ່ບາງ schemas ຂອງທ່ານບໍ່ສາມາດຖືກລວບລວມແຍກຕ່າງຫາກຫຼືມີວົງຈອນ
ການເພິ່ງພາອາໄສເຊິ່ງກ່ຽວຂ້ອງກັບການສືບທອດປະເພດ. ທາງເລືອກອື່ນທີ່ກ່ຽວຂ້ອງກັບຮູບແບບນີ້
ແມ່ນ: --type-file-regex, --schema-file-regex, --fat-type-file, ແລະ --file-list.
--type-file-regex regex
ຕື່ມ regex ໄປຫາລາຍຊື່ຂອງສຳນວນປົກກະຕິທີ່ໃຊ້ເພື່ອແປຊື່ປະເພດໃສ່ໄຟລ໌
ຊື່ໃນເວລາທີ່ --file-per-type ທາງເລືອກແມ່ນລະບຸໄວ້. regex ແມ່ນ Perl ຄ້າຍຄືປົກກະຕິ
ການສະແດງອອກໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ຕົວອັກສອນໃດສາມາດຖືກນໍາໃຊ້ເປັນ
ຕົວຂັ້ນແທນ /. Escape ຂອງຕົວອັກສອນຕົວກໍານົດໃນ ຮູບແບບ or
ການທົດແທນ ບໍ່ຮອງຮັບ. ການສະແດງອອກປົກກະຕິທັງຫມົດແມ່ນ pushed ເຂົ້າໄປໃນ stack
ດ້ວຍການສະແດງອອກສຸດທ້າຍທີ່ພິຈາລະນາກ່ອນ. ການແຂ່ງຂັນຄັ້ງທໍາອິດທີ່ປະສົບຜົນສໍາເລັດ
ຖືກນໍາໃຊ້. ການສະແດງຜົນປົກກະຕິແມ່ນໃຊ້ກັບສະຕຣິງໃນຮູບແບບ
namespace ປະເພດຊື່
ຕົວຢ່າງ, ປະເພດແຜນທີ່ສະແດງອອກຕໍ່ໄປນີ້ ຟູ ທີ່ຖືກກໍານົດໄວ້ໃນ
http://example.com/bar namespace ກັບຊື່ໄຟລ໌ bar-foo:
%http://example.com/(.+) (.+)%$1-$2%
ເບິ່ງພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--type-file-regex-trace
ຕິດຕາມຂະບວນການຂອງການນໍາໃຊ້ສໍານວນປົກກະຕິລະບຸໄວ້ກັບ --type-file-
regex ທາງເລືອກ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອຊອກຫາວ່າເປັນຫຍັງການສະແດງອອກປົກກະຕິຂອງເຈົ້າບໍ່ເຮັດ
ສິ່ງທີ່ທ່ານຄາດຫວັງໃຫ້ພວກເຂົາເຮັດ.
--schema-file-regex regex
ຕື່ມ regex ໄປຫາບັນຊີລາຍຊື່ຂອງການສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ໄຟລ໌ schema
ໃນເວລາທີ່ --file-per-type ທາງເລືອກແມ່ນລະບຸໄວ້. regex ແມ່ນ Perl ຄ້າຍຄືປົກກະຕິ
ການສະແດງອອກໃນຮູບແບບ /ຮູບແບບ/ການທົດແທນ/. ຕົວອັກສອນໃດສາມາດຖືກນໍາໃຊ້ເປັນ
ຕົວຂັ້ນແທນ /. Escape ຂອງຕົວອັກສອນຕົວກໍານົດໃນ ຮູບແບບ or
ການທົດແທນ ບໍ່ຮອງຮັບ. ການສະແດງອອກປົກກະຕິທັງຫມົດແມ່ນ pushed ເຂົ້າໄປໃນ stack
ດ້ວຍການສະແດງອອກສຸດທ້າຍທີ່ພິຈາລະນາກ່ອນ. ການແຂ່ງຂັນຄັ້ງທໍາອິດທີ່ປະສົບຜົນສໍາເລັດ
ຖືກນໍາໃຊ້. ການສະແດງອອກປົກກະຕິແມ່ນໃຊ້ກັບເສັ້ນທາງລະບົບໄຟລ໌ຢ່າງແທ້ຈິງຂອງ a
ໄຟລ໌ schema ແລະຜົນໄດ້ຮັບ, ລວມທັງສ່ວນໄດເລກະທໍລີ, ຖ້າມີ, ຖືກນໍາໃຊ້ເພື່ອເອົາມາ
ໄດ້ #include ເສັ້ນທາງທິດທາງເຊັ່ນດຽວກັນກັບເສັ້ນທາງໄຟລ໌ C ++ ທີ່ສ້າງຂຶ້ນ. ທາງເລືອກນີ້,
ຄຽງຄູ່ກັບການ --type-file-regex ຕົ້ນຕໍແມ່ນເປັນປະໂຫຍດທີ່ຈະຈັດວາງໄຟລ໌ທີ່ສ້າງຂຶ້ນເຂົ້າໄປໃນ
ໄດເລກະທໍລີຍ່ອຍ ຫຼືເພື່ອແກ້ໄຂຂໍ້ຂັດແຍ່ງຊື່ໄຟລ໌.
ຕົວຢ່າງ, ການສະແດງອອກຕໍ່ໄປນີ້ແຜນທີ່ໄຟລ໌ schema ໃນ foo/1.0.0/
subdirectory ກັບໄຟລ໌ໃນ ຟູ/ ບັນຊີຍ່ອຍ. ດັ່ງນັ້ນ, ໄດ້ #include
ເສັ້ນທາງຄໍາແນະນໍາສໍາລັບ schemas ດັ່ງກ່າວຈະຢູ່ໃນ foo/schema.hxx ຮູບແບບແລະ
ໄຟລ໌ C++ ທີ່ສ້າງຂຶ້ນຈະຖືກວາງໃສ່ໃນ ຟູ/ ບັນຊີຍ່ອຍ:
%.*/foo/1.0.0/.+)%foo/$1%
ເບິ່ງພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--schema-file-regex-trace
ຕິດຕາມຂະບວນການຂອງການນໍາໃຊ້ສໍານວນປົກກະຕິລະບຸໄວ້ກັບ --schema-file-
regex ທາງເລືອກ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອຊອກຫາວ່າເປັນຫຍັງການສະແດງອອກປົກກະຕິຂອງເຈົ້າບໍ່ເຮັດ
ສິ່ງທີ່ທ່ານຄາດຫວັງໃຫ້ພວກເຂົາເຮັດ.
--fat-type-file
ສ້າງລະຫັດທີ່ສອດຄ້ອງກັບອົງປະກອບທົ່ວໂລກເຂົ້າໄປໃນໄຟລ໌ປະເພດແທນທີ່ຈະເປັນ schema
ໄຟລ໌ໃນເວລາທີ່ --type-file-regex ທາງເລືອກແມ່ນລະບຸໄວ້. ທາງເລືອກນີ້ແມ່ນຕົ້ນຕໍ
ເປັນປະໂຫຍດໃນເວລາທີ່ພະຍາຍາມຫຼຸດຜ່ອນຈໍານວນລະຫັດວັດຖຸທີ່ເຊື່ອມຕໍ່ກັບ an
ປະຕິບັດໄດ້ໂດຍການຫຸ້ມຫໍ່ທີ່ລວບລວມລະຫັດທີ່ສ້າງຂຶ້ນເຂົ້າໄປໃນຫ້ອງສະຫມຸດຄົງທີ່ (ເກັບໄວ້).
--file-list ເອກະສານ
ຂຽນບັນຊີລາຍຊື່ຂອງໄຟລ໌ C ++ ທີ່ສ້າງຂຶ້ນເພື່ອ ເອກະສານ. ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດຕົ້ນຕໍໃນ
ຮູບແບບການລວບລວມໄຟລ໌ຕໍ່ປະເພດ (--file-per-type) ເພື່ອສ້າງບັນຊີລາຍຊື່ຂອງ C ++ ທີ່ສ້າງຂຶ້ນ
ໄຟລ໌, ສໍາລັບການຍົກຕົວຢ່າງ, ເປັນຊິ້ນສ່ວນ makefile.
--file-list-prologue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນຕົ້ນຂອງບັນຊີລາຍຊື່ໄຟລ໌. ໃນຖານະເປັນຄວາມສະດວກ, ປະກົດຕົວທັງຫມົດຂອງ
ໄດ້ \n ລຳດັບຕົວອັກສອນໃນ ຂໍ້ຄວາມ ຖືກແທນທີ່ດ້ວຍສາຍໃຫມ່. ທາງເລືອກນີ້ສາມາດ, ສໍາລັບ
ຕົວຢ່າງ, ຖືກນໍາໃຊ້ເພື່ອກໍານົດລາຍຊື່ໄຟລ໌ທີ່ສ້າງຂຶ້ນໃຫ້ກັບຕົວແປ makefile.
--file-list-epilogue ຂໍ້ຄວາມ
Insert ຂໍ້ຄວາມ ໃນຕອນທ້າຍຂອງບັນຊີລາຍຊື່ໄຟລ໌. ເປັນຄວາມສະດວກສະບາຍ, ການປະກົດຕົວທັງຫມົດຂອງ
\n ລຳດັບຕົວອັກສອນໃນ ຂໍ້ຄວາມ ຖືກແທນທີ່ດ້ວຍສາຍໃຫມ່.
--file-list-delim ຂໍ້ຄວາມ
ຈຳກັດຊື່ໄຟລ໌ທີ່ຂຽນໃສ່ລາຍການໄຟລ໌ດ້ວຍ ຂໍ້ຄວາມ ແທນທີ່ຈະເປັນສາຍໃຫມ່. ເປັນ
ຄວາມສະດວກສະບາຍ, ການປະກົດຕົວທັງຫມົດຂອງ \n ລຳດັບຕົວອັກສອນໃນ ຂໍ້ຄວາມ ຖືກທົດແທນດ້ວຍ
ສາຍໃໝ່.
cxx-ຕົ້ນໄມ້ ຄໍາສັ່ງ ທາງເລືອກໃນການ
--generate-polymorphic
ສ້າງລະຫັດ polymorphism-aware. ລະບຸທາງເລືອກນີ້ຖ້າທ່ານໃຊ້ການທົດແທນ
ກຸ່ມ ຫຼື xsi: ປະເພດທີ່ຢູ່ ການນໍາໃຊ້ --polymorphic-type or --polymorphic-type-all ທາງເລືອກທີ່ຈະ
ລະບຸລໍາດັບຊັ້ນປະເພດໃດທີ່ເປັນ polymorphic.
--polymorphic-type ປະເພດ
ຊີ້ບອກວ່າ ປະເພດ ແມ່ນຮາກຂອງການຈັດລໍາດັບຊັ້ນຂອງປະເພດ polymorphic. compiler ສາມາດ
ມັກຈະກໍານົດອັດຕະໂນມັດວ່າປະເພດໃດເປັນ polymorphic ໂດຍອີງໃສ່ການທົດແທນ
ການປະກາດກຸ່ມ. ຢ່າງໃດກໍຕາມ, ທ່ານອາດຈະຈໍາເປັນຕ້ອງໃຊ້ທາງເລືອກນີ້ຖ້າທ່ານບໍ່ໄດ້ໃຊ້
ກຸ່ມການທົດແທນຫຼືຖ້າກຸ່ມການທົດແທນແມ່ນຖືກກໍານົດໄວ້ໃນ schema ອື່ນ. ເຈົ້າ
ຈໍາເປັນຕ້ອງລະບຸທາງເລືອກນີ້ໃນເວລາທີ່ລວບລວມທຸກໄຟລ໌ schema ທີ່ອ້າງອີງ ປະເພດ.
ໄດ້ ປະເພດ argument ເປັນຊື່ປະເພດ XML Schema ທີ່ສາມາດເລືອກໄດ້ກັບ
namespace ໃນ namespace#ຊື່ ແບບຟອມ.
--polymorphic-type-all
ຊີ້ໃຫ້ເຫັນວ່າທຸກປະເພດຄວນໄດ້ຮັບການປະຕິບັດເປັນ polymorphic.
--ແຜ່ນໂພລີໂມຟິກ num
ລະບຸແຜ່ນແຜນທີ່ polymorphic ທີ່ລະຫັດທີ່ສ້າງຂຶ້ນຄວນຈະລົງທະບຽນ. ນີ້
ການທໍາງານແມ່ນເປັນປະໂຫຍດຕົ້ນຕໍເພື່ອແຍກ schemas ຫຼາຍທີ່ກໍານົດ
ປະເພດ polymorphic ດຽວກັນ.
--ordered-type ປະເພດ
ຊີ້ບອກລໍາດັບອົງປະກອບນັ້ນໃນ ປະເພດ ມີຄວາມສໍາຄັນ. ຕົວຢ່າງຈະເປັນສະລັບສັບຊ້ອນ
ພິມດ້ວຍທາງເລືອກທີ່ບໍ່ມີຂອບເຂດເປັນຮູບແບບເນື້ອໃນທີ່ຄໍາສັ່ງອົງປະກອບໃນ XML ມີ
ຄຳສັບສະເພາະຂອງແອັບພລິເຄຊັນ. ສໍາລັບປະເພດຄໍາສັ່ງ, compiler ສ້າງພິເສດ
ສະມາຊິກຂໍ້ມູນບັນຈຸແລະຊຸດທີ່ສອດຄ້ອງກັນຂອງຕົວເຊື່ອມຕໍ່ແລະຕົວແກ້ໄຂທີ່ມີ
ໃຊ້ເພື່ອເກັບກໍາຄໍາສັ່ງຂອງອົງປະກອບແລະ, ສໍາລັບເນື້ອໃນປະສົມ, ຂອງຂໍ້ຄວາມ.
ໄດ້ ປະເພດ argument ເປັນຊື່ປະເພດ XML Schema ທີ່ສາມາດເລືອກໄດ້ກັບ
namespace ໃນ namespace#ຊື່ ແບບຟອມ. ໃຫ້ສັງເກດວ່າທ່ານຈະຕ້ອງລະບຸ
ຕົວເລືອກນີ້ເມື່ອລວບລວມທຸກໄຟລ໌ schema ທີ່ມີປະເພດຄໍາສັ່ງອື່ນທີ່ມາຈາກ
ຈາກປະເພດນີ້.
--ordered-type-derived
ປະຕິບັດອັດຕະໂນມັດປະເພດທີ່ໄດ້ມາຈາກຖານທີ່ສັ່ງຕາມຄໍາສັ່ງ. ນີ້ແມ່ນ
ເປັນປະໂຫຍດຕົ້ນຕໍຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະສາມາດ iterate ໃນໄລຍະເນື້ອໃນທີ່ສົມບູນ
ໃຊ້ກ່ອງຄໍາສັ່ງເນື້ອຫາ.
--ordered-type-mixed
ປະຕິບັດອັດຕະໂນມັດປະເພດສະລັບສັບຊ້ອນທີ່ມີເນື້ອໃນປະສົມຕາມຄໍາສັ່ງ.
--ordered-type-all
ຊີ້ໃຫ້ເຫັນວ່າລໍາດັບອົງປະກອບໃນທຸກປະເພດແມ່ນມີຄວາມສໍາຄັນ.
--order-container ປະເພດ
ລະບຸແມ່ແບບຊັ້ນຮຽນແບບກຳນົດເອງທີ່ຄວນໃຊ້ເປັນກ່ອງບັນຈຸສຳລັບເນື້ອຫາ
ຄໍາສັ່ງໃນປະເພດຄໍາສັ່ງແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ std:: vector, ທະເລສາບ --ordered-type ສໍາລັບການ
ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບປະເພດຄໍາສັ່ງ. ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດຕົ້ນຕໍຖ້າຫາກວ່າທ່ານຕ້ອງການ
ດໍາເນີນການຊອກຫາທີ່ຊັບຊ້ອນຫຼາຍຂຶ້ນໃນກ່ອງຄໍາສັ່ງເນື້ອຫາ, ຕົວຢ່າງໂດຍອົງປະກອບ
ID. ໃນກໍລະນີນີ້, container ເຊັ່ນ Boost multi-index ອາດຈະສະດວກກວ່າ. ຫມາຍເຫດ
ຖ້າຫາກວ່າການນໍາໃຊ້ພາຊະນະທີ່ກໍານົດເອງ, ທ່ານຍັງຄົງຈະຈໍາເປັນຕ້ອງໄດ້ປະກອບມີ
ຫົວຂໍ້ທີ່ກ່ຽວຂ້ອງໂດຍໃຊ້ --hxx-prologue* ຕົວເລືອກ
--generate-serialization
ສ້າງຟັງຊັນ serialization. ຟັງຊັນ Serialization ປ່ຽນຮູບແບບວັດຖຸ
ກັບໄປຫາ XML.
--generate-ostream
ສ້າງຕົວປະຕິບັດການແຊກ ostream (ຜູ້ປະກອບການ<) ສໍາລັບປະເພດທີ່ສ້າງຂຶ້ນ. ນີ້ອະນຸຍາດໃຫ້
ອັນໜຶ່ງເພື່ອພິມຊິ້ນສ່ວນ ຫຼືຕົວແບບວັດຖຸທັງໝົດໄດ້ຢ່າງງ່າຍດາຍສຳລັບການດີບັກ ຫຼືການບັນທຶກ.
--generate-doxygen
ສ້າງຄວາມຄິດເຫັນເອກະສານທີ່ເຫມາະສົມສໍາລັບການສະກັດໂດຍ Doxygen
ລະບົບເອກະສານ. ເອກະສານຈາກຄໍາບັນຍາຍຈະຖືກເພີ່ມໃສ່ຄໍາເຫັນຖ້າ
ມີຢູ່ໃນ schema.
--ສ້າງ-ການປຽບທຽບ
ສ້າງຕົວປະຕິບັດການປຽບທຽບ (ຜູ້ປະກອບການ == ແລະ ຜູ້ປະກອບການ!=) ສໍາລັບປະເພດສະລັບສັບຊ້ອນ.
ການປຽບທຽບແມ່ນປະຕິບັດໂດຍສະມາຊິກ.
--generate-default-ctor
ສ້າງຕົວສ້າງເລີ່ມຕົ້ນເຖິງແມ່ນວ່າສໍາລັບປະເພດທີ່ມີສະມາຊິກທີ່ຕ້ອງການ. ຕ້ອງການ
ສະມາຊິກຂອງຕົວຢ່າງທີ່ສ້າງຂຶ້ນໂດຍໃຊ້ຕົວກໍ່ສ້າງດັ່ງກ່າວບໍ່ໄດ້ຖືກເລີ່ມຕົ້ນແລະ
ການເຂົ້າເຖິງພວກມັນເຮັດໃຫ້ພຶດຕິກໍາທີ່ບໍ່ໄດ້ກໍານົດ.
--generate-from-base-ctor
ສ້າງຕົວສ້າງທີ່ຄາດຫວັງວ່າຕົວຢ່າງຂອງປະເພດພື້ນຖານປະຕິບັດຕາມດ້ວຍທັງຫມົດ
ສະມາຊິກທີ່ຕ້ອງການ.
--suppress-assignment
ສະກັດກັ້ນການສ້າງຕົວປະຕິບັດການມອບໝາຍສຳເນົາສຳລັບປະເພດຊັບຊ້ອນ. ຖ້ານີ້
ທາງເລືອກແມ່ນໄດ້ລະບຸໄວ້, ການປະຕິບັດການກໍານົດສໍາເນົາສໍາລັບປະເພດດັ່ງກ່າວແມ່ນໄດ້ຮັບການປະກາດ
ສ່ວນຕົວແລະປະໄວ້ບໍ່ໄດ້ປະຕິບັດ.
--generate-detach
ສ້າງຟັງຊັນ detach ສໍາລັບອົງປະກອບແລະຄຸນລັກສະນະທີ່ຕ້ອງການ. ຖອດຟັງຊັນ
ສໍາລັບທາງເລືອກແລະລໍາດັບ cardinalities ແມ່ນສະຫນອງໃຫ້ໂດຍບັນຈຸທີ່ກ່ຽວຂ້ອງ.
ຫນ້າທີ່ເຫຼົ່ານີ້, ສໍາລັບການຍົກຕົວຢ່າງ, ອະນຸຍາດໃຫ້ທ່ານສາມາດຍ້າຍຕົ້ນໄມ້ຍ່ອຍໃນຮູບແບບວັດຖຸ
ບໍ່ວ່າຈະຢູ່ໃນຕົ້ນໄມ້ດຽວກັນຫຼືລະຫວ່າງຕົ້ນໄມ້ທີ່ແຕກຕ່າງກັນ.
--generate-wildcard
ສ້າງຕົວເຊື່ອມຕໍ່ ແລະຕົວແກ້ໄຂ ພ້ອມກັບການແຍກວິເຄາະ ແລະລະຫັດ serialization ສໍາລັບ XML
ຕົວຫຍໍ້ຂອງ Schema (ໃດ ແລະ anyAttribute). ເນື້ອໃນ XML ຈັບຄູ່ໂດຍ wildcards ແມ່ນ
ນໍາສະເຫນີເປັນຊິ້ນ DOM. ຈົ່ງຈື່ໄວ້ວ່າທ່ານຕ້ອງການເລີ່ມຕົ້ນເວລາແລ່ນ Xerces-C++
ຖ້າເຈົ້າໃຊ້ຕົວເລືອກນີ້.
--generate-any-type
ສະກັດແລະເກັບຮັກສາເນື້ອໃນຂອງ XML Schema ປະເພດໃດກໍໄດ້ ພິມເປັນຊິ້ນ DOM. ຫມາຍເຫດ
ທ່ານຕ້ອງການເລີ່ມຕົ້ນເວລາແລ່ນ Xerces-C++ ຖ້າເຈົ້າໃຊ້ຕົວເລືອກນີ້.
--generate-insertion os
ສ້າງຕົວປະຕິບັດການແຊກການຖ່າຍທອດການເປັນຕົວແທນຂໍ້ມູນສໍາລັບ os ກະແສຜົນຜະລິດ
ປະເພດ. ເຮັດຊ້ຳຕົວເລືອກນີ້ເພື່ອລະບຸຫຼາຍກວ່າໜຶ່ງປະເພດການຖ່າຍທອດ. ການຖ່າຍທອດ ACE CDR
(ACE_OutputCDR) ແລະ RPC XDR ຖືກຮັບຮູ້ໂດຍ compiler ແລະມີຄວາມຈໍາເປັນ
#include ຄໍາສັ່ງແມ່ນຖືກສ້າງຂຶ້ນໂດຍອັດຕະໂນມັດ. ສໍາລັບປະເພດນ້ໍາທີ່ກໍານົດເອງການນໍາໃຊ້
--hxx-prologue* ທາງເລືອກໃນການສະຫນອງການປະກາດທີ່ຈໍາເປັນ.
--generate-extraction is
ສ້າງຕົວສ້າງການສະກັດເອົາກະແສການເປັນຕົວແທນຂໍ້ມູນສໍາລັບ is ກະແສເຂົ້າ
ປະເພດ. ເຮັດຊ້ຳຕົວເລືອກນີ້ເພື່ອລະບຸຫຼາຍກວ່າໜຶ່ງປະເພດການຖ່າຍທອດ. ການຖ່າຍທອດ ACE CDR
(ACE_InputCDR) ແລະ RPC XDR ຖືກຮັບຮູ້ໂດຍ compiler ແລະມີຄວາມຈໍາເປັນ
#include ຄໍາສັ່ງແມ່ນຖືກສ້າງຂຶ້ນໂດຍອັດຕະໂນມັດ. ສໍາລັບປະເພດນ້ໍາທີ່ກໍານົດເອງການນໍາໃຊ້
--hxx-prologue* ທາງເລືອກໃນການສະຫນອງການປະກາດທີ່ຈໍາເປັນ.
--generate-forward
ສ້າງໄຟລ໌ສ່ວນຫົວແຍກຕ່າງຫາກດ້ວຍການປະກາດສົ່ງຕໍ່ສໍາລັບປະເພດທີ່ເປັນ
ສ້າງຂຶ້ນ.
--suppress-parsing
ສະກັດກັ້ນການສ້າງຟັງຊັນການວິເຄາະ ແລະຕົວສ້າງ. ໃຊ້ຕົວເລືອກນີ້
ເພື່ອຫຼຸດຂະໜາດລະຫັດທີ່ສ້າງຂຶ້ນເມື່ອການແຍກວິເຄາະຈາກ XML ແມ່ນບໍ່ຈໍາເປັນ.
--generate-element-type
ສ້າງປະເພດແທນທີ່ຈະໃຊ້ຟັງຊັນ parsing ແລະ serialization ສໍາລັບອົງປະກອບຮາກ.
ນີ້ແມ່ນເປັນປະໂຫຍດຕົ້ນຕໍໃນການຈໍາແນກຮູບແບບວັດຖຸທີ່ມີປະເພດຮາກດຽວກັນແຕ່
ມີອົງປະກອບຮາກທີ່ແຕກຕ່າງກັນ.
--generate-element-map
ສ້າງແຜນທີ່ອົງປະກອບຮາກທີ່ອະນຸຍາດໃຫ້ການແຍກວິເຄາະເອກະພາບແລະ serialization ຂອງ
ອົງປະກອບຮາກຫຼາຍ. ທາງເລືອກນີ້ແມ່ນພຽງແຕ່ຖືກຕ້ອງຮ່ວມກັບ --generate-ອົງປະກອບ-
ປະເພດ.
--generate-intellisense
ສ້າງການແກ້ໄຂສໍາລັບແມງໄມ້ IntelliSense ໃນ Visual Studio 2005 (8.0). ເມື່ອນີ້
ທາງເລືອກແມ່ນຖືກນໍາໃຊ້, ລະຫັດຜົນໄດ້ຮັບແມ່ນ verbose ເລັກນ້ອຍ. IntelliSense ໃນ
Visual Studio 2008 (9.0) ແລະຕໍ່ມາບໍ່ຮຽກຮ້ອງໃຫ້ມີການແກ້ໄຂເຫຼົ່ານີ້. ສະຫນັບສະຫນູນສໍາລັບການ
IntelliSense ໃນ Visual Studio 2003 (7.1) ຖືກປັບປຸງດ້ວຍຕົວເລືອກນີ້ແຕ່ຍັງຄົງຢູ່.
ບໍ່ສົມບູນ.
--omit-default-attributes
ຍົກເລີກຄຸນສົມບັດທີ່ມີຄ່າເລີ່ມຕົ້ນ ແລະຄ່າຄົງທີ່ຈາກເອກະສານ XML serialized.
--type-naming ແບບ
ລະບຸສົນທິສັນຍາການຕັ້ງຊື່ປະເພດທີ່ຄວນໃຊ້ໃນລະຫັດທີ່ສ້າງຂຶ້ນ. ຖືກຕ້ອງ
ຮູບແບບຕ່າງໆແມ່ນ knr (ຄ່າເລີ່ມຕົ້ນ), Ucc, ແລະ java. ເບິ່ງພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--function-nameing ແບບ
ລະບຸສົນທິສັນຍາການຕັ້ງຊື່ຟັງຊັນທີ່ຄວນໃຊ້ໃນລະຫັດທີ່ສ້າງຂຶ້ນ.
ຮູບແບບທີ່ຖືກຕ້ອງແມ່ນ knr (ຄ່າເລີ່ມຕົ້ນ), lcc, ແລະ java. ເບິ່ງພາກສ່ວນ naming CONVENTION
ຂ້າງລຸ່ມສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--type-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປປະເພດ XML Schema
ຊື່ປະເພດ C++. ເບິ່ງພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ
ຂໍ້ມູນຂ່າວສານ.
--accessor-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ XML Schema ຂອງ
ອົງປະກອບ / ຄຸນລັກສະນະຂອງ C ++ ຊື່ຫນ້າທີ່ຂອງການເຂົ້າເຖິງ. ເບິ່ງສົນທິສັນຍາການຕັ້ງຊື່
ພາກສ່ວນຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--one-accessor-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ XML Schema ຂອງ
ອົງປະກອບ / ຄຸນລັກສະນະທີ່ມີ cardinality ຫນຶ່ງເພື່ອ C ++ ຊື່ຫນ້າທີ່ຂອງການເຂົ້າເຖິງ. ເບິ່ງ
ພາກສ່ວນ NAMING CONVENTION ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--opt-accessor-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ XML Schema ຂອງ
ອົງປະກອບ / ຄຸນລັກສະນະທີ່ມີ cardinality ທາງເລືອກທີ່ຈະ C ++ ຊື່ຟັງຊັນຂອງຕົວເຊື່ອມຕໍ່. ເບິ່ງ
ພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--seq-accessor-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ XML Schema ຂອງ
ອົງປະກອບ / ຄຸນລັກສະນະທີ່ມີລໍາດັບ cardinality ກັບ C ++ ຊື່ຟັງຊັນຂອງຕົວເຊື່ອມຕໍ່. ເບິ່ງ
ພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--modifier-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ XML Schema ຂອງ
ອົງປະກອບ / ຄຸນລັກສະນະຂອງ C ++ ຊື່ຫນ້າທີ່ດັດແກ້. ເບິ່ງສົນທິສັນຍາການຕັ້ງຊື່
ພາກສ່ວນຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--one-modifier-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ XML Schema ຂອງ
ອົງປະກອບ/ຄຸນສົມບັດທີ່ມີ cardinality ຫນຶ່ງຫາ C++ ແກ້ໄຂຊື່ຟັງຊັນ. ເບິ່ງ
ພາກສ່ວນ NAMING CONVENTION ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--opt-modifier-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ XML Schema ຂອງ
ອົງປະກອບ / ຄຸນລັກສະນະທີ່ມີ cardinality ທາງເລືອກທີ່ຈະ C ++ ແກ້ໄຂຊື່ຟັງຊັນ. ເບິ່ງ
ພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--seq-modifier-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງສະແດງອອກປົກກະຕິທີ່ໃຊ້ໃນການແປຊື່ XML Schema ຂອງ
ອົງປະກອບ / ຄຸນລັກສະນະທີ່ມີລໍາດັບ cardinality ກັບຊື່ຟັງຊັນຕົວແກ້ໄຂ C ++. ເບິ່ງ
ພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--parser-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງ expressions ປົກກະຕິທີ່ໃຊ້ເພື່ອແປອົງປະກອບ XML Schema
ຊື່ໄປຫາ C++ parsing function names. ເບິ່ງພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້ສໍາລັບ
ຂໍ້ມູນເພີ່ມເຕີມ
--serializer-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງ expressions ປົກກະຕິທີ່ໃຊ້ເພື່ອແປອົງປະກອບ XML Schema
ຊື່ໄປຫາ C++ serialization ຊື່ຟັງຊັນ. ເບິ່ງພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--const-regex regex
ຕື່ມ regex ໄປຫາລາຍຊື່ຂອງສຳນວນປົກກະຕິທີ່ໃຊ້ເພື່ອແປ XML Schema-derived
ຊື່ເປັນ C ++ ຊື່ຄົງທີ່. ເບິ່ງພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ
ຂໍ້ມູນຂ່າວສານ.
--enumerator-regex regex
ຕື່ມ regex ໄປຫາລາຍຊື່ຂອງສຳນວນປົກກະຕິທີ່ໃຊ້ເພື່ອແປ XML Schema
ຄ່າ enumeration ກັບ C++ enumerator ຊື່. ເບິ່ງພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--element-type-regex regex
ຕື່ມ regex ໃນບັນຊີລາຍຊື່ຂອງ expressions ປົກກະຕິທີ່ໃຊ້ເພື່ອແປອົງປະກອບ XML Schema
ຊື່ປະເພດອົງປະກອບ C ++. ເບິ່ງພາກສ່ວນສົນທິສັນຍາການຕັ້ງຊື່ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ
ຂໍ້ມູນຂ່າວສານ.
--name-regex-trace
ຕິດຕາມຂະບວນການຂອງການນໍາໃຊ້ສໍານວນປົກກະຕິລະບຸໄວ້ກັບຊື່
ທາງເລືອກໃນການຫັນປ່ຽນ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອຊອກຫາວ່າເປັນຫຍັງການສະແດງອອກປົກກະຕິຂອງເຈົ້າ
ຢ່າເຮັດສິ່ງທີ່ທ່ານຄາດຫວັງໃຫ້ພວກເຂົາເຮັດ.
--root-element-first
ປະຕິບັດພຽງແຕ່ອົງປະກອບທົ່ວໂລກທໍາອິດເປັນຮາກເອກະສານ. ໂດຍຄ່າເລີ່ມຕົ້ນທົ່ວໂລກ
ອົງປະກອບແມ່ນຖືວ່າເປັນຮາກເອກະສານ.
--root-element-ສຸດທ້າຍ
ປະຕິບັດພຽງແຕ່ອົງປະກອບທົ່ວໂລກສຸດທ້າຍເປັນຮາກເອກະສານ. ໂດຍຄ່າເລີ່ມຕົ້ນທົ່ວໂລກ
ອົງປະກອບແມ່ນຖືວ່າເປັນຮາກເອກະສານ.
--root-ອົງປະກອບ-ທັງໝົດ
ປະຕິບັດທຸກອົງປະກອບທົ່ວໂລກເປັນຮາກເອກະສານ. ນີ້ແມ່ນພຶດຕິກໍາເລີ່ມຕົ້ນ. ໂດຍ
ການລະບຸທາງເລືອກນີ້ຢ່າງຈະແຈ້ງທ່ານສາມາດສະກັດກັ້ນການເຕືອນໄພທີ່ຖືກອອກຖ້າ
ຫຼາຍກວ່າໜຶ່ງອົງປະກອບທົ່ວໂລກຖືກກຳນົດ.
--root-element-none
ຢ່າປະຕິບັດອົງປະກອບທົ່ວໂລກທີ່ເປັນຮາກເອກະສານ. ຕາມຄ່າເລີ່ມຕົ້ນທຸກອົງປະກອບທົ່ວໂລກ
ຖືກພິຈາລະນາເປັນຮາກເອກະສານ.
--root-ອົງປະກອບ element
ປິ່ນປົວເທົ່ານັ້ນ element ເປັນຮາກເອກະສານ. ເຮັດຊ້ຳຕົວເລືອກນີ້ເພື່ອລະບຸຫຼາຍກວ່າໜຶ່ງ
ອົງປະກອບຮາກ.
-- ປະເພດແບບກຳນົດເອງ ແຜນທີ່
ໃຊ້ປະເພດ C++ ແບບກຳນົດເອງແທນຊັ້ນຮຽນທີ່ສ້າງຂຶ້ນ. ໄດ້ ແຜນທີ່ ການໂຕ້ຖຽງແມ່ນຢູ່ໃນ
ຮູບແບບ ຊື່[=ປະເພດ[/ຖານ]], ຢູ່ໃສ ຊື່ ເປັນຊື່ປະເພດຕາມທີ່ໄດ້ກໍານົດໄວ້ໃນ XML Schema ແລະ
ປະເພດ ເປັນຊື່ປະເພດ C ++ ທີ່ຄວນໃຊ້ແທນ. ຖ້າ ປະເພດ ບໍ່ແມ່ນປະຈຸບັນຫຼື
ຫວ່າງເປົ່າຫຼັງຈາກນັ້ນປະເພດ custom ແມ່ນສົມມຸດວ່າມີຊື່ດຽວກັນແລະຖືກກໍານົດໄວ້ໃນ
namespace ດຽວກັນກັບຫ້ອງຮຽນທີ່ສ້າງຂຶ້ນຈະມີ. ຖ້າ ຖານ ຖືກກໍານົດຫຼັງຈາກນັ້ນ
ຊັ້ນຮຽນທີ່ສ້າງຂຶ້ນແມ່ນຍັງຖືກສ້າງຂຶ້ນແຕ່ດ້ວຍຊື່ນັ້ນ.
--custom-type-regex regex
ໃຊ້ປະເພດ C++ ແບບກຳນົດເອງແທນຊັ້ນຮຽນທີ່ສ້າງຂຶ້ນ. ໄດ້ regex ການໂຕ້ຖຽງແມ່ນຢູ່ໃນ
ຮູບແບບ /ຊື່-pat/[ປະເພດຍ່ອຍ/[ພື້ນຖານຍ່ອຍ/]], ຢູ່ໃສ ຊື່-pat ແມ່ນຮູບແບບ regex ທີ່ຈະ
ຖືກຈັບຄູ່ກັບຊື່ປະເພດທີ່ກໍານົດໄວ້ໃນ XML Schema ແລະ ປະເພດຍ່ອຍ ເປັນປະເພດ C++
ການປ່ຽນຊື່ທີ່ຄວນໃຊ້ແທນ. ຖ້າ ປະເພດຍ່ອຍ ບໍ່ແມ່ນປະຈຸບັນຫຼືຂອງຕົນ
ການທົດແທນຜົນໄດ້ຮັບໃນສາຍທີ່ຫວ່າງເປົ່າຫຼັງຈາກນັ້ນປະເພດ custom ແມ່ນສົມມຸດວ່າມີ
ຊື່ດຽວກັນແລະຖືກ ກຳ ນົດໃນ namespace ດຽວກັນກັບຫ້ອງຮຽນທີ່ສ້າງຂຶ້ນຈະມີ.
If ພື້ນຖານຍ່ອຍ ປະຈຸບັນແລະການທົດແທນຂອງມັນສົ່ງຜົນໃຫ້ສາຍທີ່ບໍ່ຫວ່າງເປົ່າຫຼັງຈາກນັ້ນ
ຊັ້ນຮຽນທີ່ສ້າງຂຶ້ນແມ່ນຍັງຖືກສ້າງຂຶ້ນແຕ່ຜົນຂອງການທົດແທນນີ້ເປັນຂອງມັນ
ຊື່. ຮູບແບບແລະການທົດແທນແມ່ນຢູ່ໃນຮູບແບບການສະແດງອອກປົກກະຕິ Perl. ເບິ່ງ
ພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
--ສ່ວນ num
ແຍກລະຫັດແຫຼ່ງທີ່ສ້າງຂຶ້ນເປັນ num ພາກສ່ວນ. ມັນເປັນປະໂຫຍດໃນເວລາທີ່ການແປຂະຫນາດໃຫຍ່,
schemas monolithic ແລະ C++ compiler ບໍ່ສາມາດລວບລວມແຫຼ່ງຜົນໄດ້ຮັບ
ລະຫັດດຽວກັນ (ໂດຍປົກກະຕິເນື່ອງຈາກຄວາມຈໍາບໍ່ພຽງພໍ).
--parts-suffix បច្ច័យ
ການນໍາໃຊ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ '-' ເພື່ອແຍກຊື່ໄຟລ໌ອອກຈາກສ່ວນ
ຈໍານວນ
cxx-parser ຄໍາສັ່ງ ທາງເລືອກໃນການ
--type-map ໄຟລ໌ແຜນທີ່
ອ່ານ XML Schema ກັບ C++ ປະເພດແຜນທີ່ຂໍ້ມູນຈາກ ໄຟລ໌ແຜນທີ່. ເຮັດຊ້ໍາທາງເລືອກນີ້ເພື່ອ
ລະບຸແຜນທີ່ຫຼາຍປະເພດ. ແຜນທີ່ປະເພດແມ່ນພິຈາລະນາຕາມລໍາດັບຮູບລັກສະນະແລະ
ການແຂ່ງຂັນຄັ້ງທໍາອິດຖືກນໍາໃຊ້. ຕາມຄ່າເລີ່ມຕົ້ນ, ທຸກໆປະເພດທີ່ຜູ້ໃຊ້ກຳນົດເອງຈະຖືກແຜນທີ່ໃສ່ void. ເບິ່ງ
TYPE MAP ພາກລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--xml-parser ແມ່ບົດ
ການນໍາໃຊ້ ແມ່ບົດ ເປັນຕົວວິເຄາະ XML ພື້ນຖານ. ຄ່າທີ່ຖືກຕ້ອງແມ່ນ ເຊັກສ໌ ສໍາລັບ Xerces-C++
(ເລີ່ມຕົ້ນ) ແລະ expat ສໍາລັບ Expat.
--generate-validation
ສ້າງລະຫັດຢືນຢັນ. ລະຫັດການກວດສອບ ("parser ທີ່ສົມບູນແບບ") ຮັບປະກັນວ່າ
ເອກະສານຕົວຢ່າງສອດຄ່ອງກັບ schema. ລະຫັດການກວດສອບແມ່ນສ້າງຂຶ້ນຕາມຄ່າເລີ່ມຕົ້ນ
ເມື່ອຕົວວິເຄາະ XML ພື້ນຖານທີ່ເລືອກແມ່ນບໍ່ຖືກຕ້ອງ (expat).
--suppress-validation
ສະກັດກັ້ນການສ້າງລະຫັດຢືນຢັນ. ການກວດສອບຖືກສະກັດກັ້ນໂດຍຄ່າເລີ່ມຕົ້ນ
ເມື່ອຕົວວິເຄາະ XML ທີ່ຢູ່ເບື້ອງຕົ້ນທີ່ເລືອກກຳລັງກວດສອບ (ເຊັກສ໌).
--generate-polymorphic
ສ້າງລະຫັດ polymorphism-aware. ລະບຸທາງເລືອກນີ້ຖ້າທ່ານໃຊ້ການທົດແທນ
ກຸ່ມ ຫຼື xsi: ປະເພດ.
--generate-noop-impl
ສ້າງການປະຕິບັດຕົວວິເຄາະຕົວຢ່າງທີ່ບໍ່ເຮັດຫຍັງ (ບໍ່ມີການດໍາເນີນການ). ໄດ້
ການປະຕິບັດຕົວຢ່າງສາມາດຖືກຕື່ມໃສ່ດ້ວຍລະຫັດສະເພາະຂອງແອັບພລິເຄຊັນ. ສໍາລັບການ
ໄຟລ໌ເຂົ້າໄປໃນຮູບແບບ ຊື່.xsd ທາງເລືອກນີ້ເຮັດໃຫ້ເກີດການຜະລິດສອງ
ໄຟລ໌ C++ ເພີ່ມເຕີມໃນຮູບແບບ: ຊື່-pimpl.hxx (ສ່ວນຫົວການປະຕິບັດຕົວວິເຄາະ
file) ແລະ ຊື່-pimpl.cxx (ໄຟລ໌ແຫຼ່ງການປະຕິບັດຕົວວິເຄາະ).
--generate-print-impl
ສ້າງການປະຕິບັດຕົວວິເຄາະຕົວຢ່າງທີ່ພິມຂໍ້ມູນ XML ເປັນ STDOUT. ສໍາລັບການ
ໄຟລ໌ເຂົ້າໄປໃນຮູບແບບ ຊື່.xsd ທາງເລືອກນີ້ເຮັດໃຫ້ເກີດການຜະລິດສອງ
ໄຟລ໌ C++ ເພີ່ມເຕີມໃນຮູບແບບ: ຊື່-pimpl.hxx (ສ່ວນຫົວການປະຕິບັດຕົວວິເຄາະ
file) ແລະ ຊື່-pimpl.cxx (ໄຟລ໌ແຫຼ່ງການປະຕິບັດຕົວວິເຄາະ).
--generate-test-driver
ສ້າງໄດເວີການທົດສອບສໍາລັບການປະຕິບັດຕົວແຍກຕົວຢ່າງ. ສໍາລັບການປ້ອນໄຟລ໌ໃນ
ແບບຟອມ ຊື່.xsd ຕົວເລືອກນີ້ກະຕຸ້ນການສ້າງໄຟລ໌ C++ ເພີ່ມເຕີມໃນ
ແບບຟອມ name-driver.cxx.
--force-ຂຽນທັບ
ບັງຄັບໃຫ້ຂຽນທັບຂອງການປະຕິບັດທີ່ມີຢູ່ແລ້ວ ແລະໄຟລ໌ທົດສອບໄດເວີ. ໃຊ້ນີ້
ທາງເລືອກພຽງແຕ່ຖ້າທ່ານບໍ່ສົນໃຈການສູນເສຍການປ່ຽນແປງທີ່ທ່ານໄດ້ເຮັດໃນຕົວຢ່າງ
ການປະຕິບັດຫຼືການທົດສອບໄຟລ໌ໄດເວີ.
--root-element-first
ຊີ້ໃຫ້ເຫັນວ່າອົງປະກອບທົ່ວໂລກທໍາອິດແມ່ນຮາກເອກະສານ. ຂໍ້ມູນນີ້ແມ່ນ
ໃຊ້ເພື່ອສ້າງຕົວຂັບທົດສອບສຳລັບການຈັດຕັ້ງປະຕິບັດຕົວຢ່າງ.
--root-element-ສຸດທ້າຍ
ຊີ້ໃຫ້ເຫັນວ່າອົງປະກອບທົ່ວໂລກສຸດທ້າຍແມ່ນຮາກເອກະສານ. ຂໍ້ມູນນີ້ແມ່ນ
ໃຊ້ເພື່ອສ້າງຕົວຂັບທົດສອບສຳລັບການຈັດຕັ້ງປະຕິບັດຕົວຢ່າງ.
--root-ອົງປະກອບ element
ຊີ້ບອກວ່າ element ແມ່ນຮາກເອກະສານ. ຂໍ້ມູນນີ້ຖືກນໍາໃຊ້ເພື່ອສ້າງ
ໄດເວີການທົດສອບສໍາລັບການປະຕິບັດຕົວຢ່າງ.
--skel-type-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ _pskel ການກໍ່ສ້າງຊື່ຂອງ
ການສ້າງ skeletons parser.
--skel-file-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ -pskel ການກໍ່ສ້າງຊື່ຂອງ
ສ້າງໄຟລ໌ parser skeleton.
--impl-type-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ _ສິວ ການກໍ່ສ້າງຊື່ຂອງ
ການປະຕິບັດຕົວວິເຄາະສໍາລັບປະເພດ XML Schema ທີ່ມີໃນຕົວເຊັ່ນດຽວກັນກັບຕົວວິເຄາະຕົວຢ່າງ
ການຈັດຕັ້ງປະຕິບັດ.
--impl-file-suffix បច្ច័យ
ໃຊ້ທີ່ສະຫນອງໃຫ້ បច្ច័យ ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ - ສິວ ການກໍ່ສ້າງຊື່ຂອງ
ສ້າງໄຟລ໌ການປະຕິບັດຕົວວິເຄາະຕົວຢ່າງ.
ການຕັ້ງຊື່ ການອະນຸມັດ
compiler ສາມາດຖືກແນະນໍາໃຫ້ໃຊ້ສົນທິສັນຍາການຕັ້ງຊື່ໂດຍສະເພາະໃນການຜະລິດ
ລະຫັດ. ຈໍານວນຂອງສົນທິສັນຍາທີ່ຖືກນໍາໃຊ້ຢ່າງກວ້າງຂວາງສາມາດໄດ້ຮັບການຄັດເລືອກໂດຍໃຊ້ --type-naming ແລະ
--function-nameing ທາງເລືອກ. ສົນທິສັນຍາການຕັ້ງຊື່ແບບກຳນົດເອງສາມາດເຮັດໄດ້ໂດຍໃຊ້ --ປະເພດ-
regex, --accessor-regex, --one-accessor-regex, --opt-accessor-regex, --seq-accessor-regex,
--modifier-regex, --one-modifier-regex, --opt-modifier-regex, --seq-modifier-regex,
--parser-regex, --serializer-regex, --const-regex, --enumerator-regex, ແລະ --ອົງປະກອບປະເພດ-
regex ຕົວເລືອກ
ໄດ້ --type-naming ທາງເລືອກກໍານົດສົນທິສັນຍາທີ່ຄວນຈະຖືກນໍາໃຊ້ສໍາລັບການຕັ້ງຊື່ C++
ປະເພດ. ຄ່າທີ່ເປັນໄປໄດ້ສໍາລັບທາງເລືອກນີ້ແມ່ນ knr (ຄ່າເລີ່ມຕົ້ນ), Ucc, ແລະ java. ໄດ້ knr ມູນຄ່າ
(ຫຍໍ້ມາຈາກ K&R) ໝາຍເຖິງ ສົນທິສັນຍາການຕັ້ງຊື່ຕົວພິມນ້ອຍມາດຕະຖານ ໂດຍມີເຄື່ອງໝາຍຂີດກ້ອງ.
ໃຊ້ເປັນຕົວກໍານົດຄໍາສັບ, ຕົວຢ່າງ: foo, foo_bar. ໄດ້ Ucc (ຫຍໍ້ມາຈາກ ອູດເທິງ-
ກໍລະນີ) ແລະ java ໃຫ້ຄຸນຄ່າຂອງຄໍາສັບຄ້າຍຄືສໍາລັບສົນທິສັນຍາການຕັ້ງຊື່ດຽວກັນທີ່ຕົວອັກສອນທໍາອິດຂອງ
ແຕ່ລະຄໍາໃນຊື່ແມ່ນຕົວພິມໃຫຍ່, ຕົວຢ່າງ: Foo, FooBar.
Similarly, the --function-nameing ທາງເລືອກກໍານົດສົນທິສັນຍາທີ່ຄວນຈະຖືກນໍາໃຊ້ສໍາລັບ
ການຕັ້ງຊື່ຟັງຊັນ C++. ຄ່າທີ່ເປັນໄປໄດ້ສໍາລັບທາງເລືອກນີ້ແມ່ນ knr (ຄ່າເລີ່ມຕົ້ນ), lcc, ແລະ java.
ໄດ້ knr ຄ່າ (ຫຍໍ້ມາຈາກ K&R) ໝາຍເຖິງມາດຕະຖານ, ສົນທິສັນຍາການຕັ້ງຊື່ຕົວພິມນ້ອຍກັບ
ຂີດກ້ອງທີ່ໃຊ້ເປັນຕົວຂັ້ນຄຳສັບ, ຕົວຢ່າງ: foo(), foo_bar(). ໄດ້ lcc ມູນຄ່າ
(ຫຍໍ້ມາຈາກຕົວນ້ອຍອູດ) ໝາຍເຖິງສົນທິສັນຍາການຕັ້ງຊື່ທີ່ຕົວອັກສອນທຳອິດຂອງແຕ່ລະຄົນ
ຍົກເວັ້ນຄໍາທໍາອິດແມ່ນຕົວພິມໃຫຍ່, ຕົວຢ່າງ: foo(), fooBar(). ໄດ້ java naming
ສົນ ທິ ສັນ ຍາ ແມ່ນ ຄ້າຍ ຄື ກັນ ກັບ ຕົວ ອັກ ສອນ ຕ ່ ໍ າ camel ເວັ້ນ ເສຍ ແຕ່ ວ່າ ຫນ້າ ທີ່ ເຂົ້າ ເຖິງ ແມ່ນ
ຄໍານໍາຫນ້າດ້ວຍ get, ຟັງຊັນຕົວແກ້ໄຂແມ່ນນໍາຫນ້າດ້ວຍຊຸດ, ຟັງຊັນການແຍກເປັນ
ຄຳນຳໜ້າດ້ວຍ parse, ແລະຟັງຊັນ serialization ແມ່ນນຳໜ້າດ້ວຍ serialize, ຕົວຢ່າງ:
getFoo(), setFooBar(), parseRoot(), serializeRoot().
ໃຫ້ສັງເກດວ່າສົນທິສັນຍາການຕັ້ງຊື່ທີ່ລະບຸໄວ້ກັບ --type-naming ແລະ --function-nameing
ທາງເລືອກປະຕິບັດການຫັນເປັນຈໍາກັດພຽງແຕ່ຊື່ທີ່ມາຈາກ schema ໃນ
ຮູບແບບຂອງປະເພດ, ຄຸນລັກສະນະ, ແລະຊື່ອົງປະກອບ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ເພື່ອໃຫ້ໄດ້ຮັບຜົນໄດ້ຮັບທີ່ສອດຄ່ອງ,
schemas ຂອງທ່ານຄວນປະຕິບັດຕາມສົນທິສັນຍາການຕັ້ງຊື່ທີ່ຄ້າຍຄືກັນກັບອັນທີ່ເຈົ້າຢາກມີ
ໃນລະຫັດທີ່ສ້າງຂຶ້ນ. ອີກທາງເລືອກ, ທ່ານສາມາດນໍາໃຊ້ --*-regex ທາງເລືອກ (ປຶກສາຫາລືຂ້າງລຸ່ມນີ້)
ເພື່ອປະຕິບັດການຫັນປ່ຽນຕື່ມອີກກ່ຽວກັບຊື່ທີ່ມາຈາກ schema.
ໄດ້ --type-regex, --accessor-regex, --one-accessor-regex, --opt-accessor-regex, --seq-
accessor-regex, --modifier-regex, --one-modifier-regex, --opt-modifier-regex, --seq-
modifier-regex, --parser-regex, --serializer-regex, --const-regex, --enumerator-regex, ແລະ
--element-type-regex ທາງເລືອກອະນຸຍາດໃຫ້ທ່ານເພື່ອລະບຸການສະແດງອອກປົກກະຕິພິເສດສໍາລັບແຕ່ລະຊື່
ໝວດໝູ່ນອກເໜືອໄປຈາກຊຸດທີ່ກຳນົດໄວ້ລ່ວງໜ້າທີ່ຈະຖືກເພີ່ມຂຶ້ນກັບ --type-naming
ແລະ --function-nameing ທາງເລືອກ. ການສະແດງອອກທີ່ສະຫນອງໃຫ້ກັບ --*-regex ທາງເລືອກໃນການ
ຖືກປະເມີນກ່ອນການສະແດງອອກທີ່ໄດ້ກໍານົດໄວ້ລ່ວງໜ້າ. ອັນນີ້ອະນຸຍາດໃຫ້ທ່ານເລືອກແທນທີ່
ການຫັນປ່ຽນບາງອັນ ຫຼືທັງໝົດທີ່ກຳນົດໄວ້ລ່ວງໜ້າ. ໃນເວລາທີ່ debugging ການສະແດງອອກຂອງທ່ານເອງ, ມັນແມ່ນ
ມັກຈະເປັນປະໂຫຍດເພື່ອເບິ່ງວ່າສໍານວນທີ່ກົງກັບຊື່ໃດ. ໄດ້ --name-regex-trace ທາງເລືອກ
ອະນຸຍາດໃຫ້ທ່ານຕິດຕາມຂະບວນການຂອງການນໍາໃຊ້ສໍານວນປົກກະຕິກັບຊື່.
ມູນຄ່າ ສຳ ລັບ --*-regex ທາງເລືອກຄວນຈະເປັນການສະແດງອອກປົກກະຕິ perl ໃນຮູບແບບ
/ຮູບແບບ/ການທົດແທນ/. ຕົວອັກສອນໃດກໍໄດ້ສາມາດໃຊ້ເປັນຕົວຂັ້ນແທນ /. ໜີ
ຂອງຕົວອັກສອນຕົວຂັ້ນໃນ ຮູບແບບ or ການທົດແທນ ບໍ່ຮອງຮັບ. ປົກກະຕິທັງໝົດ
ການສະແດງຜົນຂອງແຕ່ລະໝວດໝູ່ຈະຖືກຍູ້ເຂົ້າໄປໃນ stack ສະເພາະໝວດໝູ່ກັບອັນສຸດທ້າຍ
ການສະແດງອອກທີ່ລະບຸໄວ້ພິຈາລະນາກ່ອນ. ການແຂ່ງຂັນຄັ້ງທໍາອິດທີ່ປະສົບຜົນສໍາເລັດແມ່ນຖືກນໍາໃຊ້. ສໍາລັບ
--one-accessor-regex (ຜູ້ເຂົ້າເຖິງທີ່ມີ cardinality ຫນຶ່ງ), --opt-accessor-regex (ຜູ້ເຂົ້າໃຊ້
ມີ cardinality ທາງເລືອກ), ແລະ --seq-accessor-regex (ຜູ້ເຂົ້າເຖິງທີ່ມີລໍາດັບ cardinality)
ປະເພດ --accessor-regex ການສະແດງອອກແມ່ນໃຊ້ເປັນຕົວຫຍໍ້. ສໍາລັບ --ຫນຶ່ງ-
modifier-regex, --opt-modifier-regex, ແລະ --seq-modifier-regex ປະເພດ --ປັບປຸງແກ້ໄຂ-
regex ການສະແດງອອກແມ່ນໃຊ້ເປັນຕົວຫຍໍ້. ສໍາລັບ --element-type-regex ປະເພດ
--type-regex ການສະແດງອອກແມ່ນໃຊ້ເປັນຕົວຫຍໍ້.
ການສະແດງອອກຂອງຊື່ປະເພດ (--type-regex) ຖືກປະເມີນຢູ່ໃນສາຍຊື່ທີ່ມີ
ຮູບແບບດັ່ງຕໍ່ໄປນີ້:
[namespace ]ຊື່[,ຊື່][,ຊື່][,ຊື່]
ປະເພດຂອງອົງປະກອບການສະແດງອອກຊື່ (--element-type-regex), ປະສິດທິຜົນພຽງແຕ່ໃນເວລາທີ່
--generate-element-type ທາງເລືອກແມ່ນໄດ້ລະບຸໄວ້, ຖືກປະເມີນຢູ່ໃນສາຍຊື່ທີ່ມີ
ຮູບແບບດັ່ງຕໍ່ໄປນີ້:
namespace ຊື່
ໃນຮູບແບບຊື່ປະເພດ namespace ສ່ວນທີ່ຕິດຕາມມາດ້ວຍຊ່ອງຫວ່າງແມ່ນມີພຽງແຕ່ສໍາລັບທົ່ວໂລກ
ພິມຊື່. ສໍາລັບປະເພດ ແລະອົງປະກອບທົ່ວໂລກທີ່ກຳນົດໄວ້ໃນ schemas ໂດຍບໍ່ມີ namespace ເປົ້າໝາຍ,
ໄດ້ namespace ບາງສ່ວນແມ່ນຫວ່າງເປົ່າ ແຕ່ພື້ນທີ່ຍັງຢູ່. ໃນຮູບແບບຊື່ປະເພດຫຼັງຈາກ
ໃນເບື້ອງຕົ້ນ ຊື່ ອົງປະກອບ, ເຖິງສາມເພີ່ມເຕີມ ຊື່ ອົງປະກອບສາມາດມີຢູ່,
ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ. ຍົກຕົວຢ່າງ:
http://example.com/hello ປະເພດ
ຟູ
foo, iterator
foo, const, iterator
ຊຸດຕໍ່ໄປນີ້ຂອງການສະແດງຜົນປົກກະຕິທີ່ໄດ້ກໍານົດໄວ້ລ່ວງໜ້າແມ່ນໃຊ້ເພື່ອປ່ຽນຊື່ປະເພດເມື່ອ
ສົນທິສັນຍາການຕັ້ງຊື່ຕົວພິມໃຫຍ່ຂອງອູດຖືກເລືອກ:
/(?:[^ ]* )?([^,]+)/\u$1/
/(?:[^ ]* )?([^,]+),([^,]+)/\u$1\u$2/
/(?:[^ ]* )?([^,]+),([^,]+),([^,]+)/\u$1\u$2\u$3/
/(?:[^ ]* )?([^,]+),([^,]+),([^,]+),([^,]+)/\u$1\u$2\u$3\u$4/
ການສະແດງອອກຂອງຕົວເຊື່ອມຕໍ່ ແລະຕົວແກ້ໄຂ (--*accessor-regex ແລະ --* modifier-regex) ແມ່ນ
ການປະເມີນຜົນໃນສາຍຊື່ທີ່ມີຮູບແບບດັ່ງຕໍ່ໄປນີ້:
ຊື່[,ຊື່][,ຊື່]
ຫລັງຈາກເບື້ອງຕົ້ນ ຊື່ ອົງປະກອບ, ເຖິງສອງເພີ່ມເຕີມ ຊື່ ອົງປະກອບສາມາດມີຢູ່,
ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ. ຍົກຕົວຢ່າງ:
ຟູ
dom, ເອກະສານ
foo,ຄ່າເລີ່ມຕົ້ນ,ຄ່າ
ຊຸດຕໍ່ໄປນີ້ຂອງການສະແດງຜົນປົກກະຕິທີ່ໄດ້ກໍານົດໄວ້ລ່ວງໜ້າແມ່ນໃຊ້ເພື່ອປ່ຽນຊື່ຜູ້ເຂົ້າໃຊ້
ໃນເວລາທີ່ java ສົນທິສັນຍາການຕັ້ງຊື່ຖືກເລືອກ:
/([^,]+)/get\u$1/
/([^,]+),([^,]+)/get\u$1\u$2/
/([^,]+),([^,]+),([^,]+)/get\u$1\u$2\u$3/
ສໍາລັບ parser, serializer, ແລະ enumerator ປະເພດ, ປົກກະຕິທີ່ສອດຄ້ອງກັນ.
ການສະແດງອອກແມ່ນຖືກປະເມີນຢູ່ໃນຊື່ທ້ອງຖິ່ນຂອງອົງປະກອບແລະມູນຄ່າ enumeration,
ຕາມລໍາດັບ. ຕົວຢ່າງ, ການສະແດງອອກປົກກະຕິຕໍ່ໄປນີ້ແມ່ນຖືກນໍາໃຊ້ເພື່ອ
ຫັນປ່ຽນຊື່ຟັງຊັນ parsing ໃນເວລາທີ່ java ສົນທິສັນຍາການຕັ້ງຊື່ຖືກເລືອກ:
/.+)/parse\u$1/
ໝວດໝູ່ const ແມ່ນໃຊ້ເພື່ອສ້າງຊື່ຄົງທີ່ C++ ສຳລັບອົງປະກອບ/wildcard/text
ids ເນື້ອໃນຢູ່ໃນປະເພດຄໍາສັ່ງ.
ເບິ່ງພາກສ່ວນ REGEX ແລະ Shell QuOTING ຂ້າງລຸ່ມນີ້.
TYPE ແຜນທີ່
ໄຟລ໌ແຜນທີ່ປະເພດແມ່ນໃຊ້ໃນ C++/Parser ເພື່ອກໍານົດແຜນທີ່ລະຫວ່າງ XML Schema ແລະ C++
ປະເພດ. compiler ໃຊ້ຂໍ້ມູນນີ້ເພື່ອກໍານົດປະເພດຂອງການກັບຄືນຂອງ post_*
ຟັງຊັນໃນ parser skeletons ທີ່ສອດຄ້ອງກັບປະເພດ XML Schema ເຊັ່ນດຽວກັນກັບປະເພດ argument
ສໍາລັບການເອີ້ນຄືນທີ່ສອດຄ້ອງກັບອົງປະກອບແລະຄຸນລັກສະນະຂອງປະເພດເຫຼົ່ານີ້.
compiler ມີຊຸດຂອງກົດລະບຽບການສ້າງແຜນທີ່ທີ່ກໍານົດໄວ້ລ່ວງຫນ້າທີ່ສ້າງໃນແຜນທີ່ປະເພດ XML Schema ກັບ
ປະເພດ C++ ທີ່ເຫມາະສົມ (ປຶກສາຫາລືຂ້າງລຸ່ມນີ້) ແລະປະເພດອື່ນໆທັງຫມົດເພື່ອ void. ໂດຍການສະຫນອງຂອງທ່ານເອງ
ພິມແຜນທີ່ທີ່ທ່ານສາມາດ override ກົດລະບຽບທີ່ກໍານົດໄວ້ລ່ວງຫນ້າເຫຼົ່ານີ້. ຮູບແບບຂອງໄຟລ໌ແຜນທີ່ປະເພດແມ່ນ
ນໍາສະເຫນີຂ້າງລຸ່ມນີ້:
namespace schema-namespace [ cxx-namespace ]
{
( ປະກອບດ້ວຍ ຊື່ເອກະສານ; )*
([ ປະເພດ ] ປະເພດ schema cxx-ret-type [ cxx-arg-type ]; )*
}
ທັງສອງ schema-namespace ແລະ ປະເພດ schema ແມ່ນຮູບແບບ regex ໃນຂະນະທີ່ cxx-namespace, cxx-ret-
ປະເພດ, ແລະ cxx-arg-type ແມ່ນການທົດແທນຮູບແບບ regex. ຊື່ທັງໝົດສາມາດເລືອກໄດ້
ຍົກຕົວຢ່າງໃນ " ", ເພື່ອປະກອບມີຊ່ອງຂາວ.
schema-namespace ກໍານົດ XML Schema namespace. ທາງເລືອກ cxx-namespace ແມ່ນ prefixed ກັບ
ທຸກໆຊື່ປະເພດ C++ ໃນການປະກາດ namespace ນີ້. cxx-ret-type ແມ່ນ C ++ ຊື່ປະເພດທີ່
ຖືກນໍາໃຊ້ເປັນປະເພດກັບຄືນສໍາລັບ post_* ຫນ້າທີ່. ທາງເລືອກ cxx-arg-type ເປັນການໂຕ້ຖຽງ
ປະເພດສໍາລັບຫນ້າທີ່ callback ທີ່ສອດຄ້ອງກັນກັບອົງປະກອບແລະຄຸນລັກສະນະຂອງປະເພດນີ້. ຖ້າ cxx-
ປະເພດ arg ບໍ່ໄດ້ລະບຸໄວ້, ມັນຕັ້ງໄວ້ໃນຕອນຕົ້ນ cxx-ret-type if cxx-ret-type ຈົບລົງດ້ວຍ * or &
(ນັ້ນແມ່ນ, ມັນເປັນຕົວຊີ້ຫຼືການອ້າງອີງ) ແລະ const cxx-ret-type& ຖ້າບໍ່ດັ່ງນັ້ນ. ຊື່ເອກະສານ is
ຊື່ໄຟລ໌ຢູ່ໃນຮູບແບບ " " ຫຼື < > ແລະຖືກເພີ່ມໃສ່ດ້ວຍ #include ທິດທາງ
ລະຫັດທີ່ສ້າງຂຶ້ນ.
ໄດ້ # ຕົວອັກສອນເລີ່ມຕົ້ນຄຳເຫັນທີ່ລົງທ້າຍດ້ວຍແຖວໃໝ່ ຫຼືຈຸດສິ້ນສຸດຂອງໄຟລ໌. ເພື່ອລະບຸ ກ
ຊື່ທີ່ປະກອບດ້ວຍ # ຫຸ້ມມັນຢູ່ໃນ "". ຍົກຕົວຢ່າງ:
namespace http://www.example.com/xmlns/my my
{
ປະກອບມີ "my.hxx";
# ຜ່ານແອັບເປີ້ນດ້ວຍຄ່າ.
#
apple ຫມາກໂປມ;
# ຜ່ານໝາກກ້ຽງເປັນຕົວຊີ້.
#
ສີສົ້ມ orange_t*;
}
ໃນຕົວຢ່າງຂ້າງເທິງ, ສໍາລັບ http://www.example.com/xmlns/my#ສີສົ້ມ ປະເພດ XML Schema, the
ຂອງຂ້ອຍ::orange_t* ປະເພດ C++ ຈະຖືກໃຊ້ເປັນທັງປະເພດຜົນຕອບແທນ ແລະ argument.
ການປະກາດ namespace ຫຼາຍສາມາດຖືກລະບຸໄວ້ໃນໄຟລ໌ດຽວ. ຊ່ອງຊື່
ການປະກາດຍັງສາມາດຖືກຍົກເວັ້ນຢ່າງສົມບູນກັບປະເພດຂອງແຜນທີ່ໃນ schema ໂດຍບໍ່ມີ namespace.
ຕົວຢ່າງ:
ປະກອບມີ "my.hxx";
apple ຫມາກໂປມ;
namespace http://www.example.com/xmlns/my
{
ສີສົ້ມ "const orange_t*";
}
compiler ມີຈໍານວນຂອງກົດລະບຽບແຜນທີ່ກໍານົດໄວ້ລ່ວງຫນ້າທີ່ສາມາດນໍາສະເຫນີເປັນ
ຕິດຕາມໄຟລ໌ແຜນທີ່. ປະເພດ XML Schema ທີ່ມີໂຄງສ້າງຢູ່ໃນສະຕຣິງແມ່ນໄດ້ຖືກແຜນທີ່ເປັນອັນໃດນຶ່ງ
std::string or std::wstring ຂຶ້ນກັບປະເພດຕົວອັກສອນທີ່ເລືອກດ້ວຍ --char-type
ທາງເລືອກ (char ໂດຍຄ່າເລີ່ມຕົ້ນ).
namespace http://www.w3.org/2001/XMLSchema
{
boolean bool bool ;
byte "ເຊັນ char" "ເຊັນ char";
unsignedByte "unsigned char" "unsigned char";
ສັ້ນສັ້ນສັ້ນ;
unsignedShort "unsigned short" "unsigned short";
int int int;
unsignedInt "unsigned int" "unsigned int";
ຍາວ “ຍາວ” “ຍາວ”;
unsignedLong "unsigned long long" "unsigned long long";
integer "ຍາວຍາວ" "ຍາວຍາວ";
negativeInteger "ຍາວຍາວ" "ຍາວຍາວ";
nonPositiveInteger "ຍາວຍາວ" "ຍາວຍາວ";
positiveInteger "unsigned long long" "unsigned long long";
nonNegativeInteger "unsigned long long" "unsigned long long";
float float ລອຍ;
double double double;
ທົດສະນິຍົມ double double;
string std::string;
normalizedString std::string;
token std::string;
ຊື່ std::string;
NMTOKEN std::string;
NCNname std::string;
ID std::string;
IDREF std::string;
ພາສາ std::string;
anyURI std::string;
NMTOKENS xml_schema::string_sequence;
IDREFS xml_schema::string_sequence;
QName xml_schema::qname;
base64Binary std::auto_ptr
std::auto_ptr ;
hexBinary std::auto_ptr
std::auto_ptr ;
ວັນທີ xml_schema::ວັນທີ;
dateTime xml_schema::date_time;
ໄລຍະເວລາ xml_schema::ໄລຍະເວລາ;
gDay xml_schema::gday;
gMonth xml_schema::gmonth;
gMonthDay xml_schema::gmonth_day;
gYear xml_schema::gyear;
gYearMonth xml_schema::gyear_month;
time xml_schema::ເວລາ;
}
ກົດລະບຽບທີ່ກໍານົດໄວ້ລ່ວງຫນ້າສຸດທ້າຍເຮັດແຜນທີ່ທຸກສິ່ງທຸກຢ່າງທີ່ບໍ່ໄດ້ມີແຜນທີ່ໂດຍກົດລະບຽບທີ່ຜ່ານມາເພື່ອ void:
namespace .*
{
.* void void;
}
ໃນເວລາທີ່ທ່ານສະຫນອງແຜນທີ່ປະເພດຂອງທ່ານເອງກັບ --type-map ທາງເລືອກ, ພວກເຂົາຖືກປະເມີນກ່ອນ.
ອັນນີ້ອະນຸຍາດໃຫ້ທ່ານເລືອກລົບລ້າງກົດລະບຽບທີ່ກໍານົດໄວ້ກ່ອນ.
REGEX ແລະ SHELL ອ້າງອີງ
ເມື່ອເຂົ້າໄປໃນການໂຕ້ຖຽງການສະແດງອອກປົກກະຕິໃນເສັ້ນຄໍາສັ່ງ shell ມັນມັກຈະເປັນ
ມີຄວາມຈໍາເປັນທີ່ຈະໃຊ້ການອ້າງອີງ (ການປິດການໂຕ້ຖຽງໃນ "" ຫຼື ') ເພື່ອປ້ອງກັນບໍ່ໃຫ້
shell ຈາກການຕີຄວາມຫມາຍຕົວອັກສອນທີ່ແນ່ນອນ, ສໍາລັບການຍົກຕົວຢ່າງ, spaces ເປັນຕົວແຍກ argument ແລະ
$ ເປັນການຂະຫຍາຍຕົວແປ.
ແຕ່ຫນ້າເສຍດາຍ, ມັນເປັນການຍາກທີ່ຈະບັນລຸໄດ້ໃນລັກສະນະທີ່ Portable ໃນທົ່ວ POSIX shells,
ເຊັ່ນທີ່ພົບເຫັນຢູ່ໃນ GNU/Linux ແລະ UNIX, ແລະ Windows shell. ຕົວຢ່າງ, ຖ້າເຈົ້າໃຊ້ ""
ສໍາລັບການອ້າງອີງທ່ານຈະໄດ້ຮັບຜົນທີ່ບໍ່ຖືກຕ້ອງກັບ POSIX shells ຖ້າການສະແດງອອກຂອງທ່ານມີ $.
ວິທີມາດຕະຖານຂອງການຈັດການກັບສິ່ງນີ້ໃນລະບົບ POSIX ແມ່ນການໃຊ້ ' ' ແທນ.
ແຕ່ຫນ້າເສຍດາຍ, Windows shell ບໍ່ເອົາ ' ' ອອກຈາກ arguments ເມື່ອພວກມັນຖືກສົ່ງກັບ
ຄໍາຮ້ອງສະຫມັກ. ດັ່ງນັ້ນ, ທ່ານອາດຈະຕ້ອງໃຊ້ ' ' ສໍາລັບ POSIX ແລະ " " ສໍາລັບ Windows ($ ບໍ່ແມ່ນ
ຖືວ່າເປັນລັກສະນະພິເສດໃນ Windows).
ອີກທາງເລືອກ, ທ່ານສາມາດບັນທຶກຕົວເລືອກການສະແດງອອກປົກກະຕິເຂົ້າໄປໃນໄຟລ໌, ທາງເລືອກຫນຶ່ງຕໍ່ແຖວ,
ແລະໃຊ້ໄຟລ໌ນີ້ກັບ --options-file ທາງເລືອກ. ດ້ວຍວິທີການນີ້, ທ່ານບໍ່ຈໍາເປັນຕ້ອງ
ກັງວົນກ່ຽວກັບການອ້າງອີງເປືອກ.
ທິດສະດີວິທະຍາ
ຖ້າໄຟລ໌ປ້ອນຂໍ້ມູນບໍ່ແມ່ນຄໍານິຍາມ W3C XML Schema ທີ່ຖືກຕ້ອງ, xsdcxx ຈະອອກການວິນິດໄສ
ຂໍ້ຄວາມຫາ ສະດຸດ ແລະອອກດ້ວຍລະຫັດອອກທີ່ບໍ່ແມ່ນສູນ.
ໃຊ້ xsdcxx ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net