אנגליתצרפתיתספרדי

Ad


סמל OnWorks

xsdcxx - מקוון בענן

הפעל את xsdcxx בספק אירוח בחינם של OnWorks על אובונטו מקוון, פדורה מקוון, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה xsdcxx שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


xsdcxx - W3C XML Schema ל-C++ מהדר

תַקצִיר


xsdcxx הפקודה [ אפשרויות ] פילה [ פילה ...]
xsdcxx לעזור [ הפקודה ]
xsdcxx גרסה

תיאור


xsdcxx יוצר מיפוי C++ הספציפי לאוצר מילים, מוקלד סטטי מ-W3C XML Schema
הגדרות. מיפוי מסוים להפקה נבחר על ידי א הפקודה. לכל מיפוי יש א
מספר מיפוי ספציפי אפשרויות שאמור להופיע, אם בכלל, אחרי ה הפקודה. קֶלֶט
קבצים צריכים להיות הגדרות W3C XML Schema. הסט המדויק של הקבצים שנוצרו תלוי
על המיפוי והאפשרויות שנבחרו.

פקודות


cxx-עץ
צור את מיפוי C++/עץ. לכל קובץ קלט בטופס name.xsd מה היא
נוצרים קבצי C++ הבאים: name.hxx (קובץ הכותרת), name.ixx (קובץ מוטבע,
נוצר רק אם --generate-inline האפשרות צוינה), name.cxx (מקור
קובץ), ו name-fwd.hxx (קובץ הצהרת קדימה, נוצר רק אם
--generate-forward צוינה אפשרות).

cxx-parser
צור את מיפוי C++/Parser. לכל קובץ קלט בטופס name.xsd מה היא
נוצרים קבצי C++ הבאים: name-pskel.hxx (קובץ כותרות שלד מנתח),
name-pskel.ixx (קובץ מוטבע של שלד מנתח, נוצר רק אם --לִיצוֹר-
מוטבע אפשרות מצוינת), ו name-pskel.cxx (קובץ מקור של שלד מנתח). אם
מה היא --generate-noop-impl or --generate-print-impl האפשרות מצוינת, ה
נוצרים קובצי יישום נוספים לדוגמה הבאים: name-pimpl.hxx
(קובץ כותרת יישום מנתח) ו name-pimpl.cxx (יישום מנתח
קובץ מקור). אם ה --generate-test-driver אפשרות מצוינת, הנוספת
name-driver.cxx נוצר קובץ מנהל הבדיקה.

לעזור הדפס מידע שימוש וצא. להשתמש

xsdcxx לעזור הפקודה

לעזרה ספציפית לפקודה.

גרסה
גרסת הדפסה ויציאה.

אפשרויות


ספציפי לפקודה אפשרויות, אם קיים, אמור להופיע אחרי המתאים הפקודה.

משותף אפשרויות
--std גרסה
ציין את תקן C++ שאליו הקוד שנוצר צריך להתאים. ערכים חוקיים
יש לו 98 + (ברירת המחדל) 11 +.

תקן C++ משפיע על היבטים שונים של הקוד שנוצר הנידונים
ביתר פירוט בתיעוד שונים ספציפיים למיפוי. בסך הכל, כאשר C++11 הוא
נבחר, הקוד שנוצר מסתמך על סמנטיקה ושימושים של המהלך std :: unique_ptr
במקום שהוצא משימוש std :: auto_ptr.

כאשר מצב C++11 נבחר, בדרך כלל אינך צריך לבצע פעולות נוספות
מלבד הפעלת C++11 במהדר C++ שלך, אם נדרש. המהדר XSDCXX יעשה זאת
הוסף אוטומטית את המאקרו הדרוש מגדיר לקבצי הכותרות שנוצרו
יחליף את ספריית זמן הריצה XSDCXX לכותרת בלבד (libxsd) למצב C++11.
עם זאת, אם אתה כולל כל אחת מכותרות זמן הריצה של XSDCXX ישירות ב-
יישום (בדרך כלל אתה רק כולל את הכותרות שנוצרו), אז תצטרך
להגדיר את XSD_CXX11 מאקרו עבור כל הפרויקט שלך.

---char-type סוג
צור קוד באמצעות התו שסופק סוג במקום ברירת המחדל char. תָקֵף
הערכים הם char ו wchar_t.

--קידוד char ENC
ציין את קידוד התווים שבו יש להשתמש בקוד שנוצר. תָקֵף
ערכים עבור char סוג התווים הם utf8 (ברירת מחדל), iso8859-1, Lcp (Xerces-C++
דף קוד מקומי), ו מנהג. אם תעבור מנהג בתור הערך אז תצטרך
לכלול את כותרת הטמעת הממיר עבור הקידוד שלך בהתחלה
של קובצי הכותרות שנוצרו (ראה את --hxx-פרולוג אוֹפְּצִיָה).

כדי להתאים wchar_t סוג התו הערך החוקי היחיד הוא המכונית והקידוד הוא
נבחר אוטומטית בין UTF-16 ל-UTF-32/UCS-4, בהתאם ל wchar_t
גודל סוג.

--output-dir dir
כתוב קבצים שנוצרו ל dir במקום הספרייה הנוכחית.

--generate-inline
צור פונקציות פשוטות בשורה. אפשרות זו מפעילה את יצירת הקובץ המוטבע.

--generate-xml-schema
צור קובץ כותרת C++ כאילו הסכימה הנערכים מגדירה את סכימת ה-XML
מרחב שמות. עבור מיפוי C++/Tree, הקובץ שיתקבל יכיל הגדרות
עבור כל סוגי XML Schema המובנים. עבור מיפוי C++/Parser, הקובץ המתקבל
יכיל הגדרות עבור כל השלדים והמימושים של מנתח
המתאימים לסוגי XML Schema המובנים.

קובץ הסכימה המסופק למהדר אינו צריך להתקיים והוא משמש רק לגזירה
שם קובץ הכותרת המתקבל. להשתמש ב --extern-xml-schema אפשרות ל
כלול את הקובץ הזה בקבצים שנוצרו עבור סכמות אחרות.

--extern-xml-schema פילה
כלול קובץ כותרת שמקורו פילה במקום ליצור את סכמת XML
מיפוי מרחב שמות מוטבע. הקובץ שסופק לא צריך להתקיים והוא משמש רק ל
גזר את השם של קובץ הכותרת הכלול. להשתמש ב --generate-xml-schema אוֹפְּצִיָה
כדי ליצור קובץ כותרת זה.

---namespace-map xns=CNS
מפה מרחב שמות של סכימת XML xns למרחב שמות C++ CNS. חזור על אפשרות זו כדי לציין
מיפוי עבור יותר ממרחב שמות אחד של סכימת XML. לדוגמה, האפשרות הבאה:

---namespace-map http://example.com/foo/bar=foo::bar

ימפה את http://example.com/foo/bar מרחב השמות של סכימת XML ל- פו בר C + +
מרחב שמות.

--Namespace-Regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום מרחב השמות של XML Schema
שמות לשמות מרחבי שמות C++. regex הוא ביטוי רגולרי דמוי Perl בצורה
/דפוס/תַחֲלִיף/. כל תו יכול לשמש כמפריד במקום /.
בריחה של תו המפריד פנימה דפוס or תַחֲלִיף לא נתמך.

כל הביטויים הרגולריים נדחפים לערימה עם הביטוי האחרון שצוין
הביטוי נחשב ראשון. נעשה שימוש בהתאמה הראשונה שמצליחה. רגיל
ביטויים מוחלים על מחרוזת בטופס

שם הקובץ מרחב שמות

לדוגמה, אם יש לך קובץ hello.xsd עם מרחב שמות http://example.com/hello ו
אתה רץ xsd בקובץ הזה, המחרוזת המדוברת תהיה:

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

עבור מרחב השמות המובנה של XML Schema המחרוזת היא:

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

שלושת השלבים הבאים מבוצעים עבור כל ביטוי רגולרי עד להתאמה
נמצא:

1. הביטוי מוחל ואם התוצאה ריקה הביטוי הבא הוא
נחשב.

2. הכל / מוחלפים ב ::.

3. התוצאה מאומתת כשם היקף C++ חוקי (למשל, פו בר). אם זה
הבדיקה מצליחה, התוצאה משמשת כשם מרחב השמות C++.

כדוגמה, הביטוי הבא ממפה מרחבי שמות של XML Schema בטופס
http://example.com/foo/bar ל-C++ מרחבי שמות בטופס פו בר:

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

ראה גם את הסעיף של REGEX ו-SHELL Quoting להלן.

--Namespace-Regex-Trace
עקבו אחר תהליך החלת ביטויים רגולריים שצוינו עם ה- --מרחב שמות-
regex אוֹפְּצִיָה. השתמש באפשרות זו כדי לגלות מדוע הביטויים הרגולריים שלך אינם מתאימים
מה ציפית שהם יעשו.

--שם-שמור n[=r]
הוסף שם n לרשימת השמות שאסור להשתמש בהם כמזהים. השם
ניתן לעקוב אחריהם באופן אופציונלי = והשם החלופי r שצריך להשתמש בו
במקום זאת. כל מילות המפתח C++ כבר נמצאות ברשימה זו.

--כולל-עם-סוגריים
השתמש בסוגריים זווית (<>) במקום מרכאות ("") ביצירת #include הוראות.

--include-prefix קידומת
להוסיף קידומת ליצירת #include נתיבי הנחיה.

לדוגמה, אם היה לך את רכיב הייבוא ​​הבא בסכימה שלך

<ייבוא מרחב שמות="..." schemaLocation="base.xsd"/>

וחיבר את הפרגמנט הזה עם --include-prefix סכימות/, ואז הכלול
ההנחיה בקוד שנוצר תהיה:

#include "schemas/base.hxx"

--include-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים להמרה #include הוראה
שבילים. regex הוא ביטוי רגולרי דמוי Perl בצורה /דפוס/תַחֲלִיף/.
כל תו יכול לשמש כמפריד במקום /. בריחה של התוחם
אופי ב דפוס or תַחֲלִיף לא נתמך.

כל הביטויים הרגולריים נדחפים לערימה עם הביטוי האחרון שצוין
הביטוי נחשב ראשון. נעשה שימוש בהתאמה הראשונה שמצליחה.

כדוגמה, הביטוי הבא הופך נתיבים בטופס
schemas/foo/bar לנתיבים בצורה נוצר/foo/bar:

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

ראה גם את הסעיף של REGEX ו-SHELL Quoting להלן.

--include-regex-trace
עקבו אחר תהליך החלת ביטויים רגולריים שצוינו עם ה- --לִכלוֹל-
regex אוֹפְּצִיָה. השתמש באפשרות זו כדי לגלות מדוע הביטויים הרגולריים שלך אינם מתאימים
מה ציפית שהם יעשו.

--קידומת-guard קידומת
להוסיף קידומת לשומרי הכללת כותרות שנוצרו. הקידומת הופכת לעליון
אותיות גדולות ותווים שאינם חוקיים בשם מאקרו קדם-מעבד מוחלפים ב
מדגיש. אם אפשרות זו לא צוינה אז חלק הספרייה של הקלט
קובץ הסכימה משמש כתחילית.

--hxx-סיומת סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל .hxx לבנות את השם של
קובץ הכותרת. שימו לב שסיומת זו משמשת גם לבניית שמות של קבצי כותרות
מתאים לסכימות כלולות/מיובאות.

--ixx-סיומת סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל .ixx לבנות את השם של
קובץ מוטבע.

--cxx-סיומת סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל .cxx לבנות את השם של
קובץ מקור.

--fwd-סיומת סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל -fwd.hxx לבנות את השם של
קובץ ההצהרה קדימה.

--hxx-regex regex
השתמש בביטוי שסופק כדי לבנות את השם של קובץ הכותרת. regex הוא
ביטוי רגולרי דמוי פרל בצורה /דפוס/תַחֲלִיף/. שים לב לכך
expression משמש גם לבניית שמות של קבצי כותרת התואמים ל
סכימות כלולות/מיובאות. ראה גם את הסעיף של REGEX ו-SHELL Quoting להלן.

--ixx-regex regex
השתמש בביטוי שסופק כדי לבנות את שם הקובץ המוטבע. regex הוא
ביטוי רגולרי דמוי פרל בצורה /דפוס/תַחֲלִיף/. ראה גם את REGEX
וקטע ציטוט פגז למטה.

--cxx-regex regex
השתמש בביטוי שסופק כדי לבנות את שם קובץ המקור. regex הוא
ביטוי רגולרי דמוי פרל בצורה /דפוס/תַחֲלִיף/. ראה גם את REGEX
וקטע ציטוט פגז למטה.

--fwd-regex regex
השתמש בביטוי שסופק כדי לבנות את השם של קובץ ההצהרה קדימה.
regex הוא ביטוי רגולרי דמוי Perl בצורה /דפוס/תַחֲלִיף/. ראה גם
הקטע של REGEX ו-SHELL Quoting להלן.

--hxx-פרולוג טֶקסט
הַבלָעָה טֶקסט בתחילת קובץ הכותרת.

--ixx-פרולוג טֶקסט
הַבלָעָה טֶקסט בתחילת הקובץ המוטבע.

--cxx-פרולוג טֶקסט
הַבלָעָה טֶקסט בתחילת קובץ המקור.

--fwd-פרולוג טֶקסט
הַבלָעָה טֶקסט בתחילת קובץ ההצהרה קדימה.

--פּרוֹלוֹג טֶקסט
הַבלָעָה טֶקסט בתחילת כל קובץ שנוצר שאין עבורו קובץ-
פרולוג ספציפי.

--hxx-אפילוג טֶקסט
הַבלָעָה טֶקסט בסוף קובץ הכותרת.

--ixx-אפילוג טֶקסט
הַבלָעָה טֶקסט בסוף הקובץ המוטבע.

--cxx-אפילוג טֶקסט
הַבלָעָה טֶקסט בסוף קובץ המקור.

--fwd-אפילוג טֶקסט
הַבלָעָה טֶקסט בסוף תיק ההצהרה קדימה.

--אֶפִּילוֹג טֶקסט
הַבלָעָה טֶקסט בסוף כל קובץ שנוצר שאין לו קובץ ספציפי
אפילוג.

--hxx-prologue-file פילה
הכנס את התוכן של פילה בתחילת קובץ הכותרת.

--ixx-prologue-file פילה
הכנס את התוכן של פילה בתחילת הקובץ המוטבע.

--cxx-prologue-file פילה
הכנס את התוכן של פילה בתחילת קובץ המקור.

--fwd-prologue-file פילה
הכנס את התוכן של פילה בתחילת קובץ ההצהרה קדימה.

--פרולוג-קובץ פילה
הכנס את התוכן של פילה בתחילת כל קובץ שנוצר עבורו
אין קובץ פרולוג ספציפי לקובץ.

--hxx-epilogue-file פילה
הכנס את התוכן של פילה בסוף קובץ הכותרת.

--ixx-epilogue-file פילה
הכנס את התוכן של פילה בסוף הקובץ המוטבע.

--cxx-epilogue-file פילה
הכנס את התוכן של פילה בסוף קובץ המקור.

--fwd-epilogue-file פילה
הכנס את התוכן של פילה בסוף תיק ההצהרה קדימה.

--קובץ-אפילוג פילה
הכנס את התוכן של פילה בסוף כל קובץ שנוצר שעבורו יש
אין קובץ אפילוג ספציפי לקובץ.

--ייצוא-סמל סמל
הַבלָעָה סמל במקומות שבהם DLL ייצוא/ייבוא ​​הצהרות בקרה
(__declspec(dllexport/dllimport)) נחוצים.

--export-xml-schema
ייצוא/ייבוא ​​סוגי במרחב השמות של XML Schema באמצעות סמל הייצוא שסופק
עם --ייצוא-סמל אוֹפְּצִיָה. ה XSD_NO_EXPORT ניתן להשתמש במאקרו כדי להשמיט זאת
קוד במהלך הידור C++, שעשוי להיות שימושי אם תרצה להשתמש באותו
קוד שנוצר על פני מספר פלטפורמות.

--ייצוא-מפות
ייצא מפות תמיכה בפולימורפיזם מ-DLL של Win32 שאליו נמצא הקוד שנוצר
מוּצָב. זה הכרחי כאשר היררכיית הסוג שלך מפוצלת על פני מספר DLLs
מכיוון שאם לא כן, לכל DLL יהיה סט מפות משלו. במצב זה ה
קוד שנוצר עבור ה-DLL המכיל סוגי בסיס ו/או קבוצת החלפה
יש להרכיב heads עם אפשרות זו והקוד שנוצר עבור כל שאר ה-DLLs
צריך להרכיב עם --ייבוא-מפות. אפשרות זו תקפה רק יחד עם
--ליצור-פולימורפי. ה XSD_NO_EXPORT ניתן להשתמש במאקרו כדי להשמיט את הקוד הזה
במהלך הידור C++, שעשוי להיות שימושי אם תרצה להשתמש באותו
קוד שנוצר על פני מספר פלטפורמות.

--ייבוא-מפות
ייבא מפות תמיכה בפולימורפיזם ל-DLL של Win32 או לקובץ הפעלה שלתוכו זה
הקוד שנוצר מקושר. ראה את --ייצוא-מפות תיעוד אפשרויות לפרטים.
אפשרות זו תקפה רק יחד עם --ליצור-פולימורפי. ה XSD_NO_EXPORT
ניתן להשתמש במאקרו כדי להשמיט קוד זה במהלך הידור C++, מה שעשוי להיות שימושי אם
תרצה להשתמש באותו קוד שנוצר על פני מספר פלטפורמות.

--generate-dep
ליצור לעשות מידע על תלות. אפשרות זו מפעילה את יצירת ה- .d
קובץ המכיל את התלות של הקבצים שנוצרו בקובץ הסכמה הראשי as
כמו גם את כל קבצי הסכמה שהוא כולל/מייבא, באופן טרנזיטיבי. זֶה
קובץ התלות בדרך כלל נכלל ב-main קובץ מיידי כדי ליישם
מעקב תלות אוטומטי.

שימו לב גם שיצירת תלות אוטומטית אינה נתמכת בקובץ-לכל-
מצב הקלדה (--קובץ לכל סוג). במקרה זה, כל הקבצים שנוצרו מופקים
עם הפעלת מהדר יחיד ותלויים בכל הסכמות. כתוצאה מכך, זה כן
קל יותר לבסס תלות כזו באופן ידני, אולי בעזרת ה
--רשימת קבצים* אפשרויות.

--generate-dep-only
ליצור לעשות מידע תלות בלבד.

--דפ-פוני
צור יעדים מזויפים עבור קבצי סכימה כלולים/מיובאים, מה שגורם לכל אחד להיות תלוי
על כלום. חוקי דמה כאלה מסתיימים לעשות שגיאות שנגרמו כתוצאה מהסרה של
קבצי סכימה מבלי לעדכן גם את קובץ התלות כך שיתאים.

---dep-target יעד
שנה את היעד של כלל התלות. כברירת מחדל הוא מכיל את כל הנוצרים
קבצי C++ וכן קובץ התלות עצמו, ללא כל קידומות ספרייה. אם
אתה דורש מטרות מרובות, אז אתה יכול לציין אותם כמרחב יחיד,
ארגומנט מופרד או שאתה יכול לחזור על אפשרות זו מספר פעמים.

סיומת --dep סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל .d לבנות את השם של
קובץ תלות.

--dep-regex regex
השתמש בביטוי שסופק כדי לבנות את השם של קובץ התלות. regex is
ביטוי רגולרי דמוי פרל בצורה /דפוס/תַחֲלִיף/. ראו גם את
הסעיף של REGEX ו-SHELL ציטוט למטה.

--השבת-אזהרה להזהיר
השבת אזהרת הדפסה עם מזהה להזהיר. אם את כל מצוין עבור מזהה האזהרה אז
כל האזהרות מושבתות.

--Options-file פילה
קרא אפשרויות נוספות מ פילה. כל אפשרות אמורה להופיע בשורה נפרדת
אופציונלי ואחריו רווח וערך אופציה. שורות ריקות וקווים מתחילים
עם # מתעלמים. ערכי אופציות יכולים להיות מוקפים בכפול (") או יחיד (')
ציטוטים לשמירה על רווחים לבנים מובילים ונגררים וכן כדי לציין ריקים
ערכים. אם הערך עצמו מכיל ציטוטים נגררים או מובילים, הוסיפו אותו ב-
צמד מרכאות נוסף, למשל '"איקס"'. ציטוטים לא מובילים ולא נגררים הם
מתפרש כחלק משווי האופציה.

הסמנטיקה של מתן אפשרויות בקובץ שווה ערך למתן אותה
קבוצת אפשרויות באותו סדר בשורת הפקודה בנקודה שבה
--Options-file האופציה צוינה למעט שהקליפה הנמלטת והציטוט היא
לא דרוש. אתה יכול לחזור על אפשרות זו כדי לציין יותר מקובץ אפשרויות אחד.

--show-sloc
הצג את מספר שורות הקוד הפיזיות שנוצרו (SLOC).

--sloc-limit NUM
בדוק שמספר שורות הקוד הפיזיות שנוצרו (SLOC) לא
עולה על NUM.

--רישיון קנייני
ציין שהקוד שנוצר מורשה תחת רישיון קנייני במקום
ה-GPL.

--מותאם אישית פילה
טען מחרוזת XML מותאמת אישית למיפויים מילוליים של C++ פילה. מנגנון זה יכול להיות
שימושי אם אתה משתמש בקידוד תווים מותאם אישית ובחלק מהמחרוזות שלך
סכימות, למשל שמות אלמנטים/מאפיינים או ערכי ספירה, מכילות לא-
תווי ASCII. במקרה זה תצטרך לספק מיפוי מותאם אישית ל-C++
מילוליות עבור מחרוזות כאלה. הפורמט של קובץ זה מצוין ב- אישית
literals.xsd קובץ XML Schema שניתן למצוא בספריית התיעוד.

--לשמור-אנונימי
שמור על סוגים אנונימיים. כברירת מחדל סוגים אנונימיים נקראים אוטומטית עם
שמות הנגזרים מהאלמנטים/התכונות המקיפות. כי מיפויים מיושמים
לפי מהדר זה דורשים לתת שמות לכל הסוגים, אפשרות זו שימושית רק אם אתה
רוצה לוודא שלסכימות שלך אין סוגים אנונימיים.

--הצג-אנונימי
הצג אלמנטים ותכונות שהם מסוגים אנונימיים. אפשרות זו רק עושה
חוש יחד עם ה --לשמור-אנונימי אוֹפְּצִיָה.

--anonymous-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים להפקת שמות לאנונימי
סוגים מהתכונות/אלמנטים המקיפים. regex הוא רגיל דמוי Perl
ביטוי בצורה /דפוס/תַחֲלִיף/. כל תו יכול לשמש בתור
תוחם במקום /. בריחה של תו המפריד פנימה דפוס or
תַחֲלִיף לא נתמך.

כל הביטויים הרגולריים נדחפים לערימה עם הביטוי האחרון שצוין
הביטוי נחשב ראשון. נעשה שימוש בהתאמה הראשונה שמצליחה. רגיל
ביטויים מוחלים על מחרוזת בטופס

שם הקובץ מרחב שמות xpath

לדוגמה:

hello.xsd http://example.com/hello אלמנט

hello.xsd http://example.com/hello סוג/אלמנט

כדוגמה, הביטוי הבא גורם לכל השמות הנגזרים להתחיל ב
אותיות גדולות. זה יכול להיות שימושי כאשר מוסכמות השמות שלך דורשת סוג
שמות להתחיל באותיות גדולות:

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

ראה גם את הסעיף של REGEX ו-SHELL Quoting להלן.

---anonymous-regex-trace
עקבו אחר תהליך החלת ביטויים רגולריים שצוינו עם ה- --בעילום שם-
regex אוֹפְּצִיָה. השתמש באפשרות זו כדי לגלות מדוע הביטויים הרגולריים שלך אינם מתאימים
מה ציפית שהם יעשו.

--מפת מיקום ol=nl
מפה את מיקום הסכימה המקורית ol שצוין ב-XML Schema כוללים או
ייבוא ​​אלמנטים למיקום סכימה חדש nl. חזור על אפשרות זו כדי למפות יותר מאחת
מיקום הסכימה. לדוגמה, האפשרות הבאה ממפה את
http://example.com/foo.xsd כתובת האתר ל- foo.xsd קובץ מקומי.

--מפת מיקום http://example.com/foo.xsd=foo.xsd

--location-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים למיפוי מיקומי סכימה שהם
המצוין ב-XML Schema כולל או ייבוא ​​אלמנטים. regex הוא דמוי פרל
ביטוי רגולרי בצורה /דפוס/תַחֲלִיף/. כל תו יכול לשמש בתור
תוחם במקום /. בריחה של תו המפריד פנימה דפוס or
תַחֲלִיף לא נתמך. כל הביטויים הרגולריים נדחפים לערימה
כאשר הביטוי האחרון שצוין נחשב ראשון. המשחק הראשון שמצליח
משמש.

לדוגמה, הביטוי הבא ממפה את מיקומי כתובת האתר בטופס
http://example.com/foo/bar.xsd לקבצים מקומיים בטופס bar.xsd:

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

ראה גם את הסעיף של REGEX ו-SHELL Quoting להלן.

--location-regex-trace
עקבו אחר תהליך החלת ביטויים רגולריים שצוינו עם ה- --מקום-
regex אוֹפְּצִיָה. השתמש באפשרות זו כדי לגלות מדוע הביטויים הרגולריים שלך אינם מתאימים
מה ציפית שהם יעשו.

--קובץ לכל סוג
צור קבוצה נפרדת של קבצי C++ עבור כל סוג המוגדר ב-XML Schema. הערה
שבמצב זה אתה רק צריך להרכיב את סכימת השורש והקוד יהיה
נוצר עבור כל הסכימות הכלולות והמיובאות. מצב הידור זה הוא בעיקר
שימושי כאשר חלק מהסכימות שלך לא ניתנות להידור בנפרד או בעלות מחזוריות
תלות הכרוכה בסוג ירושה. אפשרויות אחרות הקשורות למצב זה
הם: --type-file-regex, --schema-file-regex, --fat-type-file, ו --רשימת קבצים.

--type-file-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות סוגים לקובץ
שמות כאשר ה --קובץ לכל סוג אפשרות זו מוגדרת. regex הוא רגיל דמוי Perl
ביטוי בצורה /דפוס/תַחֲלִיף/. כל תו יכול לשמש בתור
תוחם במקום /. בריחה של תו המפריד פנימה דפוס or
תַחֲלִיף לא נתמך. כל הביטויים הרגולריים נדחפים לערימה
כאשר הביטוי האחרון שצוין נחשב ראשון. המשחק הראשון שמצליח
משמש. ביטויים רגולריים מוחלים על מחרוזת בטופס

מרחב שמות סוג שם

לדוגמה, סוג מפות הביטוי הבאות Foo המוגדר ב-
http://example.com/bar מרחב שמות לשם הקובץ בר-פו:

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

ראה גם את הסעיף של REGEX ו-SHELL Quoting להלן.

--type-file-regex-trace
עקבו אחר תהליך החלת ביטויים רגולריים שצוינו עם ה- --סוג-קובץ-
regex אוֹפְּצִיָה. השתמש באפשרות זו כדי לגלות מדוע הביטויים הרגולריים שלך אינם מתאימים
מה ציפית שהם יעשו.

--schema-file-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות קבצי סכימה
כאשר --קובץ לכל סוג אפשרות זו מוגדרת. regex הוא רגיל דמוי Perl
ביטוי בצורה /דפוס/תַחֲלִיף/. כל תו יכול לשמש בתור
תוחם במקום /. בריחה של תו המפריד פנימה דפוס or
תַחֲלִיף לא נתמך. כל הביטויים הרגולריים נדחפים לערימה
כאשר הביטוי האחרון שצוין נחשב ראשון. המשחק הראשון שמצליח
משמש. ביטויים רגולריים מוחלים על הנתיב המוחלט של מערכת הקבצים של a
קובץ הסכימה והתוצאה, כולל חלק הספרייה, אם קיים, משמשת לגזירה
מה היא #include נתיבי ההנחיה וכן נתיבי הקובץ C++ שנוצרו. אפשרות זו,
יחד עם --type-file-regex שימושיים בעיקר למקם את הקבצים שנוצרו
ספריות משנה או כדי לפתור התנגשויות שמות קבצים.

לדוגמה, הביטוי הבא ממפה קובצי סכימה ב- foo/1.0.0/
ספריית משנה לקבצים ב- foo / ספריית משנה. כתוצאה מכך, ה #include
נתיבי הנחיה עבור סכימות כאלה יהיו ב- foo/schema.hxx צורה ו
קבצי C++ שנוצרו יוצבו ב- foo / תת -ספרייה:

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

ראה גם את הסעיף של REGEX ו-SHELL Quoting להלן.

--schema-file-regex-trace
עקבו אחר תהליך החלת ביטויים רגולריים שצוינו עם ה- --סכימה-קובץ-
regex אוֹפְּצִיָה. השתמש באפשרות זו כדי לגלות מדוע הביטויים הרגולריים שלך אינם מתאימים
מה ציפית שהם יעשו.

--fat-type-file
צור קוד המתאים לאלמנטים גלובליים לקבצי סוג במקום לסכימה
קבצים כאשר --type-file-regex אפשרות מוגדרת. אפשרות זו היא בעיקר
שימושי כאשר מנסים למזער את כמות קוד האובייקט המקושר ל-an
בר הפעלה על ידי אריזה של קוד שנוצר לתוך ספרייה סטטית (ארכיון).

--רשימת קבצים פילה
כתוב רשימה של קבצי C++ שנוצרו אל פילה. אפשרות זו שימושית בעיקר ב-
מצב הידור קובץ לפי סוג (--קובץ לכל סוג) כדי ליצור רשימה של C++ שנוצר
קבצים, למשל, כמקטע makefile.

--file-list-prologue טֶקסט
הַבלָעָה טֶקסט בתחילת רשימת הקבצים. מטעמי נוחות, כל ההתרחשויות של
מה היא \n רצף תווים ב טֶקסט מוחלפים בקווים חדשים. אפשרות זו יכולה, עבור
לדוגמה, לשמש כדי להקצות את רשימת הקבצים שנוצרה למשתנה makefile.

--קובץ-רשימת-אפילוג טֶקסט
הַבלָעָה טֶקסט בסוף רשימת הקבצים. לנוחות, כל המופעים של
\n רצף תווים ב טֶקסט מוחלפים בקווים חדשים.

--file-list-delim טֶקסט
הגדר את שמות הקבצים שנכתבו לרשימת הקבצים באמצעות טֶקסט במקום קווים חדשים. כ
נוחות, כל המופעים של \n רצף תווים ב טֶקסט מוחלפים ב
קווים חדשים.

cxx-עץ הפקודה אפשרויות
--ליצור-פולימורפי
צור קוד מודע לפולימורפיזם. ציין אפשרות זו אם אתה משתמש בהחלפה
קבוצות או xsi: סוג. להשתמש ב -סוג פולימורפי or --polymorphic-type-all אפשרות ל
ציין אילו היררכיות סוגים הן פולימורפיות.

-סוג פולימורפי סוג
מצביע על כך ש סוג הוא שורש של היררכיית טיפוסים פולימורפיים. המהדר יכול
לעתים קרובות קובעים אוטומטית אילו סוגים הם פולימורפיים על סמך ההחלפה
הצהרות קבוצתיות. עם זאת, ייתכן שיהיה עליך להשתמש באפשרות זו אם אינך משתמש
קבוצות החלפה או אם קבוצות החלפה מוגדרות בסכמה אחרת. אתה
צריך לציין אפשרות זו בעת הידור של כל קובץ סכימה שמפנה סוג.
אל האני סוג ארגומנט הוא שם סוג של סכמת XML שניתן לסמוך איתו באופן אופציונלי
מרחב שמות ב- מרחב שמות#שם הטופס.

--polymorphic-type-all
ציין שיש להתייחס לכל הסוגים כפולימורפיים.

--צלחת פולימורפית NUM
ציין את לוחית המפה הפולימורפית שעליה צריך להירשם הקוד שנוצר. זֶה
הפונקציונליות שימושית בעיקר כדי להפריד סכמות מרובות המגדירות את
אותם טיפוסים פולימורפיים.

---sorder-type סוג
ציין את סדר האלמנטים ב סוג הוא משמעותי. דוגמה לכך תהיה מורכבות
סוג עם בחירה בלתי מוגבלת כמודל תוכן שבו יש לסדר האלמנטים ב-XML
סמנטיקה ספציפית ליישום. עבור סוגים מסודרים המהדר יוצר מיוחד
איבר נתוני מכיל וקבוצה מתאימה של אביזרים ומתאמים שהם
משמש ללכידת הסדר של האלמנטים, ובעבור תוכן מעורב, של טקסט.

אל האני סוג ארגומנט הוא שם סוג של סכמת XML שניתן לסמוך איתו באופן אופציונלי
מרחב שמות ב- מרחב שמות#שם טופס. שימו לב גם שתצטרכו לציין
אפשרות זו בעת הידור של כל קובץ סכימה שנגזר ממנו סוגים מסודרים אחרים
מהסוג הזה.

---ordered-type-derived
לטפל באופן אוטומטי בסוגים שמקורם בבסיסים שהוזמנו כפי שהוזמנו. זה
שימושי בעיקר אם אתה רוצה להיות מסוגל לחזור על התוכן המלא
באמצעות מיכל הזמנת התוכן.

---ordered-type-mixed
טפל אוטומטית בסוגים מורכבים עם תוכן מעורב לפי ההזמנה.

--ordered-type-all
ציין שסדר האלמנטים בכל הסוגים הוא משמעותי.

--מיכל הזמנה סוג
ציין תבנית מחלקה מותאמת אישית שאמורה לשמש כמיכל לתוכן
סדר בסוגים מסודרים במקום ברירת המחדל std :: וקטור. לראות ---sorder-type ל
מידע נוסף על סוג שהוזמן. אפשרות זו שימושית בעיקר אם אתה צריך
לבצע חיפושים מורכבים יותר במיכל סדר התוכן, למשל לפי אלמנט
תְעוּדַת זֶהוּת. במקרה זה, מיכל כמו Boost multi-index עשוי להיות נוח יותר. הערה
שאם אתה משתמש במיכל מותאם אישית, סביר להניח שתצטרך לכלול גם את
כותרות רלוונטיות באמצעות --hxx-prologue* אפשרויות.

--generate-serialization
יצירת פונקציות סריאליזציה. פונקציות סריאליזציה ממירות את מודל האובייקט
חזרה ל-XML.

--generate-ostream
צור אופרטורים להכנסת ostream (מפעיל <) עבור סוגים שנוצרו. זה מאפשר
אחד כדי להדפיס בקלות קטע או את מודל האובייקט כולו לצורך ניפוי באגים או רישום.

-- ליצור-דoxygen
צור הערות תיעוד המתאימות לחילוץ על ידי הדוקסיג'ן
מערכת תיעוד. תיעוד מהערות נוסף להערות אם
נוכח בסכימה.

--ליצור-השוואה
צור אופרטורים להשוואה (מפעיל== ו מפעיל!=) לסוגים מורכבים.
ההשוואה מתבצעת לפי חבר.

--generate-default-ctor
צור בנאי ברירת מחדל אפילו עבור טיפוסים שיש להם חברים נדרשים. נדרש
איברים של מופע שנבנה באמצעות בנאי כזה אינם מאותחלים ו
גישה אליהם גורמת להתנהגות לא מוגדרת.

--generate-from-base-ctor
צור בנאים שמצפים למופע מסוג בסיס ואחריו כולם
חברים נדרשים.

--הדחיק-הקצאה
דחק את היצירה של אופרטורים להקצאת העתקות עבור סוגים מורכבים. אם זה
אפשרות מוגדרת, אופרטורי הקצאת העתקה עבור סוגים כאלה מוצהרים
פרטי ונותרו ללא יישום.

--ליצור-להתנתק
צור פונקציות ניתוק עבור אלמנטים ותכונות נדרשים. ניתוק פונקציות
עבור קרדינליות אופציונלית ורצף מסופקים על ידי המיכלים המתאימים.
פונקציות אלו, למשל, מאפשרות לך להזיז עצי משנה במודל האובייקט
או בתוך אותו עץ או בין עצים שונים.

--generate-wildcard
צור אביזרים ומתאמים, כמו גם קוד ניתוח והסדרה עבור XML
תווים כלליים של סכימה (כל ו anyAttribute). תוכן XML המותאם על ידי תווים כלליים הוא
מוצג כשברי DOM. שים לב שעליך לאתחל את זמן הריצה של Xerces-C++
אם אתה משתמש באפשרות זו.

--generate-any-type
חלץ ואחסן תוכן של סכמת XML כל סוג הקלד כמקטע DOM. הערה
שאתה צריך לאתחל את זמן הריצה של Xerces-C++ אם אתה משתמש באפשרות זו.

--generate-insertion os
צור אופרטורים להכנסת זרם ייצוג נתונים עבור os זרם פלט
סוּג. חזור על אפשרות זו כדי לציין יותר מסוג זרם אחד. זרם ACE CDR
(ACE_OutputCDR) ו-RPC XDR מזוהים על ידי המהדר והדרושים
#include הנחיות נוצרות באופן אוטומטי. לסוגי זרמים מותאמים אישית השתמש ב-
--hxx-prologue* אפשרויות לספק את ההצהרות הדרושות.

--ליצור-חילוץ is
צור בנאים לחילוץ זרם ייצוג נתונים עבור is זרם קלט
סוּג. חזור על אפשרות זו כדי לציין יותר מסוג זרם אחד. זרם ACE CDR
(ACE_InputCDR) ו-RPC XDR מזוהים על ידי המהדר והדרושים
#include הנחיות נוצרות באופן אוטומטי. לסוגי זרמים מותאמים אישית השתמש ב-
--hxx-prologue* אפשרויות לספק את ההצהרות הדרושות.

--generate-forward
צור קובץ כותרת נפרד עם הצהרות קדימה עבור הסוגים
נוצר.

--דיכוי-ניתוח
דחק את היצירה של פונקציות הניתוח והבנאים. השתמש באפשרות זו
כדי להקטין את גודל הקוד שנוצר כאשר אין צורך בניתוח מ-XML.

--generate-element-type
צור טיפוסים במקום פונקציות ניתוח והסדרה עבור רכיבי שורש.
זה שימושי בעיקר כדי להבחין בין מודלים של אובייקטים עם אותו סוג שורש אבל
עם יסודות שורש שונים.

--generate-element-map
צור מפת אלמנט שורש המאפשרת ניתוח וסידרה אחידה של
רכיבי שורש מרובים. אפשרות זו תקפה רק יחד עם --generate-element-
סוג.

--ליצור-שכל
צור דרכים לעקיפת באגים של IntelliSense ב-Visual Studio 2005 (8.0). כשזה
בשימוש, הקוד המתקבל הוא מעט יותר מילולי. IntelliSense ב
Visual Studio 2008 (9.0) ואילך אינו דורש דרכים לעקיפת הבעיה. תמיכה ל
IntelliSense ב-Visual Studio 2003 (7.1) משופרת עם אפשרות זו אך עדיין
לא שלם.

--omit-default-attributes
השמט תכונות עם ערכי ברירת מחדל וקבועים ממסמכי XML בסידרה.

--שם-סוג סגנון
ציין את מוסכמות מתן השמות שיש להשתמש בה בקוד שנוצר. תָקֵף
סגנונות הם knr (ברירת מחדל), ucc, ו תאווה. עיין בסעיף אמנת השמות למטה
לקבלת מידע נוסף.

--שם פונקציה סגנון
ציין את מוסכמות שמות הפונקציות שבה יש להשתמש בקוד שנוצר.
סגנונות תקפים הם knr (ברירת מחדל), lcc, ו תאווה. עיין בסעיף אמנת השמות
להלן למידע נוסף.

--type-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום סוג XML Schema
שמות לשמות מסוג C++. עיין בסעיף אמנת השמות למטה למידע נוסף
מידע.

--accessor-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות של סכימת XML של
אלמנטים/מאפיינים לשמות פונקציות של C++. ראה את אמנת השמות
הסעיף למטה למידע נוסף.

--אחד-accessor-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות של סכימת XML של
אלמנטים/מאפיינים עם קרדינליות אחת לשמות פונקציות עזר C++. ראה את
סעיף אמנת שמות למטה למידע נוסף.

--opt-accessor-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות של סכימת XML של
אלמנטים/מאפיינים עם קרדינליות אופציונלית לשמות פונקציות של C++. לִרְאוֹת
סעיף אמנת השמות למטה למידע נוסף.

--seq-accessor-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות של סכימת XML של
אלמנטים/מאפיינים עם רצף קרדינליות לשמות פונקציות עזר C++. לִרְאוֹת
סעיף אמנת השמות למטה למידע נוסף.

--modifier-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות של סכימת XML של
אלמנטים/מאפיינים לשמות פונקציות של C++. ראה את אמנת השמות
הסעיף למטה למידע נוסף.

--one-modifier-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות של סכימת XML של
אלמנטים/מאפיינים עם קרדינליות אחת ל-C++ שמות פונקציות. ראה את
סעיף אמנת שמות למטה למידע נוסף.

--opt-modifier-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות של סכימת XML של
אלמנטים/תכונות עם קרדינליות אופציונלית לשמות פונקציות של C++. לִרְאוֹת
סעיף אמנת השמות למטה למידע נוסף.

--seq-modifier-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום שמות של סכימת XML של
אלמנטים/תכונות עם רצף קרדינליות לשמות פונקציות של C++. לִרְאוֹת
סעיף אמנת השמות למטה למידע נוסף.

--parser-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום רכיב XML Schema
שמות ל-C++ ניתוח שמות פונקציות. עיין בסעיף אמנת השמות למטה עבור
עוד מידע.

--- serializer-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום רכיב XML Schema
שמות לשמות פונקציות C++ בסידרה. עיין בסעיף אמנת השמות למטה
לקבלת מידע נוסף.

--const-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום XML Schema הנגזרת
שמות לשמות קבועים C++. עיין בסעיף אמנת השמות למטה למידע נוסף
מידע.

---enumerator-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום XML Schema
ערכי ספירה לשמות מונה C++. עיין בסעיף אמנת השמות למטה
לקבלת מידע נוסף.

--element-type-regex regex
להוסיף regex לרשימת הביטויים הרגולריים המשמשים לתרגום רכיב XML Schema
שמות לשמות סוגים של C++. עיין בסעיף אמנת השמות למטה למידע נוסף
מידע.

--name-regex-trace
עקבו אחר תהליך החלת ביטויים רגולריים שצוינו עם השם
אפשרויות טרנספורמציה. השתמש באפשרות זו כדי לברר מדוע הביטויים הרגולריים שלך
אל תעשה מה שציפית שיעשו.

--root-element-first
התייחס רק לאלמנט הגלובלי הראשון כשורש מסמך. כברירת מחדל, הכל גלובלי
אלמנטים נחשבים לשורשי מסמכים.

--root-element-last
התייחס רק לאלמנט הגלובלי האחרון כשורש מסמך. כברירת מחדל, הכל גלובלי
אלמנטים נחשבים לשורשי מסמכים.

--root-element-all
התייחס לכל האלמנטים הגלובליים כשורשי מסמך. זוהי התנהגות ברירת המחדל. על ידי
ציון מפורש אפשרות זו אתה יכול לדכא את האזהרה המונפקת אם
יותר מאלמנט גלובלי אחד מוגדר.

--root-element-none
אל תתייחס לאלמנטים גלובליים כלשהם כשורשי מסמך. כברירת מחדל, כל האלמנטים הגלובאליים
נחשבים לשורשי מסמכים.

---root-element אלמנט
לטפל בלבד אלמנט כשורש מסמך. חזור על אפשרות זו כדי לציין יותר מאחת
יסוד שורש.

--סוג מותאם אישית מַפָּה
השתמש בסוג C++ מותאם אישית במקום במחלקה שנוצרה. ה מַפָּה הטיעון נמצא ב
טופס שם[=סוג[/בסיס]], איפה שם הוא שם סוג כפי שהוגדר ב-XML Schema ו
סוג הוא שם סוג C++ שיש להשתמש בו במקום. אם סוג אינו נוכח או
ריק, אז ההנחה היא שהסוג המותאם אישית הוא בעל אותו שם ומוגדר ב-
אותו מרחב שמות כמו שיהיה למחלקה שנוצרה. אם בסיס מצוין אז ה
המחלקה שנוצרה עדיין נוצרת אבל עם השם הזה.

--Custom-type-Regex regex
השתמש בסוגי C++ מותאמים אישית במקום במחלקות שנוצרו. ה regex הטיעון נמצא ב
טופס /שם-פט/[סוג-תת/[תת-בסיס/]], איפה שם-פט הוא תבנית רגקס שתעשה זאת
להיות מותאם לשמות סוגים כפי שהוגדרו ב-XML Schema ו סוג-תת הוא מסוג C++
החלפת שמות שבה יש להשתמש במקום זאת. אם סוג-תת אינו נוכח או שלה
ההחלפה גורמת למחרוזת ריקה ואז ההנחה היא שהסוג המותאם אישית מכיל את
אותו שם ויוגדרו באותו מרחב שמות כמו שהמחלקה שנוצרה תהיה.
If תת-בסיס קיים וההחלפה שלו גורמת למחרוזת לא ריקה ואז ה-
המחלקה שנוצרה עדיין נוצרת אך עם התוצאה של ההחלפה הזו
שֵׁם. הדפוס וההחלפות הם בפורמט הביטוי הרגיל של Perl. לִרְאוֹת
גם את הקטע של REGEX AND SHELL Quoting למטה.

--חלקים NUM
פיצול קוד מקור שנוצר לתוך NUM חלקים. זה שימושי בעת תרגום גדול,
סכימות מונוליטיות ומהדר C++ אינם מסוגלים לקמפל את המקור המתקבל
קוד בבת אחת (בדרך כלל בגלל זיכרון לא מספיק).

--סיומת-חלקים סִיוֹמֶת
השתמש סִיוֹמֶת במקום ברירת המחדל '-' כדי להפריד את שם הקובץ מהחלק
מספר.

cxx-parser הפקודה אפשרויות
--type-map קובץ map
קרא מידע מיפוי מסוג XML ל-C++ קובץ map. חזור על אפשרות זו כדי
ציין מספר סוגים של מפות. מפות סוג נחשבות לפי סדר המראה והן
נעשה שימוש בהתאמה ראשונה. כברירת מחדל, כל הסוגים המוגדרים על ידי המשתמש ממופים ל לבטל את. ראה את
הקלד מפה למטה למידע נוסף.

--xml-parser מנתח
השתמש מנתח בתור מנתח ה-XML הבסיסי. ערכים חוקיים הם xerces עבור Xerces-C++
(ברירת המחדל) מומחה עבור Expat.

--generate-validation
צור קוד אימות. קוד האימות ("מנתח מושלם") מבטיח זאת
מסמכי מופע תואמים את הסכימה. קוד אימות נוצר כברירת מחדל
כאשר מנתח ה-XML הבסיסי שנבחר אינו מאמת (מומחה).

--דיכוי-אימות
דחק את יצירת קוד האימות. האימות מדוכא כברירת מחדל
כאשר מנתח ה-XML הבסיסי שנבחר מאמת (xerces).

--ליצור-פולימורפי
צור קוד מודע לפולימורפיזם. ציין אפשרות זו אם אתה משתמש בהחלפה
קבוצות או xsi: סוג.

--generate-noop-impl
צור יישום מנתח לדוגמה שלא עושה כלום (ללא פעולה). ה
לאחר מכן ניתן למלא יישום לדוגמה בקוד הספציפי ליישום. עבור א
קובץ הקלט בטופס name.xsd אפשרות זו מפעילה את היצירה של שניים
קבצי C++ נוספים בצורה: name-pimpl.hxx (כותרת יישום מנתח
קובץ) ו- name-pimpl.cxx (קובץ מקור יישום מנתח).

--generate-print-impl
צור יישום מנתח לדוגמה שמדפיס את נתוני ה-XML ל-STDOUT. עבור א
קובץ הקלט בטופס name.xsd אפשרות זו מפעילה את היצירה של שניים
קבצי C++ נוספים בצורה: name-pimpl.hxx (כותרת יישום מנתח
קובץ) ו- name-pimpl.cxx (קובץ מקור יישום מנתח).

--generate-test-driver
צור מנהל התקן בדיקה עבור יישום מנתח לדוגמה. עבור קובץ קלט ב
הצורה name.xsd אפשרות זו מפעילה את היצירה של קובץ C++ נוסף ב
הצורה name-driver.cxx.

--החלפה בכוח
כפה החלפה של קבצי ההטמעה ומנהלי הבדיקה הקיימים. השתמש בזה
אפשרות רק אם לא אכפת לך לאבד את השינויים שביצעת בדוגמה
קבצי יישום או בדיקה של מנהל התקן.

--root-element-first
ציין שהאלמנט הגלובלי הראשון הוא שורש המסמך. המידע הזה הוא
משמש ליצירת מנהל הבדיקה עבור היישום לדוגמה.

--root-element-last
ציין שהאלמנט הגלובלי האחרון הוא שורש המסמך. המידע הזה הוא
משמש ליצירת מנהל הבדיקה עבור היישום לדוגמה.

---root-element אלמנט
מצביע על כך ש אלמנט הוא שורש המסמך. מידע זה משמש ליצירת
מנהל הבדיקה עבור היישום לדוגמה.

--סיומת סוג סקל סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל _פסקל לבנות את שמות ה
נוצרו שלדי מנתח.

--skel-קובץ-סיומת סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל -פסקל לבנות את שמות ה
קבצי שלד מנתח שנוצרו.

--impl-type-סיומת סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל _pimpl לבנות את שמות ה
יישומי מנתח עבור סוגי סכימת XML המובנים וכן מנתח לדוגמה
מימושים.

--סיומת קובץ-impl סִיוֹמֶת
השתמש בתנאי סִיוֹמֶת במקום ברירת המחדל -פצעון לבנות את שמות ה
נוצר קובצי יישום מנתח לדוגמה.

שִׁיוּם אֲמָנָה


ניתן להנחות את המהדר להשתמש בקונבנצית שמות מסוימת בקובץ שנוצר
קוד. ניתן לבחור מספר מוסכמות בשימוש נרחב באמצעות ה- --שם-סוג ו
--שם פונקציה אפשרויות. ניתן להשיג מוסכמות שמות מותאמת אישית באמצעות ה --סוּג-
regex, --accessor-regex, --אחד-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 אפשרויות.

אל האני --שם-סוג option מציינת את המוסכמה שבה יש להשתמש למתן שם ל-C++
סוגים. ערכים אפשריים עבור אפשרות זו הם knr (ברירת מחדל), ucc, ו תאווה. ה knr ערך
(מייצג K&R) מסמל את מוסכמות השמות הסטנדרטית באותיות קטנות עם הקו התחתון
משמש כמפריד מילים, לדוגמה: foo, foo_bar. ה ucc (מייצג גמל עליון-
מקרה) ו תאווה מעריך מילים נרדפות לאותה מוסכמות שמות שבה האות הראשונה של
כל מילה בשם מופיעה באותיות רישיות, לדוגמה: Foo, FooBar.

באופן דומה, --שם פונקציה אופציה מציינת את האמנה שאליה יש להשתמש
מתן שם לפונקציות C++. ערכים אפשריים עבור אפשרות זו הם knr (ברירת מחדל), lcc, ו תאווה.
אל האני knr ערך (מייצג K&R) מסמל את מוסכמות השמות הסטנדרטית באותיות קטנות עם
הקו התחתון משמש כמפריד מילה, לדוגמה: foo(), foo_bar(). ה lcc ערך
(מייצג אותיות קטנות של גמל) מסמל מוסכמות שמות שבה האות הראשונה של כל אחת מהן
המילה חוץ מהראשונה באותיות גדולות, לדוגמה: foo(), fooBar(). ה תאווה שמות
הקונבנציה דומה לזו של הגמל התחתון, פרט לכך שפונקציות העזר כן
הקידומת של get, פונקציות השינוי מתחילות עם set, פונקציות הניתוח הן
קידומת של ניתוח, ופונקציות סריאליזציה הן קידומת של serialize, לדוגמה:
getFoo(), setFooBar(), parseRoot(), serializeRoot().

שים לב שמוסכמות השמות המצוינות ב- --שם-סוג ו --שם פונקציה
אפשרויות מבצעות טרנספורמציות מוגבלות בלבד בשמות המגיעים מהסכימה ב-
סוג של סוג, תכונה ושמות אלמנטים. במילים אחרות, כדי להשיג תוצאות עקביות,
הסכמות שלך צריכות לפעול לפי מוסכמות שמות דומה לזו שהיית רוצה לקבל
בקוד שנוצר. לחלופין, אתה יכול להשתמש ב- --*-רגקס אפשרויות (נדון להלן)
לבצע טרנספורמציות נוספות בשמות המגיעים מהסכמה.

אל האני --type-regex, --accessor-regex, --אחד-accessor-regex, --opt-accessor-regex, --seq-
אקססור-רגקס, --modifier-regex, --one-modifier-regex, --opt-modifier-regex, --seq-
שינוי-רגקס, --parser-regex, --- serializer-regex, --const-regex, ---enumerator-regex, ו
--element-type-regex אפשרויות מאפשרות לך לציין ביטויים רגולריים נוספים עבור כל שם
קטגוריה בנוסף לסט המוגדר מראש שמתווסף בהתאם ל --שם-סוג
ו --שם פונקציה אפשרויות. ביטויים המסופקים עם ה --*-רגקס אפשרויות
מוערכים לפני כל ביטוי מוגדר מראש. זה מאפשר לך לעקוף באופן סלקטיבי
חלק מהטרנספורמציות שהוגדרו מראש או כולן. כשמנפות באגים בביטויים שלך, זה כן
שימושי לעתים קרובות כדי לראות אילו ביטויים תואמים לאילו שמות. ה --name-regex-trace אוֹפְּצִיָה
מאפשר לך לעקוב אחר תהליך החלת ביטויים רגולריים על שמות.

הערך עבור --*-רגקס אפשרויות צריכות להיות ביטוי רגולרי דמוי פרל בטופס
/דפוס/תַחֲלִיף/. כל תו יכול לשמש כמפריד במקום /. בריחה
של תו המפריד ב דפוס or תַחֲלִיף לא נתמך. כל הקבועים
ביטויים עבור כל קטגוריה נדחפים לערימה ספציפית לקטגוריה עם האחרונה
הביטוי שצוין נחשב ראשון. נעשה שימוש בהתאמה הראשונה שמצליחה. בשביל ה
--אחד-accessor-regex (מקבלים עם קרדינליות אחת), --opt-accessor-regex (מקבלים
עם קרדינליות אופציונלית), ו --seq-accessor-regex (נגישות עם רצף קרדינליות)
קטגוריות את --accessor-regex ביטויים משמשים כסתירה. בשביל ה --אחד-
שינוי-רגקס, --opt-modifier-regex, ו --seq-modifier-regex קטגוריות את --מַתקֵן-
regex ביטויים משמשים כסתירה. בשביל ה --element-type-regex קטגוריה את
--type-regex ביטויים משמשים כסתירה.

ביטויי שם הסוג (--type-regex) מוערכים במחרוזת השם שיש בה את
הפורמט הבא:

[מרחב שמות ]שם[,שם][,שם][,שם]

ביטויי שם הרכיב (--element-type-regex), יעיל רק כאשר
--generate-element-type האפשרות מצוינת, מוערכים במחרוזת השם שיש בה את
הפורמט הבא:

מרחב שמות שם

בפורמט שם הסוג ה מרחב שמות חלק ואחריו רווח קיים רק עבור גלובלי
הקלד שמות. עבור סוגים ואלמנטים גלובליים המוגדרים בסכמות ללא מרחב שמות יעד,
מה היא מרחב שמות החלק ריק אבל החלל עדיין קיים. בפורמט שם הסוג אחרי
הראשוני שם רכיב, עד שלושה נוספים שם רכיבים יכולים להיות נוכחים,
מופרד בפסיקים. לדוגמה:

http://example.com/hello סוג

Foo

פו, איטרטור

foo,const,iterator

קבוצה הבאה של ביטויים רגולריים מוגדרים מראש משמשת להמרת שמות טיפוסים כאשר
נבחרה מוסכמות השמות באותיות גדולות של גמלים:

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

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

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

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

ביטויי העזר והשינוי (--* אקסס-רגקס ו --*שינוי-רגקס) הם
מוערך במחרוזת השם בעלת הפורמט הבא:

שם[,שם][,שם]

אחרי ההתחלה שם רכיב, עד שניים נוספים שם רכיבים יכולים להיות נוכחים,
מופרד בפסיקים. לדוגמה:

Foo

dom,מסמך

foo, ברירת מחדל, ערך

קבוצה הבאה של ביטויים רגולריים מוגדרים מראש משמשת לשינוי שמות עזר
כאשר תאווה נבחרה מוסכמות שמות:

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

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

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

עבור הקטגוריות מנתח, סידרה ומונה, הרגיל המקביל
ביטויים מוערכים על שמות מקומיים של אלמנטים ועל ערכי ספירה,
בהתאמה. לדוגמה, הביטוי הרגולרי המוגדר מראש הבא משמש
להפוך את שמות הפונקציות לניתוח כאשר ה- תאווה נבחרה מוסכמות שמות:

/(.+)/נתח\u$1/

הקטגוריה const משמשת ליצירת שמות קבועים C++ עבור האלמנט/תו כללי/טקסט
מזהי תוכן בסוגים מסודרים.

ראה גם את הסעיף של REGEX ו-SHELL Quoting להלן.

סוג MAP


קובצי מפת סוג משמשים ב-C++/Parser כדי להגדיר מיפוי בין XML Schema ו-C++
סוגים. המהדר משתמש במידע זה כדי לקבוע את סוגי ההחזרות של הודעה_*
פונקציות בשלדי מנתח התואמות לסוגי XML Schema וכן לסוגי ארגומנטים
להתקשרות חוזרת התואמות לאלמנטים ותכונות מסוגים אלה.

למהדר יש קבוצה של כללי מיפוי מוגדרים מראש שאליהם ממפים סוגי סכמת XML מובנים
סוגי C++ מתאימים (עליהם נדון להלן) וכל שאר הסוגים ל לבטל את. על ידי מתן משלך
הקלד מפות אתה יכול לעקוף את הכללים המוגדרים מראש. הפורמט של קובץ המפה הוא
מוצג להלן:

מרחב שמות סכימה-שם מרחב [ cxx-שם מרחב ]
{
( לכלול שם קובץ; )*
([ סוג ] סוג סכימה cxx-ret-type [ cxx-arg-type ]; )*
}

שניהם סכימה-שם מרחב ו סוג סכימה הם דפוסי ביטוי רגולרי בעוד cxx-שם מרחב, cxx-ret-
סוג, ו cxx-arg-type הם תחליפי דפוס רגקס. כל השמות יכולים להיות אופציונליים
מוקף ב- " ", למשל, כדי לכלול רווחים לבנים.

סכימה-שם מרחב קובע את מרחב השמות של XML Schema. אופציונאלי cxx-שם מרחב יש קידומת ל
כל שם סוג C++ בהצהרת מרחב השמות הזו. cxx-ret-type הוא שם סוג C++ ש
משמש כסוג החזרה עבור הודעה_* פונקציות. אופציונאלי cxx-arg-type הוא טיעון
סוג עבור פונקציות התקשרות חוזרות המתאימות לאלמנטים ותכונות מסוג זה. אם cxx-
מסוג arg לא צוין, הוא כברירת מחדל cxx-ret-type if cxx-ret-type נגמר עם * or &
(כלומר, זהו מצביע או הפניה) ו const cxx-ret-type& אחרת. שם קובץ is
שם קובץ בפורמט " " או < > ומתווסף עם ה- #include הנחיה ל
הקוד שנוצר.

אל האני # תו מתחיל הערה המסתיימת בשורה חדשה או בסוף קובץ. כדי לציין א
שם שמכיל # סגור אותו ב" ". לדוגמה:

מרחב שמות http://www.example.com/xmlns/my my
{
כולל "my.hxx";

# העבר תפוחים לפי ערך.
#
תפוח תפוח;

# העבר תפוזים כמצביעים.
#
כתום orange_t*;
}

בדוגמה למעלה, עבור ה http://www.example.com/xmlns/my#תפוז סוג סכימת XML, ה
שלי::orange_t* סוג C++ ישמש גם כסוג החזרה וגם כסוג ארגומנט.

ניתן לציין מספר הצהרות מרחב שמות בקובץ בודד. מרחב השמות
ניתן גם להשמיט לחלוטין את ההצהרה לסוגי מפה בסכימה ללא מרחב שמות.
לדוגמה:

כולל "my.hxx";
תפוח תפוח;

מרחב שמות http://www.example.com/xmlns/my
{
כתום "const orange_t*";
}

למהדר יש מספר כללי מיפוי מוגדרים מראש שניתן להציג בתור
קבצי המפה הבאים. הסוגים המובנים של סכימת XML מבוססי מחרוזת ממופים לכל אחד מהם
std :: string or std::wstring בהתאם לסוג התו שנבחר עם ---char-type
האפשרות (char כברירת מחדל).

מרחב שמות http://www.w3.org/2001/XMLSchema
{
bool bool bool;

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

קצר קצר קצר;
unsignedShort "חסר חתימה קצרה" "קצר חסר חתימה";

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

ארוך "ארוך ארוך" "ארוך ארוך";
unsignedLong "לא חתום ארוך ארוך" "לא חתום ארוך ארוך";

מספר שלם "ארוך ארוך" "ארוך ארוך";

שלילי שלם "ארוך ארוך" "ארוך ארוך";
nonpositiveInteger "long long" "long long";

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

לצוף לצוף לצוף;
כפול כפול כפול;
כפול עשרוני;

string 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 ;

תאריך 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;
}

הכלל האחרון שהוגדר מראש ממפה כל דבר שלא מוופה על ידי כללים קודמים ל לבטל את:

מרחב שמות .*
{
.* בטל בטל;
}

כאשר אתה מספק מפות סוג משלך עם ה --type-map אפשרות, הם מוערכים תחילה.
זה מאפשר לך לעקוף באופן סלקטיבי כללים מוגדרים מראש.

REGEX ו SHELL ציטוט


כאשר מזין ארגומנט ביטוי רגולרי בשורת הפקודה של המעטפת, זה קורה לעתים קרובות
הכרחי להשתמש בציטוט (הכליל את הארגומנט ב" " או ' ') כדי למנוע את
מעטפת מפירוש תווים מסוימים, למשל, רווחים כמפרידי טיעונים ו
$ כהרחבות משתנות.

למרבה הצער, קשה להשיג זאת בצורה הניידת על פני קונכיות POSIX,
כגון אלה שנמצאו ב-GNU/Linux ו-UNIX, ו-Windows shell. לדוגמה, אם אתה משתמש ב- " "
עבור ציטוט תקבל תוצאה שגויה עם קונכיות POSIX אם הביטוי שלך מכיל $.
הדרך הסטנדרטית להתמודד עם זה במערכות POSIX היא להשתמש ב' ' במקום זאת.
למרבה הצער, מעטפת Windows אינה מסירה את ' ' מארגומנטים כאשר הם מועברים אל
יישומים. כתוצאה מכך ייתכן שתצטרך להשתמש ב- ' עבור POSIX וב- " " עבור Windows ($ אינו
מטופל כתו מיוחד ב-Windows).

לחלופין, אתה יכול לשמור אפשרויות ביטוי רגולרי בקובץ, אפשרות אחת בכל שורה,
והשתמש בקובץ זה עם ה --Options-file אוֹפְּצִיָה. עם גישה זו אתה לא צריך
לדאוג לציטוט פגז.

דיאגנוסטיקה


אם קובץ הקלט אינו הגדרה חוקית של W3C XML Schema, xsdcxx יוציא אבחון
הודעות אל STDERR וצא עם קוד יציאה שאינו אפס.

השתמש ב-xsdcxx באופן מקוון באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

פקודות לינוקס

Ad