انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

xsdcxx - آنلاین در ابر

xsdcxx را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور xsdcxx است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


xsdcxx - کامپایلر W3C XML Schema to C++

خلاصه


xsdcxx فرمان [ گزینه های ] پرونده [ پرونده ...]
xsdcxx کمک [ فرمان ]
xsdcxx نسخه

شرح


xsdcxx نگاشت C++ با تایپ ایستا واژگان خاص را از طرحواره W3C XML ایجاد می کند.
تعاریف نقشه برداری خاص برای تولید توسط a انتخاب می شود فرمان. هر نقشه برداری دارای یک
تعداد نقشه های خاص گزینه های که در صورت وجود، پس از آن باید ظاهر شود فرمان. ورودی
فایل‌ها باید دارای تعاریف W3C XML Schema باشند. مجموعه دقیق فایل های تولید شده بستگی دارد
روی نقشه و گزینه های انتخاب شده

دستورات


درخت cxx
نگاشت C++/Tree را ایجاد کنید. برای هر فایل ورودی در فرم name.xsd la
فایل های C++ زیر تولید می شوند: name.hxx (فایل هدر) name.ixx (فایل درون خطی،
تنها در صورتی ایجاد می شود که --تولید-در خط گزینه مشخص شده است) name.cxx (منبع
فایل)، و name-fwd.hxx (فایل اعلامیه فوروارد، تنها در صورتی ایجاد می شود که
--تولید-به جلو گزینه مشخص شده است).

تجزیه کننده cxx
نگاشت C++/Parser را ایجاد کنید. برای هر فایل ورودی در فرم name.xsd la
فایل های C++ زیر تولید می شوند: name-pskel.hxx (فایل هدر اسکلت تجزیه کننده)،
name-pskel.ixx (فایل درون خطی اسکلت تجزیه کننده، تنها در صورتی ایجاد می شود که --تولید می کنند-
خطی گزینه مشخص شده است)، و name-pskel.cxx (فایل منبع اسکلت تجزیه کننده). اگر
la --generate-noop-impl or --تولید-چاپ-impl گزینه مشخص شده است،
نمونه فایل های پیاده سازی اضافی زیر تولید می شود: name-pimpl.hxx
(فایل هدر پیاده سازی تجزیه کننده) و name-pimpl.cxx (اجرای تجزیه کننده
منبع فایل). اگر --تولید-تست-درایور گزینه مشخص شده است، اضافی
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 این کار را انجام خواهد داد
به طور خودکار ماکروهای لازم را به فایل های هدر تولید شده اضافه کنید
کتابخانه زمان اجرا فقط هدر XSDCXX را تغییر می دهد (libxsd) به حالت C++11.
با این حال، اگر هر یک از هدرهای زمان اجرا XSDCXX را مستقیماً در خود قرار دهید
برنامه (معمولاً فقط سرصفحه های تولید شده را درج می کنید)، سپس به آن نیاز خواهید داشت
برای تعریف XSD_CXX11 ماکرو برای کل پروژه شما

---نوع کاراکتر نوع
با استفاده از کاراکتر ارائه شده کد تولید کنید نوع به جای پیش فرض ارابه. معتبر
ارزشها هستند ارابه و wchar_t.

---char-encoding رمز
رمزگذاری کاراکتری که باید در کد تولید شده استفاده شود را مشخص کنید. معتبر
ارزش ها برای ارابه نوع شخصیت هستند utf8 (به طور پیش فرض) iso8859-1, ال سی دی (Xerces-C++
صفحه کد محلی)، و سفارشی. اگر بگذری سفارشی به عنوان ارزش و سپس شما نیاز دارید
در ابتدا هدر اجرای ترانکودر را برای رمزگذاری خود درج کنید
از فایل های هدر تولید شده (به --hxx-پرولوگ گزینه).

برای wchar_t نوع کاراکتر تنها مقدار معتبر است خودکار و رمزگذاری است
بسته به نوع، به طور خودکار بین UTF-16 و UTF-32/UCS-4 انتخاب می شود wchar_t
اندازه نوع

--output-dir دیر
فایل های تولید شده را بنویسید دیر به جای دایرکتوری فعلی

--تولید-در خط
توابع ساده را به صورت درون خطی ایجاد کنید. این گزینه باعث ایجاد فایل درون خطی می شود.

--generate-xml-schema
یک فایل هدر C++ ایجاد کنید، به گونه ای که گویی طرحواره در حال کامپایل، طرحواره XML را تعریف می کند
فضای نام برای نگاشت C++/Tree، فایل حاصل شامل تعاریف خواهد بود
برای تمام انواع XML Schema داخلی. برای نگاشت C++/Parser، فایل حاصل
شامل تعاریف برای تمام اسکلت ها و پیاده سازی های تجزیه کننده خواهد بود
مربوط به انواع داخلی XML Schema.

فایل طرحواره ارائه شده به کامپایلر نیازی به وجود ندارد و فقط برای استخراج استفاده می شود
نام فایل هدر حاصل. استفاده کنید --extern-xml-schema گزینه ای برای
این فایل را در فایل های تولید شده برای طرحواره های دیگر قرار دهید.

--extern-xml-schema پرونده
شامل یک فایل هدر مشتق شده از پرونده به جای ایجاد طرحواره XML
نگاشت فضای نام درون خطی فایل ارائه شده لازم نیست وجود داشته باشد و فقط از آن استفاده می شود
نام فایل هدر موجود را استخراج کنید. استفاده کنید --generate-xml-schema انتخاب
برای تولید این فایل هدر.

- فضای نام - نقشه xns=cns
نقشه فضای نام طرحواره XML xns به فضای نام C++ cns. برای مشخص کردن این گزینه را تکرار کنید
نقشه برداری برای بیش از یک فضای نام طرحواره XML. برای مثال گزینه زیر:

- فضای نام - نقشه http://example.com/foo/bar=foo::bar

نقشه برداری خواهد کرد http://example.com/foo/bar فضای نام طرحواره XML به فو::بار ++C
فضای نام

--namespace-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه فضای نام XML Schema
نام‌ها به نام‌های فضای نام C++. regex یک عبارت منظم پرل مانند در فرم است
/الگو/جایگزینی/. هر کاراکتری را می توان به عنوان جداکننده به جای استفاده کرد /.
فرار از کاراکتر جداکننده در الگو or جایگزینی پشتیبانی نمی شود

تمام عبارات منظم در یک پشته با آخرین مشخص شده قرار می گیرند
ابتدا بیان در نظر گرفته شد. اولین مسابقه ای که موفق می شود استفاده می شود. منظم
عبارات به یک رشته در فرم اعمال می شوند

نام فایل فضای نام

به عنوان مثال، اگر فایل دارید سلام.xsd با فضای نام http://example.com/hello و
شما می دوید xsd در این فایل، رشته مورد نظر به صورت زیر خواهد بود:

سلام.xsd. http://example.com/hello

برای فضای نام داخلی XML Schema، رشته به صورت زیر است:

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

سه مرحله زیر برای هر عبارت منظم تا زمان تطبیق انجام می شود
یافت می شود:

1. عبارت اعمال می شود و اگر نتیجه خالی باشد عبارت بعدی است
در نظر گرفته شده.

2 همه / جایگزین می شوند با ::.

3. نتیجه تأیید می شود که یک نام دامنه C++ معتبر است (به عنوان مثال، فو::بار) اگر این
تست موفقیت آمیز بود، نتیجه به عنوان نام فضای نام C++ استفاده می شود.

به عنوان مثال، عبارت زیر فضاهای نام طرحواره XML را در فرم ترسیم می کند
http://example.com/foo/bar به فضاهای نام C++ در فرم فو::بار:

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

همچنین به بخش REGEX AND SHELL QUOTING در زیر مراجعه کنید.

--namespace-regex-trace
ردیابی روند اعمال عبارات منظم مشخص شده با -- فضای نام -
regex گزینه. از این گزینه برای پیدا کردن اینکه چرا عبارات منظم شما انجام نمی دهند استفاده کنید
کاری که انتظار داشتید انجام دهند

- نام رزرو شده n[=r]
اضافه کردن نام n به لیست نام هایی که نباید به عنوان شناسه استفاده شوند. نام
می تواند به صورت اختیاری دنبال شود = و نام جایگزین r که باید استفاده شود
بجای. همه کلمات کلیدی ++C در حال حاضر در این لیست هستند.

