EnglishFrenchSpanyol

Ad


Favicon OnWorks

xsdcxx - Dalam talian dalam Awan

Jalankan xsdcxx dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan xsdcxx yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


xsdcxx - Skema XML W3C kepada Pengkompil C++

SINOPSIS


xsdcxx arahan [ pilihan ] fail [ fail ...]
xsdcxx membantu [ arahan ]
xsdcxx versi

DESCRIPTION


xsdcxx menjana pemetaan C++ khusus perbendaharaan kata, jenis statik daripada Skema XML W3C
takrifan. Pemetaan khusus untuk dihasilkan dipilih oleh a arahan. Setiap pemetaan mempunyai a
bilangan khusus pemetaan pilihan yang sepatutnya muncul, jika ada, selepas arahan. Input
fail mestilah definisi Skema XML W3C. Set sebenar fail yang dihasilkan bergantung
pada pemetaan dan pilihan yang dipilih.

PERINTAH


pokok cxx
Hasilkan pemetaan C++/Tree. Untuk setiap fail input dalam borang nama.xsd yang
fail C++ berikut dijana: nama.hxx (fail pengepala), nama.ixx (fail sebaris,
dijana hanya jika --jana-sebaris pilihan ditentukan), nama.cxx (Sumber
fail), dan nama-fwd.hxx (fail pengisytiharan ke hadapan, dijana hanya jika
--jana-ke hadapan pilihan ditentukan).

cxx-parser
Hasilkan pemetaan C++/Parser. Untuk setiap fail input dalam borang nama.xsd yang
fail C++ berikut dijana: nama-pskel.hxx (fail pengepala rangka parser),
nama-pskel.ixx (fail sebaris rangka parser, dijana hanya jika fail --jana-
sebaris pilihan ditentukan), dan nama-pskel.cxx (fail sumber rangka parser). Jika
yang --generate-noop-impl or --generate-print-impl pilihan ditentukan, iaitu
berikut fail pelaksanaan sampel tambahan dijana: name-pimpl.hxx
(fail pengepala pelaksanaan parser) dan name-pimpl.cxx (pelaksanaan parser
fail sumber). Sekiranya --generate-test-driver pilihan ditentukan, tambahan
nama-pemandu.cxx fail pemandu ujian dihasilkan.

membantu Cetak maklumat penggunaan dan keluar. guna

xsdcxx membantu arahan

untuk bantuan khusus perintah.

versi
Versi cetak dan keluar.

PILIHAN


Khusus perintah pilihan, jika ada, akan muncul selepas yang sepadan arahan.

biasa pilihan
--std versi
Tentukan standard C++ yang harus dipatuhi oleh kod yang dihasilkan. Nilai yang sah
adalah c ++ 98 (lalai) dan c ++ 11.

Piawaian C++ mempengaruhi pelbagai aspek kod yang dijana yang dibincangkan
dengan lebih terperinci dalam pelbagai dokumentasi khusus pemetaan. Secara keseluruhan, apabila C++11 adalah
dipilih, kod yang dijana bergantung pada semantik dan kegunaan pergerakan std::unique_ptr
bukannya usang std::auto_ptr.

Apabila mod C++11 dipilih, anda biasanya tidak perlu melakukan sebarang langkah tambahan
selain mendayakan C++11 dalam pengkompil C++ anda, jika diperlukan. Pengkompil XSDCXX akan
menambah secara automatik takrifan makro yang diperlukan pada fail pengepala yang dijana itu
akan menukar perpustakaan masa jalan XSDCXX pengepala sahaja (libxsd) ke mod C++11.
Walau bagaimanapun, jika anda memasukkan mana-mana pengepala masa jalan XSDCXX terus dalam anda
aplikasi (biasanya anda hanya memasukkan tajuk yang dijana), maka anda perlu
untuk mentakrifkan XSD_CXX11 makro untuk keseluruhan projek anda.

--jenis-char jenis
Hasilkan kod menggunakan aksara yang disediakan jenis bukannya lalai tangki. sah
nilai adalah tangki and wchar_t.

--char-encoding enc
Tentukan pengekodan aksara yang harus digunakan dalam kod yang dijana. sah
nilai untuk tangki jenis watak ialah utf8 (lalai), iso8859-1, lcp (Xerces-C++
halaman kod tempatan), dan adat. Jika anda lulus adat sebagai nilai yang anda perlukan
untuk memasukkan pengepala pelaksanaan transkoder untuk pengekodan anda pada mulanya
daripada fail pengepala yang dijana (lihat --hxx-prolog pilihan).

Bagi wchar_t jenis aksara satu-satunya nilai yang sah ialah auto dan pengekodan adalah
dipilih secara automatik antara UTF-16 dan UTF-32/UCS-4, bergantung pada wchar_t
saiz jenis.

--output-dir dir
Tulis fail yang dihasilkan ke dir bukannya direktori semasa.

--jana-sebaris
Hasilkan fungsi mudah sebaris. Pilihan ini mencetuskan penciptaan fail sebaris.

--generate-xml-schema
Hasilkan fail pengepala C++ seolah-olah skema yang disusun mentakrifkan Skema XML
ruang nama. Untuk pemetaan C++/Tree, fail yang terhasil akan mengandungi definisi
untuk semua jenis terbina dalam Skema XML. Untuk pemetaan C++/Parser, fail yang terhasil
akan mengandungi definisi untuk semua rangka penghurai dan pelaksanaan
sepadan dengan jenis terbina dalam Skema XML.

Fail skema yang diberikan kepada pengkompil tidak perlu wujud dan hanya digunakan untuk terbitan
nama fail pengepala yang terhasil. Menggunakan --extern-xml-schema pilihan untuk
masukkan fail ini dalam fail yang dijana untuk skema lain.

--extern-xml-schema fail
Sertakan fail pengepala yang diperoleh daripada fail bukannya menjana Skema XML
pemetaan ruang nama sebaris. Fail yang disediakan tidak perlu wujud dan hanya digunakan untuk
terbitkan nama fail pengepala yang disertakan. Menggunakan --generate-xml-schema pilihan
untuk menjana fail pengepala ini.

--peta-ruang nama xns=cns
Ruang nama Skema XML Peta xns ke ruang nama C++ cns. Ulangi pilihan ini untuk menentukan
pemetaan untuk lebih daripada satu ruang nama Skema XML. Sebagai contoh, pilihan berikut:

--peta-ruang nama http://example.com/foo/bar=foo::bar

Akan memetakan http://example.com/foo/bar Ruang nama Skema XML ke foo::bar C + +
ruang nama.

--ruang nama-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah ruang nama Skema XML
nama kepada nama ruang nama C++. regex ialah ungkapan biasa seperti Perl dalam bentuk
/pola/penggantian/. Sebarang aksara boleh digunakan sebagai pembatas dan bukannya /.
Melarikan diri daripada watak pembatas dalam pola or penggantian tidak disokong.

Semua ungkapan biasa ditolak ke dalam timbunan dengan yang terakhir ditentukan
ungkapan dipertimbangkan terlebih dahulu. Perlawanan pertama yang berjaya digunakan. biasa
ungkapan digunakan pada rentetan dalam bentuk

nama fail ruang nama

Sebagai contoh, jika anda mempunyai fail hello.xsd dengan ruang nama http://example.com/hello and
anda lari xsd pada fail ini, maka rentetan yang dimaksudkan ialah:

hello.xsd. http://example.com/hello

Untuk ruang nama Skema XML terbina dalam rentetannya ialah:

XMLSchema.xsd http://www.w3.org/2001/XMLSchema

Tiga langkah berikut dilakukan untuk setiap ungkapan biasa sehingga perlawanan
ditemui:

1. Ungkapan digunakan dan jika hasilnya kosong ungkapan seterusnya ialah
dipertimbangkan.

2. ruang / diganti dengan ::.

3. Hasilnya disahkan sebagai nama skop C++ yang sah (cth, foo::bar). Sekiranya ini
ujian berjaya, hasilnya digunakan sebagai nama ruang nama C++.

