Working with HTML5
Oxygen general issues.
-
- Posts: 3
- Joined: Thu Nov 03, 2011 7:35 pm
Working with HTML5
Can I install an HTML5 document type?
I'm used to developing XHTML with oXygen, but the new elements in HTML5 are being flagged as errors. I'm happy to stick with XHTML-style XML markup (which is fine in HTML5), but I would like oXygen to recognise all new elements and attributes so that I can rely on it for validation.
Any advice appreciated.
Francois
I'm used to developing XHTML with oXygen, but the new elements in HTML5 are being flagged as errors. I'm happy to stick with XHTML-style XML markup (which is fine in HTML5), but I would like oXygen to recognise all new elements and attributes so that I can rely on it for validation.
Any advice appreciated.
Francois
-
- Site Admin
- Posts: 2095
- Joined: Thu Jan 09, 2003 2:58 pm
Re: Working with HTML5
Hi Francois,
oXygen 13.1 added support for XHTML 5. It will recognize automatically a document that has
<!DOCTYPE html>
as XHTML 5 and it will offer you content completion and validation support.
Best Regards,
George
oXygen 13.1 added support for XHTML 5. It will recognize automatically a document that has
<!DOCTYPE html>
as XHTML 5 and it will offer you content completion and validation support.
Best Regards,
George
George Cristian Bina
-
- Site Admin
- Posts: 2095
- Joined: Thu Jan 09, 2003 2:58 pm
Re: Working with HTML5
You can add support for that also in oXygen 10 but you need to associate the XHTML 5 schema with your documents - either as a default schema through oXygen options or directly inside the document.
Best Regards,
George
Best Regards,
George
George Cristian Bina
-
- Posts: 2879
- Joined: Tue May 17, 2005 4:01 pm
Re: Working with HTML5
Hello,
You could use the HTML5 schemas available for EPUB 3.0:
http://idpf.org/epub/30/schema/
Regards,
Adrian
You could use the HTML5 schemas available for EPUB 3.0:
http://idpf.org/epub/30/schema/
Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
-
- Posts: 3
- Joined: Thu Nov 03, 2011 7:35 pm
Re: Working with HTML5
I'm afraid I don't have any experience installing new schemas for oXygen. Could someone help?
Do I need all the files in http://idpf.org/epub/30/schema/epub30-schemas.zip or only those in http://idpf.org/epub/30/schema/mod/html5/ ?
What do I do with them? Do they need to go somewhere in here?
/Applications/oxygen 10.3/frameworks/
How do I get an "HTML5" option to appear in oXygen's "New" dialog box?
Sorry for the naive questions, but I'd appreciate some help.
Do I need all the files in http://idpf.org/epub/30/schema/epub30-schemas.zip or only those in http://idpf.org/epub/30/schema/mod/html5/ ?
What do I do with them? Do they need to go somewhere in here?
/Applications/oxygen 10.3/frameworks/
How do I get an "HTML5" option to appear in oXygen's "New" dialog box?
Sorry for the naive questions, but I'd appreciate some help.
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: Working with HTML5
Post by sorin_ristache »
Hello,
You can associate a schema with an XML document is Oxygen as described in the User Manual. For example you can use the action Associate Schema which is available on both the Document toolbar and the Document -> Schema menu.
As alternative you can create a document type from menu Options -> Preferences -> Document Type Association, the New button. After you add the new document type in Document Type Association the schema of the document type will be associated automatically with any XML document that will match the document type.
Regards,
Sorin
You can associate a schema with an XML document is Oxygen as described in the User Manual. For example you can use the action Associate Schema which is available on both the Document toolbar and the Document -> Schema menu.
As alternative you can create a document type from menu Options -> Preferences -> Document Type Association, the New button. After you add the new document type in Document Type Association the schema of the document type will be associated automatically with any XML document that will match the document type.
Regards,
Sorin
-
- Posts: 7
- Joined: Sun Nov 29, 2009 8:03 am
Re: Working with HTML5
Sorin, I followed your suggestion and went to the document toolbar and Associated string_bd16.xsd.
This resulted in adding attributes to the html element.
<!DOCTYPE html>
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml string_bd16.xsd"
xmlns="http://www.w3.org/1999/xhtml">
The xhtml5 page was still well formed. Since, in html5, the html element can take only one namespace attribute, xmlns="http://www.w3.org/1999/xhtml, As expected, when I tried to validate my xhtml5 page, oXygen provided the following error messages:
System ID: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Main validation file: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Schema: D:\XHTML&HTML5\Forms\string_bd16.xsd
Engine name: Saxon-EE 9.3.0.5
Severity: warning
Description: Schema at location string_bd16.xsd has target namespace "http://www.cytometryml.org/ACS/strings_bd" but requested namespace was "http://www.w3.org/1999/xhtml"
System ID: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Main validation file: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Schema: D:\XHTML&HTML5\Forms\string_bd16.xsd
Engine name: Saxon-EE 9.3.0.5
Severity: warning
Description: Validation will continue without the schema at string_bd16.xsd
System ID: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Main validation file: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Schema: D:\XHTML&HTML5\Forms\string_bd16.xsd
Engine name: Saxon-EE 9.3.0.5
Severity: error
Description: Cannot validate <{....org/1999/xhtml}html>: no element declaration available
Start location: 4:39
System ID: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Main validation file: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Schema: D:\XHTML&HTML5\Forms\string_bd16.xsd
Engine name: Saxon-EE 9.3.0.5
Severity: error
Description: Cannot validate <{....org/1999/xhtml}html>: no element declaration available
It is possible to include a xmlns attribute in a section element. One possible approach to this problem is to reuse the RDFa material for html5. Has oXygen done anything with RDFa prefixes or CURIES?
Besides my own intersts, I believe that a xhtml5 that included forms that worked with xml forms would be an ideal replacement for XForms. It should permit the creation of xml containing highly portable documents and other applications.
How do I attach my code to this?
Thank you.
Robert (Bob) Leif
This resulted in adding attributes to the html element.
<!DOCTYPE html>
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml string_bd16.xsd"
xmlns="http://www.w3.org/1999/xhtml">
The xhtml5 page was still well formed. Since, in html5, the html element can take only one namespace attribute, xmlns="http://www.w3.org/1999/xhtml, As expected, when I tried to validate my xhtml5 page, oXygen provided the following error messages:
System ID: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Main validation file: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Schema: D:\XHTML&HTML5\Forms\string_bd16.xsd
Engine name: Saxon-EE 9.3.0.5
Severity: warning
Description: Schema at location string_bd16.xsd has target namespace "http://www.cytometryml.org/ACS/strings_bd" but requested namespace was "http://www.w3.org/1999/xhtml"
System ID: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Main validation file: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Schema: D:\XHTML&HTML5\Forms\string_bd16.xsd
Engine name: Saxon-EE 9.3.0.5
Severity: warning
Description: Validation will continue without the schema at string_bd16.xsd
System ID: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Main validation file: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Schema: D:\XHTML&HTML5\Forms\string_bd16.xsd
Engine name: Saxon-EE 9.3.0.5
Severity: error
Description: Cannot validate <{....org/1999/xhtml}html>: no element declaration available
Start location: 4:39
System ID: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Main validation file: D:\XHTML&HTML5\Forms\html5_XMLSpy_example_RCL2.html
Schema: D:\XHTML&HTML5\Forms\string_bd16.xsd
Engine name: Saxon-EE 9.3.0.5
Severity: error
Description: Cannot validate <{....org/1999/xhtml}html>: no element declaration available
It is possible to include a xmlns attribute in a section element. One possible approach to this problem is to reuse the RDFa material for html5. Has oXygen done anything with RDFa prefixes or CURIES?
Besides my own intersts, I believe that a xhtml5 that included forms that worked with xml forms would be an ideal replacement for XForms. It should permit the creation of xml containing highly portable documents and other applications.
How do I attach my code to this?
Thank you.
Robert (Bob) Leif
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: Working with HTML5
Post by sorin_ristache »
Hello,
You have to associate the epub-xhtml-30.rnc schema with the XML files which you want to edit and validate as HTML 5 documents. In Oxygen 10 please follow these steps for associating the HTML 5 schema from epub30-schemas.zip with an XML document:
If you have an XML document that is already created (not a new one) and you want to associate this schema to it then press the Associate Schema button from the toolbar (or go to menu Document -> XML Document -> Associate Schema) and in the Associate Schema dialog box just enter the same epub-xhtml-30.rnc file.
Regards,
Sorin
You have to associate the epub-xhtml-30.rnc schema with the XML files which you want to edit and validate as HTML 5 documents. In Oxygen 10 please follow these steps for associating the HTML 5 schema from epub30-schemas.zip with an XML document:
- create a new XML file with the File -> New action or the New button from the toolbar, which displays the Create an XML document dialog box,
- select the Relax NG tab of this dialog box,
- select the Compact syntax radio button,
- using the file browser button (the button with the small yellow folder icon) enter the path of the epub-xhtml-30.rnc file from the folder where you unzipped the epub30-schemas.zip archive,
- press the OK button.
If you have an XML document that is already created (not a new one) and you want to associate this schema to it then press the Associate Schema button from the toolbar (or go to menu Document -> XML Document -> Associate Schema) and in the Associate Schema dialog box just enter the same epub-xhtml-30.rnc file.
Regards,
Sorin
-
- Posts: 7
- Joined: Sun Nov 29, 2009 8:03 am
Re: Working with HTML5
Sorin,
Thank you for your suggestion. It worked, but did not solve the problem. As shown below, one can now add the xmlns element. However, since the elements in the relax-ng schema do not include references to the new namespace, the inclusion of elements from the new namespace results in a validation error. This can be fixed by changing the relaxng schema to include the equivalent of an xsd anySimpleType for elements such as: p,h1,h2, etc. and input etc. A case statement might be used to separate the true HTML5 elements from user schema based elements. This would provide input and userInput.
Since there is no obvious means to attach code, I will provide my listings below. The oXygen error messages have been included as comments.
Yours,
Bob Leif
--------------------------------------------------------------
--------------------------------------------------------------
-------------------------------------------------------------
--------------------------------------------------------------
Thank you for your suggestion. It worked, but did not solve the problem. As shown below, one can now add the xmlns element. However, since the elements in the relax-ng schema do not include references to the new namespace, the inclusion of elements from the new namespace results in a validation error. This can be fixed by changing the relaxng schema to include the equivalent of an xsd anySimpleType for elements such as: p,h1,h2, etc. and input etc. A case statement might be used to separate the true HTML5 elements from user schema based elements. This would provide input and userInput.
Since there is no obvious means to attach code, I will provide my listings below. The oXygen error messages have been included as comments.
Yours,
Bob Leif
--------------------------------------------------------------
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:strings_bd="http://www.cytometryml.org/ACS/strings_bd"
targetNamespace="http://www.cytometryml.org/ACS/strings_bd"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<element name="Bounded_16" type="strings_bd:Bounded_16_Type"/>
<simpleType name="Bounded_16_Type" id="Bounded_16_Type">
<restriction base="token">
<minLength value="1"/>
<maxLength value="16"/>
</restriction>
</simpleType>
</schema>
Code: Select all
<!DOCTYPE html>
<?xml-model href="file:/C:/Program%20Files%20(x86)/Oxygen%20XML%20Editor%2013/frameworks/xhtml/xhtml5%20(epub3)/epub-xhtml-30.rnc" type="application/relax-ng-compact-syntax"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:strings_bd="http://www.cytometryml.org/ACS/strings_bd16">
<head>
<!--meta content="application/xhtml+xml" http-equiv="content-type"/-->
<!--meta charset="utf-8"/-->
<!--meta MIME="text/html" charset="utf-8"/-->
<link href="html5_example.css" rel="stylesheet" type="text/css"/>
<title>HTML5_Form 1</title>
</head>
<body>
<!-- This validates -->
<form action="string_bd16.xml" enctype="application/x-www-form-urlencoded"
method="post">
<div class="entry">
<p><label for="form-1">Name</label>
<input id="form-1" name="string_bd16" type="text"/></p>
</div>
<!-- entry end -->
<div class="button">
<button type="submit">Send</button>
</div>
</form>
</body>
</html>
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="file:/C:/Program%20Files%20(x86)/Oxygen%20XML%20Editor%2013/frameworks/xhtml/xhtml5%20(epub3)/epub-xhtml-30.rnc" type="application/relax-ng-compact-syntax"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:strings_bd="http://www.cytometryml.org/ACS/strings_bd16">
<head>
<link href="html5_example.css" rel="stylesheet" type="text/css" />
<title>HTML5_Form 1</title>
</head>
<body>
<p><strings_bd:Bounded_16>Test</strings_bd:Bounded_16></p>
<!--System ID: D:\XHTML&HTML5\Forms\html_Form_Minimal_w_data-type_fails.xml
Main validation file: D:\XHTML&HTML5\Forms\html_Form_Minimal_w_data-type_fails.xml
Schema: C:\Program Files (x86)\Oxygen XML Editor 13\frameworks\xhtml\xhtml5 (epub3)\epub-xhtml-30.rnc
Engine name: Jing
Severity: error
Description: element "strings_bd:Bounded_16" not allowed here; expected the element end-tag, text or element "a", "abbr", "area", "audio", "b", "bdi", "bdo", "br", "button", "canvas", "cite", "code", "command", "datalist", "del", "dfn", "em", "embed", "i", "iframe", "img", "input", "ins", "kbd", "keygen", "label", "map", "mark", "meter", "ns1:switch", "ns2:math", "ns3:svg", "object", "output", "progress", "q", "ruby", "s", "samp", "script", "select", "small", "span", "strong", "sub", "sup", "textarea", "time", "u", "var", "video" or "wbr" (with xmlns:ns1="http://www.idpf.org/2007/ops" xmlns:ns2="http://www.w3.org/1998/Math/MathML" xmlns:ns3="http://www.w3.org/2000/svg")
Start location: 10:7
End location: 10:28 -->
<form action="string_bd16.xml" enctype="application/x-www-form-urlencoded"
method="post">
<div class="entry">
<p><label for="form-1">Name</label>
<input id="form-1" name="text" type="text" /></p>
</div>
<div class="button">
<button type="submit">Send</button>
</div>
</form>
</body>
</html>
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="file:/C:/Program%20Files%20(x86)/Oxygen%20XML%20Editor%2013/frameworks/xhtml/xhtml5%20(epub3)/epub-xhtml-30.rnc" type="application/relax-ng-compact-syntax"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:strings_bd="http://www.cytometryml.org/ACS/strings_bd16">
<head>
<link href="html5_example.css" rel="stylesheet" type="text/css" />
<title>HTML5_Form 1</title>
</head>
<body>
<form action="string_bd16.xml" enctype="application/x-www-form-urlencoded"
method="post">
<div class="entry">
<p><label for="form-1">Name</label>
<input id="form-1" name="Bounded_16" type="strings_bd:Bounded_16_Type" /></p>
<!-- System ID: D:\XHTML&HTML5\Forms\html_Form_Minimal_w_input_fails.xml
Main validation file: D:\XHTML&HTML5\Forms\html_Form_Minimal_w_input_fails.xml
Schema: C:\Program Files (x86)\Oxygen XML Editor 13\frameworks\xhtml\xhtml5 (epub3)\epub-xhtml-30.rnc
Engine name: Jing
Severity: error
Description: value of attribute "type" is invalid; must be equal to "button", "checkbox", "color", "date", "datetime", "datetime-local", "email", "file", "hidden", "image", "month", "number", "password", "radio", "range", "reset", "search", "submit", "tel", "text", "time", "url" or "week"
Start location: 14:48
End location: 14:76
-->
</div>
<div class="button">
<button type="submit">Send</button>
</div>
</form>
</body>
</html>
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: Working with HTML5
Post by sorin_ristache »
Hello Bob,
with a new type definition then you have to extend the HTML 5 schema by adding in this schema (file:/C:/Program%20Files%20(x86)/Oxygen%20XML%20Editor%2013/frameworks/xhtml/xhtml5%20(epub3)/epub-xhtml-30.rnc) the Relax NG equivalent of the W3C XML Schema definition that you posted:
The validation error is caused by a missing definition of Bounded_16_Type from the HTML 5 schema. Can you post here please how you tried to add the Bounded_16_Type definition to the Relax NG schema for HTML 5?
Regards,
Sorin
The traditional elements like h1, h2, p, form, etc. can still be used in HTML 5 in the same context / location as in previous versions (HTML 4, XHTML). If you want to restrict the length of an input field for documents that contain something likerleif wrote:This can be fixed by changing the relaxng schema to include the equivalent of an xsd anySimpleType for elements such as: p,h1,h2, etc. and input etc.
Code: Select all
<input id="form-1" name="Bounded_16" type="strings_bd:Bounded_16_Type" />
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:strings_bd="http://www.cytometryml.org/ACS/strings_bd"
targetNamespace="http://www.cytometryml.org/ACS/strings_bd"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<element name="Bounded_16" type="strings_bd:Bounded_16_Type"/>
<simpleType name="Bounded_16_Type" id="Bounded_16_Type">
<restriction base="token">
<minLength value="1"/>
<maxLength value="16"/>
</restriction>
</simpleType>
</schema>
Regards,
Sorin
-
- Site Admin
- Posts: 2095
- Joined: Thu Jan 09, 2003 2:58 pm
Re: Working with HTML5
Hi Rob,
It seems to me that you have some expectations that come from the fact that you use XHTML 5. Please remove that and just consider that you have an XML document and a Relax NG schema. The validation will do just that: check that the document matches the patterns specified in the schema. If you have a set of values specified in the schema and then you use a different value in the XML file then you will get an error. If you use an XML element in your file and that is not allowed by the schema then you will get an error. This is what happened in your tests - you use an XML and a schema and the schema does not define an element that you use and it does not accept a value that you use and it signals you those errors.
Hope this helps,
George
It seems to me that you have some expectations that come from the fact that you use XHTML 5. Please remove that and just consider that you have an XML document and a Relax NG schema. The validation will do just that: check that the document matches the patterns specified in the schema. If you have a set of values specified in the schema and then you use a different value in the XML file then you will get an error. If you use an XML element in your file and that is not allowed by the schema then you will get an error. This is what happened in your tests - you use an XML and a schema and the schema does not define an element that you use and it does not accept a value that you use and it signals you those errors.
Hope this helps,
George
George Cristian Bina
-
- Posts: 7
- Joined: Sun Nov 29, 2009 8:03 am
Re: Working with HTML5
Sorin and George,
Translating the over 60 reasonably complex cytometryML xsd schemas (http://www.cytometryML.org) into Relax NG, is impractical. I might add that the predominant standard in the USA for medical schemas appears to be xsd, which in its latest version, XSD1.1, has a very good design in that it includes the use of assertions, restriction (templates or generics), and extension (class based type creation) and the capacity to interleave schemas. The average user should not touch the xhtml5 schema. The strings_bd16 was a very simple test case.
I will try looking at your Relax NG schema to see. if it has wild cards in the correct places, such as that which contains the paragraph elements p, h1, h2, etc.
Thank you.
Bob Leif
Translating the over 60 reasonably complex cytometryML xsd schemas (http://www.cytometryML.org) into Relax NG, is impractical. I might add that the predominant standard in the USA for medical schemas appears to be xsd, which in its latest version, XSD1.1, has a very good design in that it includes the use of assertions, restriction (templates or generics), and extension (class based type creation) and the capacity to interleave schemas. The average user should not touch the xhtml5 schema. The strings_bd16 was a very simple test case.
I will try looking at your Relax NG schema to see. if it has wild cards in the correct places, such as that which contains the paragraph elements p, h1, h2, etc.
Thank you.
Bob Leif
-
- Site Admin
- Posts: 2095
- Joined: Thu Jan 09, 2003 2:58 pm
Re: Working with HTML5
Hi Bob,
You may want to look also into NVDL. This allows extracting fragments of your document based on their namespace and direct them to different schemas, and you can have different schema types for different fragments - for example the XHTML can go to a Relax NG schema while your namespace can go to an XML Schema.
Best Regards,
George
You may want to look also into NVDL. This allows extracting fragments of your document based on their namespace and direct them to different schemas, and you can have different schema types for different fragments - for example the XHTML can go to a Relax NG schema while your namespace can go to an XML Schema.
Best Regards,
George
George Cristian Bina
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ 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