How Can I Create a Custom Element for Use in a DITA Topic?
Post here questions and problems related to editing and publishing DITA content.
			- 
				skioverlooked
- Posts: 1
- Joined: Fri Oct 31, 2025 5:43 am
How Can I Create a Custom Element for Use in a DITA Topic?
Post by skioverlooked »
I’m currently working on a DITA-based documentation project and need to introduce a custom element to handle some specific content that doesn’t quite fit the standard DITA structure.
I know that DITA is designed to be modular and extensible, but I’m not entirely sure about the correct process for defining and implementing new elements in a way that remains compatible with existing tools and standards.
Specifically, I’d like to understand:
How to properly define a custom element for use within a DITA topic (using either a DTD or XML Schema).
Whether it’s better to specialize an existing element or create a completely new one.
How to ensure that my customization doesn’t break compatibility with standard DITA processing tools like the DITA Open Toolkit.
Where I can find official documentation, examples, or best practices for extending the DITA grammar (DTD or XSD).
If anyone has experience with DITA specialization, schema customization, or maintaining DITA compliance while extending functionality, I’d really appreciate your insights or pointers to relevant resources.
			
			
									
									
						I know that DITA is designed to be modular and extensible, but I’m not entirely sure about the correct process for defining and implementing new elements in a way that remains compatible with existing tools and standards.
Specifically, I’d like to understand:
How to properly define a custom element for use within a DITA topic (using either a DTD or XML Schema).
Whether it’s better to specialize an existing element or create a completely new one.
How to ensure that my customization doesn’t break compatibility with standard DITA processing tools like the DITA Open Toolkit.
Where I can find official documentation, examples, or best practices for extending the DITA grammar (DTD or XSD).
If anyone has experience with DITA specialization, schema customization, or maintaining DITA compliance while extending functionality, I’d really appreciate your insights or pointers to relevant resources.
- 
				Radu
- Posts: 9545
- Joined: Fri Jul 09, 2004 5:18 pm
Re: How Can I Create a Custom Element for Use in a DITA Topic?
Hi,
Please see some answers below:
https://www.oxygenxml.com/dita/1.3/spec ... rview.html
https://dita4practitioners.github.io/di ... tutorials/
Regards,
Radu
			
			
									
									Please see some answers below:
There is a chapter on specialization in the DITA specification:How to properly define a custom element for use within a DITA topic (using either a DTD or XML Schema).
https://www.oxygenxml.com/dita/1.3/spec ... rview.html
You cannot create to my knowledge a totally new from the ground up element, you specialize an existing element which would be the base element like your element could have the base element <ph> if it's an inline element or <p> if it's a block element.Whether it’s better to specialize an existing element or create a completely new one.
As you specialize a base element, the publishing will apply by default on your element as if it's the base element instead. And you can add in time specific publishing processing for your element.How to ensure that my customization doesn’t break compatibility with standard DITA processing tools like the DITA Open Toolkit.
These tutorials should help:Where I can find official documentation, examples, or best practices for extending the DITA grammar (DTD or XSD).
https://dita4practitioners.github.io/di ... tutorials/
The Oxygen forum is a more static place, usually people register to post and receive answers on their own posts and we (the Oxygen team) answer them, if you want to ask the DITA community for something I would suggest you register and ask questions on the DITA Users List: https://dita-users.groups.io/g/mainIf anyone has experience with DITA specialization, schema customization, or maintaining DITA compliance while extending functionality, I’d really appreciate your insights or pointers to relevant resources.
Regards,
Radu
Radu Coravu 
<oXygen/> XML Editor
http://www.oxygenxml.com
						<oXygen/> XML Editor
http://www.oxygenxml.com
Return to “DITA (Editing and Publishing DITA Content)”
			
				Jump to
				
			
		
			
			
	
	- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ Artificial Intelligence (AI Positron Assistant add-on)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service