Sebagai contoh, ungkapan berikut memetakan ruang nama Skema XML dalam bentuk
http://example.com/foo/bar kepada ruang nama C++ dalam bentuk foo::bar:

%.* http://example.com/(.+)%$1%

Lihat juga bahagian REGEX DAN SHELL PETIKAN di bawah.

--namespace-regex-trace
Jejaki proses menggunakan ungkapan biasa yang ditentukan dengan --ruang nama-
regex pilihan. Gunakan pilihan ini untuk mengetahui sebab ungkapan biasa anda tidak berkesan
apa yang anda harapkan mereka lakukan.

--nama-terpelihara n[=r]
Tambah nama n kepada senarai nama yang tidak boleh digunakan sebagai pengecam. Nama
pilihan boleh diikuti oleh = dan nama pengganti r yang sepatutnya digunakan
sebaliknya. Semua kata kunci C++ sudah ada dalam senarai ini.

--termasuk-dengan-kurungan
Gunakan kurungan sudut (<>) dan bukannya petikan ("") dalam yang dihasilkan #include arahan.

--include-prefix awalan
Tambah awalan untuk dijana #include laluan arahan.

Contohnya, jika anda mempunyai elemen import berikut dalam skema anda

<import ruang nama="..." schemaLocation="base.xsd"/>

dan menyusun serpihan ini dengan --include-prefix skema/, maka termasuk
arahan dalam kod yang dihasilkan ialah:

#include "schemas/base.hxx"

--include-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk mengubah #include arahan
laluan. regex ialah ungkapan biasa seperti Perl dalam bentuk /pola/penggantian/.
Sebarang aksara boleh digunakan sebagai pembatas dan bukannya /. Melarikan diri dari pembatas
watak dalam pola or penggantian tidak disokong.

Semua ungkapan biasa ditolak ke dalam timbunan dengan yang terakhir ditentukan
ungkapan dipertimbangkan terlebih dahulu. Perlawanan pertama yang berjaya digunakan.

Sebagai contoh, ungkapan berikut mengubah laluan dalam bentuk
skema/foo/bar kepada laluan dalam bentuk dihasilkan/foo/bar:

%schemas/(.+)%generated/$1%

Lihat juga bahagian REGEX DAN SHELL PETIKAN di bawah.

--include-regex-trace
Jejaki proses menggunakan ungkapan biasa yang ditentukan dengan --termasuk-
regex pilihan. Gunakan pilihan ini untuk mengetahui sebab ungkapan biasa anda tidak berkesan
apa yang anda harapkan mereka lakukan.

--pengawal-awalan awalan
Tambah awalan kepada pengawal kemasukan pengepala yang dijana. Awalan ditukar kepada atas
kes dan aksara yang menyalahi undang-undang dalam nama makro prapemproses digantikan dengan
menggariskan. Jika pilihan ini tidak dinyatakan maka bahagian direktori input
fail skema digunakan sebagai awalan.

--hxx-akhiran akhiran
Gunakan yang disediakan akhiran bukannya lalai .hxx untuk membina nama
fail pengepala. Ambil perhatian bahawa akhiran ini juga digunakan untuk membina nama fail pengepala
sepadan dengan skema yang disertakan/diimport.

--ixx-akhiran akhiran
Gunakan yang disediakan akhiran bukannya lalai .ixx untuk membina nama
fail sebaris.

--cxx-akhiran akhiran
Gunakan yang disediakan akhiran bukannya lalai .cxx untuk membina nama
fail sumber.

--fwd-akhiran akhiran
Gunakan yang disediakan akhiran bukannya lalai -fwd.hxx untuk membina nama
fail pengisytiharan hadapan.

--hxx-regex regex
Gunakan ungkapan yang disediakan untuk membina nama fail pengepala. regex ialah
Ungkapan biasa seperti Perl dalam bentuk /pola/penggantian/. Perhatikan bahawa ini
ungkapan juga digunakan untuk membina nama fail pengepala yang sepadan dengannya
skema disertakan/diimport. Lihat juga bahagian REGEX DAN SHELL PETIKAN di bawah.

--ixx-regex regex
Gunakan ungkapan yang disediakan untuk membina nama fail sebaris. regex ialah
Ungkapan biasa seperti Perl dalam bentuk /pola/penggantian/. Lihat juga REGEX
DAN bahagian PETIKAN SHELL di bawah.

--cxx-regex regex
Gunakan ungkapan yang disediakan untuk membina nama fail sumber. regex ialah
Ungkapan biasa seperti Perl dalam bentuk /pola/penggantian/. Lihat juga REGEX
DAN bahagian PETIKAN SHELL di bawah.

--fwd-regex regex
Gunakan ungkapan yang disediakan untuk membina nama fail pengisytiharan hadapan.
regex ialah ungkapan biasa seperti Perl dalam bentuk /pola/penggantian/. Lihat juga
bahagian REGEX DAN SHELL PETIKAN di bawah.

--hxx-prolog teks
Memasukkan teks pada permulaan fail pengepala.

--ixx-prolog teks
Memasukkan teks pada permulaan fail sebaris.

--cxx-prolog teks
Memasukkan teks pada permulaan fail sumber.

--fwd-prolog teks
Memasukkan teks pada permulaan fail pengisytiharan hadapan.

--prolog teks
Memasukkan teks pada permulaan setiap fail yang dijana yang tiada fail-
prolog tertentu.

--hxx-epilog teks
Memasukkan teks di hujung fail pengepala.

--ixx-epilog teks
Memasukkan teks di hujung fail sebaris.

--cxx-epilog teks
Memasukkan teks pada akhir fail sumber.

--fwd-epilog teks
Memasukkan teks pada akhir fail pengisytiharan hadapan.

--epilog teks
Memasukkan teks pada penghujung setiap fail yang dijana yang tidak mempunyai fail khusus
epilog.

--hxx-prolog-file fail
Masukkan kandungan fail pada permulaan fail pengepala.

--ixx-prolog-fail fail
Masukkan kandungan fail pada permulaan fail sebaris.

--cxx-prolog-file fail
Masukkan kandungan fail pada permulaan fail sumber.

--fwd-prolog-file fail
Masukkan kandungan fail pada permulaan fail pengisytiharan hadapan.

--prolog-fail fail
Masukkan kandungan fail pada permulaan setiap fail yang dijana untuknya
tiada fail prolog khusus fail.

--hxx-epilog-fail fail
Masukkan kandungan fail di hujung fail pengepala.

--ixx-epilog-fail fail
Masukkan kandungan fail di hujung fail sebaris.

--cxx-epilog-fail fail
Masukkan kandungan fail pada akhir fail sumber.

--fwd-epilog-fail fail
Masukkan kandungan fail pada akhir fail pengisytiharan hadapan.

--epilog-fail fail
Masukkan kandungan fail pada akhir setiap fail yang dijana yang ada
tiada fail epilog khusus fail.

--simbol-eksport lambang
Memasukkan lambang di tempat di mana penyata kawalan eksport/import DLL
(__declspec(dllexport/dllimport)) perlu.

--export-xml-schema
Jenis eksport/import dalam ruang nama Skema XML menggunakan simbol eksport yang disediakan
dengan --simbol-eksport pilihan. The XSD_NO_EXPORT makro boleh digunakan untuk meninggalkan ini
kod semasa penyusunan C++, yang mungkin berguna jika anda ingin menggunakan yang sama
menjana kod merentas berbilang platform.

--eksport-peta
Eksport peta sokongan polimorfisme daripada DLL Win32 yang mana kod yang dihasilkan ini
ditempatkan. Ini adalah perlu apabila hierarki jenis anda dibahagikan kepada beberapa DLL
kerana sebaliknya setiap DLL akan mempunyai set petanya sendiri. Dalam keadaan ini
kod yang dijana untuk DLL yang mengandungi jenis asas dan/atau kumpulan penggantian
kepala harus disusun dengan pilihan ini dan kod yang dihasilkan untuk semua DLL lain
harus disusun dengan --import-peta. Pilihan ini hanya sah bersama-sama dengan
--menjana-polimorfik. Yang XSD_NO_EXPORT makro boleh digunakan untuk meninggalkan kod ini
semasa penyusunan C++, yang mungkin berguna jika anda ingin menggunakan yang sama
menjana kod merentas berbilang platform.