--شامل-با-براکت
از براکت های زاویه ای (<>) به جای نقل قول ("") در تولید شده استفاده کنید #include دستورالعمل.

-- شامل-پیشوند پیشوند
اضافه کردن پیشوند برای تولید #include مسیرهای دستورالعمل

به عنوان مثال، اگر عنصر import زیر را در طرح خود داشتید

<وارد کردن namespace="..." schemaLocation="base.xsd"/>

و این قطعه را با -- شامل-پیشوند طرحواره ها/، سپس شامل شود
دستورالعمل در کد تولید شده به صورت زیر خواهد بود:

#include "schemas/base.hxx"

--include-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای تبدیل #include رهنمود
راه ها. regex یک عبارت منظم پرل مانند در فرم است /الگو/جایگزینی/.
هر کاراکتری را می توان به عنوان جداکننده به جای استفاده کرد /. فرار از مرز
شخصیت در الگو or جایگزینی پشتیبانی نمی شود

تمام عبارات منظم در یک پشته با آخرین مشخص شده قرار می گیرند
ابتدا بیان در نظر گرفته شد. اولین مسابقه ای که موفق می شود استفاده می شود.

به عنوان مثال، عبارت زیر مسیرها را در فرم تبدیل می کند
طرحواره/foo/bar به مسیرهای در فرم تولید شده/foo/bar:

%schemas/(.+)%تولید شده/$1%

همچنین به بخش REGEX AND SHELL QUOTING در زیر مراجعه کنید.

--include-regex-trace
ردیابی روند اعمال عبارات منظم مشخص شده با --عبارتند از-
regex گزینه. از این گزینه برای پیدا کردن اینکه چرا عبارات منظم شما انجام نمی دهند استفاده کنید
کاری که انتظار داشتید انجام دهند

- پیشوند نگهبان پیشوند
اضافه کردن پیشوند به گاردهای گنجاندن هدر ایجاد شده است. پیشوند به بالا تبدیل می شود
حروف و کاراکترهایی که در نام ماکرو پیش پردازنده غیرقانونی هستند با آنها جایگزین می شوند
تاکید می کند. اگر این گزینه مشخص نشده باشد، قسمت دایرکتوری ورودی است
فایل schema به عنوان پیشوند استفاده می شود.

--hxx-پسوند پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض hxx برای ساختن نام
فایل هدر توجه داشته باشید که از این پسوند برای ساخت نام فایل های هدر نیز استفاده می شود
مربوط به طرحواره های گنجانده شده/وارد شده.

--ixx-پسوند پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض ixx برای ساختن نام
فایل درون خطی

--cxx-پسوند پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض cxx برای ساختن نام
منبع فایل.

--fwd-پسوند پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض -fwd.hxx برای ساختن نام
فایل اظهارنامه فوروارد

--hxx-regex regex
از عبارت ارائه شده برای ساخت نام فایل هدر استفاده کنید. regex هست یک
عبارت منظم پرل مانند در فرم /الگو/جایگزینی/. توجه داشته باشید که این
عبارت همچنین برای ساخت نام فایل‌های هدر مربوط به آن استفاده می‌شود
طرحواره های گنجانده شده/وارد شده همچنین به بخش REGEX AND SHELL QUOTING در زیر مراجعه کنید.

--ixx-regex regex
از عبارت ارائه شده برای ساخت نام فایل درون خطی استفاده کنید. regex هست یک
عبارت منظم پرل مانند در فرم /الگو/جایگزینی/. REGEX را نیز ببینید
AND SHELL QUOTING بخش زیر.

--cxx-regex regex
از عبارت ارائه شده برای ساخت نام فایل منبع استفاده کنید. regex هست یک
عبارت منظم پرل مانند در فرم /الگو/جایگزینی/. REGEX را نیز ببینید
AND SHELL QUOTING بخش زیر.

--fwd-regex regex
از عبارت ارائه شده برای ساخت نام فایل اعلان فوروارد استفاده کنید.
regex یک عبارت منظم پرل مانند در فرم است /الگو/جایگزینی/. همچنین ببینید
بخش REGEX AND SHELL QUOTING در زیر.

--hxx-پرولوگ متن
قرار دادن متن در ابتدای فایل هدر

--ixx-پرولوگ متن
قرار دادن متن در ابتدای فایل درون خطی

--cxx-پرولوگ متن
قرار دادن متن در ابتدای فایل منبع

--fwd-prologue متن
قرار دادن متن در ابتدای فایل اظهارنامه پیش رو.

-- پیش درآمد متن
قرار دادن متن در ابتدای هر فایل تولید شده که هیچ فایلی برای آن وجود ندارد
پیش درآمد خاص

--hxx-اپیلوگ متن
قرار دادن متن در انتهای فایل هدر

--ixx-Epilogue متن
قرار دادن متن در انتهای فایل درون خطی

--cxx-Epilogue متن
قرار دادن متن در انتهای فایل منبع

--fwd-Epilogue متن
قرار دادن متن در انتهای فایل اظهارنامه پیش رو.

-- پایان نامه متن
قرار دادن متن در انتهای هر فایل تولید شده که هیچ فایل خاصی برای آن وجود ندارد
اپیلاگ

--hxx-prologue-file پرونده
درج محتوای پرونده در ابتدای فایل هدر

--ixx-prologue-file پرونده
درج محتوای پرونده در ابتدای فایل درون خطی

--cxx-prologue-file پرونده
درج محتوای پرونده در ابتدای فایل منبع

--fwd-prologue-file پرونده
درج محتوای پرونده در ابتدای فایل اظهارنامه پیش رو.

--پرونده-پرونده پرونده
درج محتوای پرونده در ابتدای هر فایل تولید شده که برای آن
هیچ فایل پیش درآمدی خاص برای فایل وجود ندارد.

--hxx-epilogue-file پرونده
درج محتوای پرونده در انتهای فایل هدر

--ixx-epilogue-file پرونده
درج محتوای پرونده در انتهای فایل درون خطی

--cxx-epilogue-file پرونده
درج محتوای پرونده در انتهای فایل منبع

--fwd-epilogue-file پرونده
درج محتوای پرونده در انتهای فایل اظهارنامه پیش رو.

-- epilogue-file پرونده
درج محتوای پرونده در انتهای هر فایل تولید شده که برای آن وجود دارد
بدون فایل اپیلوگ خاص فایل.

--صادرات-نماد نماد
قرار دادن نماد در مکان‌هایی که DLL عبارت‌های کنترل صادرات/واردات است
(__declspec(dllexport/dllimport)) لازم است

--export-xml-schema
انواع صادرات/وارد کردن در فضای نام طرحواره XML با استفاده از نماد صادرات ارائه شده
با --صادرات-نماد گزینه. XSD_NO_EXPORT ماکرو می تواند برای حذف این مورد استفاده شود
کد در طول کامپایل ++C، که اگر بخواهید از آن استفاده کنید، ممکن است مفید باشد
کد تولید شده در چندین پلتفرم

--صادرات-نقشه ها
نقشه های پشتیبانی چندشکلی را از یک DLL Win32 که این کد تولید شده در آن قرار دارد صادر کنید
قرار داده شده. این زمانی ضروری است که سلسله مراتب نوع شما در چندین DLL تقسیم شده باشد
زیرا در غیر این صورت هر DLL مجموعه ای از نقشه های خود را خواهد داشت. در این شرایط
کد تولید شده برای DLL که شامل انواع پایه و/یا گروه جایگزین است
heads باید با این گزینه و کد تولید شده برای تمام DLL های دیگر کامپایل شود
باید با --واردات-نقشه ها. این گزینه فقط همراه با معتبر است
--تولید-چند شکلی. XSD_NO_EXPORT برای حذف این کد می توان از ماکرو استفاده کرد
در طول کامپایل C++، که اگر بخواهید از آن استفاده کنید، ممکن است مفید باشد
کد تولید شده در چندین پلتفرم

--واردات-نقشه ها
نقشه‌های پشتیبانی چندشکلی را به یک DLL Win32 یا فایل اجرایی وارد کنید که در آن این
کد تولید شده پیوند داده شده است. را ببینید --صادرات-نقشه ها اسناد گزینه برای جزئیات
این گزینه فقط همراه با معتبر است --تولید-چند شکلی. XSD_NO_EXPORT
ماکرو را می توان برای حذف این کد در طول کامپایل C++ استفاده کرد که ممکن است مفید باشد اگر
شما می خواهید از همان کد تولید شده در چندین پلتفرم استفاده کنید.

--تولید-dep
تولید ساخت اطلاعات وابستگی این گزینه باعث ایجاد .d
فایل حاوی وابستگی های فایل های تولید شده به فایل طرح اصلی به عنوان
و همچنین تمام فایل های طرحواره ای که شامل/وارد می شود، به صورت گذرا. این
سپس فایل وابستگی به طور معمول در اصلی گنجانده می شود تهیه پرونده برای پیاده سازی
ردیابی وابستگی خودکار

همچنین توجه داشته باشید که تولید وابستگی خودکار در فایل-در- پشتیبانی نمی شود
حالت تایپ (--فایل در هر نوع). در این حالت تمامی فایل های تولید شده تولید می شوند
با یک فراخوانی کامپایلر و به تمام طرحواره ها بستگی دارد. در نتیجه همینطور است
ایجاد چنین وابستگی به صورت دستی، شاید با کمک
---فایل لیست* گزینه.

----فقط-dep-tent
تولید ساخت فقط اطلاعات وابستگی

--dep-phony
اهداف ساختگی را برای فایل های طرحواره گنجانده شده/وارد شده ایجاد کنید، که باعث وابستگی هر کدام می شود
روی هیچی چنین قوانین ساختگی در اطراف کار می کنند ساخت خطاهای ناشی از حذف
فایل های طرحواره بدون به روز رسانی فایل وابستگی برای مطابقت.

---dep-target هدف
هدف قانون وابستگی را تغییر دهید. به طور پیش فرض شامل تمام موارد تولید شده است
فایل های C++ و همچنین خود فایل وابستگی، بدون هیچ پیشوند دایرکتوری. اگر
شما به چندین هدف نیاز دارید، سپس می توانید آنها را به عنوان یک فضا مشخص کنید.
آرگومان جدا شده یا می توانید این گزینه را چندین بار تکرار کنید.

پسوند --dep پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض .d برای ساختن نام
فایل وابستگی

--dep-regex regex
از عبارت ارائه شده برای ساخت نام فایل وابستگی استفاده کنید. regex is
یک عبارت منظم پرل مانند در فرم /الگو/جایگزینی/. همچنین ببینید
بخش REGEX AND SHELL QUOTING در زیر.

--غیرفعال کردن هشدار هشدار دادن
اخطار چاپ با شناسه را غیرفعال کنید هشدار دادن. اگر تمام سپس برای شناسه هشدار مشخص شده است
همه هشدارها غیرفعال هستند

--options-file پرونده
گزینه های اضافی را بخوانید پرونده. هر گزینه باید در یک خط جداگانه ظاهر شود
به صورت اختیاری با فاصله و مقدار گزینه دنبال می شود. خطوط خالی و شروع خطوط
با # نادیده گرفته می شوند. مقادیر گزینه را می توان در دو (") یا مجرد (')
نقل قول برای حفظ فضاهای سفید پیشرو و انتهایی و همچنین برای مشخص کردن خالی
ارزش های. اگر مقدار خود حاوی نقل قول های انتهایی یا پیشرو است، آن را با یک علامت محصور کنید
به عنوان مثال، یک جفت نقل قول اضافی '"ایکس"'. نقل قول های غیر پیشرو و غیر دنباله دار هستند
به عنوان بخشی از ارزش اختیار تفسیر می شود.

معنای ارائه گزینه ها در یک فایل معادل ارائه همان است
مجموعه ای از گزینه ها به همان ترتیب در خط فرمان در نقطه ای که
--options-file گزینه مشخص شده است به جز اینکه پوسته escaping و quoting است
لازم نیست. برای تعیین بیش از یک فایل گزینه می توانید این گزینه را تکرار کنید.

--sloc-sloc
تعداد خطوط کد منبع فیزیکی تولید شده (SLOC) را نشان دهید.

--sloc-limit تعداد
بررسی کنید که تعداد خطوط کد منبع فیزیکی تولید شده (SLOC) وجود نداشته باشد
تجاوز تعداد.

-- مجوز اختصاصی
نشان دهید که کد تولید شده به جای مجوز تحت یک مجوز اختصاصی مجوز دارد
GPL

- عبارات سفارشی پرونده
بارگذاری رشته XML سفارشی به نگاشت تحت اللفظی C++ از پرونده. این مکانیسم می تواند باشد
اگر از یک رمزگذاری کاراکتر سفارشی و برخی از رشته های موجود در خود استفاده می کنید مفید است
طرحواره ها، برای مثال نام عناصر/ویژگی یا مقادیر شمارش، حاوی غیر
کاراکترهای اسکی در این صورت باید یک نقشه سفارشی به C++ ارائه دهید
به معنای واقعی کلمه برای چنین رشته هایی. فرمت این فایل در قسمت مشخص شده است سفارشی
literals.xsd فایل طرحواره XML که در فهرست اسناد یافت می شود.

--حفظ-ناشناس
حفظ انواع ناشناس به طور پیش فرض انواع ناشناس به طور خودکار با نامگذاری می شوند
نام هایی که از عناصر/ویژگی های احاطه کننده مشتق شده اند. از آنجا که نقشه برداری اجرا شده است
توسط این کامپایلر نیاز به نامگذاری همه انواع دارد، این گزینه فقط در صورتی مفید است که شما
می خواهید مطمئن شوید که طرحواره های شما انواع ناشناس ندارند.

--نمایش-ناشناس
نمایش عناصر و ویژگی هایی که از انواع ناشناس هستند. این گزینه فقط می سازد
حس همراه با --حفظ-ناشناس گزینه.

--anonymous-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای استخراج نام برای ناشناس
انواع از صفات/عناصر دربرگیرنده. regex معمولی پرل مانند است
بیان در فرم /الگو/جایگزینی/. هر کاراکتری را می توان به عنوان یک استفاده کرد
جداکننده به جای /. فرار از کاراکتر جداکننده در الگو or
جایگزینی پشتیبانی نمی شود

تمام عبارات منظم در یک پشته با آخرین مشخص شده قرار می گیرند
ابتدا بیان در نظر گرفته شد. اولین مسابقه ای که موفق می شود استفاده می شود. منظم
عبارات به یک رشته در فرم اعمال می شوند

نام فایل فضای نام xpath

به عنوان مثال:

سلام.xsd http://example.com/hello عنصر

سلام.xsd http://example.com/hello نوع/عنصر

به عنوان مثال، عبارت زیر باعث می شود همه نام های مشتق شده با شروع شوند
حروف بزرگ این می تواند زمانی مفید باشد که قرارداد نامگذاری شما نیاز به نوع داشته باشد
اسامی برای شروع با حروف بزرگ:

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

همچنین به بخش REGEX AND SHELL QUOTING در زیر مراجعه کنید.

--anonymous-regex-trace
ردیابی روند اعمال عبارات منظم مشخص شده با --ناشناس-
regex گزینه. از این گزینه برای پیدا کردن اینکه چرا عبارات منظم شما انجام نمی دهند استفاده کنید
کاری که انتظار داشتید انجام دهند

- نقشه مکان ol=nl
نقشه محل طرح اصلی ol که در طرح XML مشخص شده است شامل یا
وارد کردن عناصر به مکان طرحواره جدید nl. این گزینه را برای نقشه برداری بیش از یک تکرار کنید
مکان طرحواره به عنوان مثال، گزینه زیر نقشه را نشان می دهد
http://example.com/foo.xsd URL به foo.xsd فایل محلی

- نقشه مکان http://example.com/foo.xsd=foo.xsd

--location-regex regex
اضافه کردن regex به لیستی از عبارات منظم مورد استفاده برای نگاشت مکان های طرحواره که هستند
مشخص شده در طرح XML شامل یا وارد کردن عناصر است. regex شبیه پرل است
بیان منظم در فرم /الگو/جایگزینی/. هر کاراکتری را می توان به عنوان استفاده کرد
یک جداکننده به جای /. فرار از کاراکتر جداکننده در الگو or
جایگزینی پشتیبانی نمی شود. تمام عبارات منظم به یک پشته فشار داده می شوند
با آخرین عبارت مشخص شده ابتدا در نظر گرفته شده است. اولین مسابقه ای که موفق می شود
استفاده می شود.

به عنوان مثال، عبارت زیر مکان های URL را در فرم نشان می دهد
http://example.com/foo/bar.xsd به فایل های محلی در فرم bar.xsd:

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

همچنین به بخش REGEX AND SHELL QUOTING در زیر مراجعه کنید.

--location-regex-trace
ردیابی روند اعمال عبارات منظم مشخص شده با --محل-
regex گزینه. از این گزینه برای پیدا کردن اینکه چرا عبارات منظم شما انجام نمی دهند استفاده کنید
کاری که انتظار داشتید انجام دهند

--فایل در هر نوع
برای هر نوع تعریف شده در XML Schema یک مجموعه جداگانه از فایل های C++ ایجاد کنید. توجه داشته باشید
که در این حالت فقط باید طرح(های) ریشه را کامپایل کنید و کد خواهد بود
برای همه طرحواره های گنجانده شده و وارد شده ایجاد شده است. این حالت کامپایل در درجه اول است
زمانی مفید است که برخی از طرحواره های شما نمی توانند به طور جداگانه کامپایل شوند یا دارای چرخه باشند
وابستگی هایی که شامل وراثت نوع هستند. سایر گزینه های مربوط به این حالت
هستند: --type-file-regex, --schema-file-regex, ---fat-type-fileو ---فایل لیست.

--type-file-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام نوع به فایل
نام زمانی که --فایل در هر نوع گزینه مشخص شده است. regex معمولی پرل مانند است
بیان در فرم /الگو/جایگزینی/. هر کاراکتری را می توان به عنوان یک استفاده کرد
جداکننده به جای /. فرار از کاراکتر جداکننده در الگو or
جایگزینی پشتیبانی نمی شود. تمام عبارات منظم به یک پشته فشار داده می شوند
با آخرین عبارت مشخص شده ابتدا در نظر گرفته شده است. اولین مسابقه ای که موفق می شود
استفاده می شود. عبارات منظم به یک رشته در فرم اعمال می شود

فضای نام نام را تایپ کنید

به عنوان مثال، عبارت زیر را تایپ کنید فو که در تعریف شده است
http://example.com/bar فضای نام به نام فایل بار-فو:

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

همچنین به بخش REGEX AND SHELL QUOTING در زیر مراجعه کنید.

--type-file-regex-trace
ردیابی روند اعمال عبارات منظم مشخص شده با --type-file-
regex گزینه. از این گزینه برای پیدا کردن اینکه چرا عبارات منظم شما انجام نمی دهند استفاده کنید
کاری که انتظار داشتید انجام دهند

--schema-file-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام فایل های طرحواره
وقتی که --فایل در هر نوع گزینه مشخص شده است. regex معمولی پرل مانند است
بیان در فرم /الگو/جایگزینی/. هر کاراکتری را می توان به عنوان یک استفاده کرد
جداکننده به جای /. فرار از کاراکتر جداکننده در الگو or
جایگزینی پشتیبانی نمی شود. تمام عبارات منظم به یک پشته فشار داده می شوند
با آخرین عبارت مشخص شده ابتدا در نظر گرفته شده است. اولین مسابقه ای که موفق می شود
استفاده می شود. عبارات منظم به مسیر فایل سیستم مطلق a اعمال می شود
فایل schema و نتیجه، از جمله قسمت دایرکتوری، در صورت وجود، برای استخراج استفاده می شود
la #include مسیرهای دستورالعمل و همچنین مسیرهای فایل C++ تولید شده. این گزینه،
همراه با --type-file-regex در درجه اول برای قرار دادن فایل های تولید شده مفید هستند
زیر شاخه ها یا برای حل تداخل نام فایل.

به عنوان مثال، عبارت زیر فایل های طرحواره را در نگاشت می کند foo/1.0.0/
دایرکتوری فرعی فایل های موجود در فو/ دایرکتوری فرعی در نتیجه، #include
مسیرهای دستورالعمل برای چنین طرحواره هایی در foo/schema.hxx فرم و
فایل های C++ تولید شده در آن قرار خواهند گرفت فو/ زیر شاخه:

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

همچنین به بخش REGEX AND SHELL QUOTING در زیر مراجعه کنید.

--schema-file-regex-trace
ردیابی روند اعمال عبارات منظم مشخص شده با --schema-file-
regex گزینه. از این گزینه برای پیدا کردن اینکه چرا عبارات منظم شما انجام نمی دهند استفاده کنید
کاری که انتظار داشتید انجام دهند

---fat-type-file
کد مربوط به عناصر سراسری را به جای طرحواره در فایل های نوع ایجاد کنید
فایل ها زمانی که --type-file-regex گزینه مشخص شده است. این گزینه در درجه اول است
هنگام تلاش برای به حداقل رساندن مقدار کد شی که به یک پیوند داده شده است مفید است
قابل اجرا با بسته بندی کد تولید شده کامپایل شده در یک کتابخانه ایستا (بایگانی).

---فایل لیست پرونده
لیستی از فایل های C++ تولید شده را بنویسید پرونده. این گزینه در درجه اول مفید است
حالت کامپایل فایل به ازای هر نوع (--فایل در هر نوع) برای ایجاد لیستی از C++ تولید شده
فایل ها، به عنوان مثال، به عنوان یک قطعه makefile.

--file-list-prologue متن
قرار دادن متن در ابتدای لیست فایل به عنوان یک راحتی، همه موارد از
la \n دنباله شخصیت در متن با خطوط جدید جایگزین می شوند. این گزینه می تواند، برای
به عنوان مثال، برای اختصاص لیست فایل های تولید شده به یک متغیر makefile استفاده شود.

--file-list-epilogue متن
قرار دادن متن در انتهای لیست فایل به عنوان یک راحتی، همه موارد از
\n دنباله شخصیت در متن با خطوط جدید جایگزین می شوند.

--file-list-delim متن
محدود کردن نام فایل های نوشته شده در لیست فایل با متن به جای خطوط جدید به عنوان یک
راحتی، همه موارد از \n دنباله شخصیت در متن جایگزین می شوند با
خطوط جدید

درخت cxx فرمان گزینه های
--تولید-چند شکلی
کد چندشکلی آگاه را ایجاد کنید. اگر از جایگزینی استفاده می کنید این گزینه را مشخص کنید
گروهها یا xsi:نوع. استفاده از - نوع چند شکلی or --چند شکلی-نوع-همه گزینه ای برای
مشخص کنید که کدام نوع سلسله مراتب چند شکلی هستند.

- نوع چند شکلی نوع
نشان دهید که نوع ریشه یک سلسله مراتب چند شکلی است. کامپایلر می تواند
اغلب به طور خودکار تعیین می کند که کدام نوع بر اساس جایگزینی چندشکلی هستند
اعلامیه های گروهی با این حال، اگر از این گزینه استفاده نمی کنید، ممکن است لازم باشد از این گزینه استفاده کنید
گروه های جایگزینی یا اگر گروه های جایگزینی در طرح واره دیگری تعریف شده باشند. شما
هنگام کامپایل کردن هر فایل طرحواره ای که به آن ارجاع داده می شود، باید این گزینه را مشخص کنید نوع.
La نوع آرگومان یک نام نوع طرحواره XML است که می تواند به صورت اختیاری با آن واجد شرایط باشد
یک فضای نام در فضای نام#نام فرم.

--چند شکلی-نوع-همه
نشان دهید که همه انواع باید چند شکلی در نظر گرفته شوند.

--پلی مورفیک تعداد
صفحه نقشه چندشکلی که کد تولید شده باید روی آن ثبت شود را مشخص کنید. این
عملکرد در درجه اول برای تفکیک طرحواره های متعددی که طرحواره را تعریف می کنند مفید است
انواع چند شکلی مشابه

- نوع سفارشی نوع
ترتیب آن عنصر را در آن نشان دهید نوع قابل توجه است. یک مثال می تواند یک پیچیده باشد
با انتخاب نامحدود به عنوان یک مدل محتوا تایپ کنید که در آن ترتیب عناصر در XML وجود دارد
معناشناسی کاربردی خاص برای انواع مرتب شده، کامپایلر یک خاص تولید می کند
عضو داده کانتینر و مجموعه ای از دسترسی ها و اصلاح کننده های مربوطه که هستند
برای ثبت ترتیب عناصر و برای محتوای ترکیبی، متن استفاده می شود.

La نوع آرگومان یک نام نوع طرحواره XML است که می تواند به صورت اختیاری با آن واجد شرایط باشد
یک فضای نام در فضای نام#نام فرم. همچنین توجه داشته باشید که باید مشخص کنید
این گزینه هنگام کامپایل کردن هر فایل طرحواره ای که دارای انواع دیگر مشتق شده است
از این نوع

--ordered-type- مشتق شده
به طور خودکار انواع مشتق شده از پایه های سفارش داده شده را به صورت سفارشی رفتار کنید. این هست
در درجه اول مفید است اگر می خواهید بتوانید روی محتوای کامل تکرار کنید
با استفاده از ظرف سفارش محتوا

--سفارشی-نوع-مختلط
به طور خودکار انواع پیچیده با محتوای مخلوط را طبق سفارش درمان کنید.

--ordered-type-all
نشان دهید که ترتیب عناصر در همه انواع قابل توجه است.

--سفارش-کانتینر نوع
یک الگوی کلاس سفارشی را مشخص کنید که باید به عنوان ظرفی برای محتوا استفاده شود
به جای پیش‌فرض، انواع مرتب شده را ترتیب دهید std:: vectorاست. دیدن - نوع سفارشی برای
اطلاعات بیشتر در مورد نوع سفارش داده شده این گزینه در درجه اول در صورت نیاز مفید است
جستجوهای پیچیده تری را در محفظه سفارش محتوا انجام دهید، به عنوان مثال بر اساس عنصر
شناسه. در این مورد، ظرفی مانند Boost multi-index ممکن است راحت‌تر باشد. توجه داشته باشید
که اگر از یک کانتینر سفارشی استفاده می‌کنید، به احتمال زیاد باید آن را نیز وارد کنید
هدرهای مربوطه با استفاده از --hxx-پرولوگ* گزینه.

--تولید-سریال سازی
توابع سریال سازی را ایجاد کنید. توابع سریال سازی مدل شی را تبدیل می کنند
بازگشت به XML

--تولید-ostream
ایجاد عملگرهای درج ostream (اپراتور<) برای انواع تولید شده. این اجازه می دهد
یکی برای چاپ آسان یک قطعه یا کل مدل شی برای اشکال زدایی یا ورود به سیستم.

--تولید-داکسیژن
ایجاد نظرات مستندات مناسب برای استخراج توسط Doxygen
سیستم اسناد و مدارک مستندات از حاشیه نویسی به نظرات اضافه می شود اگر
موجود در طرحواره

--تولید-مقایسه
ایجاد عملگرهای مقایسه (اپراتور== و اپراتور!=) برای انواع پیچیده.
مقایسه به صورت اعضا انجام می شود.

--generate-default-ctor
سازنده های پیش فرض را حتی برای انواعی که اعضای مورد نیاز دارند ایجاد کنید. ضروری
اعضای نمونه ای که با استفاده از چنین سازنده ای ساخته شده اند مقداردهی اولیه نمی شوند و
دسترسی به آنها منجر به رفتار نامشخص می شود.

--تولید-از-پایه-ساز
سازنده هایی تولید کنید که انتظار دارند نمونه ای از نوع پایه و به دنبال آن همه باشد
اعضای مورد نیاز

--سرکوب-تخصیص
تولید عملگرهای تخصیص کپی را برای انواع پیچیده متوقف کنید. اگر این
گزینه مشخص شده است، عملگرهای تخصیص کپی برای چنین انواعی اعلام شده است
خصوصی و اجرا نشده باقی مانده است.

--تولید-جدا کردن
ایجاد توابع جداسازی برای عناصر و ویژگی های مورد نیاز. توابع را جدا کنید
برای کاردینالیته های اختیاری و توالی توسط ظروف مربوطه ارائه شده است.
این توابع، به عنوان مثال، به شما اجازه می دهند تا درختان فرعی را در مدل شی جابجا کنید
یا در یک درخت یا بین درختان مختلف.

-تولید-عام
دسترسی‌ها و اصلاح‌کننده‌ها و همچنین تجزیه و کد سریال‌سازی XML را ایجاد کنید
حروف عام طرحواره (هر و هر ویژگی). محتوای XML مطابق با حروف عام است
به عنوان قطعات DOM ارائه شده است. توجه داشته باشید که باید زمان اجرا Xerces-C++ را مقداردهی اولیه کنید
اگر از این گزینه استفاده می کنید

--تولید-هر نوع
استخراج و ذخیره محتوای طرحواره XML هر نوعی به عنوان یک قطعه DOM تایپ کنید. توجه داشته باشید
اگر از این گزینه استفاده می کنید باید زمان اجرا Xerces-C++ را مقداردهی اولیه کنید.

--تولید-درج os
تولید عملگرهای درج جریان نمایش داده برای os جریان خروجی
نوع برای تعیین بیش از یک نوع جریان، این گزینه را تکرار کنید. جریان ACE CDR
(ACE_OutputCDR) و RPC XDR توسط کامپایلر تشخیص داده می شود و لازم است
#include دستورالعمل ها به طور خودکار تولید می شوند. برای انواع استریم سفارشی از
--hxx-پرولوگ* گزینه هایی برای ارائه اعلامیه های لازم

--تولید-استخراج is
تولید کننده های استخراج جریان نمایش داده برای is جریان ورودی
نوع برای تعیین بیش از یک نوع جریان، این گزینه را تکرار کنید. جریان ACE CDR
(ACE_InputCDR) و RPC XDR توسط کامپایلر تشخیص داده می شود و لازم است
#include دستورالعمل ها به طور خودکار تولید می شوند. برای انواع استریم سفارشی از
--hxx-پرولوگ* گزینه هایی برای ارائه اعلامیه های لازم

--تولید-به جلو
یک فایل هدر جداگانه با اعلان‌های رو به جلو برای انواع موجود ایجاد کنید
تولید شده

-- سرکوب-تجزیه
تولید توابع تجزیه و سازنده را متوقف کنید. از این گزینه استفاده کنید
برای کاهش اندازه کد تولید شده در زمانی که تجزیه از XML مورد نیاز نیست.

--تولید-عنصر-نوع
به جای توابع تجزیه و سریال سازی برای عناصر ریشه، انواع ایجاد کنید.
این در درجه اول برای متمایز کردن مدل های شی با همان نوع ریشه مفید است
با عناصر ریشه متفاوت

--generate-element-map
یک نقشه عنصر ریشه ایجاد کنید که امکان تجزیه و سریال سازی یکنواخت را فراهم می کند
چندین عنصر ریشه این گزینه فقط همراه با معتبر است --تولید-عنصر-
نوع.

--تولید-عقل
راه حل هایی برای اشکالات IntelliSense در Visual Studio 2005 (8.0) ایجاد کنید. وقتی این
از گزینه استفاده می شود، کد حاصل کمی پرمخاطب تر است. IntelliSense در
Visual Studio 2008 (9.0) به بعد به این راه حل ها نیاز ندارد. پشتیبانی از
IntelliSense در Visual Studio 2003 (7.1) با این گزینه بهبود یافته است اما هنوز
ناقص

---omit-default-attributes
ویژگی های دارای مقادیر پیش فرض و ثابت را از اسناد XML سریال حذف کنید.

---نامگذاری سبک
نوع قرارداد نامگذاری که باید در کد تولید شده استفاده شود را مشخص کنید. معتبر
سبک ها هستند knr (به طور پیش فرض) uccو جاوه. بخش NAMING COVENTION را در زیر ببینید
برای اطلاعات بیشتر.

---نامگذاری سبک
قرارداد نامگذاری تابعی که باید در کد تولید شده استفاده شود را مشخص کنید.
سبک های معتبر هستند knr (به طور پیش فرض) lccو جاوه. به بخش کنوانسیون نامگذاری مراجعه کنید
زیر برای اطلاعات بیشتر

--type-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نوع طرحواره XML
نام ها را به C++ تایپ کنید. برای اطلاعات بیشتر به بخش NAMING COVENTION در زیر مراجعه کنید
اطلاعات.

--accessor-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام طرحواره XML از
عناصر/ویژگی های نام توابع دسترسی C++. کنوانسیون نامگذاری را ببینید
بخش زیر برای اطلاعات بیشتر

--one-accessor-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام طرحواره XML از
عناصر/ویژگی‌های دارای ویژگی یک به C++ نام تابع دسترسی. را ببینید
برای اطلاعات بیشتر، بخش NAMING COVENTION در زیر آمده است.

--opt-accessor-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام طرحواره XML از
عناصر/ویژگی‌های دارای ویژگی اختیاری برای نام تابع دسترسی C++. دیدن
برای اطلاعات بیشتر، بخش NAMING COVENTION در زیر آمده است.

--seq-accessor-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام طرحواره XML از
عناصر/ویژگی‌های دارای توالی کاردینالیتی به نام تابع دسترسی C++. دیدن
برای اطلاعات بیشتر، بخش NAMING COVENTION در زیر آمده است.

--modifier-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام طرحواره XML از
عناصر/ویژگی های نام توابع اصلاح کننده C++. کنوانسیون نامگذاری را ببینید
بخش زیر برای اطلاعات بیشتر

--one-modifier-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام طرحواره XML از
عناصر/ویژگی‌ها با نام توابع اصلاح‌کننده یک به C++. را ببینید
برای اطلاعات بیشتر، بخش NAMING COVENTION در زیر آمده است.

--opt-modifier-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام طرحواره XML از
عناصر/ویژگی‌های با کاردینالیتی اختیاری به نام تابع اصلاح‌کننده C++. دیدن
برای اطلاعات بیشتر، بخش NAMING COVENTION در زیر آمده است.

--seq-modifier-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه نام طرحواره XML از
عناصر/ویژگی ها با توالی کاردینالیتی به نام توابع اصلاح کننده C++. دیدن
برای اطلاعات بیشتر، بخش NAMING COVENTION در زیر آمده است.

--Parser-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه عنصر طرحواره XML
نام به C++ نام تابع تجزیه. بخش نامگذاری کنوانسیون را در زیر ببینید
اطلاعات بیشتر.

--serializer-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه عنصر طرحواره XML
نام به C++ نام تابع سریال سازی. بخش NAMING COVENTION را در زیر ببینید
برای اطلاعات بیشتر.

--const-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه XML Schema-derived
نام ها به نام های ثابت C++. برای اطلاعات بیشتر به بخش NAMING COVENTION در زیر مراجعه کنید
اطلاعات.

--enumerator-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه طرحواره XML
مقادیر شمارش به نام شمارشگر C++. بخش NAMING COVENTION را در زیر ببینید
برای اطلاعات بیشتر.

--element-type-regex regex
اضافه کردن regex به لیست عبارات منظم مورد استفاده برای ترجمه عنصر طرحواره XML
نام به C++ نام نوع عنصر. برای اطلاعات بیشتر به بخش NAMING COVENTION در زیر مراجعه کنید
اطلاعات.

--name-regex-trace
روند اعمال عبارات منظم مشخص شده با نام را ردیابی کنید
گزینه های تبدیل از این گزینه برای پیدا کردن دلیل عبارات منظم خود استفاده کنید
کاری را که انتظار داشتید انجام ندهید

-- root-element-first
فقط اولین عنصر جهانی را به عنوان ریشه سند در نظر بگیرید. به طور پیش فرض همه جهانی
عناصر ریشه سند در نظر گرفته می شوند.

-- root-element-last
فقط آخرین عنصر جهانی را به عنوان ریشه سند در نظر بگیرید. به طور پیش فرض همه جهانی
عناصر ریشه سند در نظر گرفته می شوند.

-- root-element-all
همه عناصر جهانی را به عنوان ریشه سند در نظر بگیرید. این رفتار به طور پیش فرض است. توسط
با مشخص کردن صریح این گزینه می توانید اخطاری که اگر صادر می شود را سرکوب کنید
بیش از یک عنصر جهانی تعریف شده است.

-- root-element-none
هیچ عنصر جهانی را به عنوان ریشه سند تلقی نکنید. به طور پیش فرض تمام عناصر جهانی
ریشه سند محسوب می شوند.

---عنصر عنصر
فقط درمان کنید عنصر به عنوان ریشه سند این گزینه را تکرار کنید تا بیش از یک مورد را مشخص کنید
عنصر ریشه

- نوع سفارشی نقشه
به جای کلاس تولید شده از یک نوع C++ سفارشی استفاده کنید. در نقشه استدلال در
فرم نام[=نوع[/پایه]]، جایی که نام یک نام نوع است که در XML Schema و تعریف شده است
نوع یک نام نوع C++ است که باید به جای آن استفاده شود. اگر نوع وجود ندارد یا
خالی فرض می شود که نوع سفارشی به همین نام است و در آن تعریف می شود
همان فضای نامی که کلاس تولید شده دارد. اگر پایه مشخص شده است سپس
کلاس تولید شده هنوز تولید می شود اما با آن نام.

--Custom-type-regex regex
به جای کلاس های تولید شده از انواع C++ سفارشی استفاده کنید. در regex استدلال در
فرم /نام پت/[نوع-زیر/[پایه-زیر/]]، جایی که نام پت یک الگوی regex است که خواهد بود
مطابق با نام نوع هایی که در XML Schema و تعریف شده است نوع-زیر یک نوع C++ است
جایگزینی نام که باید به جای آن استفاده شود. اگر نوع-زیر موجود نیست یا وجود ندارد
جایگزینی منجر به یک رشته خالی می شود سپس نوع سفارشی فرض می شود
همان نام و در فضای نامی مشابه کلاس تولید شده تعریف شود.
If پایه-زیر وجود دارد و جایگزینی آن منجر به یک رشته غیر خالی می شود و سپس رشته
کلاس تولید شده هنوز تولید می شود اما نتیجه این جایگزینی به عنوان آن است
نام. الگو و جایگزین‌ها در قالب عبارت منظم پرل هستند. دیدن
همچنین بخش REGEX AND SHELL QUOTING در زیر.

--قطعات تعداد
کد منبع تولید شده را به تقسیم کنید تعداد قطعات. این در هنگام ترجمه بزرگ مفید است،
طرحواره های یکپارچه و یک کامپایلر C++ قادر به کامپایل منبع حاصل نیست
کد یکباره (معمولاً به دلیل حافظه ناکافی).

--parts-پسوند پسوند
استفاده کنید پسوند به جای پیش فرض '-برای جدا کردن نام فایل از قسمت
عدد.

تجزیه کننده cxx فرمان گزینه های
--type-map نقشه فایل
اطلاعات نقشه برداری نوع XML Schema به C++ را از نقشه فایل. این گزینه را تکرار کنید
چندین نوع نقشه را مشخص کنید. نوع نقشه ها به ترتیب ظاهر و در نظر گرفته می شوند
اولین مسابقه استفاده می شود. به طور پیش فرض همه انواع تعریف شده توسط کاربر به نگاشت می شوند از درجه اعتبار ساقط. مشاهده
برای اطلاعات بیشتر، بخش MAP را در زیر تایپ کنید.

--xml-parser تجزیه کننده
استفاده کنید تجزیه کننده به عنوان تجزیه کننده اصلی XML. مقادیر معتبر هستند خرسس برای Xerces-C++
(پیش فرض) و مهاجرین برای مهاجران

--تولید-اعتبار
کد اعتبار سنجی را ایجاد کنید. کد اعتبارسنجی ("تجزیه کننده کامل") این را تضمین می کند
اسناد نمونه با این طرح مطابقت دارند. کد اعتبار سنجی به صورت پیش فرض تولید می شود
هنگامی که تجزیه کننده XML زیربنایی انتخاب شده معتبر نیست (مهاجرین).

--سرکوب-اعتبار
تولید کد اعتبار سنجی را متوقف کنید. اعتبار سنجی به طور پیش فرض سرکوب شده است
هنگامی که تجزیه کننده XML اساسی انتخاب شده در حال اعتبارسنجی است (خرسس).

--تولید-چند شکلی
کد چندشکلی آگاه را ایجاد کنید. اگر از جایگزینی استفاده می کنید این گزینه را مشخص کنید
گروهها یا xsi:نوع.

--generate-noop-impl
یک پیاده سازی تجزیه کننده نمونه ایجاد کنید که هیچ کاری انجام نمی دهد (بدون عملیات). در
سپس اجرای نمونه را می توان با کد خاص برنامه پر کرد. برای یک
فایل ورودی در فرم name.xsd این گزینه باعث ایجاد نسل دو می شود
فایل های C++ اضافی به شکل: name-pimpl.hxx (سربرگ پیاده سازی تجزیه کننده
فایل) و name-pimpl.cxx (فایل منبع پیاده سازی تجزیه کننده).

--تولید-چاپ-impl
یک پیاده سازی تجزیه کننده نمونه ایجاد کنید که داده های XML را در STDOUT چاپ می کند. برای یک
فایل ورودی در فرم name.xsd این گزینه باعث ایجاد نسل دو می شود
فایل های C++ اضافی به شکل: name-pimpl.hxx (سربرگ پیاده سازی تجزیه کننده
فایل) و name-pimpl.cxx (فایل منبع پیاده سازی تجزیه کننده).

--تولید-تست-درایور
یک درایور آزمایشی برای پیاده سازی تجزیه کننده نمونه ایجاد کنید. برای فایل ورودی در
فرم name.xsd این گزینه باعث ایجاد یک فایل C++ اضافی می شود
فرم name-driver.cxx.

-- اجباری بازنویسی
بازنویسی اجباری پیاده سازی موجود و فایل های درایور آزمایشی. از این استفاده کن
تنها در صورتی که برای از دست دادن تغییراتی که در نمونه ایجاد کرده اید مشکلی ندارید، گزینه را انتخاب کنید
پیاده سازی یا آزمایش فایل های درایور

-- root-element-first
نشان دهید که اولین عنصر سراسری ریشه سند است. این اطلاعات است
برای تولید درایور تست برای اجرای نمونه استفاده می شود.

-- root-element-last
نشان دهید که آخرین عنصر جهانی ریشه سند است. این اطلاعات است
برای تولید درایور تست برای اجرای نمونه استفاده می شود.

---عنصر عنصر
نشان دهید که عنصر ریشه سند است. این اطلاعات برای تولید استفاده می شود
درایور تست برای اجرای نمونه

پسوند --skel-type پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض _pskel برای ساختن نام های
اسکلت تجزیه کننده تولید شده

--skel-file-پسوند پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض -pskel برای ساختن نام های
فایل های اسکلت تجزیه کننده تولید شده

--impl-type-پسوند پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض _جوش برای ساختن نام های
پیاده سازی تجزیه کننده برای انواع طرحواره XML داخلی و همچنین تجزیه کننده نمونه
پیاده سازی

--impl-file-پسوند پسوند
ارائه شده استفاده کنید پسوند به جای پیش فرض -جوش برای ساختن نام های
فایل های پیاده سازی تجزیه کننده نمونه تولید شده است.

نامگذاری قرارداد


می توان به کامپایلر دستور داد که از یک قرارداد نامگذاری خاص در تولید شده استفاده کند
کد تعدادی از کنوانسیون های پرکاربرد را می توان با استفاده از ---نامگذاری و
---نامگذاری گزینه ها. یک قرارداد نامگذاری سفارشی را می توان با استفاده از --نوع-
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 گزینه.

La ---نامگذاری گزینه قراردادی را که باید برای نامگذاری C++ استفاده شود را مشخص می کند
انواع مقادیر ممکن برای این گزینه هستند knr (به طور پیش فرض) uccو جاوه. knr ارزش
(مخفف K&R) به معنای نامگذاری استاندارد و کوچک با خط زیر است.
به عنوان جداکننده کلمه استفاده می شود، به عنوان مثال: foo، foo_bar. را ucc (مخفف upper-camel-
مورد) و جاوه ارزش مترادف برای همان قرارداد نامگذاری که در آن حرف اول از
هر کلمه در نام با حروف بزرگ نوشته می شود، به عنوان مثال: Foo، FooBar.

به طور مشابه، ---نامگذاری گزینه قراردادی را که باید برای آن استفاده شود را مشخص می کند
نام گذاری توابع C++ مقادیر ممکن برای این گزینه هستند knr (به طور پیش فرض) lccو جاوه.
La knr مقدار (مخفف K&R) نشان دهنده قرارداد نامگذاری استاندارد با حروف کوچک است
خط زیر به عنوان جداکننده کلمه استفاده می شود، برای مثال: foo()، foo_bar(). در lcc ارزش
(مخفف low-camel-case) نشان دهنده یک قرارداد نامگذاری است که در آن حرف اول هر کدام
کلمه به جز اولی با حروف بزرگ نوشته می شود، برای مثال: foo()، fooBar(). را جاوه نامگذاری
قرارداد مشابه شتر کوچک است با این تفاوت که توابع دسترسی هستند
پیشوند با get، توابع اصلاح کننده با مجموعه پیشوند، توابع تجزیه هستند
پیشوند با parse، و توابع سریال سازی با serialize پیشوند می شوند، به عنوان مثال:
getFoo()، setFooBar()، parseRoot()، serializeRoot().

توجه داشته باشید که قراردادهای نامگذاری مشخص شده با ---نامگذاری و ---نامگذاری
گزینه‌ها فقط تغییر شکل‌های محدودی را روی نام‌هایی انجام می‌دهند که از طرحواره موجود در می‌آیند
شکل نام نوع، ویژگی و عنصر. به عبارت دیگر، برای به دست آوردن نتایج ثابت،
طرحواره های شما باید از قرارداد نامگذاری مشابهی پیروی کنند که می خواهید داشته باشید
در کد تولید شده به طور متناوب، می توانید از --*-regex گزینه ها (در زیر بحث شده است)
برای انجام تغییرات بیشتر روی نام هایی که از طرح واره می آیند.

La --type-regex, --accessor-regex, --one-accessor-regex, --opt-accessor-regex, -- دنباله-
accessor-regex, --modifier-regex, --one-modifier-regex, --opt-modifier-regex, -- دنباله-
modifier-regex, --Parser-regex, --serializer-regex, --const-regex, --enumerator-regexو
--element-type-regex گزینه ها به شما امکان می دهند عبارات منظم اضافی برای هر نام مشخص کنید
دسته علاوه بر مجموعه از پیش تعریف شده که بسته به آن اضافه می شود ---نامگذاری
و ---نامگذاری گزینه ها. عباراتی که با --*-regex گزینه های
قبل از هر عبارت از پیش تعریف شده ارزیابی می شوند. این به شما امکان می دهد تا به طور انتخابی نادیده بگیرید
برخی یا همه تبدیل های از پیش تعریف شده وقتی عبارات خود را اشکال زدایی می کنید، اینطور است
اغلب برای دیدن اینکه کدام عبارات با نام ها مطابقت دارند مفید است. در --name-regex-trace انتخاب
به شما اجازه می دهد تا روند اعمال عبارات منظم به نام ها را ردیابی کنید.

مقدار برای --*-regex گزینه ها باید یک عبارت منظم پرل مانند در فرم باشند
/الگو/جایگزینی/. هر کاراکتری را می توان به عنوان جداکننده به جای استفاده کرد /. فرار کردن
از کاراکتر جداکننده در الگو or جایگزینی پشتیبانی نمی شود. همه معمولی
عبارات مربوط به هر دسته به همراه آخرین دسته در یک دسته خاص قرار می گیرند
عبارت مشخص شده ابتدا در نظر گرفته شده است. اولین مسابقه ای که موفق می شود استفاده می شود. برای
--one-accessor-regex (دسترس‌های با کاردینالیتی یک)، --opt-accessor-regex (اکسسوری ها
با کاردینالیته اختیاری)، و --seq-accessor-regex (دسترس‌هایی با توالی کاردینالیتی)
دسته بندی --accessor-regex عبارات به عنوان یک بازگشت استفاده می شود. برای --یک-
modifier-regex, --opt-modifier-regexو --seq-modifier-regex دسته بندی --اصلاح کننده-
regex عبارات به عنوان یک بازگشت استفاده می شود. برای --element-type-regex دسته بندی
--type-regex عبارات به عنوان یک بازگشت استفاده می شود.

نوع عبارات نام (--type-regex) روی رشته نامی که دارای است ارزیابی می شوند
فرمت زیر:

[فضای نام ]نام[,نام][,نام][,نام]

عبارات نام نوع عنصر (--element-type-regex) تنها زمانی موثر است که
--تولید-عنصر-نوع گزینه مشخص شده است، بر روی رشته نامی که دارای است ارزیابی می شوند
فرمت زیر:

فضای نام نام

در قالب نام نوع فضای نام بخشی به دنبال آن یک فضا فقط برای جهانی وجود دارد
نام ها را تایپ کنید برای انواع کلی و عناصر تعریف شده در طرحواره ها بدون فضای نام هدف،
la فضای نام قسمت خالی است اما فضا هنوز موجود است. در قالب نام بعد از
اولیه نام جزء، تا سه اضافی نام اجزا می توانند وجود داشته باشند،
با کاما از هم جدا می شوند. مثلا:

http://example.com/hello نوع

فو

فو، تکرار کننده

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، پیش فرض، ارزش

مجموعه زیر از عبارات منظم از پیش تعریف شده برای تبدیل نام دسترسی استفاده می شود
وقتی که جاوه قرارداد نامگذاری انتخاب شده است:

/([^،]+)/get\u$1/

/([^،]+)،([^،]+)/get\u$1\u$2/

/([^،]+)، ([^،]+)، ([^،]+)/get\u$1\u$2\u$3/

برای دسته های تجزیه کننده، سریال ساز و شمارشگر، منظم مربوطه
عبارات بر اساس نام محلی عناصر و مقادیر شمارش ارزیابی می شوند.
به ترتیب. به عنوان مثال، از عبارت منظم از پیش تعریف شده زیر استفاده می شود
تبدیل نام توابع تجزیه زمانی که جاوه قرارداد نامگذاری انتخاب شده است:

/(.+)/تجزیه\u$1/

دسته const برای ایجاد نام های ثابت C++ برای عنصر/کارت عام/متن استفاده می شود
شناسه محتوا در انواع مرتب شده

همچنین به بخش REGEX AND SHELL QUOTING در زیر مراجعه کنید.

TYPE MAP


نوع فایل‌های نقشه در C++/Parser برای تعریف نگاشت بین XML Schema و C++ استفاده می‌شود.
انواع کامپایلر از این اطلاعات برای تعیین انواع بازگشت استفاده می کند پست_*
توابع در اسکلت تجزیه کننده مربوط به انواع طرحواره XML و همچنین انواع آرگومان
برای تماس های مربوط به عناصر و ویژگی های این نوع.

کامپایلر مجموعه ای از قوانین نگاشت از پیش تعریف شده دارد که انواع طرحواره XML داخلی را به آن نگاشت می کند
انواع C++ مناسب (در زیر بحث شده است) و همه انواع دیگر به از درجه اعتبار ساقط. با ارائه خود
نقشه ها را تایپ کنید و می توانید این قوانین از پیش تعریف شده را نادیده بگیرید. فرمت فایل نقشه نوع است
در زیر ارائه شده است:

فضای نام فضای نام طرحواره [ فضای نام cxx ]
{
( شامل نام فایل; )*
([ نوع ] نوع طرحواره cxx-ret-type [ cxx-arg-نوع ]; )*
}

هر دو فضای نام طرحواره و نوع طرحواره الگوهای regex در حالی که فضای نام cxx, cxx-ret-
نوعو cxx-arg-نوع جایگزینی الگوی regex هستند. همه نام ها می توانند اختیاری باشند
محصور در " "، برای مثال، برای گنجاندن فضاهای سفید.

فضای نام طرحواره فضای نام XML Schema را تعیین می کند. اختیاری فضای نام cxx پیشوند به
هر نام C++ را در این اعلان فضای نام تایپ کنید. cxx-ret-type یک نام نوع C++ است که
به عنوان یک نوع بازگشتی برای پست_* کارکرد. اختیاری cxx-arg-نوع یک استدلال است
برای توابع پاسخ به تماس مربوط به عناصر و ویژگی های این نوع تایپ کنید. اگر cxx-
نوع arg مشخص نشده است، به طور پیش فرض روی آن تنظیم شده است cxx-ret-type if cxx-ret-type به پایان می رسد با * or &
(یعنی اشاره گر یا مرجع است) و طراح cxx-ret-type& در غیر این صورت. نام فایل is
یک نام فایل یا در قالب " " یا < > و با آن اضافه می شود #include بخشنامه به
کد تولید شده

La # کاراکتر یک نظر را شروع می کند که با یک خط جدید یا انتهای فایل به پایان می رسد. برای مشخص کردن الف
نامی که شامل # آن را در " " محصور کنید. مثلا:

فضای نام http://www.example.com/xmlns/my my
{
شامل "my.hxx";

# سیب ها را با ارزش عبور دهید.
#
سیب سیب;

# پرتقال ها را به عنوان نشانگر عبور دهید.
#
نارنجی نارنجی_t*;
}

در مثال بالا، برای http://www.example.com/xmlns/my#نارنجی نوع طرحواره XML،
من::orange_t* نوع C++ به عنوان هر دو نوع بازگشتی و آرگومان استفاده خواهد شد.

چندین اعلان فضای نام را می توان در یک فایل مشخص کرد. فضای نام
اعلان همچنین می تواند به طور کامل برای نگاشت انواع در طرحواره بدون فضای نام حذف شود.
به عنوان مثال:

شامل "my.hxx";
سیب سیب;

فضای نام http://www.example.com/xmlns/my
{
نارنجی "const orange_t*";
}

کامپایلر تعدادی قوانین نگاشت از پیش تعریف شده دارد که می توانند به عنوان ارائه شوند
فایل های نقشه زیر انواع توکار XML Schema مبتنی بر رشته به هر کدام نگاشت می شوند
std::string or std::wstring بسته به نوع کاراکتر انتخاب شده با ---نوع کاراکتر
گزینه (ارابه به صورت پیش فرض).

فضای نام http://www.w3.org/2001/XMLSchema
{
boolean bool bool;

بایت "signed char" "signed 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";

عدد صحیح "long long" "long long";

negativeInteger "long long" "long long";
nonPositiveInteger "long long" "long long";

pozitivInteger "unsigned long long" "unsigned long long";
nonNegativeInteger "unsigned long long" "unsigned long long";

float float float;
دوبل دوتایی;
اعشاری double double;

std std::string;
normalizedString std::string;
token std::string;
نام std::string;
NMTOKEN std::string;
NCName std::string;
ID std::string;
IDREF std::string;
language 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 ;

date xml_schema::date;
dateTime xml_schema::date_time;
duration 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;
time xml_schema::time;
}

آخرین قانون از پیش تعریف شده هر چیزی را که توسط قوانین قبلی نگاشت نشده است را به تصویر می کشد از درجه اعتبار ساقط:

فضای نام.*
{
.* void void;
}

وقتی نقشه های نوع خود را با --type-map گزینه، آنها ابتدا ارزیابی می شوند.
این به شما اجازه می دهد تا به طور انتخابی قوانین از پیش تعریف شده را نادیده بگیرید.

REGEX و پوسته نقل قول


هنگام وارد کردن یک آرگومان عبارت معمولی در خط فرمان پوسته اغلب چنین است
لازم است از نقل قول استفاده شود (محصول کردن آرگومان در " " یا " ") به منظور جلوگیری از
پوسته از تفسیر کاراکترهای خاص، به عنوان مثال، فضاها به عنوان جداکننده آرگومان و
$ به عنوان بسط متغیر.

متأسفانه دستیابی به این امر به روشی که در پوسته های POSIX قابل حمل باشد دشوار است.
مانند مواردی که در گنو/لینوکس و یونیکس و پوسته ویندوز یافت می شوند. به عنوان مثال، اگر از " " استفاده کنید
برای نقل قول، اگر عبارت شما حاوی $ باشد، نتیجه اشتباهی با پوسته های POSIX دریافت خواهید کرد.
روش استاندارد مقابله با این موضوع در سیستم‌های POSIX استفاده از «» به جای آن است.
متأسفانه، پوسته ویندوز " " را از آرگومان‌ها حذف نمی‌کند
برنامه های کاربردی. در نتیجه ممکن است مجبور شوید از " " برای POSIX و " " برای ویندوز استفاده کنید ($ نیست
به عنوان یک کاراکتر خاص در ویندوز تلقی می شود).

از طرف دیگر، می توانید گزینه های عبارت منظم را در یک فایل ذخیره کنید، یک گزینه در هر خط،
و از این فایل با --options-file گزینه. با این رویکرد شما نیازی به این کار ندارید
نگران نقل قول از پوسته باشید.

عیب یابی


اگر فایل ورودی یک تعریف W3C XML Schema معتبر نیست، xsdcxx تشخیصی صادر خواهد کرد
پیام به STDERR و با کد خروجی غیر صفر خارج شوید.

با استفاده از خدمات onworks.net از xsdcxx به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad