ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

xsdcxx - ອອນລາຍໃນຄລາວ

ແລ່ນ xsdcxx ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ 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


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    CMU Sphinx
    CMU Sphinx
    CMUSphinx ເປັນລໍາໂພງເອກະລາດຂະຫນາດໃຫຍ່
    ການຮັບຮູ້ສຽງເວົ້າຢ່າງຕໍ່ເນື່ອງຂອງຄໍາສັບ
    ປ່ອຍອອກມາພາຍໃຕ້ໃບອະນຸຍາດແບບ BSD. ມັນ​ແມ່ນ
    ຍັງເປັນການເກັບກໍາຂອງເຄື່ອງມືແຫຼ່ງເປີດ ...
    ດາວໂຫລດ CMU Sphinx
  • 2
    PyScripter
    PyScripter
    PyScripter ເປັນ Python ແຫຼ່ງເປີດ
    ສະພາບແວດລ້ອມການພັດທະນາແບບປະສົມປະສານ (IDE)
    ສ້າງຂຶ້ນດ້ວຍຄວາມທະເຍີທະຍານທີ່ຈະກາຍເປັນ
    ແຂ່ງຂັນໃນການເຮັດວຽກກັບ
    ການ​ຄ້າ​ຂ້າ​ພະ​ເຈົ້າ ...
    ດາວໂຫລດ PyScripter
  • 3
    ເກົ່າ Feren OS Repositories
    ເກົ່າ Feren OS Repositories
    ນີ້ແມ່ນບ່ອນເກັບມ້ຽນຢ່າງເປັນທາງການສໍາລັບ
    Feren OS. ເພື່ອເພີ່ມອັນຫຼ້າສຸດ, ໃຫ້ແລ່ນ
    ຄໍາສັ່ງນີ້: (16.04-based) echo
    "ເດບ...
    ດາວໂຫລດ Old Feren OS Repositories
  • 4
    OmegaT - multiplatform CAT tool
    OmegaT - multiplatform CAT tool
    OmegaT ເປັນແຫຼ່ງຟຣີ ແລະເປີດ
    Multiplatform Computer Assisted
    ເຄື່ອງ​ມື​ການ​ແປ​ພາ​ສາ​ທີ່​ມີ​ການ​ຈັບ​ຄູ່ fuzzy​,
    ຫນ່ວຍຄວາມຈໍາການແປພາສາ, ຊອກຫາຄໍາສໍາຄັນ,
    ຄໍາ​ສັບ​ປະ​ດາ​, ແລະ tran ...
    ດາວໂຫລດ OmegaT - multiplatform CAT tool
  • 5
    butt (ອອກອາກາດໂດຍໃຊ້ເຄື່ອງມືນີ້)
    butt (ອອກອາກາດໂດຍໃຊ້ເຄື່ອງມືນີ້)
    butt (ອອກອາກາດໂດຍໃຊ້ເຄື່ອງມືນີ້) ເປັນ
    ງ່າຍ​ທີ່​ຈະ​ນໍາ​ໃຊ້​, ເຄື່ອງ​ມື​ນ​້​ໍ​າ OS ຫຼາຍ​. ມັນ
    ສະຫນັບສະຫນູນ ShoutCast ແລະ IceCast ແລະແລ່ນ
    ໃນ Linux, MacOS ແລະ Windows. ຕົ້ນ​ຕໍ pu...
    ດາວໂຫລດ butt (ອອກອາກາດໂດຍໃຊ້ເຄື່ອງມືນີ້)
  • 6
    JavaVi - vi/vim ບັນນາທິການ clone
    JavaVi - vi/vim ບັນນາທິການ clone
    jVi ແມ່ນ clone ບັນນາທິການ vi/vim ສ້າງຂຶ້ນໃນ
    ເທິງສຸດຂອງແພັກເກັດ javax.swing.text.
    ມີໃຫ້ສໍາລັບ NetBeans ແລະ JBuilder. jVi
    ໄດ້ຖືກອອກແບບເພື່ອໄວແລະງ່າຍດາຍ
    ປະສົມປະສານ ...
    ດາວໂຫລດ JavaVi - vi/vim editor clone
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad