validator valida online generador ejemplo create xml design xsd

online - xml validator



RelaciĆ³n XML (2)

No puedo definir una relación entre el papel y el autor. ¿Es posible definir uno?

<xsd:complextype name="Researcher''> </xsd:complextype> <xsd:complexType name = "Paper" > <xsd:extension base = " Researcher " > </xsd:extension> </xsd:complexType> <xsd:complexType name = "Author"> <xsd:extension base = " Researcher "> </xsd:extension> </xsd:complexType>


Parece ser una pregunta duplicada.

Pienso en cosas en términos de "es una" o "tiene una" relación. Supongo que esa clase de C ++ me quedó grabada.

Las relaciones que veo son 1. Un documento tiene un autor. 2. Un autor es un investigador (o tal vez un autor puede ser un investigador).

No veo cómo un Papel puede ser un Investigador. Puede tener un autor, que puede ser un investigador.


Supongo que quieres un ''papel'' para tener un ''autor''. La forma en que hago esto en mis esquemas es tener una lista de autores y una lista de documentos. Algo como esto:

<papers> <authorlist> <author>Bob Barr</author> <author>Ron Paul</author> <author>Ralph Nader</author> </authorlist> <paperlist> <paper> <title>How to Revert Your Economy to the Gold Standard</title> <author>Ron Paul</author> </paper> <paper> <title>Unsafe at any Speed</title> <author>Ralph Nader</author> </paper> <paper> <title>How to be a Viable 3rd Party Candidate</title> <author>Bob Barr</author> </paper> </paperlist> </papers>

Las pestañas están en mal estado, pero en mi ejemplo cada artículo / autor tiene que referirse a un autor / autor. Usaría un código de esquema similar a este para lograr el efecto deseado:

<xsd:element name="paper" type="Papers_Type"> <xsd:unique name="Author_Key"> <xsd:selector xpath="authorlist/author"> <xsd:field xpath="text()"/> </xsd:key> <xsd:keyref name="Paper_Author_AuthorRef" refer="AuthorKey"> <xsd:selector xpath="paperlist/paper/author"/> <xsd:field xpath="text()"/> </xsd:keyref> </xsd:element> <xsd:complextype name="Papers_Type"> <!--Enter element definitions to your liking here--> </xsd:complextype>

Por lo tanto, papers / paperlist / paper / author tiene que corresponder a papers / authorlist / author; de lo contrario, la validación arrojará un error. ¡Buena suerte!