--import-peta
Import peta sokongan polimorfisme ke Win32 DLL atau boleh laku di mana ini
kod yang dihasilkan dipautkan. Lihat --eksport-peta dokumentasi pilihan untuk butiran.
Pilihan ini hanya sah bersama-sama dengan --menjana-polimorfik. Yang XSD_NO_EXPORT
makro boleh digunakan untuk meninggalkan kod ini semasa penyusunan C++, yang mungkin berguna jika
anda ingin menggunakan kod yang dijana yang sama merentas berbilang platform.

--jana-dep
Menjana membuat maklumat pergantungan. Pilihan ini mencetuskan penciptaan .d
fail yang mengandungi kebergantungan fail yang dijana pada fail skema utama sebagai
serta semua fail skema yang disertakan/import, secara transitif. ini
fail pergantungan biasanya dimasukkan ke dalam fail utama makefile untuk melaksanakan
penjejakan pergantungan automatik.

Ambil perhatian juga bahawa penjanaan pergantungan automatik tidak disokong dalam fail-per-
jenis mod (--fail-per-jenis). Dalam kes ini, semua fail yang dihasilkan dihasilkan
dengan seruan pengkompil tunggal dan bergantung pada semua skema. Akibatnya, ia adalah
lebih mudah untuk mewujudkan pergantungan sedemikian secara manual, mungkin dengan bantuan
--senarai-fail* pilihan.

--jana-dep-sahaja
Menjana membuat maklumat pergantungan sahaja.

--dep-phony
Hasilkan sasaran palsu untuk fail skema yang disertakan/diimport, menyebabkan setiap satu bergantung
pada apa-apa. Peraturan palsu seperti itu berfungsi membuat kesilapan yang disebabkan oleh penyingkiran
fail skema tanpa mengemas kini fail kebergantungan untuk dipadankan.

--dep-sasaran sasaran
Tukar sasaran peraturan pergantungan. Secara lalai ia mengandungi semua yang dihasilkan
Fail C++ serta fail kebergantungan itu sendiri, tanpa sebarang awalan direktori. Jika
anda memerlukan berbilang sasaran, maka anda boleh menentukannya sebagai satu, ruang-
hujah yang dipisahkan atau anda boleh mengulangi pilihan ini beberapa kali.

--dep-akhiran akhiran
Gunakan yang disediakan akhiran bukannya lalai .d untuk membina nama
fail pergantungan.

--dep-regex regex
Gunakan ungkapan yang disediakan untuk membina nama fail kebergantungan. regex is
ungkapan biasa seperti Perl dalam bentuk /pola/penggantian/. Lihat juga
Bahagian REGEX DAN SHELL PETIKAN di bawah.

--lumpuhkan-amaran memberi amaran kepada
Lumpuhkan amaran pencetakan dengan id memberi amaran kepada. Jika semua ditentukan untuk id amaran kemudian
semua amaran dilumpuhkan.

--pilihan-fail fail
Baca pilihan tambahan daripada fail. Setiap pilihan harus muncul pada baris yang berasingan
pilihan diikuti dengan ruang dan nilai pilihan. Baris dan baris kosong bermula
bersama # tidak diendahkan. Nilai pilihan boleh disertakan dalam dua kali ganda (") atau bujang (')
petikan untuk mengekalkan ruang putih di hadapan dan di belakang serta untuk menentukan kosong
nilai. Jika nilai itu sendiri mengandungi petikan mengekor atau mendahului, sertakan dengan
sepasang petikan tambahan, sebagai contoh '"x"'. Sebut harga tidak mendahului dan tidak mengekori adalah
ditafsirkan sebagai sebahagian daripada nilai pilihan.

Semantik menyediakan pilihan dalam fail adalah bersamaan dengan menyediakan yang sama
set pilihan dalam susunan yang sama pada baris arahan pada titik di mana
--pilihan-fail pilihan ditentukan kecuali shell melarikan diri dan petikan adalah
tidak dikehendaki. Anda boleh mengulangi pilihan ini untuk menentukan lebih daripada satu fail pilihan.

--show-sloc
Tunjukkan bilangan baris sumber fizikal kod (SLOC) yang dijana.

--had-sloc num
Semak bahawa bilangan baris sumber fizikal kod (SLOC) yang dijana tidak
melebihi num.

--lesen proprietari
Nyatakan bahawa kod yang dijana dilesenkan di bawah lesen proprietari dan bukannya
GPL itu.

--huruf-huruf adat fail
Muatkan rentetan XML tersuai ke pemetaan literal C++ daripada fail. Mekanisme ini boleh
berguna jika anda menggunakan pengekodan aksara tersuai dan beberapa rentetan dalam anda
skema, contohnya nama elemen/atribut atau nilai penghitungan, mengandungi bukan-
aksara ASCII. Dalam kes ini, anda perlu menyediakan pemetaan tersuai kepada C++
literal untuk rentetan tersebut. Format fail ini dinyatakan dalam adat-
literals.xsd Fail Skema XML yang boleh didapati dalam direktori dokumentasi.

--pelihara-tanpa nama
Kekalkan jenis tanpa nama. Secara lalai jenis tanpa nama dinamakan secara automatik dengan
nama yang berasal daripada unsur/atribut yang disertakan. Kerana pemetaan dilaksanakan
oleh pengkompil ini memerlukan semua jenis dinamakan, pilihan ini hanya berguna jika anda
ingin memastikan skema anda tidak mempunyai jenis tanpa nama.

--tunjuk-tanpa nama
Tunjukkan elemen dan atribut daripada jenis tanpa nama. Pilihan ini hanya membuat
rasa bersama-sama dengan --pelihara-tanpa nama pilihan.

--anonymous-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk mendapatkan nama tanpa nama
jenis daripada atribut/elemen yang disertakan. regex adalah biasa seperti Perl
ungkapan dalam bentuk /pola/penggantian/. Sebarang watak boleh digunakan sebagai a
pembatas bukannya /. Melarikan diri daripada watak pembatas dalam pola or
penggantian tidak disokong.

Semua ungkapan biasa ditolak ke dalam timbunan dengan yang terakhir ditentukan
ungkapan dipertimbangkan terlebih dahulu. Perlawanan pertama yang berjaya digunakan. biasa
ungkapan digunakan pada rentetan dalam bentuk

nama fail ruang nama xpath

Sebagai contoh:

hello.xsd http://example.com/hello elemen

hello.xsd http://example.com/hello jenis/elemen

Sebagai contoh, ungkapan berikut menjadikan semua nama terbitan bermula dengan
huruf besar. Ini mungkin berguna apabila konvensyen penamaan anda memerlukan jenis
nama untuk dimulakan dengan huruf besar:

%.* .* (.+/)*(.+)%\u$2%

Lihat juga bahagian REGEX DAN SHELL PETIKAN di bawah.

--trace-regex-tanpa nama
Jejaki proses menggunakan ungkapan biasa yang ditentukan dengan --tanpa nama-
regex pilihan. Gunakan pilihan ini untuk mengetahui sebab ungkapan biasa anda tidak berkesan
apa yang anda harapkan mereka lakukan.

--peta lokasi ol=nl
Petakan lokasi skema asal ol yang dinyatakan dalam Skema XML termasuk atau
import elemen ke lokasi skema baharu nl. Ulangi pilihan ini untuk memetakan lebih daripada satu
lokasi skema. Sebagai contoh, pilihan berikut memetakan
http://example.com/foo.xsd URL ke foo.xsd fail tempatan.

--peta lokasi http://example.com/foo.xsd=foo.xsd

--lokasi-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk memetakan lokasi skema yang
yang dinyatakan dalam Skema XML termasuk atau import elemen. regex adalah seperti Perl
ungkapan biasa dalam bentuk /pola/penggantian/. Mana-mana watak boleh digunakan sebagai
pembatas bukannya /. Melarikan diri daripada watak pembatas dalam pola or
penggantian tidak disokong. Semua ungkapan biasa ditolak ke dalam timbunan
dengan ungkapan terakhir yang ditentukan dipertimbangkan dahulu. Perlawanan pertama yang berjaya
digunakan.

Sebagai contoh, ungkapan berikut memetakan lokasi URL dalam bentuk
http://example.com/foo/bar.xsd kepada fail tempatan dalam borang bar.xsd:

%http://.+/(.+)%$1%

Lihat juga bahagian REGEX DAN SHELL PETIKAN di bawah.

--lokasi-regex-trace
Jejaki proses menggunakan ungkapan biasa yang ditentukan dengan --lokasi-
regex pilihan. Gunakan pilihan ini untuk mengetahui sebab ungkapan biasa anda tidak berkesan
apa yang anda harapkan mereka lakukan.

--fail-per-jenis
Hasilkan set berasingan fail C++ untuk setiap jenis yang ditakrifkan dalam Skema XML. Nota
bahawa dalam mod ini anda hanya perlu menyusun skema akar dan kodnya akan menjadi
dijana untuk semua skema yang disertakan dan diimport. Mod kompilasi ini adalah terutamanya
berguna apabila beberapa skema anda tidak boleh disusun secara berasingan atau mempunyai kitaran
tanggungan yang melibatkan pewarisan jenis. Pilihan lain yang berkaitan dengan mod ini
ialah: --type-file-regex, --schema-file-regex, --fail-jenis-gemuk, dan --senarai-fail.

--type-file-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama jenis kepada fail
nama apabila --fail-per-jenis pilihan ditentukan. regex adalah biasa seperti Perl
ungkapan dalam bentuk /pola/penggantian/. Sebarang watak boleh digunakan sebagai a
pembatas bukannya /. Melarikan diri daripada watak pembatas dalam pola or
penggantian tidak disokong. Semua ungkapan biasa ditolak ke dalam timbunan
dengan ungkapan terakhir yang ditentukan dipertimbangkan dahulu. Perlawanan pertama yang berjaya
digunakan. Ungkapan biasa digunakan pada rentetan dalam bentuk

ruang nama jenis-nama

Contohnya, jenis peta ungkapan berikut foo yang ditakrifkan dalam
http://example.com/bar ruang nama kepada nama fail bar-foo:

%http://example.com/(.+) (.+)%$1-$2%

Lihat juga bahagian REGEX DAN SHELL PETIKAN di bawah.

--type-file-regex-trace
Jejaki proses menggunakan ungkapan biasa yang ditentukan dengan --jenis-fail-
regex pilihan. Gunakan pilihan ini untuk mengetahui sebab ungkapan biasa anda tidak berkesan
apa yang anda harapkan mereka lakukan.

--schema-file-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama fail skema
apabila --fail-per-jenis pilihan ditentukan. regex adalah biasa seperti Perl
ungkapan dalam bentuk /pola/penggantian/. Sebarang watak boleh digunakan sebagai a
pembatas bukannya /. Melarikan diri daripada watak pembatas dalam pola or
penggantian tidak disokong. Semua ungkapan biasa ditolak ke dalam timbunan
dengan ungkapan terakhir yang ditentukan dipertimbangkan dahulu. Perlawanan pertama yang berjaya
digunakan. Ungkapan Biasa digunakan pada laluan sistem fail mutlak a
fail skema dan hasilnya, termasuk bahagian direktori, jika ada, digunakan untuk mendapatkan
yang #include laluan arahan serta laluan fail C++ yang dihasilkan. Pilihan ini,
bersama-sama dengan --type-file-regex amat berguna untuk meletakkan fail yang dijana ke dalam
subdirektori atau untuk menyelesaikan konflik nama fail.

Sebagai contoh, ungkapan berikut memetakan fail skema dalam foo/1.0.0/
subdirektori kepada fail dalam foo/ subdirektori. Akibatnya, #include
laluan arahan untuk skema tersebut akan berada dalam foo/schema.hxx bentuk dan
fail C++ yang dihasilkan akan diletakkan ke dalam foo/ subdirektori:

%.*/foo/1.0.0/(.+)%foo/$1%

Lihat juga bahagian REGEX DAN SHELL PETIKAN di bawah.

--schema-file-regex-trace
Jejaki proses menggunakan ungkapan biasa yang ditentukan dengan --fail-skema-
regex pilihan. Gunakan pilihan ini untuk mengetahui sebab ungkapan biasa anda tidak berkesan
apa yang anda harapkan mereka lakukan.

--fail-jenis-gemuk
Hasilkan kod yang sepadan dengan elemen global ke dalam fail jenis dan bukannya skema
fail apabila --type-file-regex pilihan ditentukan. Pilihan ini adalah terutamanya
berguna apabila cuba meminimumkan jumlah kod objek yang dipautkan ke a
boleh dilaksanakan dengan membungkus kod yang dijana yang disusun ke dalam perpustakaan statik (arkib).

--senarai-fail fail
Tulis senarai fail C++ yang dihasilkan ke fail. Pilihan ini berguna terutamanya dalam
mod penyusunan fail setiap jenis (--fail-per-jenis) untuk membuat senarai C++ yang dihasilkan
fail, sebagai contoh, sebagai serpihan makefile.

--fail-senarai-prolog teks
Memasukkan teks pada permulaan senarai fail. Sebagai kemudahan, semua kejadian
yang \n urutan watak dalam teks digantikan dengan baris baru. Pilihan ini boleh, untuk
contoh, digunakan untuk menetapkan senarai fail yang dijana kepada pembolehubah makefile.

--fail-senarai-epilog teks
Memasukkan teks di hujung senarai fail. Sebagai kemudahan, semua kejadian
\n urutan watak dalam teks digantikan dengan baris baru.

--file-list-delim teks
Hadkan nama fail yang ditulis pada senarai fail dengan teks bukannya baris baru. Sebagai
kemudahan, semua kejadian \n urutan watak dalam teks diganti dengan
barisan baharu.

pokok cxx arahan pilihan
--menjana-polimorfik
Hasilkan kod sedar polimorfisme. Nyatakan pilihan ini jika anda menggunakan penggantian
kumpulan atau xsi:jenis. Menggunakan --jenis polimorfik or --jenis-polimorfik-semua pilihan untuk
nyatakan jenis hierarki yang polimorfik.

--jenis polimorfik jenis
Tunjukkan itu jenis ialah punca hierarki jenis polimorfik. Penyusun boleh
selalunya secara automatik menentukan jenis yang polimorfik berdasarkan penggantian
pengisytiharan kumpulan. Walau bagaimanapun, anda mungkin perlu menggunakan pilihan ini jika anda tidak menggunakan
kumpulan penggantian atau jika kumpulan penggantian ditakrifkan dalam skema lain. awak
perlu menentukan pilihan ini apabila menyusun setiap fail skema yang merujuk jenis.
. jenis argumen ialah nama jenis Skema XML yang boleh dipilih sebagai kelayakan
ruang nama dalam ruang nama#nama bentuk.

--jenis-polimorfik-semua
Nyatakan bahawa semua jenis harus dianggap sebagai polimorfik.

--plat polimorfik num
Nyatakan plat peta polimorfik tempat kod yang dijana harus didaftarkan. ini
fungsi terutamanya berguna untuk mengasingkan berbilang skema yang mentakrifkan
jenis polimorfik yang sama.

--jenis-tertib jenis
Nyatakan susunan unsur itu dalam jenis adalah ketara. Contohnya adalah kompleks
taip dengan pilihan tidak terhad sebagai model kandungan yang mempunyai susunan elemen dalam XML
semantik khusus aplikasi. Untuk jenis yang dipesan, pengkompil menghasilkan yang istimewa
ahli data kontena dan set aksesori dan pengubah yang sepadan
digunakan untuk menangkap susunan unsur dan, untuk kandungan campuran, teks.

. jenis argumen ialah nama jenis Skema XML yang boleh dipilih sebagai kelayakan
ruang nama dalam ruang nama#nama bentuk. Perhatikan juga bahawa anda perlu menentukan
pilihan ini apabila menyusun setiap fail skema yang mempunyai jenis tertib lain yang diperoleh
daripada jenis ini.

--tertib-jenis-terbit
Perlakukan secara automatik jenis yang diperoleh daripada pangkalan yang dipesan seperti yang juga dipesan. Ini adalah
amat berguna jika anda ingin dapat mengulangi kandungan yang lengkap
menggunakan bekas pesanan kandungan.

--tertib-jenis-campur
Rawat jenis kompleks dengan kandungan bercampur secara automatik seperti yang dipesan.

--dipesan-jenis-semua
Nyatakan bahawa susunan unsur dalam semua jenis adalah penting.

--pesanan-bekas jenis
Tentukan templat kelas tersuai yang harus digunakan sebagai bekas untuk kandungan
perintah dalam jenis tertib dan bukannya lalai std :: vektor. Lihat --jenis-tertib Untuk
maklumat lanjut tentang jenis pesanan. Pilihan ini berguna terutamanya jika anda perlu
lakukan carian yang lebih kompleks dalam bekas pesanan kandungan, contohnya mengikut elemen
ID. Dalam kes ini, bekas seperti Boost multi-index mungkin lebih mudah. Nota
bahawa jika menggunakan bekas tersuai, anda juga berkemungkinan besar perlu memasukkannya
tajuk yang berkaitan menggunakan --hxx-prolog* pilihan.

--generate-sirialisasi
Menjana fungsi bersiri. Fungsi siri menukar model objek
kembali kepada XML.

--jana-ostream
Hasilkan operator sisipan ostream (pengendali<) untuk jenis yang dijana. Ini membenarkan
satu untuk mencetak serpihan atau keseluruhan model objek dengan mudah untuk penyahpepijatan atau pengelogan.

--jana-doksigen
Hasilkan ulasan dokumentasi yang sesuai untuk pengekstrakan oleh Doxygen
sistem dokumentasi. Dokumentasi daripada anotasi ditambahkan pada ulasan jika
terdapat dalam skema.

--jana-perbandingan
Hasilkan operator perbandingan (pengendali== and pengendali!=) untuk jenis kompleks.
Perbandingan dilakukan mengikut ahli.

--generate-default-ctor
Hasilkan pembina lalai walaupun untuk jenis yang memerlukan ahli. Diperlukan
ahli contoh yang dibina menggunakan pembina sedemikian tidak dimulakan dan
mengaksesnya mengakibatkan tingkah laku yang tidak ditentukan.

--generate-from-base-ctor
Hasilkan pembina yang mengharapkan contoh jenis asas diikuti oleh semua
ahli yang diperlukan.

--menindas-tugasan
Sekat penjanaan operator tugasan salinan untuk jenis kompleks. Jika ini
pilihan ditentukan, operator penugasan salinan untuk jenis tersebut diisytiharkan
persendirian dan dibiarkan tidak dilaksanakan.

--generate-detach
Hasilkan fungsi detach untuk elemen dan atribut yang diperlukan. Tanggalkan fungsi
untuk kardinaliti pilihan dan jujukan disediakan oleh bekas masing-masing.
Fungsi ini, sebagai contoh, membolehkan anda mengalihkan subpokok dalam model objek
sama ada di dalam pokok yang sama atau di antara pokok yang berbeza.

--jana-wildcard
Hasilkan pengakses dan pengubah suai serta penghuraian dan kod bersiri untuk XML
Kad bebas skema (mana-mana and sebarangAtribut). Kandungan XML yang dipadankan dengan kad bebas ialah
dibentangkan sebagai serpihan DOM. Ambil perhatian bahawa anda perlu memulakan masa jalan Xerces-C++
jika anda menggunakan pilihan ini.

--jana-apa-apa-jenis
Ekstrak dan simpan kandungan Skema XML apa-apa jenis taip sebagai serpihan DOM. Nota
bahawa anda perlu memulakan masa jalan Xerces-C++ jika anda menggunakan pilihan ini.

--jana-penyisipan os
Hasilkan operator pemasukan aliran perwakilan data untuk os aliran keluaran
taip. Ulangi pilihan ini untuk menentukan lebih daripada satu jenis aliran. Aliran CDR ACE
(ACE_OutputCDR) dan RPC XDR diiktiraf oleh pengkompil dan yang perlu
#include arahan dijana secara automatik. Untuk jenis strim tersuai gunakan
--hxx-prolog* pilihan untuk menyediakan pengisytiharan yang diperlukan.

--menjana-pengekstrakan is
Hasilkan pembina pengekstrakan aliran perwakilan data untuk is aliran input
taip. Ulangi pilihan ini untuk menentukan lebih daripada satu jenis aliran. Aliran CDR ACE
(ACE_InputCDR) dan RPC XDR diiktiraf oleh pengkompil dan yang perlu
#include arahan dijana secara automatik. Untuk jenis strim tersuai gunakan
--hxx-prolog* pilihan untuk menyediakan pengisytiharan yang diperlukan.

--jana-ke hadapan
Hasilkan fail pengepala berasingan dengan pengisytiharan hadapan untuk jenis yang sedang
dihasilkan.

--menekan-menghurai
Sekat penjanaan fungsi penghuraian dan pembina. Gunakan pilihan ini
untuk mengurangkan saiz kod yang dijana apabila menghuraikan daripada XML tidak diperlukan.

--generate-element-type
Hasilkan jenis dan bukannya fungsi penghuraian dan siri untuk elemen akar.
Ini amat berguna untuk membezakan model objek dengan jenis akar yang sama tetapi
dengan unsur akar yang berbeza.

--jana-elemen-peta
Hasilkan peta elemen akar yang membenarkan penghuraian seragam dan bersiri bagi
berbilang elemen akar. Pilihan ini hanya sah bersama-sama dengan --jana-elemen-
jenis.

--generate-intellisense
Hasilkan penyelesaian untuk pepijat IntelliSense dalam Visual Studio 2005 (8.0). Apabila ini
pilihan digunakan, kod yang terhasil adalah lebih bertele-tele. IntelliSense dalam
Visual Studio 2008 (9.0) dan yang lebih baru tidak memerlukan penyelesaian ini. Sokongan untuk
IntelliSense dalam Visual Studio 2003 (7.1) ditambah baik dengan pilihan ini tetapi masih
tidak lengkap.

--tinggalkan-default-attributes
Abaikan atribut dengan nilai lalai dan tetap daripada dokumen XML bersiri.

--jenis-penamaan gaya
Tentukan konvensyen penamaan jenis yang harus digunakan dalam kod yang dijana. sah
gaya adalah knr (lalai), ucc, dan Java. Lihat bahagian KONVENSYEN PENAMAAN di bawah
untuk maklumat lanjut.

--penamaan fungsi gaya
Tentukan konvensyen penamaan fungsi yang harus digunakan dalam kod yang dijana.
Gaya yang sah adalah knr (lalai), lcc, dan Java. Lihat bahagian KONVENSYEN PENAMAAN
di bawah untuk maklumat lebih lanjut.

--type-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah jenis Skema XML
nama kepada nama taip C++. Lihat bahagian KONVENSYEN PENAMAAN di bawah untuk maklumat lanjut
maklumat.

--accessor-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama Skema XML bagi
elemen/atribut kepada nama fungsi pengakses C++. Lihat KONVENSYEN PENAMAAN
bahagian di bawah untuk maklumat lanjut.

--one-accessor-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama Skema XML bagi
elemen/atribut dengan kardinaliti satu kepada nama fungsi pengakses C++. Lihat
PENAMAAN bahagian KONVENSYEN di bawah untuk maklumat lanjut.

--opt-accessor-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama Skema XML bagi
elemen/atribut dengan kardinaliti pilihan kepada nama fungsi pengakses C++. Lihat
bahagian KONVENSYEN PENAMAAN di bawah untuk maklumat lanjut.

--seq-accessor-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama Skema XML bagi
elemen/atribut dengan urutan kardinaliti kepada nama fungsi pengakses C++. Lihat
bahagian KONVENSYEN PENAMAAN di bawah untuk maklumat lanjut.

