'\" t .\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation. .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" .\" Arch: generic .\" Software: JDK 8 .\" Date: 21 November 2013 .\" SectDesc: Java Web Services Tools .\" Title: xjc.1 .\" .if n .pl 99999 .TH xjc 1 "21 November 2013" "JDK 8" "Java Web Services Tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" xjc \- کامپایل یک فایل شمای XML به کلاس‌های جاوای دارای حاشیه‌نویسی کامل\&. .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fBxjc\fR [ \fIoptions\fR ] \fBschema\fR \fIfile/URL/dir/jar\fR \&.\&.\&. [\fB\-b\fR \fIbindinfo\fR ] \&.\&.\&. .fi .sp .TP \fIoptions\fR گزینه‌های خط فرمان\&. بخش گزینه‌ها را ببینید\&. .TP schema \fIfile/URL/dir/jar \&.\&.\&.\fR مکان فایل شمای XML\&. اگر \f3dir\fR مشخص شده باشد، تمام فایل‌های شمای درون آن کامپایل می‌شوند\&. اگر \f3jar\fR مشخص شود، فایل اتصال \f3/META-INF/sun-jaxb\&.episode\fR کامپایل می‌شود\&. .TP -b \fIbindinfo\fR .br مکان فایل‌های اتصال (bindings)\&. .SH "توضیحات (DESCRIPTION)" کامپایلر اتصال را با اسکریپت شل مناسب \f3xjc\fR در دایرکتوری bin پلتفرم خود اجرا کنید\&. همچنین یک تسک Ant برای اجرای کامپایلر اتصال وجود دارد\&. به Using the XJC with Ant در http://jaxb\&.java\&.net/nonav/2\&.1\&.3/docs/xjcTask\&.html مراجعه کنید\&. .SH "گزینه‌ها (OPTIONS)" .TP 0.2i \(bu همچنین بخش گزینه‌های غیراستاندارد را ببینید .TP 0.2i \(bu همچنین بخش گزینه‌های منسوخ و حذف‌شده را ببینید .TP -nv .br به‌طور پیش‌فرض، کامپایلر اتصال XJC اعتبارسنجی دقیقی را روی شمای مبدأ پیش از پردازش آن انجام می‌دهد\&. از این گزینه برای غیرفعال کردن اعتبارسنجی دقیق شما استفاده کنید\&. این بدان معنا نیست که کامپایلر اتصال هیچ اعتبارسنجی انجام نمی‌دهد، بلکه اعتبارسنجی با سخت‌گیری کمتری انجام خواهد شد\&. .TP -extension .br به‌طور پیش‌فرض، کامپایلر اتصال XJC قوانین ذکر شده در فصل سازگاری مشخصات JAXB را به‌دقت اعمال می‌کند\&. پیوست E\&.2 مجموعه‌ای از قابلیت‌های W3C XML Schema را مشخص می‌کند که کاملاً توسط JAXB v1\&.0 پشتیبانی نمی‌شوند\&. در برخی موارد، با فعال کردن حالت \f3-extension\fR مجاز به استفاده از آن‌ها خواهید بود\&. در حالت پیش‌فرض (دقیق)، شما همچنین فقط محدود به استفاده از سفارشی‌سازی‌های اتصال تعریف‌شده در مشخصات هستید\&. با استفاده از سوییچ \f3-extension\fR، مجاز به استفاده از افزونه‌های ارائه‌دهندهٔ JAXB (Vendor Extensions) خواهید بود\&. .TP -b \fIfile\fR .br یک یا چند فایل اتصال خارجی را برای پردازش مشخص می‌کند\&. هر فایل اتصال باید سوییچ \f3-b\fR اختصاصی خود را داشته باشد\&. نحو فایل‌های اتصال خارجی انعطاف‌پذیر است\&. می‌توانید یک فایل اتصال واحد داشته باشید که شامل سفارشی‌سازی برای چندین شما باشد، یا می‌توانید سفارشی‌سازی را به چندین فایل اتصال تقسیم کنید: \f3xjc schema1\&.xsd schema2\&.xsd schema3\&.xsd -b bindings123\&.xjb\fR\f3xjc schema1\&.xsd schema2\&.xsd schema3\&.xsd -b bindings1\&.xjb -b bindings2\&.xjb -b bindings3\&.xjb\fR\&. علاوه بر این، ترتیب قرارگیری فایل‌های شما و فایل‌های اتصال در خط فرمان تفاوتی ایجاد نمی‌کند\&. .TP -d \fIdir\fR .br به‌طور پیش‌فرض، کامپایلر اتصال XJC کلاس‌های محتوای جاوا را در دایرکتوری جاری تولید می‌کند\&. از این گزینه برای مشخص کردن یک دایرکتوری خروجی جایگزین استفاده کنید\&. دایرکتوری خروجی باید از قبل وجود داشته باشد؛ کامپایلر اتصال XJC آن را برای شما ایجاد نمی‌کند\&. .TP -p \fIpkg\fR .br هنگامی که با این گزینهٔ خط فرمان یک بستهٔ مقصد را مشخص می‌کنید، هرگونه سفارشی‌سازی اتصال برای نام بسته و الگوریتم پیش‌فرض نام بسته که در مشخصات تعریف شده است را نادیده می‌گیرد\&. .TP -httpproxy \fIproxy\fR .br پروکسی HTTP یا HTTPS را در قالب \fI[user[:password]@]proxyHost[:proxyPort]\fR مشخص می‌کند\&. گزینه‌های قدیمی \f3-host\fR و \f3-port\fR همچنان برای سازگاری عقبروی توسط RI پشتیبانی می‌شوند، اما منسوخ شده‌اند\&. گذرواژه‌ای که با این گزینه مشخص می‌شود، آرگومانی است که برای سایر کاربران با استفاده از دستور top قابل مشاهده است\&. برای امنیت بیشتر، از گزینهٔ \f3-httpproxyfile\fR استفاده کنید\&. .TP -httpproxyfile file .br پروکسی HTTP یا HTTPS را با استفاده از یک فایل مشخص می‌کند\&. قالب آن مشابه گزینهٔ \f3-httpproxy\fR است، اما گذرواژهٔ مشخص‌شده در فایل برای کاربران دیگر قابل مشاهده نیست\&. .TP -classpath arg .br محل فایل‌های کلاس برنامه کاربردی کلاینت را که توسط سفارشی‌سازی \fIjxb:javaType\fR و xjc:\fIsuperClass\fR استفاده می‌شوند مشخص می‌کند\&. .TP -catalog file .br فایل‌های کاتالوگ را برای تفکیک ارجاعات موجودیت‌های خارجی مشخص می‌کند\&. از قالب‌های TR9401، XCatalog و OASIS XML Catalog پشتیبانی می‌کند\&. به XML Entity and URI Resolvers در http://xerces\&.apache\&.org/xml-commons/components/resolver/resolver-article\&.html مراجعه کنید\&. .TP -readOnly .br به‌طور پیش‌فرض، کامپایلر اتصال XJC فایل‌های منبع جاوایی را که تولید می‌کند در برابر نوشتن محافظت نمی‌کند\&. با استفاده از این گزینه، کامپایلر اتصال XJC را مجبور کنید منابع جاوای تولیدشده را به‌عنوان فقط‌خواندنی علامت‌گذاری کند\&. .TP -npa .br از تولید حاشیه‌نویسی‌های سطح بسته در \f3**/package-info\&.java\fR جلوگیری می‌کند\&. استفاده از این سوییچ باعث می‌شود کد تولیدشده این حاشیه‌نویسی‌ها را درون سایر کلاس‌های تولیدشده داخلی‌سازی کند\&. .TP -no-header .br از تولید یادداشت سرآیند فایل که شامل یادداشت و برچسب زمانی است جلوگیری می‌کند\&. استفاده از این گزینه، کد تولیدشده را با دستور \f3diff\fR سازگارتر می‌کند\&. .TP -target 2\&.0 .br از تولید کدی که به هر یک از ویژگی‌های JAXB 2\&.1 وابسته باشد جلوگیری می‌کند\&. این به کد تولیدشده اجازه می‌دهد در محیط زمان اجرای JAXB 2\&.0 (مانند Java SE 6) اجرا شود\&. .TP -xmlschema .br با شماهای ورودی به‌عنوان W3C XML Schema رفتار می‌کند (پیش‌فرض)\&. اگر این سوییچ را مشخص نکنید، با شماهای ورودی طوری رفتار می‌شود که گویی W3C XML Schema هستند\&. .TP -relaxing .br با شماهای ورودی به‌عنوان RELAX NG رفتار می‌کند (آزمایشی و پشتیبانی‌نشده)\&. پشتیبانی از شماهای RELAX NG به‌عنوان یک افزونهٔ ارائه‌دهندهٔ JAXB فراهم شده است\&. .TP -relaxing-compact .br با شماهای ورودی به‌عنوان نحو فشرده RELAX NG رفتار می‌کند (آزمایشی و پشتیبانی‌نشده)\&. پشتیبانی از شماهای RELAX NG به‌عنوان یک افزونهٔ ارائه‌دهندهٔ JAXB فراهم شده است\&. .TP -dtd .br با شماهای ورودی به‌عنوان XML DTD رفتار می‌کند (آزمایشی و پشتیبانی‌نشده)\&. پشتیبانی از شماهای RELAX NG به‌عنوان یک افزونهٔ ارائه‌دهندهٔ JAXB فراهم شده است\&. .TP -wsdl .br ورودی را به‌عنوان WSDL در نظر می‌گیرد و شماهای درون آن را کامپایل می‌کند (آزمایشی و پشتیبانی‌نشده)\&. .TP -quiet .br خروجی کامپایلر، مانند اطلاعات پیشرفت و هشدارها را سرکوب می‌کند\&. .TP -verbose .br تولید خروجی پرحرف، مانند چاپ پیام‌های اطلاعاتی یا نمایش ردپای پشته هنگام بروز برخی خطاها\&. .TP -help .br خلاصه‌ای کوتاه از سوییچ‌های کامپایلر را نمایش می‌دهد\&. .TP -version .br اطلاعات نسخهٔ کامپایلر را نمایش می‌دهد\&. .TP \fIschema file/URL/dir\fR یک یا چند فایل شما را برای کامپایل مشخص می‌کند\&. اگر یک دایرکتوری را مشخص کنید، دستور \f3xjc\fR آن را برای یافتن تمام فایل‌های شما جستجو کرده و آن‌ها را کامپایل می‌کند\&. .SS "گزینه‌های غیراستاندارد (NONSTANDARD OPTIONS)" .TP -XLocator .br باعث می‌شود کد تولیدشده اطلاعات SAX Locator مربوط به XML مبدأ را در نمونه‌های Java bean پس از unmarshalling ارائه دهد\&. .TP -Xsync-methods .br باعث می‌شود تمام امضاهای متدهای تولیدشده شامل کلیدواژهٔ \f3synchronized\fR باشند\&. .TP -mark-generated .br کد تولیدشده را با حاشیه‌نویسی \f3@javax\&.annotation\&.Generated\fR علامت‌گذاری می‌کند\&. .TP -episode file .br فایل episode مشخص‌شده را برای کامپایل جداگانه تولید می‌کند\&. .SS "گزینه‌های منسوخ و حذف‌شده (DEPRECATED AND REMOVED OPTIONS)" .TP -host & -port .br این گزینه‌ها با گزینهٔ \f3-httpproxy\fR جایگزین شده‌اند\&. برای سازگاری عقبروی، این گزینه‌ها پشتیبانی می‌شوند، اما مستند نخواهند شد و ممکن است در نسخه‌های آینده حذف شوند\&. .TP -use-runtime .br از آنجا که مشخصات JAXB 2\&.0 یک محیط زمان اجرای قابل‌حمل را تعریف کرده است، دیگر نیازی نیست JAXB RI بسته‌های \f3**/impl/runtime\fR را تولید کند\&. بنابراین، این سوییچ منسوخ شده و حذف شد\&. .TP -source .br سوییچ سازگاری \f3-source\fR در اولین انتشار دسترسی زودهنگام JAXB 2\&.0 معرفی شد\&. این سوییچ در نسخه‌های بعدی JAXB 2\&.0 حذف شده است\&. اگر نیاز به تولید کد نسخهٔ 1\&.0\&.x دارید، از نصب پایه‌کد 1\&.0\&.x استفاده کنید\&. .SH "محدودیت‌های کامپایلر (COMPILER RESTRICTIONS)" به‌طور کلی، امن‌ترین روش این است که تمام شماهای مرتبط را به‌صورت یک واحد یکپارچه با سوییچ‌های یکسان کامپایلر اتصال کامپایل کنید\&. هنگام اجرای دستور \f3xjc\fR فهرست محدودیت‌های زیر را در نظر داشته باشید\&. اکثر این موارد فقط زمانی رخ می‌دهند که چند شما را با چندین بار فراخوانی دستور \f3xjc\fR کامپایل کنید\&. .PP برای کامپایل هم‌زمان چند شما، قوانین اولویت زیر را برای نام بستهٔ جاوای مقصد در نظر داشته باشید: .TP 0.4i 1\&. گزینهٔ \f3-p\fR بالاترین اولویت را دارد\&. .TP 0.4i 2\&. سفارشی‌سازی \fIjaxb:package\fR\&. .TP 0.4i 3\&. اگر \f3targetNamespace\fR تعریف شده باشد، الگوریتم تبدیل \f3targetNamespace\fR به نام بستهٔ جاوا که در مشخصات تعریف شده اعمال می‌شود\&. .TP 0.4i 4\&. اگر هیچ \f3targetNamespace\fR ای تعریف نشده باشد، از نام بستهٔ ثابت \f3generated\fR استفاده می‌شود\&. .PP شما نمی‌توانید بیش از یک \fIjaxb:schemaBindings\fR در هر فضای نام داشته باشید، بنابراین امکان ندارد دو شما در یک فضای نام مقصد، در بسته‌های جاوای متفاوت کامپایل شوند\&. .PP تمام شماهایی که در یک بستهٔ جاوای مشابه کامپایل می‌شوند باید به‌طور هم‌زمان به کامپایلر اتصال XJC تحویل داده شوند\&. آن‌ها نمی‌توانند به‌طور مستقل کامپایل شوند و طبق انتظار کار کنند\&. .PP گروه‌های جایگزینی عنصر (Element substitution groups) که در چندین فایل شما پراکنده شده‌اند باید هم‌زمان کامپایل شوند\&. .SH "همچنین ببینید (SEE ALSO)" .TP 0.2i \(bu Binding Compiler (xjc) در http://jaxb\&.java\&.net/nonav/2\&.2\&.3u1/docs/xjc\&.html .TP 0.2i \(bu Java Architecture for XML Binding (JAXB) در http://www\&.oracle\&.com/technetwork/articles/javase/index-140168\&.html .RE .br 'pl 8.5i 'bp