یک **سند ساخت‌یافته** (به انگلیسی: structured document) یک سند الکترونیکی است که در آن «نشانه‌گذاری» هایی که برای تشخیص بخشی از سند و یا قسمت کلی از سند به کار رفته اند، «معنا» ی متفاوت را مشخص می‌کنند، نه آنکه صرفاً قالب‌بندی را تعیین کنند. برای مثال یک سند ساخت‌یافته می تواند یک قسمت خاص سند را به صورت «عنوان فصل» (یا «نمونه کد» یا «شعر رباعی») شناسایی کند، نه آنکه قالب آن متن را «B Nazanin bold» یا «24 TimesNewRoman» بداند. این بخش ها به صورت کلی، معمولاً «مولفه» ها یا «عناصر» یک سند نام دارند.

تفاوت «اسناد ساخت‌یافته» با «اسناد قالب‌بندی شده»
-------------------------------------------------

* اسناد ساخت‌یافته معمولاً روی برچسب گذاری اشیاء برحسب «اهداف پردازشی» مختلف و نه صرفاً قالب بندی آنها، تمرکز می کند. برای مثال برچسب‌گذاری صریح «عنوان فصل» یا «تاکید شده» برای سیستم‌هایی که کاربران را نمی‌شناسند (در قبال آنکه فقط «ایتالیک» یا «بولد بی نازنین» را کد بندی کنند) مفید تر است. به صورت مشابه، نشانه‌گذاری معنادار برای خیلی از مولفه‌ها در یک «صفحه اطلاعات فنی»، امکان تجمیع بهتر با پایگاه های داده، سیستم های جستجو، کاتالوگ های برخط، و غیره را می دهد.
* اسناد ساخت‌یافته معمولاً از ساختار های سلسله مراتبی پشتیبانی می کنند، مثلاً «از لیست ها و نه فقط عناصر لیست»، یا «بخش ها و نه فقط سر بخش ها»، و غیره. و این موضوع در تضاد مشخص با سیستم های «مبتنی بر قالب بندی» است.
* سیستم های انتهایی می توانند از چندین مجموعه مولفه ی مستقل و/یا متداخل پشتیبانی کنند.

در سیستم های ساخت یافته چه رخ می دهد؟
-------------------------------------

«سیستم های ساخت‌یافته» معمولاً اجازه ی ایجاد قواعد صریح، که «انواع مولف» و «روش ترکیب» مولفه ها را تعریف می کنند، را می دهند. این مجموعه قواعد، «طرح‌واره» (به انگلیسی: Schema) نام دارد که در قیاس با «طرح‌واره پایگاه داده» می باشد. چندین زبان قراردادی برای تعیین آنها وجود دارد، مثل XSD، Relax NG و Schematron. یک سند ساخت‌یافته که از قواعد طرح‌واره پیروی می کند، معمولاً «صحیح بر اساس آن طرح‌واره» نامیده می شود. بعضی از سیستم ها از اسنادی با «اجزای نوع اختیاری» یا «ترکیب اختیاری» پشتیبانی می کنند، اما هنوز در آن قواعد نحوی برای تشخیص آن اجزا باید استفاده شود.

مثال های از «طرح‌واره» سند ساخت‌یافته
-------------------------------------

* HTML: یک نمایش بسیار متداول برای اسناد ساخت‌یافته HTML است، که این طرح‌واره توسط W3C تعریف و توصیف شده است. با این حال، HTML علاوه بر تگ هایی برای مولفه های مبتنی بر معنی، مثل «پاراگراف»، «عنوان»، و «کد»، دارای تگ های مبتنی بر قالب مثل «ایتالیک»، «بولد» نیز هست. در عمل HTML معمولاً به صورت یک زبان قالب بندی استفاده می شود، و گاهی اوقات، از آن به صورت یک سیستم سند ساخت‌یافته استفاده می شود.