--modifier-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama Skema XML bagi
elemen/atribut kepada nama fungsi pengubah suai C++. Lihat KONVENSYEN PENAMAAN
bahagian di bawah untuk maklumat lanjut.

--one-modifier-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama Skema XML bagi
elemen/atribut dengan kardinaliti satu kepada nama fungsi pengubah suai C++. Lihat
PENAMAAN bahagian KONVENSYEN di bawah untuk maklumat lanjut.

--opt-modifier-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama Skema XML bagi
elemen/atribut dengan kardinaliti pilihan kepada nama fungsi pengubah suai C++. Lihat
bahagian KONVENSYEN PENAMAAN di bawah untuk maklumat lanjut.

--seq-modifier-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah nama Skema XML bagi
elemen/atribut dengan urutan kardinaliti kepada nama fungsi pengubah suai C++. Lihat
bahagian KONVENSYEN PENAMAAN di bawah untuk maklumat lanjut.

--parser-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah elemen Skema XML
nama kepada nama fungsi penghuraian C++. Lihat bahagian KONVENSYEN PENAMAAN di bawah untuk
maklumat lanjut.

--serializer-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah elemen Skema XML
nama kepada nama fungsi siri C++. Lihat bahagian KONVENSYEN PENAMAAN di bawah
untuk maklumat lanjut.

--const-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah terbitan Skema XML
nama kepada nama tetap C++. Lihat bahagian KONVENSYEN PENAMAAN di bawah untuk maklumat lanjut
maklumat.

--enumerator-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah Skema XML
nilai enumerasi kepada nama enumerator C++. Lihat bahagian KONVENSYEN PENAMAAN di bawah
untuk maklumat lanjut.

--elemen-jenis-regex regex
Tambah regex kepada senarai ungkapan biasa yang digunakan untuk menterjemah elemen Skema XML
nama kepada nama jenis elemen C++. Lihat bahagian KONVENSYEN PENAMAAN di bawah untuk maklumat lanjut
maklumat.

--nama-regex-trace
Jejaki proses menggunakan ungkapan biasa yang ditentukan dengan nama
pilihan transformasi. Gunakan pilihan ini untuk mengetahui sebab ungkapan biasa anda
jangan lakukan apa yang anda harapkan mereka lakukan.

--unsur-akar-pertama
Anggap hanya elemen global pertama sebagai akar dokumen. Secara lalai semua global
elemen dianggap sebagai akar dokumen.

--elemen-akar-terakhir
Anggap hanya elemen global terakhir sebagai akar dokumen. Secara lalai semua global
elemen dianggap sebagai akar dokumen.

--elemen-akar-semua
Anggap semua elemen global sebagai akar dokumen. Ini ialah tingkah laku lalai. Oleh
dengan menyatakan pilihan ini secara eksplisit anda boleh menekan amaran yang dikeluarkan jika
lebih daripada satu elemen global ditakrifkan.

--elemen-akar-tiada
Jangan anggap mana-mana elemen global sebagai akar dokumen. Secara lalai semua elemen global
dianggap sebagai akar dokumen.

--unsur-akar elemen
Rawat sahaja elemen sebagai akar dokumen. Ulangi pilihan ini untuk menentukan lebih daripada satu
unsur akar.

--jenis tersuai peta
Gunakan jenis C++ tersuai dan bukannya kelas yang dijana. The peta hujah adalah dalam
bentuk nama[=jenis[/asas]], di mana nama ialah nama jenis seperti yang ditakrifkan dalam Skema XML dan
jenis ialah nama jenis C++ yang sepatutnya digunakan. Jika jenis tidak hadir atau
kosong maka jenis tersuai diandaikan mempunyai nama yang sama dan ditakrifkan dalam
ruang nama yang sama seperti kelas yang dihasilkan. Jika asas ditentukan kemudiannya
kelas yang dijana masih dijana tetapi dengan nama itu.

--jenis-regex tersuai regex
Gunakan jenis C++ tersuai dan bukannya kelas yang dijana. The regex hujah adalah dalam
bentuk /nama-tepuk/[jenis-sub/[asas-sub/]], di mana nama-tepuk ialah corak regex yang akan
dipadankan dengan nama jenis seperti yang ditakrifkan dalam Skema XML dan jenis-sub ialah jenis C++
penggantian nama yang sepatutnya digunakan. Jika jenis-sub tidak hadir atau miliknya
penggantian menghasilkan rentetan kosong maka jenis tersuai diandaikan mempunyai
nama yang sama dan ditakrifkan dalam ruang nama yang sama seperti kelas yang dihasilkan.
If asas-sub hadir dan penggantiannya menghasilkan rentetan yang tidak kosong kemudiannya
kelas yang dijana masih dijana tetapi dengan hasil penggantian ini sebagai nya
nama. Corak dan penggantian adalah dalam format ungkapan biasa Perl. Lihat
juga bahagian REGEX DAN SHELL PETIKAN di bawah.

--bahagian num
Pisahkan kod sumber yang dijana ke dalam num bahagian. Ini berguna apabila menterjemah besar,
skema monolitik dan pengkompil C++ tidak dapat menyusun sumber yang terhasil
kod sekali gus (biasanya disebabkan oleh memori yang tidak mencukupi).

--bahagian-akhiran akhiran
Penggunaan akhiran bukannya lalai '-' untuk memisahkan nama fail daripada bahagian
nombor.

cxx-parser arahan pilihan
--type-peta fail peta
Baca Skema XML kepada maklumat pemetaan jenis C++ daripada fail peta. Ulangi pilihan ini untuk
nyatakan beberapa jenis peta. Peta jenis dipertimbangkan mengikut susunan rupa dan
perlawanan pertama digunakan. Secara lalai semua jenis yang ditentukan pengguna dipetakan ke membatalkan. Lihat
TYPE MAP bahagian di bawah untuk maklumat lanjut.

--xml-parser parser
Penggunaan parser sebagai penghurai XML asas. Nilai yang sah ialah xerces untuk Xerces-C++
(lalai) dan ekspatriat untuk Expat.

--jana-pengesahan
Hasilkan kod pengesahan. Kod pengesahan ("penghurai sempurna") memastikan bahawa
dokumen contoh mematuhi skema. Kod pengesahan dijana secara lalai
apabila penghurai XML asas yang dipilih tidak sah (ekspatriat).

--sekat-pengesahan
Sekat penjanaan kod pengesahan. Pengesahan ditindas secara lalai
apabila penghurai XML asas yang dipilih sedang mengesahkan (xerces).

--menjana-polimorfik
Hasilkan kod sedar polimorfisme. Nyatakan pilihan ini jika anda menggunakan penggantian
kumpulan atau xsi:jenis.

--generate-noop-impl
Hasilkan pelaksanaan parser sampel yang tidak melakukan apa-apa (tiada operasi). The
pelaksanaan sampel kemudiannya boleh diisi dengan kod khusus aplikasi. Untuk
input fail dalam borang nama.xsd pilihan ini mencetuskan penjanaan dua
fail C++ tambahan dalam bentuk: name-pimpl.hxx (pengepala pelaksanaan parser
fail) dan name-pimpl.cxx (fail sumber pelaksanaan parser).

--generate-print-impl
Hasilkan contoh pelaksanaan parser yang mencetak data XML ke STDOUT. Untuk
input fail dalam borang nama.xsd pilihan ini mencetuskan penjanaan dua
fail C++ tambahan dalam bentuk: name-pimpl.hxx (pengepala pelaksanaan parser
fail) dan name-pimpl.cxx (fail sumber pelaksanaan parser).

--generate-test-driver
Hasilkan pemacu ujian untuk pelaksanaan penghurai sampel. Untuk fail input dalam
borang nama.xsd pilihan ini mencetuskan penjanaan fail C++ tambahan dalam
borang nama-pemandu.cxx.

--paksa-tulis ganti
Tulis ganti paksa pelaksanaan sedia ada dan fail pemacu ujian. Guna ini
pilihan hanya jika anda tidak keberatan kehilangan perubahan yang telah anda buat dalam sampel
pelaksanaan atau fail pemacu ujian.

--unsur-akar-pertama
Tunjukkan bahawa elemen global pertama ialah akar dokumen. Maklumat ini adalah
digunakan untuk menjana pemacu ujian bagi pelaksanaan sampel.

--elemen-akar-terakhir
Tunjukkan bahawa elemen global terakhir ialah akar dokumen. Maklumat ini adalah
digunakan untuk menjana pemacu ujian bagi pelaksanaan sampel.

--unsur-akar elemen
Tunjukkan itu elemen ialah akar dokumen. Maklumat ini digunakan untuk menjana
pemandu ujian untuk pelaksanaan sampel.

--jenis-skel-akhiran akhiran
Gunakan yang disediakan akhiran bukannya lalai _pskel untuk membina nama-nama
rangka penghurai yang dihasilkan.

--skel-file-akhiran akhiran
Gunakan yang disediakan akhiran bukannya lalai -pskel untuk membina nama-nama
fail rangka parser yang dijana.

--impl-type-suffix akhiran
Gunakan yang disediakan akhiran bukannya lalai _jeragat untuk membina nama-nama
pelaksanaan parser untuk jenis Skema XML terbina dalam serta penghurai sampel
pelaksanaannya.

--impl-file-suffix akhiran
Gunakan yang disediakan akhiran bukannya lalai -jerawat untuk membina nama-nama
fail pelaksanaan penghurai sampel yang dijana.

MENAMA KONVENSYEN


Pengkompil boleh diarahkan untuk menggunakan konvensyen penamaan tertentu dalam yang dihasilkan
kod. Beberapa konvensyen yang digunakan secara meluas boleh dipilih menggunakan --jenis-penamaan and
--penamaan fungsi pilihan. Konvensyen penamaan tersuai boleh dicapai menggunakan --jenis-
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, dan --jenis-unsur-
regex pilihan.

. --jenis-penamaan pilihan menentukan konvensyen yang harus digunakan untuk menamakan C++
jenis. Nilai yang mungkin untuk pilihan ini ialah knr (lalai), ucc, dan Java. Yang knr nilai
(singkatan untuk K&R) menandakan konvensyen penamaan huruf kecil standard dengan garis bawah
digunakan sebagai pembatas perkataan, contohnya: foo, foo_bar. The ucc (singkatan untuk unta atas-
kes) dan Java nilai sinonim untuk konvensyen penamaan yang sama dengan huruf pertama
setiap perkataan dalam nama ditulis dengan huruf besar, contohnya: Foo, FooBar.

Begitu juga dengan --penamaan fungsi pilihan menentukan konvensyen yang harus digunakan untuk
menamakan fungsi C++. Nilai yang mungkin untuk pilihan ini ialah knr (lalai), lcc, dan Java.
. knr nilai (singkatan untuk K&R) menandakan konvensyen penamaan huruf kecil standard dengan
garis bawah digunakan sebagai pembatas perkataan, contohnya: foo(), foo_bar(). The lcc nilai
(singkatan untuk huruf kecil unta) menandakan konvensyen penamaan di mana huruf pertama setiap satu
perkataan kecuali yang pertama ditulis dengan huruf besar, contohnya: foo(), fooBar(). The Java menamakan
konvensyen adalah serupa dengan huruf kecil unta kecuali fungsi aksesori adalah
diawali dengan get, fungsi pengubah suai diawali dengan set, fungsi penghuraian adalah
diawali dengan parse, dan fungsi bersiri diawali dengan bersiri, sebagai contoh:
getFoo(), setFooBar(), parseRoot(), serializeRoot().

Ambil perhatian bahawa konvensyen penamaan yang ditentukan dengan --jenis-penamaan and --penamaan fungsi
pilihan hanya melakukan transformasi terhad pada nama yang datang daripada skema dalam
bentuk jenis, atribut dan nama unsur. Dengan kata lain, untuk mendapatkan hasil yang konsisten,
skema anda hendaklah mengikut konvensyen penamaan yang serupa seperti yang anda ingin miliki
dalam kod yang dihasilkan. Sebagai alternatif, anda boleh menggunakan --*-regex pilihan (dibincangkan di bawah)
untuk melakukan transformasi selanjutnya pada nama yang datang daripada skema.

. --type-regex, --accessor-regex, --one-accessor-regex, --opt-accessor-regex, --seq-
accessor-regex, --modifier-regex, --one-modifier-regex, --opt-modifier-regex, --seq-
pengubah-regex, --parser-regex, --serializer-regex, --const-regex, --enumerator-regex, dan
--elemen-jenis-regex pilihan membolehkan anda menentukan ungkapan biasa tambahan untuk setiap nama
kategori sebagai tambahan kepada set yang telah ditetapkan yang ditambah bergantung pada --jenis-penamaan
and --penamaan fungsi pilihan. Ungkapan yang disediakan dengan --*-regex pilihan
dinilai sebelum sebarang ungkapan yang dipratentukan. Ini membolehkan anda menimpa secara selektif
beberapa atau semua transformasi yang telah ditetapkan. Apabila menyahpepijat ekspresi anda sendiri, ia adalah
selalunya berguna untuk melihat ungkapan yang sepadan dengan nama mana. The --nama-regex-trace pilihan
membolehkan anda mengesan proses menggunakan ungkapan biasa pada nama.

Nilai untuk --*-regex pilihan mestilah ungkapan biasa seperti perl dalam bentuk
/pola/penggantian/. Sebarang aksara boleh digunakan sebagai pembatas dan bukannya /. Melarikan diri
watak pembatas dalam pola or penggantian tidak disokong. Semua biasa
ungkapan untuk setiap kategori ditolak ke dalam tindanan khusus kategori dengan yang terakhir
ungkapan tertentu dipertimbangkan terlebih dahulu. Perlawanan pertama yang berjaya digunakan. Untuk
--one-accessor-regex (aksesori dengan kardinaliti satu), --opt-accessor-regex (aksesori
dengan kardinaliti pilihan), dan --seq-accessor-regex (aksesori dengan urutan kardinaliti)
kategori yang --accessor-regex ungkapan digunakan sebagai sandaran. Untuk --satu-
pengubah-regex, --opt-modifier-regex, dan --seq-modifier-regex kategori yang --pengubah suai-
regex ungkapan digunakan sebagai sandaran. Untuk --elemen-jenis-regex kategori yang
--type-regex ungkapan digunakan sebagai sandaran.

Ungkapan nama jenis (--type-regex) dinilai pada rentetan nama yang mempunyai
format berikut:

[ruang nama ]nama[,nama][,nama][,nama]

Ungkapan nama jenis unsur (--elemen-jenis-regex), berkesan hanya apabila
--generate-element-type pilihan ditentukan, dinilai pada rentetan nama yang mempunyai
format berikut:

ruang nama nama

Dalam format nama jenis ruang nama bahagian diikuti oleh ruang hanya hadir untuk global
menaip nama. Untuk jenis dan elemen global yang ditakrifkan dalam skema tanpa ruang nama sasaran,
yang ruang nama bahagian kosong tetapi ruang masih ada. Dalam format nama jenis selepas
permulaan nama komponen, sehingga tiga tambahan nama komponen boleh hadir,
dipisahkan dengan koma. Sebagai contoh:

http://example.com/hello jenis

foo

foo, iterator

foo,const,iterator

Set ungkapan biasa pratakrif berikut digunakan untuk mengubah nama jenis apabila
konvensyen penamaan huruf besar unta dipilih:

/(?:[^ ]* )?([^,]+)/\u$1/

/(?:[^ ]* )?([^,]+),([^,]+)/\u$1\u$2/

/(?:[^ ]* )?([^,]+),([^,]+),([^,]+)/\u$1\u$2\u$3/

/(?:[^ ]* )?([^,]+),([^,]+),([^,]+),([^,]+)/\u$1\u$2\u$3\u$4/

Ungkapan pengakses dan pengubah suai (--* accessor-regex and --*modifier-regex) adalah
dinilai pada rentetan nama yang mempunyai format berikut:

nama[,nama][,nama]

Selepas permulaan nama komponen, sehingga dua tambahan nama komponen boleh hadir,
dipisahkan dengan koma. Sebagai contoh:

foo

dom, dokumen

foo, lalai, nilai

Set ungkapan biasa pratakrif berikut digunakan untuk mengubah nama pengakses
apabila Java konvensyen penamaan dipilih:

/([^,]+)/dapat\u$1/

/([^,]+),([^,]+)/dapat\u$1\u$2/

/([^,]+),([^,]+),([^,]+)/dapat\u$1\u$2\u$3/

Untuk kategori parser, serializer dan enumerator, regular yang sepadan
ungkapan dinilai berdasarkan nama tempatan unsur dan pada nilai penghitungan,
masing-masing. Sebagai contoh, ungkapan biasa pratakrif berikut digunakan untuk
mengubah nama fungsi penghuraian apabila Java konvensyen penamaan dipilih:

/(.+)/parse\u$1/

Kategori const digunakan untuk mencipta nama tetap C++ untuk elemen/wildcard/teks
id kandungan dalam jenis tersusun.

Lihat juga bahagian REGEX DAN SHELL PETIKAN di bawah.

JENIS MAP


Fail peta jenis digunakan dalam C++/Parser untuk menentukan pemetaan antara Skema XML dan C++
jenis. Pengkompil menggunakan maklumat ini untuk menentukan jenis pulangan jawatan_*
berfungsi dalam rangka penghurai yang sepadan dengan jenis Skema XML serta jenis hujah
untuk panggilan balik yang sepadan dengan elemen dan atribut jenis ini.

Pengkompil mempunyai set peraturan pemetaan yang dipratentukan yang memetakan jenis Skema XML terbina dalam
jenis C++ yang sesuai (dibincangkan di bawah) dan semua jenis lain untuk membatalkan. Dengan menyediakan anda sendiri
taip peta anda boleh mengatasi peraturan yang dipratentukan ini. Format fail peta jenis ialah
dibentangkan di bawah:

ruang nama ruang nama skema [ ruang nama cxx ]
{
( termasuk nama fail; )*
([ jenis ] jenis skema cxx-ret-type [ cxx-arg-type ]; )*
}

Kedua-dua ruang nama skema and jenis skema ialah corak regex manakala ruang nama cxx, cxx-ret-
jenis, dan cxx-arg-type ialah penggantian corak regex. Semua nama boleh menjadi pilihan
disertakan dalam " ", sebagai contoh, untuk memasukkan ruang putih.

ruang nama skema menentukan ruang nama Skema XML. Pilihan ruang nama cxx adalah awalan kepada
setiap nama jenis C++ dalam pengisytiharan ruang nama ini. cxx-ret-type ialah nama jenis C++ yang
digunakan sebagai jenis pulangan untuk jawatan_* fungsi. Pilihan cxx-arg-type adalah hujah
jenis untuk fungsi panggil balik yang sepadan dengan elemen dan atribut jenis ini. Jika cxx-
jenis arg tidak ditentukan, ia lalai kepada cxx-ret-type if cxx-ret-type berakhir dengan * or &
(iaitu, ia adalah penunjuk atau rujukan) dan malar cxx-ret-type& sebaliknya. nama fail is
nama fail sama ada dalam format " " atau < > dan ditambah dengan #include arahan kepada
kod yang dihasilkan.

. # aksara memulakan ulasan yang berakhir dengan baris atau hujung fail baharu. Untuk menentukan a
nama yang mengandungi # sertakan dalam " ". Sebagai contoh:

ruang nama http://www.example.com/xmlns/my my
{
sertakan "my.hxx";

# Lulus epal mengikut nilai.
#
epal epal;

# Hantar oren sebagai penunjuk.
#
oren oren_t*;
}

Dalam contoh di atas, untuk http://www.example.com/xmlns/my#jerawat Jenis Skema XML, yang
saya::oren_t* Jenis C++ akan digunakan sebagai kedua-dua jenis pulangan dan hujah.

Beberapa pengisytiharan ruang nama boleh ditentukan dalam satu fail. Ruang nama
pengisytiharan juga boleh ditinggalkan sepenuhnya untuk jenis peta dalam skema tanpa ruang nama.
Sebagai contoh:

sertakan "my.hxx";
epal epal;

ruang nama http://www.example.com/xmlns/my
{
oren "const orange_t*";
}

Pengkompil mempunyai beberapa peraturan pemetaan yang telah ditetapkan yang boleh dipersembahkan sebagai
fail peta berikut. Jenis terbina dalam Skema XML berasaskan rentetan dipetakan kepada sama ada
std :: tali or std::wstring bergantung pada jenis aksara yang dipilih dengan --jenis-char
pilihan (tangki secara lalai).

ruang nama http://www.w3.org/2001/XMLSchema
{
boolean bool bool;

byte "signed char" "signed char";
unsignedByte "unsigned char" "unsigned char";

pendek pendek pendek;
unsignedShort "unsigned short" "unsigned short";

int int int;
unsignedInt "unsigned int" "unsigned int";

panjang "panjang panjang" "panjang panjang";
unsignedLong "unsigned long long" "unsigned long long";

integer "panjang panjang" "panjang panjang";

negatifInteger "panjang panjang" "panjang panjang";
nonPositiveInteger "panjang panjang" "panjang panjang";

positiveInteger "unsigned long long" "unsigned long long";
nonNegativeInteger "unsigned long long" "unsigned long long";

terapung terapung terapung;
berganda ganda berganda;
dua kali ganda perpuluhan;

string std::string;
normalizedString std::string;
token std::string;
Nama std::string;
NMTOKEN std::string;
NCName std::string;
ID std::string;
IDREF std::string;
bahasa std::rentetan;
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 ;

tarikh xml_schema::date;
dateTime xml_schema::date_time;
tempoh xml_schema::duration;
gDay xml_schema::gday;
gMonth xml_schema::gmonth;
gMonthDay xml_schema::gmonth_day;
gYear xml_schema::gyear;
gYearMonth xml_schema::gyear_month;
masa xml_schema::time;
}

Peraturan pratakrif terakhir memetakan apa sahaja yang tidak dipetakan oleh peraturan sebelumnya membatalkan:

ruang nama .*
{
.* void void;
}

Apabila anda menyediakan peta jenis anda sendiri dengan --type-peta pilihan, mereka dinilai terlebih dahulu.
Ini membolehkan anda secara selektif membatalkan peraturan yang dipratentukan.

Regex DAN SHELL SEBUTHARGA


Apabila memasukkan hujah ungkapan biasa dalam baris arahan shell selalunya
perlu menggunakan petikan (menyertakan hujah dalam " " atau ' ') untuk mengelakkan
shell daripada mentafsir aksara tertentu, contohnya, ruang sebagai pemisah hujah dan
$ sebagai pengembangan berubah-ubah.

Malangnya sukar untuk mencapai ini dengan cara yang mudah alih merentasi cengkerang POSIX,
seperti yang terdapat pada GNU/Linux dan UNIX, dan Windows shell. Contohnya, jika anda menggunakan " "
untuk memetik anda akan mendapat hasil yang salah dengan cangkerang POSIX jika ungkapan anda mengandungi $.
Cara standard untuk menangani perkara ini pada sistem POSIX ialah menggunakan ' ' sebaliknya.
Malangnya, Windows shell tidak mengalih keluar ' ' daripada argumen apabila ia dihantar ke
aplikasi. Akibatnya anda mungkin perlu menggunakan ' ' untuk POSIX dan " " untuk Windows ($ tidak
dianggap sebagai watak istimewa pada Windows).

Sebagai alternatif, anda boleh menyimpan pilihan ungkapan biasa ke dalam fail, satu pilihan setiap baris,
dan gunakan fail ini dengan --pilihan-fail pilihan. Dengan pendekatan ini anda tidak perlu
risau pasal shell quoting.

DIAGNOSTIK


Jika fail input bukan definisi Skema XML W3C yang sah, xsdcxx akan mengeluarkan diagnostik
mesej ke STDERR dan keluar dengan kod keluar bukan sifar.

Gunakan xsdcxx dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad