Diferencia entre DITA y S1000D

Estoy tratando de entender la diferencia técnica entre DITA y S1000D.

Sí, lo sé, la sabiduría común es que si necesita documentación para helicóptero o submarino, debe usar S1000D, y si necesita documentación para software, debe usar DITA. Si bien esto es cierto, es un nivel de comprensión demasiado superficial.

Después de mucho buscar, encontré algunos artículos sobre el aspecto técnico de esta diferencia, pero aún así, no me queda nada claro, probablemente porque nunca antes había trabajado con DITA o S1000D.

  • De la presentación de Slideshare (diapositiva 24):

    Los mapas DITA especifican la jerarquía y las relaciones entre los temas; también proporcionan el contexto en el que se definen y resuelven las claves.

    Los módulos de publicación S1000D contienen referencias a módulos de datos, otros módulos de publicación o datos heredados de una publicación y su estructura.

  • De un artículo , que a su vez es un extracto del libro:

    Esto apunta a una de las diferencias clave entre DITA y S1000D, que es la granularidad del nivel de reutilización. Si bien S1000D fomenta la reutilización en el nivel del módulo de datos (más o menos equivalente a un tema dentro de DITA), no tiene mecanismos para la reutilización del módulo de datos.

    Mi nota : la palabra "intra" se aplica a "módulo de datos", no a "datos".

  • De otro artículo :

    Tanto S1000D como DITA utilizan los mismos conceptos y objetivos subyacentes... (desde aquí hasta el final del artículo) .

  • Además, en otro artículo se establece claramente que DITA y S1000D asumen tipos de creación completamente diferentes. DITA se basa en temas, mientras que S1000D se basa en módulos:

    Hay una alternativa importante más a la DTD basada en libros y basada en temas y es dividir el contenido XML en módulos. En nuestro sentido, no está tan lejos del tema basado, pero realmente se trata de vincularlo a la estructura del producto.

    Mi nota : Bueno, por lo que leí, hay diferentes tipos de módulos en S1000D. Tenemos "módulos de datos" que son algo similares a los "temas" de DITA y tenemos "módulos de publicación" que son algo similares a los "mapas" de DITA. Por esta razón, no está claro cuál de ellos está implicado en el término "autoría basada en módulos". ¿Autoría basada en módulos de datos o autoría basada en módulos de publicación? Argh.

Entonces, ¿cuál es la diferencia técnica entre DITA y S1000D ? ¿En qué se diferencia el enfoque basado en temas de DITA del enfoque basado en módulos de S1000D? ¿Todo esto significa que S1000D no es tan flexible en la reutilización de contenido como DITA (vea la segunda cita en mi publicación), y cómo se ve exactamente esta falta de flexibilidad, en comparación con DITA?

Respuestas (3)

La creación basada en temas es un tipo de creación modular. La autoría modular es simplemente cualquier tipo de autoría donde el contenido se escribe en piezas reutilizables (módulos), que luego se pueden combinar para formar una o más publicaciones, en lugar de escribir una publicación como una sola unidad. Una ventaja de este enfoque es que cuando dos publicaciones contienen la misma información, solo necesita actualizar esa información en un lugar. DITA llama a estas piezas temas, y S1000D llama a estas piezas módulos de datos.

S1000D es más un proceso completo para crear documentación técnica. La especificación incluye esquemas XML que se utilizan para la creación real del contenido, pero también cubre mucho más, como el intercambio de datos, la garantía de calidad, el control de versiones, la presentación en formatos electrónicos y basados ​​en páginas, etc.

Dicho esto, los esquemas S1000D son más rígidos que DITA. DITA permite mucha más personalización de los esquemas a través de la especialización . S1000D realmente solo le permite agregar restricciones adicionales sobre los esquemas mediante el uso de módulos de datos de Business Rules Exchange (BREX) y una herramienta que puede validar los módulos S1000D contra un BREX.

Por ejemplo, los esquemas permiten que los valores de atributo emphasisTypesean "em01"thru "em99", pero puede limitar su proyecto a usar solo "em01"(negrita) y "em02"(cursiva) con una regla BREX:

<structureObjectRule>
  <objectPath allowedObjectFlag="2">//@emphasisType</objectPath>
  <objectUse>The value of attribute emphasisType must be em01 (bold) or em02 (italics)</objectUse>
  <objectValue valueForm="single" valueAllowed="em01">bold</objectValue>
  <objectValue valueForm="single" valueAllowed="em02">italics</objectValue>
</structureObjectRule>

La herramienta de validación BREX presentaría la rama XML errónea al usuario con el objectUsemensaje si lo usara, "em03"por ejemplo.

S1000D también tiene un paradigma muy particular para la creación de módulos, utilizando un Sistema de Numeración Estándar (SNS) y códigos de información . El SNS le dice de qué componente del producto se trata ese módulo, y el código de información le dice qué tipo de información contiene el módulo sobre el componente.

Por ejemplo, si define el SNS 32-00-00para que signifique "Tren de aterrizaje" y toma el código de información 040que significa "Descripción", obtendrá el módulo de datos "DMC-PLANE-32-00-00-00A-040A-D" que se titula "Tren de aterrizaje - Descripción".

Con suerte, para aclarar su confusión acerca de los módulos de publicación , solo definen la estructura de una publicación. Enumeran qué módulos de datos aparecerán en la publicación y en qué orden:

<pm>
  <identAndStatusSection>
    <!-- snip -->
  </identAndStatusSection>
  <content>
    <pmEntry>
      <dmRef>
        <dmRefIdent>
          <dmCode modelIdentCode="PLANE" systemDiffCode="A" systemCode="00" subSystemCode="0" subSubSystemCode="0" assyCode="00" disassyCode="00" disassyCodeVariant="A" infoCode="001" infoCodeVariant="A" itemLocationCode="D"/>
        </dmRefIdent>
        <dmRefAddressItems>
          <dmTitle>
            <techName>Aeroplane</techName>
            <infoName>Title page</infoName>
          </dmTitle>
        </dmRefAddressItems>
      </dmRef>
      <!-- more data module references... -->
      <dmRef>
        <dmRefIdent>
          <dmCode modelIdentCode="PLANE" systemDiffCode="A" systemCode="32" subSystemCode="0" subSubSystemCode="0" assyCode="00" disassyCode="00" disassyCodeVariant="A" infoCode="040" infoCodeVariant="A" itemLocationCode="D"/>
        </dmRefIdent>
        <dmRefAddressItems>
          <dmTitle>
            <techName>Landing gear</techName>
            <infoName>Description</infoName>
          </dmTitle>
        </dmRefAddressItems>
      </dmRef>
    </pmEntry>
  </content>
</pm>

También puede crear grupos jerárquicos anidando <pmEntry>elementos y titulándolos con<pmEntryTitle>

Por último, me gustaría corregir ligeramente una cosa que citaste:

Esto apunta a una de las diferencias clave entre DITA y S1000D, que es la granularidad del nivel de reutilización. Si bien S1000D fomenta la reutilización en el nivel del módulo de datos (más o menos equivalente a un tema dentro de DITA), no tiene mecanismos para la reutilización del módulo de datos.

S1000D tiene reutilización de módulo de datos, a través de repositorios de información común (CIR) (o repositorios de información técnica (TIR) ​​anterior a la edición 4.1). Pero estos se limitan a tipos específicos de información, como información sobre piezas, advertencias y precauciones comunes, números de elementos funcionales, etc., para los cuales la especificación ha definido un CIR. DITA aún tiene una reutilización más granular, porque con el conrefmecanismo y XInclude, puede hacer referencia a casi cualquier elemento en cualquier documento. Aunque XInclude no es específico de DITA, los esquemas S1000D no permiten su uso a partir de la última versión (4.2).

ejemplo CIR:

Tienes una parte común llamada "conector ABC". Su repositorio de piezas contiene detalles al respecto:

<partSpec>
  <partIdent manufacturerCodeValue="12345" partNumberValue="ABC"/>
  <itemIdentData>
    <descrForPart>10 mm ABC connector</descrForPart>
    <partKeyword>connector</partKeyword>
    <shortName>ABC connector</shortName>
  </itemIdentData>
</partSpec>

En un módulo de datos de procedimiento donde se requiere este conector como repuesto, en lugar de duplicar la información anterior, puede hacer referencia a él:

<reqSpares>
  <spareDescrGroup>
    <spareDescr>
      <partRef manufacturerCodeValue="12345" partNumberValue="ABC"/>
      <reqQuantity>1</reqQuantity>
    </spareDescr>
  </spareDescrGroup>
</reqSpares>

Se dice que este módulo de datos depende de CIR porque solo contiene una referencia a la pieza. Tienes dos opciones principales para entregarlo:

  1. Resuelva la referencia CIR copiando la información de las partes CIR en el módulo de datos. Esto podría ser un proceso automatizado en el momento de la publicación, por ejemplo. Posteriormente, se dice que el módulo de datos es independiente .
  2. Distribuya el CIR con el módulo de datos. Esto es más común cuando está publicando en un visor de publicación técnica electrónica interactiva (IETP) que puede obtener la información del CIR en tiempo de ejecución.

Algunas publicaciones breves, que resumen las diferencias y guían a una decisión:

1) S1000D o DITA: ¿cuál debería usar? ...Un tipo con más de 30 años en el negocio de la industria aeroespacial y el desarrollo de software proporciona la misma "sabiduría común" que mencionaste, y enfatiza la filosofía diferente de "flexibilidad" DITA frente al "estándar" S1000D (la "Teoría X y la Teoría parte Y"). ..."Los implementadores de S1000D sueñan con la flexibilidad de DITA, pero entienden por qué están encerrados en el "estándar" de S1000D".

2) DITA vs S1000D - ¿Cuál es el adecuado para mí? ...Especificaciones, incluidas las diferencias, los beneficios y las desventajas de trabajar con cada uno. De una fuente orientada a la industria aeroespacial.

3) DITA y desarrollo de software : diez razones por las que DITA y Agile están hechos el uno para el otro y son compatibles con los equipos de desarrollo de software: comienza con "enfoque basado en temas" ( tema DITA ), "tipo de tema de tarea" ( tema de tarea general de DITA ) , y más.

4) Otra publicación establece "Lo que distingue a DITA" (de S1000D). ... es "su especialización s" y "versatilidad heredada". ...Ejemplo: IBM developerWorks: Especialización en tipos de temas en DITA: Creación de nuevos tipos de documentos basados ​​en temas .

Además:

  • Adobe FrameMaker se puede utilizar para manejar proyectos DITA.
  • Adobe FrameMaker viene listo para DITA listo para usar.
  • Adobe promueve DITA (búsquelo en Google: Adobe DITA World )

--

Le envié un correo electrónico a Keith Schengili-Roberts de IXIASOFT (de la publicación número 3) sobre las diferencias técnicas y su respuesta fue un capítulo de su libro, que ya mencionaste. Repito:

"S1000D incluye un mecanismo para la reutilización de contenido, conocido como módulos de datos. Estos módulos de datos pueden contener texto y/o contenido gráfico, y se pueden 'conectar' cuando sea necesario dentro de cualquier documento S1000D. Hay una serie de módulos de datos tipos, más o menos análogos a los tipos de temas DITA, e incluyen información que es específica para crear listas de verificación, boletines de servicio, material preliminar, datos de piezas, datos de cableado, módulos de aprendizaje, procedimientos, fallas, información para la tripulación/operador y más. Como se puede ver en esta breve lista, muchos de los módulos de datos se diseñaron originalmente para propósitos específicos dentro del sector aeroespacial que no se aplicarían en circunstancias más generales.." ... "La especificidad de algunos de sus tipos de módulos para la industria aeroespacial y afines limita el atractivo para su adopción fuera de estos sectores".

(En S1000D) "Cada módulo de datos viene con un identificador único, llamado Código de módulo de datos, que está diseñado en parte como un mecanismo para garantizar que el mismo módulo no aparezca más de una vez dentro de un solo documento. Esto apunta a uno de las diferencias clave entre DITA y S1000D, que es la granularidad del nivel de reutilización. Si bien S1000D fomenta la reutilización en el nivel del módulo de datos (más o menos equivalente a un tema dentro de DITA), no tiene mecanismos para la reutilización del módulo de datos .

(En DITA) "Uno de los principales diferenciadores de DITA en comparación con otros estándares de documentación disponibles es la capacidad de reutilizar contenido tanto a nivel granular (es decir, palabra, frase, oración, tema) como a nivel de tema/capítulo. Desde una perspectiva práctica, Son estas múltiples etapas de reutilización las que entran en juego para hacer de DITA un estándar popular, lo que hace posible las ventajas adicionales de mensajería consistente, menores costos de localización y mayor eficiencia a medida que los escritores reutilizan el contenido existente en lugar de tener que recrearlo".

Entonces, según tengo entendido, aquí hay puntos clave: 1) Los temas en DITA son algo muy similar a los módulos de datos en S1000D, 2) En DITA es posible reutilizar el contenido dentro de los temas, así como reutilizar los propios temas, 3) En S1000D ¿Es posible reutilizar el contenido dentro de los módulos de datos, pero no es posible reutilizar los propios módulos de datos?
Eso es lo que afirma Keith Schengili-Roberts. También existe la "especialización" (Publicación 4). Keith Schengili-Roberts agrega que la especificidad de algunos de los tipos de módulos S1000D para la industria aeroespacial y afines limita el atractivo para su adopción fuera de estos sectores. La publicación 4 agrega que: "DITA se creó para la documentación de sistemas técnicos y está a la vanguardia de la documentación de programas e ingeniería en la industria de TI. Este hecho se corrobora aún más porque DITA se originó en IBM y cuenta con destacados partidarios como Microsoft, Intel, Cisco, Oracle y SAP".
"Si bien S1000D fomenta la reutilización a nivel de módulo de datos (más o menos equivalente a un tema dentro de DITA), no tiene mecanismos para la reutilización de módulos de datos". - Entonces, el punto 3 de mi primer comentario no era correcto, como ahora me doy cuenta. Funciona al revés. Es decir, en S1000D es posible reutilizar módulos de datos, pero no es posible (bueno, es posible, pero con algunas restricciones, como lo describió Kibukj) reutilizar contenido dentro de ellos.
@johnc.j. Describió en mi respuesta: "Uno de los principales diferenciadores de DITA en comparación con S1000D es la capacidad de reutilizar contenido tanto a nivel granular (es decir, palabra, frase, oración, etc.) como a nivel de tema/capítulo". + los tipos de temas especializados en DITA que distinguen a DITA" de S1000D.

Sí, este tipo de comparaciones entre sistemas son muy difíciles, esencialmente porque no existe una definición independiente de términos como tema y módulo fuera de los sistemas particulares que los utilizan. En otras palabras, ambos sistemas, así como varios otros sistemas similares, usan términos similares para describir sus modelos y funciones bastante independientes entre sí. No es como comparar dos minivans de diferentes fabricantes. No existe una definición acordada de potencia, volante o puerta que pueda usar para compararlos. Básicamente, debe llegar a los detalles esenciales de la implementación y ver en qué se diferencian.

En mi próximo libro, Escritura estructurada: retórica y proceso , trato de proporcionar una terminología neutra sobre herramientas para hablar sobre los métodos de escritura estructurada, en gran parte evitando estos términos confusos por completo. Cuando se trata de términos como módulo y tema, sugiero cuatro tipos de bloque de información: el bloque semántico (objetos que los escritores reconocerían independientemente de un sistema de escritura estructurado, como listas y tablas), el bloque estructural (las cosas de las que están hechos los bloques semánticos). from), el bloque de tipeo de información (el tipo de bloques que se encuentran en la teoría de tipeo de información, como el mapeo de información) y el bloque retórico (lo que en realidad está destinado a ser leído).

Pero incluso con esos términos, no podría decirles cuál de estas cosas es un tema DITA, porque el término simplemente no está bien definido. Dependiendo de cómo lo uses, podría ser cualquiera de mis cuatro tipos. No conozco S1000D lo suficientemente bien como para decir cómo encajaría su idea de un módulo, pero sospecho que sería igualmente vago.

El contenido, fundamentalmente, tiene límites borrosos. Es todo lo que no encaja perfectamente en las estructuras de datos. La escritura estructurada trata de hacer que el contenido se parezca lo suficiente a una estructura de datos para que los algoritmos puedan procesarlo, pero si intenta hacerlo de manera general, terminará haciendo que sus contenedores sean bastante confusos para que se ajusten a todas las cosas variadas que tienen que hacer. Contiene. Y, por lo tanto, esos contenedores tienden a desafiar tanto la caracterización como la comparación.

Si realmente desea contenedores que puedan definirse y compararse con cierto grado de rigor, debe ser mucho más específico con respecto al tema, la audiencia y el tipo de documento con el que está tratando.