این بخش نحوه نوشتن طرحواره های XML را به شما نشان می دهد. همچنین متوجه می شوید که مدار را می توان به روش های مختلفی نوشت.

سند XML

بیایید نگاهی به این XML بیاندازیم - سندی به نام "shiporder.xml":

xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi: noNamespaceSchemaLocation = "shiporder.xsd">
جان اسمیت

اولا نوردمن

Langt 23

4000 استاوانگر
نروژ


امپراتوری برلسک
ویرایش ویژه
1
10.90


قلبت را پنهان کن
1
9.90

یک سند XML معمولا از یک عنصر ریشه، "shiporder" تشکیل شده است که یک ویژگی حمل و نقل به نام "orderid" است. عنصر "Shiporder" شامل سه عنصر مختلف فرزند است: "orderperson"، "shipto" و "item". عنصر "اقلام" در دو نوع ظاهر می شود، از جمله عنصر "عنوان"، عنصر "یادداشت" اختیاری، عنصر "مقدار" و عنصر "قیمت".

خط بالا: Xmlns: XSI = "http://www.w3.org/2001/XMLSchema-instance" به تجزیه کننده XML می گوید که این سند در مورد اصلاحات طرحواره مقصر است. خط: XSI: noNamespaceSchemaLocation = "shiporder.xsd" نشان می دهد که طرحواره ها در کجا قرار دارند. (در اینجا در همان پوشه "shiporder.xml" قرار دارد) .

ایجاد طرحواره های XML

حال می خواهیم یک طرحواره برای سند XML ایجاد کنیم.

بیایید با باز کردن یک فایل جدید شروع کنیم که آن را "shiporder.xsd" می نامیم. برای ایجاد نمودار، می‌توانیم به سادگی ساختار سند XML را دنبال کنیم و عنصر پوست را همانطور که می‌شناسیم شناسایی کنیم. ما بر اساس اعلان استاندارد XML با موارد زیر هستیم: یک عنصر طرحی که یک طرحواره را نشان می دهد:



...

این طرح دارای بیشترین استفاده از فضای نام استاندارد (xs) است، و URI مرتبط با این فضای نام، معنای طرحواره‌های ما است که به معنای استاندارد http://www.w3.org/2001/XMLSchema است.

در مرحله بعد، این مسئولیت ماست که عنصر "shiporder" را انتخاب کنیم. این عنصر یک ویژگی دارد و جایگزین عناصر دیگر می شود، بنابراین آن را یک نوع تاشو در نظر می گیریم. عناصر فرعی عنصر "shiporder" xs: عنصر توالی، که به معنای ترتیب مرتب شده عناصر فرعی است:




...


سپس ما موظف هستیم عنصر “orderperson” را به عنوان یک نوع ساده در نظر بگیریم (تا هیچ صفت یا عنصر دیگری را به اشتباه نیاندازیم). در یک نوع (xs: string) با پیشوند، پیشوند فضای نام مرتبط با طرحواره XML، که از قبل نوع داده طرحواره را نشان می دهد:










با استفاده از طرح‌های اضافی، می‌توانیم تعداد ظاهرهای ممکن برای یک عنصر با ویژگی‌های MaxOccurs و MinOccurs را تعیین کنیم. MaxOccurs به ​​معنای حداکثر تعداد ورودی برای یک عنصر و MinOccurs به ​​معنای حداقل تعداد ورودی برای یک عنصر است. مفاهیم برای MaxOccurs و MinOccurs 1!

اکنون می‌توانیم عنصر "اقلام" را ارزش گذاری کنیم. این عنصر می تواند چندین بار در وسط یک عنصر "shiporder" ظاهر شود. این به معنای تنظیم ویژگی maxOccurs عنصر "item" از عنصر "unbounded" است، به این معنی که می‌تواند هر تعداد ورودی برای عنصر "اقلام" وجود داشته باشد که نویسنده بخواهد. لطفاً به این نکته توجه کنید که عنصر "یادداشت" الزام آور نیست. ما این مشکل را با صفر کردن ویژگی minOccurs حل کردیم:










اکنون می توانیم ویژگی "shiporder" عنصر را صدا کنیم. Oskolki یک صفت اجباری است که ما نشان می دهیم vikoristannya = "ضروری".

توجه: اعلام ویژگی هایی که همیشه مقصر آنها هستید دفعه بعد:

محور لیست در فایل طرحواره ای به نام "shiporder.xsd" است:





























مدارهای جداگانه

اولین روش طراحی بسیار ساده است، اما ممکن است خواندن و دنبال کردن آن در صورت تا شدن اسناد مهم باشد.

روش بعدی طراحی پایه ها بر روی تمام عناصر و ویژگی های تعیین شده و سپس تکیه بر آنها با استفاده از ویژگی ref است.

فایل شماتیک طراحی جدید Axle ("shiporder.xsd"):








































تنوع انواع نامگذاری شده

روش سوم طراحی به معنای یک کلاس یا نوع است که به شما امکان می دهد عناصر انتخاب شده را دوباره طراحی کنید. ترفند این است که عناصر را simpleTypes و complexTypes نامگذاری کنید و سپس با استفاده از ویژگی type عنصر به آنها مراجعه کنید.

محور قبلاً طرح سوم فایل شماتیک است ("shiporder.xsd"):

































عنصر مرزی نوع داده نوع داده W3C XML Schema را نشان می دهد. بنابراین، قطعه پیشرو به این معنی است که مقدار عنصر یا ویژگی مسئول مقدار سطر است:

عنصر مرزی اغلب در معرض تغییر قرار می گیرد تا مرز عناصر را تثبیت کند. به پیشرفت دوزهای پایین تر توجه کنید:





این نشان می دهد که مقادیر عنصر یا ویژگی باید در یک ردیف باشد، باید دقیقاً شش کاراکتر در یک ردیف وجود داشته باشد و کاراکترها باید از 0 تا 9 شماره گذاری شوند.

XDTO یک مکانیسم 1C است که هنگام ایجاد و نصب سرویس های وب در 1C مورد نیاز است.

بسته های XDTO 1C به شما امکان می دهد ساختار فایل XML مورد نیاز را برای تبدیل داده ها به XML و از XML توصیف کنید.

چه کسی اهمیت می دهد - بیایید به گزارش تغذیه نگاه کنیم.

فایل های XML از طریق اینترنت منتقل می شوند و توسط برنامه های مختلف پردازش می شوند.

Accepted - به این معنی است که در کد سخت کد شده است - اگر نام عنصر را در فایل XML مشخص کنید - این محور را به این ترتیب بپذیرید و محور را به آن صورت کار کنید.

بنابراین، اگر می‌خواهیم عنصر Apple را ویکور کنیم، احتمال زیادی وجود دارد که هر برنامه دیگری بتواند «فکر کند» که با اپل آشنا است، اما در عین حال به برنامه خود احترام می‌گذاریم.

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

محور فضای نام به این صورت نمایش داده می شود - xmlns: SpaceName = "URL"، به عنوان مثال:
xmlns: store = "http://store.ru"

چه URL مورد نیاز است؟

این نشان دهنده یک شناسه منحصر به فرد است که نویسنده فضای نام را نیز مشخص می کند.

طبیعی است که احترام بگذاریم که فرد با نشان دادن فضای نام ها نیز صادق باشد و با نشان دادن سایت خود با یک سایت تعدادی فضاهای مختلف نام را ویکورسیت نکند.

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

یک شی یک ساختار زنجیره ای از داده ها، خودکفا است که شامل تمام داده های آن است.

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

برنامه انتخاب شده ممکن است یک شی LIST با یک منبع تغذیه و یک عنصر متصل داشته باشد.

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

توضیحات فایل XML

از آنجایی که ما یک فایل ساختار آهنگ ایجاد کرده ایم که به راحتی بین دو برنامه رد و بدل می شود، واقعاً می خواهیم:

  • نام ترانه های ویکورستان چیست؟
  • به طوری که عناصری وجود دارند که ما متوجه آنها می شویم (که "مسئول ویکورستان در تبادل ما هستند")
  • ویژگی های بول باید نشان دهنده انواعی باشد که ما از آنها آگاه هستیم (ردیف، عدد و غیره).

برای توصیف ساختار XML، استانداردهای فرمت فایل زیر وجود دارد (که در فایل متنی اصلی نیز ذخیره می شوند):

  • بسط DTD - تعریف نوع سند
  • پسوند XSD - XML‎Shema.

این جرم به گونه‌ای طراحی شده است که نشان دهد سند چه گناهی دارد. روش تأیید انطباق استاندارد XML که در چنین فایلی توضیح داده شده است، تأیید نامیده می شود.

XDTO 1C - چیزی که به شما امکان می دهد توضیحاتی را به پیکربندی اضافه کنید فایل XML. اول از همه، این فایل نیست که توضیح داده می شود، بلکه ساختارهای XML خاصی است.

برای تعیین انواعی که می توان انتخاب کرد، یک لیست ایجاد می شود، یک کتابخانه از انواع کارخانه XDTO 1C نامیده می شود.

این کارخانه انواع ساده (ترتیب، شماره، تاریخ) را نشان می دهد که معمولاً در سایر زبان ها، برنامه ها و غیره استفاده می شود و همچنین انواع 1C که در 1C و در یک پیکربندی خاص استفاده می شوند.

کارخانه XDTO 1C خود از چندین بسته تشکیل شده است. انواع اصلی در بسته با نام www.w3.org توضیح داده شده است

انواع داده های پیکربندی فعلی در بسته http://v8.1c.ru/8.1/data/enterprise/current-config توضیح داده شده است.

خود انواع با توجه به نام موجود در پیکربندی با اضافه کردن یک فرم انگلیسی (CatalogRef، CatalogObject، DocumentRef، DocumentObject) نامگذاری می شوند، به عنوان مثال:

CatalogObject.Nomenclature

اضافه شدن بسته XDTO 1C

همه چیز دیوانه کننده به نظر می رسد. و ما هنوز به XSLT نرسیده ایم - راهی برای تبدیل فایل های XML به چیز دیگری مانند HTML. موضوع XML بسیار بزرگ است و گنجاندن آن در هر کتابی دشوار است.

هدف ما این است که درک کنیم که XDTO 1C به شما امکان می دهد تمام عناصر یک بسته XML را که باید قالب بندی یا مهم باشند را توصیف کنید.

بسته های XDTO 1C در روستای زاگالنی / بسته های XDTO 1C پیکربندی شده اند.

می توانید بسته XDTO را به صورت دستی به 1C اضافه کنید (باحال!)، یا بهتر از آن، می توانید فایل XSD مناسب را با توضیحات آماده از طرح ها دانلود کنید.

با کلیک بر روی برگه بسته‌های Zagalny / XDTO 1C و با انتخاب آیتم منو Export schemes پیکربندی XML می‌توانید توضیحاتی درباره طرح‌های XSD اشیاء با هر پیکربندی پیدا کنید.

فایل متنی، می توانید آن را در آن ویرایش کنید دفترچه یادداشت های ویندوز، با جمع آوری برنامه ها، نیازی به اشیاء ندارید.

با فشار دادن می توانید یک طرح XSD آماده را در 1C اضافه کنید دکمه سمت راستدر برگه بسته های Zagalni / XDTO 1C و انتخاب آیتم منو Import XML schemas.

Vikoristannya به مکانیسم XDTO 1C

کار با XDTO 1C به معنای تبدیل مقدار به XML و از XML است.

کار بر روی اشیاء اضافی زبان 1C Reading XML / Writing XML انجام می شود.

هنگام کار با مکانیزم XDTO 1C، شما مسئول تعیین بسته ای هستید که با آن کار می کنید. این می تواند یک بسته استاندارد (در بالا، div. XDTO) یا افزودن یک بسته به پیکربندی باشد. بسته با URL مشخص شده در بسته شناسایی می شود.

دو اصلی راه های سادهربات ها:

  • سریال سازی - تبدیل خودکار مقادیر 1C به XML و موارد دیگر
  • ایجاد یک شی، پر کردن فیلدهای آن، نوشتن در XML (و بدیهی است خواندن از XML و سپس خواندن فیلدهای آن).

معنی سریال سازی لب به لب:
Serializer = New SerializerXDTO(XDTO Factory);
FileXML = New EntryXML();
FileXML.OpenFile ("نام فایل");
Serializer.WriteXML(XMLFile, Value1C);

مثال خواندن/نوشتن یک شی:

DirectoryObjectXDTO = FactoryXDTO.Create (FactoryXDTO.Type ("http://v8.1c.ru/8.1/data/enterprise/current-config"، "CatalogObject.Warehouses"));
PropertyValues ​​را پر کنید (DirectoryObjectXDTO، DirectoryLink1C)؛

بستر، زمینه: 1C: کارآفرینی 8.3، 1C: کارآفرینی 8.2، 1C: کارآفرینی 8.1
پیکربندی: تمامی تنظیمات

2012-11-25
34938

XDTO مکانیزمی است که برای ایجاد و بهره برداری از خدمات وب ضروری است. بسته های XDTO اضافی توضیحی از ساختار فایل XML مورد نیاز برای تغییر داده ها از XML به XML ارائه می دهند.

XML - این روش به شما امکان می دهد ساختار پیچیده داده ها را در یک فایل متنی اولیه توصیف کنید. هیچ‌کس نه تنها داده‌های مطلق، بلکه فیلدهایی را که در آن ذخیره می‌شوند، توصیف نمی‌کند.
فایل XML لب به لب پایه محور:

XML برای آدمک ها

نام ها (برچسب ها)، ویکی ها در این فایل- ریشه، فهرست، نام، el - ممکن است کاملا رضایت بخش باشد. قوانین اساسی برای درک یک فایل XML بلافاصله با ساختار آن قابل مشاهده است:
- امکان اضافه کردن عناصر وجود دارد.

عنصر بلال<Имя>، پایان همان نام ها است، به جز با اضافه کردن علامت "/".

می توانید در وسط یک عنصر حرکت کنید:
- مشارکت عناصر؛
- متن

عنصر پوست ممکن است دارای قدرت ها (صفات) باشد، آنها معانی و نام ها را نشان می دهند. در XML، هر نمادی از سوء استفاده محافظت می شود، زیرا بسیاری از آنها مستقیماً برای XML استفاده می شوند، اما "<» и «>" روش توصیف در XML برای vikoristan هنگام تبادل با دیگران بسیار راحت است برنامه های شخص ثالثو در مکانیسم های تبادل داده 1C استفاده می شود.

فضای نام ها

یک فایل XML با یک هدر شروع می شود که نسخه XML را توصیف می کند، رمزگذاری می کند... موضوع در XML کاملاً ساده نیست و درک آن اغلب دشوار است. عنوان همچنین می تواند معنای متفاوتی داشته باشد - فضای نام ها.

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

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

شما می توانید فضای نام را با استفاده از روش زیر تعیین کنید - xmlns: پیشوند (SpaceName) = "URL"، به عنوان مثال:
xmlns: store = "http://site.ru"

آیا URL لازم وجود دارد؟ هر کسی که قبلاً بیشتر فکر کرده و شگفت زده شده است - البته ما به نام هایی رسیده ایم که ممکن است منحصر به فرد نباشند ، اما شخص دیگری نیز می تواند او را ویکور کند. این با یک شناسه منحصر به فرد خاص نشان داده می شود، که همچنین نشان دهنده فضای نام است.

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

DOM

یک شی یک ساختار داده خاص است که خودکفا بوده و شامل تمام داده های آن است.

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

DOM روشی برای مشاهده یک فایل XML نه به عنوان متن در یک قالب خاص، بلکه به عنوان مجموعه ای از اشیاء با فیلدها، قدرت ها و غیره است.

قبل از منفی این روشربات ها تأثیر زیادی بر بهره وری رایانه شخصی دارند، زیرا DOM کل فایل XML را بدون در نظر گرفتن اندازه آن سازماندهی می کند (ساختاری به شکل اشیا تشکیل می دهد) و فایل های با اندازه بزرگ (بیش از 4 گیگابایت) به سادگی قادر به انجام این کار نیستند. هضم» «تی».

برای تجزیه و تحلیل فایل های عالی، SAX توسط Wikorist استفاده می شود، این روش برای تجزیه و تحلیل یک فایل بر اساس فایل خوانده شده متوالی، و نه بر اساس یک به یک کل ساختار آن. .

توضیحات فایل XML

اگر ما در حال ایجاد یک فایل از یک ساختار خاص به منظور تسهیل تبادل بین 2 برنامه هستیم، قطعاً مایلیم موارد زیر را انجام دهیم:

شچوب ویکورستانی بولی آن را به طور خاص نام ببرید;
- به طوری که آن عناصری که ما شناسایی کردیم (که "مسئول رکود در مبادله هستند") برجسته شدند.
- ویژگی ها باید فقط انواعی را که توسط ما شناسایی شده اند نشان دهند (عدد، ردیف و غیره).

برای توصیف ساختار XML، فرمت‌های فایل زیر وجود دارد (که در یک فایل متنی ساده نیز ذخیره می‌شوند):

پسوند DTD تعریف نوع سند است.
- XSD را به XML Shema گسترش داد.

این قالب‌ها توصیف می‌کنند که سند چه گناهی دارد. روش تأیید نوع XML که در یک فایل استاندارد مشابه توضیح داده شده است، تأیید نامیده می شود.

XDTO

XDTO یک شی 1C است که به شما امکان می دهد توضیحاتی را به یک فایل XML به پیکربندی اضافه کنید. به طور دقیق تر، این خود فایل نیست که توضیح داده می شود، بلکه ساختار XML است.

برای درج انواع قابل انتخاب، یک لیست ایجاد می شود، یک کتابخانه از انواع به نام کارخانه XDTO. این کارخانه نه تنها انواع ساده (تاریخ، ردیف، شماره) را مشخص می کند که در برنامه های دیگر انتخاب می شوند، بلکه انواع 1C را که در 1C و در پیکربندی قبلی انتخاب می شوند نیز مشخص می کند.

کارخانه XDTO شامل تعدادی بسته است. انواع بلال در یک بسته با نام توضیح داده شده است www.w3.orgانواع داده در پیکربندی در بسته توضیح داده شده است http://v8.1c.ru/8.1/data/enterprise/current-config

این انواع با توجه به نام آنها در پیکربندی با اضافه کردن یک نمای انگلیسی (CatalogRef، DocumentObject، CatalogObject، DocumentRef) نامگذاری می شوند، به عنوان مثال:

CatalogObject.Accounts

افزودن بسته XDTO

ما به XSLT رسیدیم - راهی برای تبدیل فایل های XML به هر چیز دیگری، به عنوان مثال در فایل های HTML. موضوع XML بسیار بزرگ است و بیش از یک کتاب در مورد آن نوشته شده است.

هدف ما این است که درک کنیم که XDTO به شما امکان می دهد عناصری را که در یک بسته XML یافت می شوند و باید مهم یا قالب بندی شوند، توصیف کنید. بسته های XDTO در پیکربندی 1C و در شهر Zagalny - بسته های XDTO یافت می شوند.

می توانید بسته XDTO را به صورت دستی به 1C اضافه کنید، اما بهتر از همه، ما فایل نهایی XSD را آماده خواهیم کرد. شرح گزارشطرح ها با کلیک بر روی بسته‌های Zagalni - XDTO و انتخاب آیتم "Export schemes XML of configuration data" در منو، می‌توانید توضیحاتی درباره طرح‌های شی XSD با هر پیکربندی پیدا کنید.

شما می توانید این فایل متنی را در Notepad ویندوز ویرایش کنید، پس از آن شیء را انتخاب کنید (به آن نیاز ندارید). با کلیک راست بر روی برگه بسته های Zagalni - XDTO و انتخاب آیتم "Import XML schema" در منو، می توانید یک طرح XSD آماده را به 1C اضافه کنید.

کار با XDTO در 1C تبدیل یک مقدار از XML به XML نامیده می شود. لطفاً در 1C Movi کمک بیشتری بخواهید XML Reader / XMLWrite.

هنگام کار با XDTO، باید بسته ای که با آن کار می کنید را مشخص کنید. این می تواند یک بسته استاندارد (بخش در منطقه مورد بحث، XDTO)، یا بسته ای باشد که یک پیکربندی برای آن ایجاد شده است.

بسته با URL موجود در بسته مشخص می شود. دو روش برای کار وجود دارد که اصلی ترین آنها عبارتند از:

سریال سازی - تغییر خودکار مقدار از XML در 1C و غیره.

پر کردن فیلدهای یک شی، ایجاد و نوشتن آن در XML (و همچنین خواندن از XML و سپس خواندن فیلدهای آن).

مقدار سریال سازی لب به لب قابل مشاهده:

Serializer = New XDTO Serializer (XDTO Factory);
فایل XML = رکورد جدید XML();
XMLFile.OpenFile ("نام فایل");
Serializer.WriteXML (XMLFile، مقادیر 1C)؛

تابع دروازه سریال ساز است. XMLReading ()، vikorist از اشیاء 1C زبان ReadingXML.
مثالی از شیء ضبط/خواندن:

Dovdnik XDTOObject = FactoryXDTO.Create (XDTOFactory. Type ("http://v8.1c.ru/8.1/data/enterprise/current-config"، "CatalogObject.Counterparties"));
PropertyValues ​​را پر کنید (DirectoryXDTOObject,Directory.Counterparties.FindByRequisite("Name", "Ivanov").لینک).

سپس می توانید شی ایجاد شده را دقیقاً به همان روش سریال سازی در XML ضبط کنید. وقتی XML را به همین صورت می خوانید، می توانید با دقت بیشتری به آن نگاه کنید و می توانید نه مقدار XDTO، بلکه خود شی را ببینید.

هنگامی که یک شی XDTO ایجاد می شود، ساختاری ایجاد می شود که شبیه ساختار یک شی پیکربندی است (که البته شما یک شی پیکربندی از یک بسته ایجاد می کنید که در برنامه نشان داده شده است). فیلدهای معمولی (نام، کد، و غیره) یکنواخت هستند و شی خالی ایجاد می شود، بنابراین باید آن را در اطراف قسمت پوسته یا با سایر عملکردها به خاطر بسپارید. ارزش املاک را پر کنید

فرمت XML هنگام تبادل انواع مختلف بسیار محبوب شده است اسناد متنیبین سیستم های اطلاعاتی. توانایی ایجاد یک ساختار منحصر به فرد برای اسناد به آنها اجازه می دهد تا در بسیاری از زمینه ها - کتابخانه های الکترونیکی، وب، واردات / صادرات، و همچنین بسیاری دیگر استفاده شوند. بدون قدرت روبات های دستی در این قالب، سیستم 1C نمی توانست به چنین محبوبیتی دست یابد. از آنجایی که قطعات 1C به طور فعال از فناوری های WEB بهره برداری می کنند، توسعه دهنده مسئول خواندن XML و نوشتن اطلاعات برای آنها است.

ارسال به فایل XML و خواندن

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

برای مشاهده نحوه وارد کردن داده ها به 1C، کافی است فایل فوق را ارسال کنید. به طوری که رویه ای نوشته می شود که می تواند فایل XML را خوانده و به خود فایل منتقل کند. این را می توان از طریق رابط انجام داد، به مشارکت کنندگان اجازه می دهد تا به طور مستقل فایل را وارد کنند، یا با نوشتن دقیق جزئیات در متن.

یکی از روش های رایج کار با XML تا اندازه 100 مگابایت در 1C استفاده از vikoristan است. مدل شیسند (DOM). این حس در پردازش گام به گام تمام گره های سند ارائه شده در XML نهفته است. هنگامی که از 1C دانلود می شود، این الگوریتم به شکل زیر است:

  1. فقدان مکانیسم هایی وجود دارد که نیاز به خواندن فایل XML دارند. حلقه برای عبور از گره ها.
  2. خواندن داده ها و ویژگی ها در گره ها.
  3. اطلاعات به روز شده. در صورت نیاز، در این مرحله می‌توان در تغییرات یا بخش‌های جداول مورد نیاز، ورود کرد.
  4. مکانیزم روباتیک کامل شده
& در سرور روش خواندن در سرور (مسیر به فایل) // تخلیه مکانیسم ها مکانیسم خواندن = New ReadingXML; Reading Engine.OpenFile(PathToFile); Budivnik = New BuilderDOM; Document = Builder.Read(Reading Engine); // چرخه برای عبور از گره ها برای عنصر پوست 3 Document.DocumentElement.ChildrenNodes چرخه // خواندن داده ها نام مورد.NodeName = "محصول" نام محصول = عنصر; برای ارزش پوست 3 محصول.ChildrenNodes Cycle Values.NodeName = "Name" سپس Name = value; Color = Name.Attributes.GetNamedElement("Color"); ElseIf values.NodeName = "Price" سپس Variety = مقادیر; ارز = Cost.Attributes.GetNamedItem("Currency"); endIf; چرخه پایان // نمایش اعلان نمایش ("Name:" + Name.TextContent + "; color:" + Color.Value + "; Price:" + Cost.TextContent + "; Currency:" + Currency.Value); endIf; چرخه پایان // مکانیسم Non-Reading را ببندید Close (); پایان رویه

در نتیجه، اطلاعات مربوط به داده های وارد شده را نمایش می دهیم. همچنین می توانید تمام داده ها را در ساختار مورد نیاز قرار دهید و ایجاد یک سند یا ورودی های مرورگر را روی این ساختار برنامه ریزی کنید. انعطاف‌پذیری کار 1C با xml عالی است، بنابراین به طور فزاینده‌ای از خود این قالب هنگام تبادل داده با دستگاه‌های دیگر استفاده می‌شود.

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

  1. اتصال به فایل xml؛
  2. عناصر head را ایجاد می کنیم و داده ها را روی آنها می نویسیم. اگر می خواهید حجم زیادی از اطلاعات را در یک فایل XML نمایش دهید، در این مرحله باید چرخه هایی ایجاد کنید. مراقب باشید و فراموش نکنید که داده ها باید قبل از چرخه کار شوند، نه در چرخه بعدی.
  3. فایل را می بندیم.
// فایل Nomenclatura.xml را باز کنید و عنصر head را بنویسید RecordVFile = New RecordXML (); WriteToFile.OpenFile("D:\Nomenclatura.xml"، "UTF-8"); RecordVFile.3writeStartItem("محصولات"); // انتخاب داده برای رکورد انتخاب از Directory = Directories.Nomenclature.Select (); // چرخه ای که در آن یک رکورد هنگام انتخاب از دایرکتوری ایجاد می شود. چرخه بعدی () // ضبط داده های جدید RecordToFile.RecordBeginningElement ("محصول"); RecordVFile.RecordAttribute("Name"، انتخاب fromDirectory.Name); RecordVFile.RecordAttribute("InitialPrice", Row(SelectionfromDirectory.InitialPrice)); WriteToFile.WriteEndElement(); چرخه پایان // عنصر head و فایل WriteToFile.WriteEndElement(); WriteVFile.Close();

مکانیزم XDTO در 1C

توزیع کنندگان شرکت 1C مکانیزم قدرتمندی برای تبادل اطلاعات از طریق XML - XDTO (XML) ایجاد کرده اند. انتقال اطلاعاتاشیاء). با شروع نسخه 8.1، این پلتفرم امکان تبادل داده با سیستم های دیگر را بدون نگرانی در مورد قالب بندی یک فایل XML ارائه می دهد. بیشتر موارد فنی توسط 1C انجام می شود و ما فقط از وارد کردن داده های لازم برای تشکیل XML محروم هستیم. درست است، برای این منظور، محقق باید اقدامات دستکاری را متوقف کند.

برای وارد کردن یک فایل XML با استفاده از XDTO، باید ساختار 1C فایل را اطلاع دهیم. از طریق مجموعه ای از طرح ها منتقل می شود، که می تواند در یک ویرایشگر متن یا به سرعت با استفاده از یک برنامه تخصصی ایجاد شود. در نتیجه، فایلی که شرح می دهد من یک ساختار ایجاد خواهم کردو انواع داده هایی که برای فایل XML انتخاب می شوند. قبل از خواندن یا نوشتن XML جدید، توسعه‌دهنده باید این طرح را به پیکربندی در بخش «بسته‌های XDTO» اضافه کند.

در این صورت، می‌توانیم یک بسته ساده با دست ایجاد کنیم، تا 1C بتواند ساختار فایل ما را برای مثال درک کند. برای اینکه فایل با موفقیت تشکیل شود، باید در schema نشان دهیم که یک عنصر head و یک عنصر فرعی با ویژگی ها داریم. طرح ایجاد شده باید به یک فایل با فرمت xsd صادر شود و همزمان با xml منتقل شود تا طرف مقابل نیازی به درک ساختار و ایجاد مجدد بسته xdto نداشته باشد.


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

// باز کردن فایل XML EntryVFile = New EntryXML; WriteToFile.OpenFile("D:\Nomenclatura.xml"، "UTF-8"); // 1C را مشخص کنید، چه نوع داده ای باید ایجاد شود - عنصر سر AllProducts = FactoryXDTO.Create (FactoryXDTO.Type ("http://wiseadviceXML.org"، "محصولات")). // انتخاب داده برای انتخاب انتخاب از Directory = Directories.Nomenclature.Select (); // افزودن محصولات اضافی به عنصر head Poki از چرخه Directory.Next() Product = FactoryXDTO.Create (FactoryXDTO.Type ("http://wiseadviceXML.org", "Product")); Product.Name = انتخاب از Directory.Name. Product.StartPrice = ردیف (انتخاب از Directory.StartPrice)؛ AllProducts.Add(Product); چرخه پایان // داده ها را می نویسد و فایل FactoryXDTO.WriteXML (WriteVFile, AllItems) را می بندد. WriteVFile.Close();

مکانیسم های در نظر گرفته شده باید جهانی و به درستی تنظیم شده استممکن است بیشتر در راه باشد. با این حال، تعامل بین 1C و XML تفاوت های ظریف زیادی دارد. آزمایش آنها در ذهن واقعی بسیار مؤثرتر است تا در کارخانه های آزمایش، که در آن پردازش فایل XML ممکن است دشوار باشد.

خلاصه: داده های طرحواره XML (XSD). ایجاد طرحواره های XSD در وسط ویژوال استودیو دات نت. ایجاد یک شی DataSet تایپ شده. استخراج اطلاعات در مورد ساختار شی DataSet. گنجاندن اسناد XML و طرحواره های XSD در تایپ ها و اشیاء DataSet اولیه. روش های ReadXml و ReadXmlSchema. ضبط به جای ساختار یک شیء DataSet تایپ شده و اولیه. متدهای WriteXml و WriteXmlSchema

شیء مجموعه داده‌ها. خواندن و نوشتن اسناد XML

داده های طرحواره XML (XSD)

طرح های داده 1 ترجمه دقیق سند طرحواره XML -< طرح واره سند XML>، اصطلاح «شکل داده XML» را معرفی خواهیم کرد. XSD (XML Schema Document، XSD) یک راه جایگزین برای ایجاد قوانین برای اسناد XML است. در مقایسه با DTD ها، طرحواره ها توانایی بیشتری برای تعریف ساختارهای داده پیچیده دارند، راه هوشمند تری برای توصیف گرامر زبان ارائه می دهند و به راحتی می توان آنها را مدرن و گسترش داد. یک طرح XSD می تواند اطلاعات موجود را در خود جای دهد:

  • نمایش پیوندهای بین عناصر داده، مشابه پیوندهای کلیدهای خارجی بین جداول در یک پایگاه داده رابطه ای.
  • شناسایی شناسه های منحصر به فرد مشابه کلید اصلی؛
  • مشخصات نوعپوست عنصر فردی و داده های ویژگی در یک سند XML.

برای ایجاد طرحواره های داده در ویژوال استودیو دات نت، به منوی اصلی File \ New \ File رفته و از لیست الگوها (بخش شکل 11.3) XML Schema را انتخاب کنید. پنجره ای ظاهر می شود که می گوید: «برای شروع، اشیاء را از پنجره اکسپلورر سرور یا جعبه ابزار به سمت آن بکشید منطقه کار(ناحیه طراحی) یا با دکمه سمت راست کلیک کنید (شکل 11.1):


کم اهمیت 11.1.

در سمت راست چیزی است که در حالت طراحی می دانیم. با کلیک بر روی دکمه (XML) به حالت کد تغییر می کند:

سطر اول عبارت از قبل شناخته شده است که طرحواره یک سند XML با عنصر ریشه xs: schema است. پیشوند xs: تمام عناصر طرح را بیان می کند و فضای نام آن را نشان می دهد. ردیف دیگر توضیحات طولانی‌تر، دقیق‌تر و اغلب غیرضروری از طرح‌ها دارد (کد مشابه را برای صفحات HTML دنبال کنید). برای عملکرد صحیح، درک موارد زیر کاملاً کافی است:

با این حال، تکنیک های تجسم استودیو اجازه می دهد تا این "کلاه" قابل مشاهده باشد، بنابراین نباید حذف شود. ایجاد طرحواره هایی که وظایف را در یک سند XML در وسط ویژوال استودیو دات نت توصیف می کنند، کار ساده ای است. سند قابل ساخت XMLEasy.xml:

1

به تب (داده) و فقط یک ورودی بروید (شکل 11.2).


کم اهمیت 11.2.

شما می توانید طرحی ایجاد کنید که این سند را به روش های مختلفی توصیف کند: در منوی اصلی، مورد "XML\Create Schema" (شکل 11.3، A) را در حالت XML در منوی زمینهاین مورد را انتخاب کنید (شکل 11.3، b)، در حالت داده، این مورد را در منوی زمینه انتخاب کنید (شکل 11.3، C)، و در حالت داده، روی دکمه نوار ابزار XML کلیک کنید (شکل 11.3، D).


کم اهمیت 11.3.

در هر صورت، نمودار سند به صورت یک جدول ظاهر می شود (شکل 11.4). بیایید فعلا حالت Schema را رها کنیم و به حالت (XML) برویم.


کم اهمیت 11.4.

محیط یک کد XML ایجاد کرد که ساختار سند را توصیف می کند:

این همچنین شامل توضیحاتی است که برای دستکاری بیشتر مدار با اشیاء اضافی ADO .NET ضروری است. سند خروجی XMLEasy.xml پیامی برای طرح داده دارد:

سند XMLEasy.xsd به طور خودکار در همان فهرستی که XMLEasy.xml در آن قرار دارد ایجاد می شود.

برای شروع درک طرحواره‌های XSD، با کار کردن با توضیحات داده‌ها در قالبی واضح و بدون آن شروع کنید عناصر اضافی. جدول 11.1 منتخبی از ساده ترین اسناد XML و طرحواره های آنها را که بدون ارجاع به اشیاء ADO.NET تشکیل شده اند، فهرست می کند.

جدول 11.1. طرحواره های تاشو XSD را اعمال کنید
به جای یک سند XML به جای طرح های XSD

1

توصیف کردن
در سند XMLEasy.xml، عنصر TOUR عنصر ریشه ای است که عنصر فرزند IDTOUR را در خود جای می دهد. طرح زاگالنابرای عنصر ریشه ظاهر این است:

به جای عنصر ...

عناصر کودک به شرح زیر توصیف می شوند:

به جای یک سند XML به جای طرح های XSD

1 قبرس 25000.00 روبل گزینه دو بلیط بزرگسال شامل قیمت یک کودک (تا 7 روبل) است. 2 یونان RUR 32,000.00 Serpna و Veresna دارای تخفیف های ویژه هستند 3 تایلند 30000.00 روبل بلیط هواپیما را درج نکنید 4 ایتالیا 26000.00 روبل Snіdanok در موارد هتل در کوپن بسته 5 فرانسه 27000.00 روبل سفرهای اضافی در بسته تور گنجانده نشده است

توصیف کردن
عنصر ریشه TABLE جایگزین عنصر TOUR می شود که از گروهی از عناصر فرزند تشکیل شده است. عنصر انتخاب انتخابی از عناصر دیگر را نشان می‌دهد و مقدار ویژگی "نامحدود" maxOccurs امکان وقوع نامحدود گروه‌های TOUR را نشان می‌دهد.

: :

به جای یک سند XML به جای طرح های XSD

1 قبرس 25000.00 روبل 1 گزینه دو بلیط بزرگسال شامل قیمت یک کودک (تا 7 روبل) است.


کم اهمیت 11.5.
توصیف کردن
برای عنصر IDTOUR، نوع داده int، برای عنصر CLOSED، نوع داده بولی و برای سایرین، نوع داده رشته ای است. می توانید نوع داده را مستقیماً در حالت طرحواره داده XML یا حتی بیشتر به صورت دستی - در حالت Schema (در این حالت حالت DataSet نامیده می شود) تغییر دهید و نوع داده را از لیست انتخاب کنید (شکل 11.5):

که در نرم افزاری امنقبل از شروع دوره، تمامی فایل های این جدول را در پوشه XSD (Code\Glava5\XSD) خواهید یافت.

تعیین یک نوع داده در یک سند XML (مثال دیگر جدول 11.1) یکی از راه های اتصال است. برای تعریف مقدار یک نوع مشخص، ویژگی های اضافی اضافه می شود. در قطعه فعلی مدار، مقدار عنصر PRICE از 50 تا 100 متغیر است:

برای احاطه کردن یک سند XML با مقادیر ثابت معین، از ساختار زیر استفاده کنید:

در اینجا عنصر NAME می تواند تنها یک مقدار ثابت را از پنج نام بپذیرد.

توسعه یک طرحواره XSD کار زیادی برای ربات است. ویژگی های بصری هسته ویژوال استودیو دات نت به میزان قابل توجهی کاهش یافته است. برای تسلط بر مفاهیم اولیه، باید تعدادی طرحواره اسناد XML را یاد بگیرید که به طور خودکار ایجاد می شوند. جداول 11.2-11.4 شرحی از عناصر و ویژگی های اصلی را ارائه می دهد که می تواند منجر به بینش شود.

جدول 11.2. عناصر طرحواره های XSD
عنصر توصیف کردن
همه عناصر موجود را می توان به ترتیب کافی فهرست کرد
حاشیه نویسی عنصر باتکوفسکی عناصر-نظرات і
هر هر عنصر ورودی
هر ویژگی هر صفت
اطلاعات برنامه عنصر نظر. عنوان طرح را مشخص می کند
صفت صفت
ویژگی گروه گروه صفت
انتخاب عناصر دیگر را انتخاب کنید. آنالوگ اپراتور "|" در DTD
محتوای پیچیده مبادله یا مدل های توسعه یافتهبه جای نوع تاشو
نوع پیچیده عنصر تاشو
مستندات عنصر نظر. اطلاعاتی در مورد طرح ارائه می دهد
عنصر عنصر
افزونه گسترش عنصر
رشته مزارع متروک است. در وسط عنصر می چسبد به منظور آبیاری
گروه گروه عناصر
وارد كردن وارد کردن اظهارنامه های نوع با طرح های دیگر
عبارتند از گنجاندن طرح‌های دیگر در فضای نام اصلی
کلید تعیین یک عنصر یا ویژگی با کلیدی که به عنصر دیگری اشاره می کند
کلید عنصر یا ویژگی مشخص شده با کلید را مشخص کنید
فهرست عنصری که می تواند در مقدار لیست گنجانده شود
دوباره تعریف کند تخصیص مجدد عناصر قبلاً ذکر شده
محدودیت تبادل عنصر
طرحواره عنصر ریشه مدار
انتخابگر انتخابگر برای انتخاب عناصر XML
توالی توالی عناصر دیگر آنالوگ اپراتور "," در DTD
ساده محتوا مدلی که در عوض از داده های نمادین محروم می شود
ساده تایپ عنصر نوع ساده
اتحاد. اتصال عنصر یا صفتی که می تواند معانی متعددی داشته باشد
منحصر بفرد عنصر یا صفتی که معنای منحصر به فردی دارد
جدول 11.3. ویژگی ها - مرزهای طرحواره XSD
صفت توصیف کردن
enumeration فهرست مقادیر
طول دوژینا
بیشترین طول حداکثر دوژینا
طول دقیقه حداقل dowzhin
maxExclusive حداکثر مقدار
maxInclusive حداکثر ارزش شامل
من انحصاری حداقل مقادیر
minInclusive حداقل ارزش ها را شامل می شود
fractionDigits تعداد علائم بعد از کما در اعداد کسری
totalDigits تعداد اعداد
الگو تصویر (الگو) به جای عناصر
پیش فرض معنای عنصر یا ویژگی پشت تعریف
elementFormDefault فرمان مقامات عنصر محلی به عنوان یک آهنگ جهانی
درست شد مقادیر ثابت عنصر یا ویژگی
فرم عناصر محلی بی صدا در اسناد نمونه خاص مشخص می شوند
نوع آیتم نوع مورد فهرست
MemberTypes نوع اعضای اتحادیه (اتحادیه)
maxOccurs حداکثر قدرت ورودی عنصر
کوچک اتفاق می افتد حداقل قدرت ورودی عنصر
مختلط مشخصات عنصری که می تواند نوع مخلوط شود
نام نام عنصر یا ویژگی
فضای نام فضای نام ها
بدون فضای نام دپارتمان توسعه طرح های اسنادی،
SchemaLocation هیچ فضای نامی در نتیجه وجود ندارد
صفر شدنی معنی این است که یک عنصر می تواند با مقدار NULL (nil) خالی باشد.
مرجع Zavdannya posilannya در مورد عنصر آواز در سطح جهانی
schemaLocation موقعیت یابی مدار
جایگزینی گروه جایگزینی قابل توجه عناصر با عناصر دیگر
فضای نام target فضای نام طرحواره حاصل
نوع نوع آیتم
استفاده کنید Є عنصر اجباری
ارزش معنی عنصر مدار
xsi: صفر تنظیم مقدار واقعی یک عنصر خالی (NULL) یک سند XML
xsi:schemaLocation مکان واقعی برای گسترش یک عنصر در یک سند XML
xsi:نوع نوع واقعی عنصر در سند XML