خیلی از دامنه ها از اسناد ساخت‎یافته و از طریق طرح‌واره های مبتنی بر دامنه که به صورت مشارکتی ساخته اند، استفاده می کنند، مثل:

* JATS برای انتشار مجله
* TEI برای اسناد ادبی
* UBL و EDI برای تبادل تجاری
* XTCE برای اندازه گیری از راه دور سفینه فضایی
* REST برای واسط های وب

و بسیار موارد دیگر؛ که همه ی آنها از طرح‌واره های خاصی براساس XML استفاده می کنند.

««XML یک قالب جهانی برای اسناد ساخت‌یافته و داده ها در وب می باشد»».

مزیت اساسی اسناد ساخت‌یافته با چند مثال
---------------------------------------

در نوشتن اسناد ساخت‌یافته، تمرکز روی کدبندی «ساختار منطقی یک سند» است و کمتر روی نمایش آن به انسان ها توسط صفحات پرینت شده یا صفحه نمایش ها می‌شود (حتی بعضی مواقع این نمایش حتی مورد انتظار نیست). در نتیجه اسناد ساخت‌یافته به راحتی می توانند توسط سیستم های رایانه ای پردازش شوند، نتیجه ی این کار استخراج و نمایش فرم های مشتق شده ی سند است.

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

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

معانی دیگری می توانند به متن منتسب شوند، که در مفهوم مشابه با دیگر «اشیای ساخت یافته» نیست، اما هنوز «ساختار سند» در نظر گرفته می شوند زیرا ادعاهایی درباره ی حوزه، طبیعت، و آنتالوژی قسمت های یک سند را بیان می کند، و نه فقط دستورهایی درباره ی نمایش آنها.

مثال
----

در HTML یک بخش از ساختار منطقی یک سند می تواند: بدنه سند <body>؛ شامل یک سرایند سطح اول <h1>؛ و یک پاراگراف <p> باشد.

```
<body>

<h1>Structured document</h1>
<p>A <strong class="selflink">structured document</strong> is an <a href="/wiki/Electronic\_document" title="Electronic document">electronic document</a> where some method of <a href="/wiki/Markup\_language" title="Markup language">markup</a> is used to identify the whole and parts of the document as having various meanings beyond their formatting.</p>

</body>

```
در قطعه کد HTML بالا، عنصر <strong> به معنی آن است که که روی متن محصور شده «تاکید» شده است. 

* در عبارات دیداری این معمولاً توسط bold ارائه می شود، مثلاً با <b>
* اما یک واسط سخنی، احتمالاً از «تاکید صدا» استفاده می کند.

تگ strong «توصیف کننده» یا «ساختاری» می باشد، از این جهت که از آن برای برچسب گذاری یک ویژگی «مجرد»، و «شبه زبانی» از محتوایش استفاده می شود، و نه برای «توصیف نمایش مناسب در یک رسانه ی خاص».

\*\*\*

در کل، «نشانه گذاری معنایی» فاقد نشانه گذاری هایی مثل <b> می باشد، که به صورت مستقیم هیچ معنایی جز دستورالعملی برای نمایش دیداری ندارد. (اگرچه یک عامل هوشمند می تواند یک معنای ساختاری نهفته در پشت این تگ را تشخیص دهد).

بعضی از تگ های ساختاری دیگر در HTML شامل `<abbr>, <acronym>, <address>, <cite>, <del>, <dfn>, <ins>, <kbd>, و <q>` می باشد. طرح‌واره های دیگر مثل «داک‌بوک» و TEI انتخاب های بسیار بزرگتری دارند.

منابع
-----

1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  "Structured document". *Wikipedia* (به انگلیسی). 2020-02-20.
2. ↑  DeRose, Steven (2004). *Markup Overlap: A Review and a Horse*. Extreme Markup Languages 2004. Montréal. CiteSeerX 10.1.1.108.9959. Archived from the original on 17 اكتبر 2014. Retrieved 2014-10-14. `{{cite conference}}`: Check date values in: `|archive-date=` (help)