SGML отбасының құжат түрлерін анықтайтын DTD анықтамалары
Document type definition
DTD анықтамасы: XML, HTML құжаттарының құрылымын анықтайтын, жарамды элементтер мен атрибуттарды тізімдейтін маңызды құжат. Баптау және тексеру үшін қолданылады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
SGML отбасылық таңбалау тілі үшін құжат түрін анықтайтын таңбалау декларацияларының жиынтығы. Document type definition (DTD) – SGML отбасылық таңбалау тілі (GML, SGML, XML, HTML) үшін құжат түрін анықтайтын таңбалау декларацияларының жиынтығын қамтитын спецификациялық файл. DTD спецификациялық файлын құжаттарды тексеру үшін пайдалануға болады. DTD XML құжатының жарамды құрылымдық элементтерін анықтайды. Ол құжат құрылымын расталған элементтер мен атрибуттар тізімі арқылы анықтайды. DTD XML құжатының ішінде немесе сыртқы сілтеме ретінде жариялануы мүмкін. DTD-нің атау кеңістігін қолдайтын нұсқасы ISO DSDL-дің 9-бөлігі ретінде әзірленуде. DTD-лер арнайы жариялау таңбаларын қажет ететін қосымшаларда сақталады, мысалы, XML және HTML таңбалар тізімдері, олар ISO SGML стандартының бір бөлігі ретінде анықталған үлкен жиынтықтардан шығарылған. XML SGML DTD-нің бір бөлігін пайдаланады. Дегенмен, жаңа XML атау кеңістігін қолдайтын схема тілдері (мысалы, W3C XML Schema және ISO RELAX NG) XML құрылымын тексерудің тиімді әдісі ретінде DTD-ні ығыстырды.
Set of markup declarations that define a document type for an SGML family markup languageA document type definition (DTD) is a specification file that contains set of markup declarations that define a document type for an SGML family markup language (GML, SGML, XML, HTML). The DTD specification file can be used to validate documents. A DTD defines the valid building blocks of an XML document. It defines the document structure with a list of validated elements and attributes. A DTD can be declared inline inside an XML document, or as an external reference. A namespace aware version of DTDs is being developed as Part 9 of ISO DSDL. DTDs persist in applications that need special publishing characters, such as the XML and HTML Character Entity References, which derive from larger sets defined as part of the ISO SGML standard effort. XML uses a subset of SGML DTD. , newer XML namespace aware schema languages (such as W3C XML Schema and ISO RELAX NG) have largely superseded DTDs as a better way to validate XML structure.
Таңбалау декларациялары
DTD-лер элементтер мен атрибуттар тізімі туралы мәлімдемелер арқылы құжаттар класының құрылымын сипаттайды. Элементтер туралы мәлімдемелер құжаттағы рұқсат етілген элементтер жиынтығын атайды және әрбір элементте жарияланған элементтер мен мәтіндік деректер тізбектері болуы мүмкін бе және қалай болатынын көрсетеді. Атрибут тізімі туралы мәлімдемелер әрбір жарияланған элемент үшін рұқсат етілген атрибуттар жиынтығын, соның ішінде әрбір атрибут мәнінің типін, егер жарамды мәндердің нақты жиынтығы болмаса, анықтайды. DTD белгілеу мәлімдемелері XML құжаттарының тиісті класының құрылымында қандай элемент түрлері, атрибут тізімдері, нысандар және нотациялар рұқсат етілетінін жариялайды.
DTDs describe the structure of a class of documents via element and attribute list declarations. Element declarations name the allowable set of elements within the document, and specify whether and how declared elements and runs of character data may be contained within each element. Attribute list declarations name the allowable set of attributes for each declared element, including the type of each attribute value, if not an explicit set of valid values. DTD markup declarations declare which element types, attribute lists, entities, and notations are allowed in the structure of the corresponding class of XML documents.
Қауіпсіздік
XML DTD-ді экспоненциалды түрде кеңейтілетін ішкі тізімдерді анықтау арқылы немесе XML талдағышын ешқашан жауап бермейтін сыртқы ресурсқа бағыттап, қызметтен бас тарту (DoS) шабуылын ұйымдастыруға болады. Осы себепті, .NET Framework DTD талдауын тоқтатуға немесе оны өткізіп жіберуге мүмкіндік беретін қасиетті ұсынады, ал Microsoft Office қолданбаларының жаңа нұсқалары (Microsoft Office 2010 және одан кейінгілері) DTD жарияланымдарын қамтитын XML файлдарын ашпайды.
An XML DTD can be used to create a denial of service (DoS) attack by defining nested entities that expand exponentially, or by sending the XML parser to an external resource that never returns. For this reason, NET Framework provides a property that allows prohibiting or skipping DTD parsing, and recent versions of Microsoft Office applications (Microsoft Office 2010 and higher) refuse to open XML files that contain DTD declarations.